---
title: "How pay periods work"
description: "Pay streams, period statuses, and what \"Run period\" really does."
---

> Documentation Index
> Fetch the complete documentation index at: https://peoplematter.app/llms.txt
> Use this file to discover all available pages before exploring further.

# How pay periods work

**The scene:** it's the end of the month. Someone worked overtime, someone took half a
day of leave, and an approved travel claim hasn't been reimbursed yet. A pay period is
the container that gathers all of that into "what do we pay this month".

## Streams and periods

A **pay stream** (labelled "Stream" on screen) is a repeating payment rhythm, and you pick its
**Period type** when you create it: **SALARY** pays salaries — most orgs run one monthly salary
stream; **CLAIMS** pays only the money waiting in [the pool](/en/docs/payroll/pool/), such as
claims, bonuses and commissions, and can run on a different cycle. Under each stream sits a chain
of **pay periods**: a start and end date plus a payment date.

Create several at once in "Payroll ▸ Periods" with **Generate periods ahead** —
new periods continue after the stream's last one.

## Period statuses

Every period has one status:

| Status | Meaning |
| --- | --- |
| **Pending** | The period has not been run to completion. Only a period in this status can be run. |
| **Processing** | A run is in progress; or someone pressed **Move to Processing** to hold the period, and **Move to Pending** releases it. Meanwhile it can be neither run nor locked. |
| **Processed** | The run finished cleanly; payments exist and can be approved and marked paid one by one. The period can no longer be run, sent back or cancelled. |
| **Locked** | The month is closed. The status stops changing — the lock is the record that the period is finished, not a freeze on the money: existing payments can still be approved and marked paid. |
| **Cancelled** | Terminal. Only a Pending period with no payments can be cancelled; every adjustment it had collected returns to [the pool](/en/docs/payroll/pool/) for a later period. Generate periods ahead never fills a cancelled window again: new periods always continue after the stream's last period, a cancelled one included. |

> **Lock and cancel don't come back**
>
> The confirmation copy means it: "Nothing moves it back once the month is closed."
> Cancelling is equally final — no action returns a cancelled period.

## What "Run period" does

What pressing **Run period** and confirming does depends on the stream's period type.

A **SALARY** stream's run creates one Calculated payment for each person holding
an active assignment and a compensation profile (anyone it skips is listed, with the reason, under
"Skipped" in the run report):

1. Prices base earnings from the person's compensation profile — on an hourly profile, the regular
   minutes of the window's Final days times the hourly rate;
   on a monthly profile, the period's monthly amount, which does not move with the days — and links
   those Final days to the payment.
2. Settles approved cash overtime claims not yet settled (dated on or before the period's end
   date), and fully paid leave payouts.
3. Computes withholding from Payroll settings — income tax, National Health Insurance,
   labor insurance, supplementary NHI.

It **never collects** from [the pool](/en/docs/payroll/pool/) — that is a CLAIMS stream's job.

A **CLAIMS** stream's run collects the pool's **approved** rows dated by the end of the period, in
the stream's categories, and creates one payment for each person who has some; rows marked taxable
have income tax and supplementary NHI withheld per Payroll settings. It has no days and no base
earnings. Rows still pending approval stay in the pool.

The run ends with a **Run report**: how many payments were created, who was skipped
(e.g. "No compensation profile", with a "Set up pay" shortcut), and warnings that need a
human.

## Next

- The step-by-step: [Running payroll](/en/docs/payroll/run/)
- The employee's side of it: [Reading your payslip](/en/docs/payroll/payslip/)

Source: https://peoplematter.app/en/docs/payroll/periods/index.mdx
