# replacement-property

Replacement property deferral

- Kind: rollover
- Program: Filemark T2 rollover and reorganization preview
- Supported tax years: —
- Strict profile: rollover_preview_exact_v1
- Payload schema version: 10.0.0

## Example request

Send this body to `POST /api/v1/computations/rollovers/replacement-property`. This example works with or without `payloadContract`.

```json
{
  "inputs": {
    "former_property": {
      "proceeds": 500000,
      "proceedsWithoutReferenceTo44_6": 500000,
      "acb": 300000,
      "capitalCost": 300000,
      "formerPropertyIsDepreciableOfPrescribedClass": true,
      "costAmountOrUcc": 250000,
      "recapture": 50000,
      "capitalGain": 190000,
      "outlaysAndExpenses": 10000,
      "isFormerBusinessProperty": true,
      "formerPropertyIsShareOfCapitalStock": false,
      "dispositionType": "voluntary",
      "reserveClaim44_1_e_iii": null,
      "proceedsPayableAfterYearEnd": null,
      "taxpayerResidentAndNotTaxExemptAtYearEndAndThroughoutFollowingYear": null,
      "purchaserCorporationHasNoProhibitedControlRelationship": null,
      "purchaserPartnershipHasNoMajorityInterestPartnerRelationship": null
    },
    "replacement": {
      "cost": 450000,
      "acquiredToReplaceFormerProperty": true,
      "sameOrSimilarUse": true,
      "sameOrSimilarBusiness": true,
      "replacementIsTaxableCanadianProperty": true,
      "replacementIsNotTreatyProtected": true,
      "replacementNotDisposedBeforeFormerProperty": true,
      "replacementIsPrescribedClassDepreciable": true,
      "prescribedClass": null,
      "election44_1Filed": true,
      "election13_4Filed": true
    },
    "dates": {
      "dispositionDateIso": "2025-01-15",
      "replacementAcquiredDateIso": "2026-06-30",
      "taxationYearEndsIso": [
        "2025-12-31",
        "2026-12-31",
        "2027-12-31"
      ],
      "fiscalYearEndIso": "2025-12-31"
    }
  }
}
```

## Input cells (35)

Paths are relative to the request's `inputs` object. `[]` marks an array element.

Cells marked **always** require a non-null value in every request. Cells marked **strict** are required when you supply this target's `payloadContract`. See [Run computations](https://docs.filemark.ca/run-computations).

Unknown cells and JSON type mismatches return `400` with the affected cells in the error details.

| Cell | Types | Required | Description |
| --- | --- | --- | --- |
| `dates` | array \| boolean \| null \| number \| object \| string |  |  |
| `dates.dispositionDateIso` | null \| string |  |  |
| `dates.fiscalYearEndIso` | null \| string |  |  |
| `dates.replacementAcquiredDateIso` | null \| string |  |  |
| `dates.taxationYearEndsIso[]` | null \| string |  |  |
| `former_property` | array \| boolean \| null \| number \| object \| string |  |  |
| `former_property.acb` | null \| number \| string |  |  |
| `former_property.capitalCost` | null \| number \| string |  |  |
| `former_property.capitalGain` | null \| number \| string |  |  |
| `former_property.costAmountOrUcc` | null \| number \| string |  |  |
| `former_property.dispositionType` | null \| string |  |  |
| `former_property.formerPropertyIsDepreciableOfPrescribedClass` | boolean \| null |  |  |
| `former_property.formerPropertyIsShareOfCapitalStock` | boolean \| null |  |  |
| `former_property.isFormerBusinessProperty` | boolean \| null |  |  |
| `former_property.outlaysAndExpenses` | null \| number \| string |  |  |
| `former_property.proceeds` | null \| number \| string |  |  |
| `former_property.proceedsPayableAfterYearEnd` | null \| number \| string |  |  |
| `former_property.proceedsWithoutReferenceTo44_6` | null \| number \| string |  |  |
| `former_property.purchaserCorporationHasNoProhibitedControlRelationship` | boolean \| null |  |  |
| `former_property.purchaserPartnershipHasNoMajorityInterestPartnerRelationship` | boolean \| null |  |  |
| `former_property.recapture` | null \| number \| string |  |  |
| `former_property.reserveClaim44_1_e_iii` | null \| number \| string |  |  |
| `former_property.taxpayerResidentAndNotTaxExemptAtYearEndAndThroughoutFollowingYear` | boolean \| null |  |  |
| `replacement` | array \| boolean \| null \| number \| object \| string |  |  |
| `replacement.acquiredToReplaceFormerProperty` | boolean \| null |  |  |
| `replacement.cost` | null \| number \| string |  |  |
| `replacement.election13_4Filed` | boolean \| null |  |  |
| `replacement.election44_1Filed` | boolean \| null |  |  |
| `replacement.prescribedClass` | array \| boolean \| null \| number \| object \| string |  |  |
| `replacement.replacementIsNotTreatyProtected` | boolean \| null |  |  |
| `replacement.replacementIsPrescribedClassDepreciable` | boolean \| null |  |  |
| `replacement.replacementIsTaxableCanadianProperty` | boolean \| null |  |  |
| `replacement.replacementNotDisposedBeforeFormerProperty` | boolean \| null |  |  |
| `replacement.sameOrSimilarBusiness` | boolean \| null |  |  |
| `replacement.sameOrSimilarUse` | boolean \| null |  |  |

### Strict profile accepted values (14 of 35 cells)

These constraints apply when you supply this target's `payloadContract`. Cells marked **pinned** must equal the listed value. A pinned cell that is not required may be left out.

| Cell | Accepted values |
| --- | --- |
| `dates` | `one of null, false, 0, "", []` |
| `former_property` | `one of null, false, 0, "", []` |
| `former_property.acb` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `former_property.capitalCost` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `former_property.capitalGain` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `former_property.costAmountOrUcc` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `former_property.outlaysAndExpenses` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `former_property.proceeds` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `former_property.proceedsPayableAfterYearEnd` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `former_property.proceedsWithoutReferenceTo44_6` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `former_property.recapture` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `former_property.reserveClaim44_1_e_iii` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `replacement` | `one of null, false, 0, "", []` |
| `replacement.cost` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |

## Output cells (51)

Paths are relative to this target's result object in the response.

| Cell | Types | Description |
| --- | --- | --- |
| `blocking` | boolean |  |
| `citations[].description` | string |  |
| `citations[].key` | string |  |
| `citations[].section` | string |  |
| `citations[].source_url` | string |  |
| `citations[].verified_at` | string |  |
| `citationsApplied[]` | string |  |
| `clauseAGainOtherwiseDetermined` | number |  |
| `clauseBProceedsNotReinvested` | number |  |
| `deemedSameClassDispositionDateIso` | null \| string |  |
| `deemedSameClassProceeds13_4_d` | number |  |
| `deferralAvailable` | boolean |  |
| `deferredGain` | number |  |
| `deferredRecapture` | number |  |
| `election13_4Filed` | boolean \| null |  |
| `election44_1Filed` | boolean \| null |  |
| `formerProperty.acb` | number |  |
| `formerProperty.capitalCost` | null \| number |  |
| `formerProperty.capitalGain` | null \| number |  |
| `formerProperty.costAmountOrUcc` | null \| number |  |
| `formerProperty.dispositionType` | string |  |
| `formerProperty.isFormerBusinessProperty` | boolean \| null |  |
| `formerProperty.outlaysAndExpenses` | number |  |
| `formerProperty.proceeds` | number |  |
| `formerProperty.proceedsWithoutReferenceTo44_6` | null \| number |  |
| `formerProperty.recapture` | null \| number |  |
| `proceedsNotReinvested` | number |  |
| `provisional` | boolean |  |
| `ready` | boolean |  |
| `recognizedGain` | number |  |
| `recognizedRecapture` | number |  |
| `reducedReplacementAcb` | number |  |
| `replacementCapitalCost` | number |  |
| `replacementConditionsFailed[]` | string |  |
| `replacementConditionsUnanswered[]` | string |  |
| `replacementCost` | number |  |
| `reserveClaimed44_1_e_iii` | number |  |
| `traps[].body` | string |  |
| `traps[].citationKey` | string |  |
| `traps[].filingDisposition` | string |  |
| `traps[].findingCode` | string |  |
| `traps[].severity` | string |  |
| `traps[].title` | string |  |
| `warnings[]` | object |  |
| `warnings[].citationKey` | string |  |
| `warnings[].code` | string |  |
| `warnings[].message` | string |  |
| `warnings[].severity` | string |  |
| `warnings[].filingDisposition` | string |  |
| `warnings[].findingCode` | string |  |
| `windowEndIso` | null \| string |  |
