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.

Input cells for replacement-property
CellTypesRequired
dates.dispositionDateIsostringstrict
dates.fiscalYearEndIsonull | stringstrict
dates.replacementAcquiredDateIsostringstrict
dates.taxationYearEndsIso[]stringstrict
former_property.acbnumberstrict
former_property.capitalGainnumberstrict
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 | numberstrict
former_property.dispositionTypestringstrict
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 | nullstrict
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.booleanstrict
former_property.outlaysAndExpensesnumberstrict
former_property.proceedsnumberstrict
former_property.proceedsPayableAfterYearEndnull | numberstrict
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 | numberstrict
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 | numberstrict
former_property.reserveClaim44_1_e_iiinull | numberstrict
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.acquiredToReplaceFormerPropertyboolean | nullstrict
replacement.costnumberstrict
replacement.election13_4Filedboolean | nullstrict
replacement.election44_1Filedboolean | nullstrict
replacement.prescribedClassnull | stringstrict
replacement.replacementIsNotTreatyProtectedboolean | nullstrict
replacement.replacementIsPrescribedClassDepreciableboolean | nullstrict
replacement.replacementIsTaxableCanadianPropertyboolean | nullstrict
replacement.replacementNotDisposedBeforeFormerPropertyboolean | nullstrict
replacement.sameOrSimilarBusinessboolean | nullstrict
replacement.sameOrSimilarUseboolean | nullstrict
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.

Strict profile accepted values for replacement-property
CellAccepted values
dates.dispositionDateIsodate (YYYY-MM-DD); 1 to 2000 characters
dates.fiscalYearEndIsodate (YYYY-MM-DD); at most 10 characters
dates.replacementAcquiredDateIsodate (YYYY-MM-DD); 1 to 2000 characters
dates.taxationYearEndsIso[]date (YYYY-MM-DD); 1 to 2000 characters
former_property.acb0 to 600000000000
former_property.capitalGain0 to 600000000000
former_property.costAmountOrUcc0 to 600000000000
former_property.dispositionTypeone of "voluntary", "involuntary"
former_property.outlaysAndExpenses0 to 600000000000
former_property.proceeds0 to 600000000000
former_property.proceedsPayableAfterYearEnd0 to 600000000000
former_property.proceedsWithoutReferenceTo44_60 to 600000000000
former_property.recapture0 to 600000000000
former_property.reserveClaim44_1_e_iii0 to 600000000000
replacement.cost0 to 600000000000
replacement.prescribedClass1 to 2000 characters

Output cells (49)

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

Output cells for replacement-property
CellTypes
deferralAvailableboolean
windowEndIsonull | string
formerProperty.proceedsnumber
formerProperty.proceedsWithoutReferenceTo44_6null | number
formerProperty.acbnumber
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.capitalGainnumber
formerProperty.outlaysAndExpensesnumber
formerProperty.isFormerBusinessPropertyboolean
formerProperty.dispositionTypestring
replacementCostnumber
clauseAGainOtherwiseDeterminednumber
clauseBProceedsNotReinvestednumber
proceedsNotReinvestednumber
recognizedGainnumber
deferredGainnumber
election44_1Filedboolean | null
election13_4Filedboolean | null
reserveClaimed44_1_e_iiinumber
recognizedRecapturenumber
deferredRecapturenumber
reducedReplacementAcbnumber
replacementCapitalCostnumber
deemedSameClassProceeds13_4_dnumber
deemedSameClassDispositionDateIsonull | string
replacementConditionsUnanswered[]string
replacementConditionsFailed[]string
traps[].findingCodestring
traps[].filingDispositionstring
traps[].citationKeystring
traps[].severitystring
traps[].titlestring
traps[].bodystring
warnings[]string
warnings[].codestring
warnings[].findingCodestring
warnings[].filingDispositionstring
warnings[].messagestring
warnings[].severitystring
blockingboolean
readyboolean
provisionalboolean
citationsApplied[]string
citations[].keystring
citations[].sectionstring
citations[].descriptionstring
citations[].source_urlstring
citations[].verified_atstring
Filemark | replacement-property cells