# Check Australian construction retention trust rules

Check whether retention on a construction contract in New South Wales, Queensland or Victoria must be held in trust, how much is held and how it is released, with a checklist for the subcontractor.

Canonical: https://aroai.com/tools/au_construction_retentions/

## Tool reference

MCP tool ID: `au_construction_retentions`. Availability: Live. Country: Australia.

Credit use: 1 credit.

## Input schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "state": {
      "type": "string",
      "enum": [
        "NSW",
        "QLD",
        "VIC"
      ],
      "description": "Australian state: NSW, QLD or VIC."
    },
    "party_role": {
      "type": "string",
      "enum": [
        "head_contractor",
        "subcontractor"
      ],
      "description": "Your role under the contract: head_contractor or subcontractor."
    },
    "principal_type": {
      "description": "Required for QLD: who the principal on the head contract is. queensland_government; hospital_and_health_service; private_sector; local_government; statutory_authority_or_goc.",
      "type": "string",
      "enum": [
        "queensland_government",
        "hospital_and_health_service",
        "private_sector",
        "local_government",
        "statutory_authority_or_goc"
      ]
    },
    "head_contract_value": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Value in AUD of the head contract with the principal. Sets the threshold. Use the same figure as subcontract_value if there is no head contract."
    },
    "subcontract_value": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Value in AUD of the contract the retention is withheld under. The retention is calculated on this amount."
    },
    "retention_percentage": {
      "description": "Retention as a percentage of subcontract_value, above 0 and up to 100. Give this or retention_amount, not both.",
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "retention_amount": {
      "description": "Amount withheld in AUD. Give this or retention_percentage, not both.",
      "type": "number",
      "exclusiveMinimum": 0
    },
    "head_contract_entered_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Date the head contract with the principal was entered, YYYY-MM-DD. Decides which rule set and phase applies. Never inferred from the subcontract date."
    },
    "subcontract_entered_date": {
      "description": "Date the subcontract the retention is withheld under was entered, YYYY-MM-DD. Recorded and checked against practical completion; it does not set the rule set.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "practical_completion_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Practical completion date, YYYY-MM-DD."
    },
    "vic_in_flight_matter": {
      "description": "VIC only. payment_claim_or_adjudication_before_commencement: a payment claim was served, or an adjudication application made and not determined, before 15 April 2026 (the 2026 amendments do not apply to that matter). none: neither. Omit if not known; a caveat is returned.",
      "type": "string",
      "enum": [
        "none",
        "payment_claim_or_adjudication_before_commencement"
      ]
    },
    "defects_liability_months": {
      "type": "integer",
      "minimum": 0,
      "maximum": 120,
      "description": "Defects liability period in whole months. Use 0 when the contract has none."
    },
    "release_terms": {
      "type": "string",
      "enum": [
        "contract_dates",
        "contract_silent",
        "unknown"
      ],
      "description": "Release terms in the contract. contract_dates: give release_dates. contract_silent: the contract sets no release terms. unknown: not yet known; no release date is returned and the terms are requested."
    },
    "release_dates": {
      "description": "Required with contract_dates. Release dates and percentages that add up to 100. Use two entries for a partial release at practical completion.",
      "minItems": 1,
      "maxItems": 6,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "percentage": {
            "type": "number",
            "exclusiveMinimum": 0,
            "maximum": 100
          },
          "description": {
            "type": "string",
            "maxLength": 200
          }
        },
        "required": [
          "date",
          "percentage"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "state",
    "party_role",
    "head_contract_value",
    "subcontract_value",
    "head_contract_entered_date",
    "practical_completion_date",
    "defects_liability_months",
    "release_terms"
  ],
  "additionalProperties": false
}
```

## Example input

```json
{
  "state": "QLD",
  "party_role": "subcontractor",
  "principal_type": "private_sector",
  "head_contract_value": 12000000,
  "subcontract_value": 650000,
  "retention_percentage": 5,
  "head_contract_entered_date": "2026-03-02",
  "practical_completion_date": "2027-02-26",
  "defects_liability_months": 12,
  "release_terms": "contract_silent"
}
```

## Usage notes

- Thresholds use the head contract value; the retention is worked out on the subcontract value.
- Queensland project and retention trusts are reported separately by principal type and contract date. Victoria shows the 2026 release claim route.
- A release date comes only from the contract’s release terms. General information, not legal advice.
