Payment Cycles
Payment cycles are the foundation of how workers get paid. Every worker's earnings are calculated within the context of their own individual payment cycle.
Cycle Structure
- Each payment cycle lasts 15 days
- Cycles are per-worker, not per-project or system-wide
- Each worker's cycle starts from their cycle start date (which gets set when the worker is first registered or assigned)
- Cycles are sequential and numbered: Cycle 1, Cycle 2, Cycle 3, and so on
- There are no gaps -- Cycle 2 picks up the day after Cycle 1 ends
Example
If a worker's cycle start date is April 1st:
- Cycle 1: April 1 through April 15
- Cycle 2: April 16 through April 30
- Cycle 3: May 1 through May 15
- And so on...
Cycle Statuses
| Status | Meaning |
|---|---|
| Active | This is the current cycle -- attendance is being tracked |
| Calculated | The cycle has ended and payment amounts have been worked out, but the money has not been handed over yet |
| Paid | The payment has been processed and marked as complete |
What Happens at Cycle End
When a payment cycle is ready to be processed (all 15 days have passed):
1. Attendance Aggregation
The system pulls together all verified attendance records for the worker within the cycle's date range, across every project the worker was assigned to.
2. Hours Calculation
- Total regular hours across all projects
- Total overtime hours across all projects
- A per-project breakdown showing hours and days worked on each one
3. Earnings Calculation
For each project the worker was on during the cycle:
- Regular Earnings = Regular Hours times the Regular Hourly Rate (using the worker's rate for that project)
- Overtime Earnings = Overtime Hours times the Overtime Hourly Rate (using the worker's rate for that project)
If the worker has rate overrides for a specific project, those take priority over the default worker type rates.
4. Rate Application
The system figures out which rates to use based on this priority:
- Worker Rate Override for the specific project (if one has been set)
- Worker Type default rates (the fallback)
The applied rates are frozen and stamped onto each attendance record at calculation time, so there is always a permanent record of exactly what rates were used.
5. Deductions
- Daily Base Advances Given -- The total of all daily advances the worker received during the cycle. Each day a worker is present, they may get a daily base advance (if their worker type has one set up).
- Special Advances (Loans) -- Any approved special advances that have not been deducted yet get taken out of the gross amount.
6. Net Payment
Net Amount = Gross Earnings minus Daily Base Advances minus Special Advances (Loans)
The net amount can be:
- Positive -- The company owes the worker this amount
- Negative -- The worker's advances were more than their earnings; this amount carries forward as a balance they owe
7. Running Balance
The system keeps a running balance for each worker:
Running Balance = Previous Balance plus Net Amount
This tracks the cumulative financial position between the worker and the company over time.
Multi-Project Payment Breakdown
For workers who are on multiple projects, each payment includes a per-project breakdown that shows:
- Days worked on each project
- Regular and overtime hours per project
- Earnings per project (regular plus overtime)
- Daily advances per project
- Stoppage payments per project
- Gross amount per project
This gives complete visibility into how the total payment was put together.
Payment Processing
Once calculated, a payment moves through these stages:
- Pending -- The payment record has been created
- Calculated -- The amounts have been finalized
- Paid -- The admin has processed the payment and marked it as disbursed
The admin records who processed the payment and when.
Reference ID
Each payment gets a unique reference ID for tracking and reconciliation purposes.