Profit and loss
Profit and loss for a period.
Part of Financials in the register catalog.
- Register ID
profit_and_lossUse this name to ask for the register. The API calls it a shelf ID.- Each record is
- A stateThe current value of something, replaced when it changes.
- Status
- AvailableFilled today from connected systems, uploads or public data.
- Data
- OrganisationPrivate to each organisation's own workspace.
- Version
- v1Current version.
Connectors
Connected today
Demiton keeps this register current from these systems now.
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
- ProcorePartial
Fields
14 fields: 5 required, 9 optional.
Required
Every record carries these fields.
- project_idText
The project (BC job) the snapshot belongs to; the fact's subject anchor.
Example:
BWG-2025-001- financial_periodText
The accounting period the snapshot covers.
Example:
2026-06- source_systemText
The bound ERP the snapshot was read from.
Example:
D365_BUSINESS_CENTRAL- budget_amountDecimal number
The project budget at the snapshot (BC
Total_Budget)Example:
2850000- actual_amountDecimal number
Actual cost to date (BC
Total_Cost)Example:
1620000
Optional
Present when the source system records them.
- currencyCurrency code
The currency the amounts are in; today the field names hard-code AUD and the writer passes
currency_code="AUD"Example:
AUD- bc_job_noText
The Business Central job number the fact was read for; the join key between the fact and the project spine.
Example:
BWG-2025-001- variance_amountDecimal number
budget_amount - (actual_amount + commitments_amount); the writer'svariance_audExample:
820000- commitments_amountDecimal number
Open purchase-commitment value (BC
Total_Commitments)Example:
410000- contract_value_amountDecimal number
The contracted value of the job (BC
Total_Contract_Value)Example:
2980000- claimed_to_date_amountDecimal number
Value invoiced to date (BC
Total_Invoiced)Example:
1690000- gross_margin_amountDecimal number
Revenue less actual cost (
Total_Revenue(abs) - Total_Cost)Example:
360000- gross_margin_pctDecimal number
gross_margin_amount / revenue * 100Example:
18.2- summaryText
The one-line human-readable financial position, for citation/search.
Example:
Emerald Street Rejuvenation is 56.8% cost-complete agains…
Example record
A sample from Bridgeworks Group, Demiton's demonstration company. The values are illustrative; the shape is exactly what the contract describes.
{ "actual_amount": 1620000, "bc_job_no": "BWG-2025-001", "budget_amount": 2850000, "claimed_to_date_amount": 1690000, "commitments_amount": 410000, "contract_value_amount": 2980000, "currency": "AUD", "financial_period": "2026-06", "gross_margin_amount": 360000, "gross_margin_pct": 18.2, "project_id": "BWG-2025-001", "source_system": "D365_BUSINESS_CENTRAL", "summary": "Emerald Street Rejuvenation is 56.8% cost-complete against a $2.85M budget with an 18.2% gross margin.", "variance_amount": 820000}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/profit_and_loss/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 keep current from them, on your data, in a 30-minute call.