Skip to content
Demiton

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)Australia · 1992 · clause Annexure Part A · paywalled, from a secondary description
  • AS 4000General Conditions of Contract (superseded edition, still in use)Australia · 1997 · clause cl 37.1/37.2 (per commentary) · paywalled, from a secondary description
  • AS 4000General Conditions of Contract (construct only)Australia · 2025 · clause Annexure Part A; cl 37.2; cl 42 (per commentary) · paywalled, from a secondary description
  • AS 4902General Conditions of Contract for Design and ConstructAustralia · 2000 · paywalled, from a secondary description
  • 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)Australia · various · public summary
  • Security of paymentBuilding and Construction Industry Security of Payment Act 2002 (Vic), as amended from 15 Apr 2026Australia · 2002 as amended 15 Apr 2026 · clause ss 17A-17H (per commentary) · public summary
  • Security of paymentBuilding and Construction Industry (Security of Payment) Act 2021 (WA)Australia · 2021 · clause ss 59, 71-77 · verified against full text
  • NZ CCA 2002Construction Contracts Act 2002 (NZ), 2002 No 46, as amended 2015 and 2023New Zealand · as at 5 Oct 2023 · clause ss 18B, 18FD, 20, 22 · verified against full text
  • HGCRA 1996 Part IIHousing Grants, Construction and Regeneration Act 1996, Part II (as amended by LDEDCA 2009)United Kingdom · 1996 c. 53 as amended · clause s 110(1) · verified against full text
  • SI 1998/649Scheme for Construction Contracts (England and Wales) Regulations 1998United Kingdom · 1998 as amended 2011 · clause Part II para 8 · verified against full text
  • AIA G702/G703Application and Certificate for Payment; Continuation SheetUnited States · 1992 (current base editions) · public summary

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.

securityTextUnit: n/a (form and/or amount)

Form/amount of security, e.g. two unconditional undertakings totalling 5%.

Example: Two unconditional bank guarantees totalling 5% of contrac…

contract_sumNumberUnit: in currency, ex GST, plain (no symbol/commas)

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_pctNumberUnit: percent, 0–100 exclusive of 0

Retention/security percentage of the contract price.

Example: 5

payment_timing_daysWhole numberUnit: days

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_dateTextUnit: free text as written (e.g. "11 January 2027", "26 weeks after Date of Contract")

Date for Practical Completion / Date for Completion, verbatim.

Example: 15 December 2026

Optional

Present when the source system records them.

ld_capNumberUnit: in currency

Liquidated damages ceiling for the whole contract (a per-milestone cap is ld_milestones[].cap_amount).

ld_rateNumberUnit: in currency, per day

Liquidated damages rate per calendar day.

Example: 2500

currencycurrencyUnit: ISO 4217 alpha-3 code (e.g. AUD, NZD)

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 textUnit: n/a (closed enum)

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.

jurisdictionjurisdictionUnit: ISO 3166-1 or 3166-2 code

The jurisdiction whose law governs the contract (its governing-law clause or security of payment Act), e.g. AU-QLD, NZ.

contract_dateTextdate

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_formTextUnit: n/a (closed vocabulary, enforced by the parser: GC21, TFNSW_GC21 (Transport for NSW's amended GC21, C2-GC21), TMR_TIC, MRWA_MAJOR, MRWA_MINOR, AS4000_1997, AS4000_2025, AS2124, AS4902, NZS3910_2013, NZS3910_2023, other)

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_milestonesListUnit: n/a (object list; rate_per_day and cap_amount in currency)

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 numberUnit: days

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_scopeTextUnit: free text as written

The indemnity clause's scope and any cap or carve-outs, recorded verbatim.

notice_eot_daysWhole numberUnit: days

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_liabilityNumberUnit: in currency

Public liability insurance cover amount.

Example: 20000000

service_for_noticesListUnit: n/a (object list)

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[].deemed_service_daysWhole number

No description yet.

service_for_notices[].deemed_service_basisText

No description yet.

One of business, calendar, working, null

notice_variation_daysWhole numberUnit: days

Contractual notice window after a variation-triggering event, before which a variation claim must be raised or is time-barred.

insurance_requirementsListUnit: n/a (object list)

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 numberUnit: days

Contractual notice window before a right to suspend work may be exercised.

professional_indemnityNumberUnit: in currency

Professional indemnity cover amount.

Example: 10000000

variation_overhead_pctNumberUnit: percent, 0–100

Overheads-and-profit percentage applied to variations.

Example: 10

dispute_resolution_pathList of textUnit: ordered list of step names, as written

The contract's dispute escalation ladder, in order (e.g. negotiation, mediation, expert determination, arbitration, litigation).

defects_liability_monthsWhole numberUnit: months, converted from weeks/years

Defects liability/correction period.

Example: 12

security_release_milestonesListUnit: n/a (object list)

Milestones at which security is reduced or released - each entry an object naming the trigger and the amount or percentage released.

retention_release_milestonesListUnit: n/a (object list)

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 numberUnit: days

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_terms.example.json
{
"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.

Schema URL
https://docs.demiton.io/registers/contract_terms/v2.json
Show 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.

Book a 30-minute callStart free