Contract terms
Contract terms is one of Demiton's published registers for Australian civil construction. Commercial terms extracted from each contract document: payment terms, retention, notice windows, and liquidated damages (contract-wide and per milestone). 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 Contracts in the register catalog.
- Register ID
contract_termsUse 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
- DeclaredDefined, and fills when a source produces its first record.
- Data
- OrganisationPrivate to each organisation's own workspace.
- Version
- v2 (2.0.1)Current version.
Standards
This register's contract was designed against these standards and laws. Holding these records does not by itself certify compliance.
- AS 2124General Conditions of Contract (superseded)
- AS 4000General Conditions of Contract (superseded edition, still in use)
- AS 4000General Conditions of Contract (construct only)
- AS 4902General Conditions of Contract for Design and Construct
- Security of paymentAustralian state and territory Security of Payment Acts (NSW 1999, QLD 2017, VIC 2002, WA 2021, SA 2009, TAS 2009, ACT 2009, NT 2004)
- Security of paymentBuilding and Construction Industry Security of Payment Act 2002 (Vic), as amended from 15 Apr 2026
- Security of paymentBuilding and Construction Industry (Security of Payment) Act 2021 (WA)
- NZ CCA 2002Construction Contracts Act 2002 (NZ), 2002 No 46, as amended 2015 and 2023
- HGCRA 1996 Part IIHousing Grants, Construction and Regeneration Act 1996, Part II (as amended by LDEDCA 2009)
- SI 1998/649Scheme for Construction Contracts (England and Wales) Regulations 1998
- AIA G702/G703Application and Certificate for Payment; Continuation Sheet
Connectors
Connected today
Demiton keeps this register current from these systems now.
No system fills this register yet.
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 AcumaticaPartial
- Oracle AconexPartial
- PayappsPartial
Fields
45 fields: 11 required, 34 optional.
Required
Every record carries these fields.
- securityText
Form/amount of security, e.g. two unconditional undertakings totalling 5%.
Example:
Two unconditional bank guarantees totalling 5% of contrac…- contract_sumNumber
Total contract/subcontract price or lump sum, excluding GST. A sum the document states GST-inclusive is stored with the GST taken out: the document's own GST figure when it states one, otherwise the governing country's rate (AU 10%, NZ 15%); with neither, no sum is stored. Parser rejects <1000 as a clause-number artefact.
Example:
2850000- ld_milestones[].penalty_typeText
No description yet.
One of
liquidated_damages,delay_damages,bonus,other- ld_milestones[].milestone_nameText
No description yet.
- retention_pctNumber
Retention/security percentage of the contract price.
Example:
5- payment_timing_daysWhole number
Contract time for payment of a payment claim.
Example:
15- service_for_notices[].methodsList of text
No description yet.
- service_for_notices[].party_roleText
No description yet.
One of
superintendent,principal,contractor,other- service_for_notices[].email_basisText
No description yet.
One of
declared_permitted,declared_excluded,inferred_from_silence- service_for_notices[].email_permittedTrue or false
No description yet.
- practical_completion_dateText
Date for Practical Completion / Date for Completion, verbatim.
Example:
15 December 2026
Optional
Present when the source system records them.
- ld_capNumber
Liquidated damages ceiling for the whole contract (a per-milestone cap is
ld_milestones[].cap_amount).- ld_rateNumber
Liquidated damages rate per calendar day.
Example:
2500- currencycurrency
The currency every amount on this record is in (contract_sum, ld_rate, ld_cap, ld_milestones, public_liability, professional_indemnity). As the document states it; where it states only a symbol such as
$, the currency of the country whose law governs the contract (jurisdiction). A record with no currency has no usable amount.- eot_groundsList of text
Pre-classified grounds on which this contract allows an extension of time to be claimed, so an event fact (e.g. a rain day) can be matched against its clause without free-text parsing at dispatch time.
- jurisdictionjurisdiction
The jurisdiction whose law governs the contract (its governing-law clause or security of payment Act), e.g.
AU-QLD,NZ.- contract_dateText
The date the contract was entered into. Where the obligation library has a duty whose rule changed on a date for contracts entered into on or after it, this is the date that picks the version. As the document states it (a signed copy's date of agreement, else the date on the letter of acceptance); a draft's date is a reading, not a fact. Never defaulted: a record with no contract date says so, and a rule that turns on it cannot be measured.
- contract_formText
The standard conditions of contract the document is based on (amended or not), so an evidence standard can fall back to the form's own notice windows when the contract states none.
- ld_milestonesList
Damages stated per milestone or separable portion (sectional completion), one entry per clause. A single contract-wide LD stays in
ld_rate/ld_cap.- ld_milestones[].cap_amountNumber
No description yet.
- ld_milestones[].rate_per_dayNumber
No description yet.
- ld_milestones[].clause_referenceText
No description yet.
- time_bar_daysWhole number
Window after the notice above within which the substantiated claim itself must be submitted, or it is time-barred (NEC-style two-stage notice/substantiation).
- indemnity_scopeText
The indemnity clause's scope and any cap or carve-outs, recorded verbatim.
- notice_eot_daysWhole number
Contractual notice window to raise a delay / extension-of-time claim after the delaying event.
- security_expiryText
Date the security (bank guarantee / undertaking) is returnable.
- public_liabilityNumber
Public liability insurance cover amount.
Example:
20000000- service_for_noticesList
The contract's notices clause as a per-party service profile - who may be served, at what address, by which permitted methods, and the deemed-service rule - one entry per party the clause names. This is what the contract SAYS about serving notices; a notice actually served is a separate contract_notice record.
- service_for_notices[].addressText
No description yet.
- service_for_notices[].party_nameText
No description yet.
- service_for_notices[].email_addressText
No description yet.
- service_for_notices[].source_clauseText
No description yet.
- service_for_notices[].deemed_service_daysWhole number
No description yet.
- service_for_notices[].deemed_service_basisText
No description yet.
One of
business,calendar,working,null- service_for_notices[].deemed_service_methodText
No description yet.
- notice_variation_daysWhole number
Contractual notice window after a variation-triggering event, before which a variation claim must be raised or is time-barred.
- insurance_requirementsList
Insurance types and minimum cover the contract requires - each entry an object with insurance_type, min_limit and endorsements - for cross-joining against insurance_certificate.expires_on.
- notice_suspension_daysWhole number
Contractual notice window before a right to suspend work may be exercised.
- professional_indemnityNumber
Professional indemnity cover amount.
Example:
10000000- variation_overhead_pctNumber
Overheads-and-profit percentage applied to variations.
Example:
10- dispute_resolution_pathList of text
The contract's dispute escalation ladder, in order (e.g. negotiation, mediation, expert determination, arbitration, litigation).
- defects_liability_monthsWhole number
Defects liability/correction period.
Example:
12- security_release_milestonesList
Milestones at which security is reduced or released - each entry an object naming the trigger and the amount or percentage released.
- retention_release_milestonesList
Milestones at which retention is reduced or released - each entry an object naming the trigger (e.g. practical completion, end of defects liability) and the amount or percentage released.
- notice_latent_conditions_daysWhole number
Contractual notice window to notify latent or differing site conditions after they are encountered.
Example record
A sample from Bridgeworks Group, Demiton's demonstration company. The values are illustrative; the shape is exactly what the contract describes.
{ "contract_sum": 2850000, "defects_liability_months": 12, "ld_rate": 2500, "payment_timing_days": 15, "practical_completion_date": "15 December 2026", "professional_indemnity": 10000000, "public_liability": 20000000, "retention_pct": 5, "security": "Two unconditional bank guarantees totalling 5% of contract sum", "title": "Hargreaves Street Drainage Upgrade", "variation_overhead_pct": 10}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/contract_terms/v2.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.