Tendered budget
Tendered budget lines across all cost categories, from the winning estimate.
Part of Opportunities in the register catalog.
- Register ID
tendered_budgetUse 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
On the roadmap
Systems in the planned connector rollout that can fill this register. Partial means the system holds only some of its fields.
None planned yet.
Fields
12 fields: 9 required, 3 optional.
Required
Every record carries these fields.
- entity_idWhole number
The entity the price belongs to. Always an
opportunityfor this shelf:doc_entity_type='opportunity'(baseline_squash_02_seed.sql:274), resolved byresolve_anchor_entitypreferring opportunity at tender stage, and the writer skips the write entirely when resolution returns None.Example:
7001- financial_periodDate
The period the budget belongs to, so successive periods coexist instead of superseding one another.
Example:
2026-06-01- grand_total_audNumber
The whole tendered sum: the sum of every section's total.
Example:
2650000- sectionsList
The cost-category breakdown (Labour, Plant, Subcontract, Travel, Materials, Overhead on a full parse), one entry per category: category label, section total, line count, and the nested line list.
- coverageText
empty)Example:
full- source_formatText
Which parser format produced the record, so a consumer can tell a Pronamics workbook from a future parser's output.
Example:
pronamics_workbook- categoryText
The cost category a section total belongs to.
Example:
Labour- total_audNumber
The section subtotal;
grand_total_audmust equal their sum.Example:
480000- line_countWhole number
How many nested lines the section carries, so a truncated parse is detectable.
Example:
22
Optional
Present when the source system records them.
- labour_total_valueNumber
The Labour section's subtotal, kept for labour-only consumers.
Example:
480000- budget_hoursNumber
Total labour hours behind the labour portion, for rate-per-hour and productivity checks.
Example:
8200- lines[]List
The priced line detail: what was priced, how much, in what unit, at what rate, for what total, and the work-activity / cost-type coding where the workbook carries it.
Example record
A sample from Bridgeworks Group, Demiton's demonstration company. The values are illustrative; the shape is exactly what the contract describes.
{ "budget_hours": 8200, "category": "Labour", "coverage": "full", "entity_id": 7001, "financial_period": "2026-06-01", "grand_total_aud": 2650000, "labour_total_value": 480000, "line_count": 22, "sections": [ { "category": "Labour", "line_count": 22, "total_aud": 480000 }, { "category": "Plant", "line_count": 14, "total_aud": 610000 }, { "category": "Subcontract", "line_count": 9, "total_aud": 950000 }, { "category": "Materials", "line_count": 18, "total_aud": 410000 }, { "category": "Overhead", "line_count": 3, "total_aud": 200000 } ], "source_format": "pronamics_workbook", "total_aud": 480000}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/tendered_budget/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.