replacement-property
Filemark T2 rollover and reorganization preview
- Kind
- rollover
- Supported tax years
- —
- Strict profile
- rollover_preview_exact_v1
- Payload schema version
- 7.0.0
Example request
Send this body to POST /api/v1/computations/rollovers/replacement-property. It satisfies the strict profile, so it works with or without the payloadContract selector.
{
"inputs": {
"former_property": {
"proceeds": 500000,
"proceedsWithoutReferenceTo44_6": 500000,
"acb": 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 (31)
Paths are relative to the request’s inputs object; [] marks an array element.
Required says when a cell must be present. Always means every request needs it: the default boundary rejects the call when the cell is omitted or null. Strict means only a request that sends this target’s payloadContract selector needs it. See Run computations for the default boundary.
These cells are everything this target accepts. A member that is not published here, or is sent with the wrong JSON type, fails the call with a 400 naming each failing cell.
| Cell | Types | Required |
|---|---|---|
| dates.dispositionDateIso | string | strict |
| dates.fiscalYearEndIso | null | string | strict |
| dates.replacementAcquiredDateIso | string | strict |
| dates.taxationYearEndsIso[] | string | strict |
| former_property.acb | number | strict |
| former_property.capitalGain | number | strict |
| former_property.costAmountOrUccThe UCC of the prescribed class immediately before the former depreciable property was disposed of, required only when the former-property class fact is true. Null is the truthful inapplicable value for non-depreciable land or other capital property. | null | number | strict |
| former_property.dispositionType | string | strict |
| former_property.formerPropertyIsDepreciableOfPrescribedClassWhether the former property was depreciable property of a prescribed class. This selects the s.13(4) recapture leg and the s.44(4) reciprocal-election deeming; false leaves the independent s.44(1) capital-gain leg intact. | boolean | null | strict |
| former_property.formerPropertyIsShareOfCapitalStockWhether the former property is a share of the capital stock of a corporation. ITA 44(1)'s opening words exclude every such share; required for the involuntary-disposition stream, where a share can be taken, destroyed, or expropriated. | boolean | null | |
| former_property.isFormerBusinessPropertys.248(1) former business property status (real or immovable property used in the business, not a rental property); required for the voluntary-disposition stream of the s.44 deferral. | boolean | strict |
| former_property.outlaysAndExpenses | number | strict |
| former_property.proceeds | number | strict |
| former_property.proceedsPayableAfterYearEnd | null | number | strict |
| former_property.proceedsWithoutReferenceTo44_6Proceeds of the former property computed without a subsection 44(6) building-and-land allocation. Required for a depreciable former property; null is accepted only when the former property is non-depreciable. | null | number | strict |
| former_property.purchaserCorporationHasNoProhibitedControlRelationshipTrue only where a corporate purchaser had none of the three control relationships in ITA 44(7)(b) immediately after the sale. | boolean | null | |
| former_property.purchaserPartnershipHasNoMajorityInterestPartnerRelationshipTrue only where the taxpayer was not a majority-interest partner of a partnership purchaser immediately after the sale, so ITA 44(7)(c) does not prohibit the reserve. | boolean | null | |
| former_property.recaptureOptional stated s.13(1) recapture cross-check. The engine derives the recapture from element F and class UCC when the former property is depreciable; null supplies no cross-check and is inapplicable when that property is non-depreciable. | null | number | strict |
| former_property.reserveClaim44_1_e_iii | null | number | strict |
| former_property.taxpayerResidentAndNotTaxExemptAtYearEndAndThroughoutFollowingYearTrue only where the taxpayer was resident in Canada and not exempt from Part I tax at year end and throughout the immediately following taxation year, so ITA 44(7)(a) does not prohibit the reserve. | boolean | null | |
| replacement.acquiredToReplaceFormerProperty | boolean | null | strict |
| replacement.cost | number | strict |
| replacement.election13_4Filed | boolean | null | strict |
| replacement.election44_1Filed | boolean | null | strict |
| replacement.prescribedClass | null | string | strict |
| replacement.replacementIsNotTreatyProtected | boolean | null | strict |
| replacement.replacementIsPrescribedClassDepreciable | boolean | null | strict |
| replacement.replacementIsTaxableCanadianProperty | boolean | null | strict |
| replacement.replacementNotDisposedBeforeFormerProperty | boolean | null | strict |
| replacement.sameOrSimilarBusiness | boolean | null | strict |
| replacement.sameOrSimilarUse | boolean | null | strict |
Strict profile accepted values (16 of 31 cells)
These values apply only when the request sends this target’s payloadContract selector. A cell marked pinned must equal the value shown to satisfy the strict profile. On the default boundary the same cell accepts any value of its published type.
| Cell | Accepted values |
|---|---|
| dates.dispositionDateIso | date (YYYY-MM-DD); 1 to 2000 characters |
| dates.fiscalYearEndIso | date (YYYY-MM-DD); at most 10 characters |
| dates.replacementAcquiredDateIso | date (YYYY-MM-DD); 1 to 2000 characters |
| dates.taxationYearEndsIso[] | date (YYYY-MM-DD); 1 to 2000 characters |
| former_property.acb | 0 to 600000000000 |
| former_property.capitalGain | 0 to 600000000000 |
| former_property.costAmountOrUcc | 0 to 600000000000 |
| former_property.dispositionType | one of "voluntary", "involuntary" |
| former_property.outlaysAndExpenses | 0 to 600000000000 |
| former_property.proceeds | 0 to 600000000000 |
| former_property.proceedsPayableAfterYearEnd | 0 to 600000000000 |
| former_property.proceedsWithoutReferenceTo44_6 | 0 to 600000000000 |
| former_property.recapture | 0 to 600000000000 |
| former_property.reserveClaim44_1_e_iii | 0 to 600000000000 |
| replacement.cost | 0 to 600000000000 |
| replacement.prescribedClass | 1 to 2000 characters |
Output cells (49)
Paths are relative to this target’s result object in the response.
| Cell | Types |
|---|---|
| deferralAvailable | boolean |
| windowEndIso | null | string |
| formerProperty.proceeds | number |
| formerProperty.proceedsWithoutReferenceTo44_6 | null | number |
| formerProperty.acb | number |
| formerProperty.costAmountOrUccAuthenticated class UCC input; null where the former property is non-depreciable or the required fact is unestablished. | null | number |
| formerProperty.recaptureOptional stated recapture cross-check; null means no cross-check was supplied. | null | number |
| formerProperty.capitalGain | number |
| formerProperty.outlaysAndExpenses | number |
| formerProperty.isFormerBusinessProperty | boolean |
| formerProperty.dispositionType | string |
| replacementCost | number |
| clauseAGainOtherwiseDetermined | number |
| clauseBProceedsNotReinvested | number |
| proceedsNotReinvested | number |
| recognizedGain | number |
| deferredGain | number |
| election44_1Filed | boolean | null |
| election13_4Filed | boolean | null |
| reserveClaimed44_1_e_iii | number |
| recognizedRecapture | number |
| deferredRecapture | number |
| reducedReplacementAcb | number |
| replacementCapitalCost | number |
| deemedSameClassProceeds13_4_d | number |
| deemedSameClassDispositionDateIso | null | string |
| replacementConditionsUnanswered[] | string |
| replacementConditionsFailed[] | string |
| traps[].findingCode | string |
| traps[].filingDisposition | string |
| traps[].citationKey | string |
| traps[].severity | string |
| traps[].title | string |
| traps[].body | string |
| warnings[] | string |
| warnings[].code | string |
| warnings[].findingCode | string |
| warnings[].filingDisposition | string |
| warnings[].message | string |
| warnings[].severity | string |
| blocking | boolean |
| ready | boolean |
| provisional | boolean |
| citationsApplied[] | string |
| citations[].key | string |
| citations[].section | string |
| citations[].description | string |
| citations[].source_url | string |
| citations[].verified_at | string |