# My earnings

**For:** Shift worker | Manager | Admin
**You'll need:** Nothing.

My earnings is your personal, per-shift earnings view — what you worked, where, and how much it paid. Everyone signed in to {{ app_name }} can open it for their own data; no reports permission needed.

## Open the report

::::{tab-set}
:sync-group: platform

:::{tab-item} Web
:sync: web

1. In the header, open the **Reports** dropdown.
2. Under **Financial**, click **'My earnings'**.
:::

:::{tab-item} Mobile app
:sync: mobile

1. Tap **More** in the bottom bar.
2. Tap **'Hours and earnings'**.

A summary sits at the top — **'Total'**, **'Hours'**, **'Shifts'**, and **'Paid absence'** when the period contains paid leave — with one row per shift beneath it: position and location, the span in the location's timezone, and the amount with the hours in brackets. Paid absences appear among the shifts in date order, titled by leave type. The CSV/XLSX/PDF export is web-only.
:::
::::

You only ever see your own shifts — there's no person filter, by design.

## Filter the data

::::{tab-set}
:sync-group: platform

:::{tab-item} Web
:sync: web

1. In the **'Start date'** and **'End date'** fields, set the date range.
2. (Optional) Open the **'Location'** dropdown and pick one or more locations.
3. Click **'Apply filters'**.

To start over, click **'Clear'**.
:::

:::{tab-item} Mobile app
:sync: mobile

1. Tap the filter icon in the top right.
2. Under **'Scope'**, tap **'Period'** and pick a preset — 'Today', 'This week', 'Last week', 'This month' (the default), 'Last month', 'Last 30 days', 'Last 3 months', 'This year', 'Last year' or 'YTD'.
3. (Optional) Under **'Options'**, tap **'Sorting'** and choose 'Oldest first' (the default) or 'Newest first'.
4. Tap **'Done'**.

Mobile has the period presets rather than free-form start and end dates, and no location filter. Pull down on the list to refresh it.
:::
::::

## Export

See {doc}`exports` for CSV, XLSX, and PDF details.

Columns in this report:

- Date
- Location
- Position
- Hours
- Amount

## Verify it worked

Every row is one of your own shifts in the date range. The total at the bottom of the **'Amount'** column equals the sum of the per-shift amounts.

```{tip}
If a recent shift is missing, it may not have been confirmed yet. Earnings include shifts whose time entries are **'Confirmed'** or **'Approved'** — clock data must exist for a shift to appear.
```

## Related

- {doc}`/for-shift-workers/index`
- {doc}`/set-up-your-company/people/hourly-rate-resolution`
- {doc}`exports`
