Expense claims (v1)
Expense claims is one of Demiton's published registers for Australian civil construction. Employee expense claims, by worker and period. 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
expense_claimsUse 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.
- A New Tax System (Goods and Services Tax) Act 1999 (Cth)GST tax invoice requirements (ATO tax invoice guidance)
- Payday Super (ATO)Single Touch Payroll reporting under Payday Super
- Single Touch PayrollSingle Touch Payroll Phase 2 employer reporting guidelines
- Council Directive 2006/112/ECVAT Directive - invoice content Article 226
- EN 16931-1:2017Electronic invoicing - semantic data model (Peppol BIS Billing 3.0 base)
- Goods and Services Tax Act 1985 (NZ)GST taxable supply information (IRD guidance)
- 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
- Xero Payroll AUPartial
Fields
11 fields: 4 required, 5 optional, 2 defined by each organisation.
Required
Every record carries these fields.
- worker_idWhole number
The worker who submitted the claim; the shelf's subject anchor.
Example:
5502- external_idText
The source system's own identifier for the claim submission.
Example:
KP-EXP-90142- claim_amountDecimal number
The total amount claimed.
Example:
186.4- submitted_timeDate and time
When the claim was submitted; the event time.
Example:
2026-06-12T17:30:00
Optional
Present when the source system records them.
- gst_amountDecimal number
The tax component included in
claim_amountExample:
16.95- descriptionText
The tenant's description of what was purchased.
Example:
Fuel for personal vehicle - Bundaberg site visit- incurred_onDate
The date the expense was incurred, where the tenant form supplies it distinctly from the submission time.
Example:
2026-06-11- approval_stateText
Whether the claim was approved, and by whom.
Example:
approved- evidence_referenceText
Pointer to the receipt/invoice document the claim is substantiated by.
Defined by each organisation
Their contents come from the organisation's own forms or systems, so they differ between organisations.
- currencyCurrency code
The currency both amounts are stated in.
Example:
AUD- expense_categoryText
The tenant's own classification of the expense.
Example:
Travel - fuel
Example record
A sample from Bridgeworks Group, Demiton's demonstration company. The values are illustrative; the shape is exactly what the contract describes.
{ "approval_state": "approved", "claim_amount": 186.4, "currency": "AUD", "description": "Fuel for personal vehicle - Bundaberg site visit", "expense_category": "Travel - fuel", "external_id": "KP-EXP-90142", "gst_amount": 16.95, "incurred_on": "2026-06-11", "submitted_time": "2026-06-12T17:30:00", "worker_id": 5502}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/expense_claims/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.