Set up a pay code, add its items, and supersede when rates change.
Open Ledger → Pay Codes → New. Give it a name following the Job @ Site convention (e.g. "Fitters @ ABC Mine"). Pick the Job and the Customer / Site. Set the effective start date; leave the end blank for "still current".📷Screenshot: Pay code header — name, job, customer, effective dates, status, external_id pay-codes_edit_header.png
Add items in the Items repeater. One row per billable type. The Code is a short uppercase identifier (NORMAL, T15, AFTERNOON, TOOL). Kind is Hours (qty in hours; super may apply) or Allowance (qty in units; super usually off). Set pay rate, charge rate, super-applies toggle, taxable toggle.📷Screenshot: Items repeater — NORMAL, T15, T20, AFTERNOON, NIGHT, TOOL, TRAVEL with rates + flags pay-codes_items_repeater.png
Activate the code. Flip status from Draft to Active. The pay code now resolves for any placement matching its (Job × Org) on dates inside its effective window.📷Screenshot: Pay Codes list — name, job, customer/site, effective window, item count, status pay-codes_list.png
When rates change, never edit in place. Click Supersede on the code's row, pick the change date. FlecBase creates a draft starting that date and closes the current code at the day before. Edit the rates on the draft; activate it. Past time entries stay anchored on the old code's rates; new entries from the change date forward use the new code.📷Screenshot: Supersede action — clone into a draft from a change date pay-codes_supersede_modal.png
External ID — set this if the code came from another system (SunnyCloud SC pay_code_id, your payroll provider). The CSV importer matches on (tenant_id, external_id) so re-imports update instead of duplicating.
📷Screenshot: Pay codes — how to use pay-codes_2.png