Payroll run (v1)
Payroll run is one of Demiton's published registers for Australian civil construction. Completed pay runs with gross and net totals. Demiton keeps it current from the systems a contractor already runs and publishes the record's shape as a versioned JSON Schema, so the same question works whichever system produced the record.
Part of Payroll in the register catalog.
- Register ID
payroll_runUse this name to ask for the register. The API calls it a shelf ID.- Each record is
- An eventSomething that happened at a point in time.
- Status
- AvailableFilled today from connected systems, uploads or public data.
- Data
- OrganisationPrivate to each organisation's own workspace.
- Version
- v1 (1.0.1)Superseded by v2.
Standards
This register's contract was designed against these standards and laws. Holding these records does not by itself certify compliance.
- Fair Work Act 2009Fair Work Act 2009 - employee records and National Employment Standards
- Fair Work Act 2009Fair Work Regulations 2009 - employee record content
- Payday Super (ATO)Single Touch Payroll reporting under Payday Super
- Single Touch PayrollSingle Touch Payroll Phase 2 employer reporting guidelines
- Tax Administration Act 1994 (NZ) Schedule 4Reporting of employment income information (payday filing)
- HMRC Real Time Information (RTI)PAYE Real Time Information - Full Payment Submission and Employer Payment Summary
Connectors
On the roadmap
Systems in the planned connector rollout that can fill this register. Partial means the system holds only some of its fields.
- MYOB Acumatica
- MYOB BusinessPartial
- Xero Accounting
- Xero Payroll AU
Fields
16 fields: 9 required, 7 optional.
Required
Every record carries these fields.
- total_netDecimal number
Whole-run net pay.
Example:
168120.2- external_idText
The source system's identifier for the pay run; the producer hinge.
Example:
KP-PAYRUN-2026-24- occurred_atDate
The pay period end — the payday the run is dated to.
Example:
2026-06-18- total_grossDecimal number
Whole-run gross pay.
Example:
214380.5- is_finalisedTrue or false
Whether the run is finalised (reportable)
Example:
true- legal_entityText
The employing legal entity (the KeyPay business)
Example:
Bridgeworks Group Pty Ltd- source_systemText
Which bound payroll system emitted the run.
Example:
KEYPAY- financial_periodText
The financial period the run is attributed to.
Example:
2026-06- pay_period_startDate
First day of the pay period.
Example:
2026-06-05
Optional
Present when the source system records them.
- workerText
A worker the run paid, if the grain is ever per-worker.
- currencyText
Denomination of the money measures.
Example:
AUD- notationText
The run's free-text label/notation.
- date_paidDate
The date the run was paid.
Example:
2026-06-19- date_finalisedDate
When the run reached its finalised state.
Example:
2026-06-19- pay_schedule_idNumber
The pay schedule / calendar the run belongs to.
- pay_slips_publishedTrue or false
Whether payslips for the run have been published.
Example:
true
Example record
A sample from Bridgeworks Group, Demiton's demonstration company. The values are illustrative; the shape is exactly what the contract describes.
{ "currency": "AUD", "date_finalised": "2026-06-19", "date_paid": "2026-06-19", "external_id": "KP-PAYRUN-2026-24", "financial_period": "2026-06", "is_finalised": true, "legal_entity": "Bridgeworks Group Pty Ltd", "occurred_at": "2026-06-18", "pay_period_start": "2026-06-05", "pay_slips_published": true, "source_system": "KEYPAY", "total_gross": 214380.5, "total_net": 168120.2}Version history
- v2 (current)
- v1
Use this contract
The contract is a standard JSON Schema (draft 2020-12) document, so any JSON Schema validator can check a record against it. Keywords starting with x-demiton- add Demiton's own meaning, such as units and requiredness, and validators ignore them.
https://docs.demiton.io/registers/payroll_run/v1.jsonShow the full JSON Schema
Loading the schema…
Talk to the team
Tell us what you run - your ERP, field, payroll and document systems - and we will show you the registers Demiton would fill from them, on your data, in a 30-minute call.