section-85
Filemark T2 rollover and reorganization preview
- Kind
- rollover
- Supported tax years
- —
- Strict profile
- rollover_preview_exact_v1
- Payload schema version
- 4.0.0
Example request
Send this body to POST /api/v1/computations/rollovers/section-85. It satisfies the strict profile, so it works with or without the payloadContract selector.
{
"inputs": {
"properties": [
{
"rowId": "t2057-1",
"description": "Cedar Ridge marketable securities",
"category": "capital_non_depreciable",
"fmv": 500000,
"acb": 200000,
"costAmount": null,
"uccOfClass": null,
"agreedAmount": 200000,
"prescribedClass": null,
"dispositionOrder": null,
"classUndisposedCapitalCost": null,
"isPassengerVehicleNAL": false,
"isZevPassengerNAL": false,
"wasDIEP": null,
"section_84_1Applies": false,
"section_212_1Applies": false,
"isTaxableCanadianProperty": false,
"s85_1_11PurposeToIncreaseS126Deduction": null,
"c2AmountA": null,
"c2ValueB": null,
"c2ValueC": null,
"c2DesignatedD": null,
"consideration": {
"bootFmv": 50000,
"preferredShareFmv": 0,
"preferredStatedCapital": 0,
"commonShareFmv": 450000,
"commonStatedCapital": 100,
"giftToRelatedPerson": null
}
},
{
"rowId": "t2057-2",
"description": "Cedar Ridge manufacturing equipment",
"category": "capital_depreciable",
"fmv": 300000,
"acb": null,
"costAmount": 250000,
"uccOfClass": 150000,
"agreedAmount": 150000,
"prescribedClass": "8",
"dispositionOrder": null,
"classUndisposedCapitalCost": null,
"isPassengerVehicleNAL": false,
"isZevPassengerNAL": false,
"wasDIEP": null,
"section_84_1Applies": false,
"section_212_1Applies": false,
"isTaxableCanadianProperty": false,
"s85_1_11PurposeToIncreaseS126Deduction": null,
"c2AmountA": null,
"c2ValueB": null,
"c2ValueC": null,
"c2DesignatedD": null,
"consideration": {
"bootFmv": 0,
"preferredShareFmv": 0,
"preferredStatedCapital": 0,
"commonShareFmv": 300000,
"commonStatedCapital": 100,
"giftToRelatedPerson": null
}
}
],
"consideration": {
"bootFmv": null,
"preferredShareFmv": null,
"preferredStatedCapital": null,
"commonShareFmv": null,
"commonStatedCapital": null,
"subjectSharesPuc": null,
"giftToRelatedPerson": null
},
"party": {
"isArmsLength": false,
"transferorIsCanadianIndividual": false,
"transferorIsNonResident": false,
"isRelatedTransferee": true,
"transfereeHasLossPools": false,
"electionDueDate": "2026-06-30",
"electionFilingDate": "2026-06-30",
"dispositionDate": "2025-12-31",
"s85_1_2ControlledAfterDisposition": null,
"s85_1_2AllOrSubstantiallyAllTransferred": null,
"s85_1_2NoSubsequentControlChangeSeries": null,
"s85_7PenaltyEstimatePaid": null,
"s85_7_1MinisterPermissionGranted": null,
"isAmendedElection": null,
"subjectSharesPuc": null,
"s84_1VDayValueBump": null,
"s84_1CapitalGainsExemptionClaimed": null,
"s69_11PartOfSeries": null,
"s69_11SubsequentDispositionWithin3Years": null,
"s69_11AcquirerNotAffiliatedBeforeSeries": null,
"s69_11MainPurposeIsBenefit": null,
"s10_1_1MarkToMarketElectionInEffect": null,
"benefitDesiredForRelatedPerson": null
}
}
}Input cells (60)
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 |
|---|---|---|
| consideration.bootFmv | null | number | strict |
| consideration.commonShareFmv | null | number | strict |
| consideration.commonStatedCapital | null | number | strict |
| consideration.giftToRelatedPerson | null | number | strict |
| consideration.preferredShareFmv | null | number | strict |
| consideration.preferredStatedCapital | null | number | strict |
| consideration.subjectSharesPuc | null | number | strict |
| party | any | strict |
| party.benefitDesiredForRelatedPerson | boolean | null | strict |
| party.dispositionDate | null | string | strict |
| party.electionDueDate | null | string | strict |
| party.electionFilingDate | null | string | strict |
| party.isAmendedElection | boolean | null | strict |
| party.isArmsLengthWhether the taxpayer and the transferee corporation deal at arm's length. It gates the s.85(1)(e.4)/(e.5) vehicle deemings, the s.85(1.11) carve-out and the s.69(1)(b) ordinary-rules proceeds; the strict profile requires an explicit answer. | boolean | strict |
| party.isRelatedTransfereeWhether the taxpayer and transferee corporation are related persons. Under s.251(1)(a), Yes cannot be combined with an arm's-length answer of Yes. This is not the s.85(1)(e.2) beneficiary-relationship test. | boolean | null | strict |
| party.s10_1_1MarkToMarketElectionInEffect | boolean | null | strict |
| party.s69_11AcquirerNotAffiliatedBeforeSeries | boolean | null | strict |
| party.s69_11MainPurposeIsBenefit | boolean | null | strict |
| party.s69_11PartOfSeries | boolean | null | strict |
| party.s69_11SubsequentDispositionWithin3Years | boolean | null | strict |
| party.s84_1CapitalGainsExemptionClaimed | null | number | strict |
| party.s84_1VDayValueBump | null | number | strict |
| party.s85_1_2AllOrSubstantiallyAllTransferred | boolean | null | strict |
| party.s85_1_2ControlledAfterDisposition | boolean | null | strict |
| party.s85_1_2NoSubsequentControlChangeSeries | boolean | null | strict |
| party.s85_7ElectionMadeInPrescribedForm | boolean | null | |
| party.s85_7PenaltyEstimatePaid | boolean | null | strict |
| party.s85_7_1MinisterPermissionGranted | boolean | null | strict |
| party.subjectSharesPuc | null | number | strict |
| party.transfereeHasLossPools | boolean | null | strict |
| party.transferorIsCanadianIndividual | boolean | null | strict |
| party.transferorIsNonResident | boolean | null | strict |
| properties[].acb | null | number | strict |
| properties[].agreedAmount | number | strict |
| properties[].c2AmountA | null | number | strict |
| properties[].c2DesignatedD | null | number | strict |
| properties[].c2ValueB | null | number | strict |
| properties[].c2ValueC | null | number | strict |
| properties[].categorys.85(1.1) eligible-property category. It selects the floor rule — s.85(1)(c.1) for cost-amount categories, s.85(1)(e) for depreciable property, the s.85(1)(c.2) deeming for cash-method farm inventory — and the character of any amount triggered. | string | strict |
| properties[].classUndisposedCapitalCost | null | number | strict |
| properties[].consideration.bootFmv | null | number | strict |
| properties[].consideration.commonShareFmv | null | number | strict |
| properties[].consideration.commonStatedCapital | null | number | strict |
| properties[].consideration.giftToRelatedPerson | null | number | strict |
| properties[].consideration.preferredShareFmv | null | number | strict |
| properties[].consideration.preferredStatedCapital | null | number | strict |
| properties[].costAmount | null | number | strict |
| properties[].description | string | strict |
| properties[].dispositionOrder | integer | null | strict |
| properties[].fmv | number | strict |
| properties[].isPassengerVehicleNAL | boolean | null | strict |
| properties[].isTaxableCanadianProperty | boolean | null | strict |
| properties[].isZevPassengerNAL | boolean | null | strict |
| properties[].prescribedClass | null | string | strict |
| properties[].rowId | string | strict |
| properties[].s85_1_11PurposeToIncreaseS126Deduction | boolean | null | strict |
| properties[].section_212_1Applies | boolean | null | strict |
| properties[].section_84_1Applies | boolean | null | strict |
| properties[].uccOfClass | null | number | strict |
| properties[].wasDIEP | boolean | null | strict |
Strict profile accepted values (34 of 60 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 |
|---|---|
| consideration.bootFmv | 0 to 600000000000 |
| consideration.commonShareFmv | 0 to 600000000000 |
| consideration.commonStatedCapital | 0 to 600000000000 |
| consideration.giftToRelatedPerson | 0 to 600000000000 |
| consideration.preferredShareFmv | 0 to 600000000000 |
| consideration.preferredStatedCapital | 0 to 600000000000 |
| consideration.subjectSharesPuc | 0 to 600000000000 |
| party.dispositionDate | date (YYYY-MM-DD); at most 10 characters |
| party.electionDueDate | date (YYYY-MM-DD); at most 10 characters |
| party.electionFilingDate | date (YYYY-MM-DD); at most 10 characters |
| party.s84_1CapitalGainsExemptionClaimed | 0 to 600000000000 |
| party.s84_1VDayValueBump | 0 to 600000000000 |
| party.subjectSharesPuc | 0 to 600000000000 |
| properties[].acb | 0 to 600000000000 |
| properties[].agreedAmount | 0 to 600000000000 |
| properties[].c2AmountA | 0 to 600000000000 |
| properties[].c2DesignatedD | 0 to 600000000000 |
| properties[].c2ValueB | 0 to 600000000000 |
| properties[].c2ValueC | 0 to 600000000000 |
| properties[].category | one of "capital_non_depreciable", "capital_depreciable", "inventory_non_real", "inventory_cash_method_farm", "canadian_resource", "foreign_resource", "eligible_derivative", "real_property_inventory", "real_property_capital_nr", "eligible_capital_legacy", "security_or_debt_lender", "nisa_fund_no_2" |
| properties[].classUndisposedCapitalCost | 0 to 600000000000 |
| properties[].consideration.bootFmv | 0 to 600000000000 |
| properties[].consideration.commonShareFmv | 0 to 600000000000 |
| properties[].consideration.commonStatedCapital | 0 to 600000000000 |
| properties[].consideration.giftToRelatedPerson | 0 to 600000000000 |
| properties[].consideration.preferredShareFmv | 0 to 600000000000 |
| properties[].consideration.preferredStatedCapital | 0 to 600000000000 |
| properties[].costAmount | 0 to 600000000000 |
| properties[].description | 1 to 120 characters |
| properties[].dispositionOrder | 1 to 10000 |
| properties[].fmv | 0 to 600000000000 |
| properties[].prescribedClass | 1 to 20 characters |
| properties[].rowId | 1 to 60 characters |
| properties[].uccOfClass | 0 to 600000000000 |
Output cells (118)
Paths are relative to this target’s result object in the response.
| Cell | Types |
|---|---|
| properties[].rowId | string |
| properties[].category | string |
| properties[].character | string |
| properties[].floor | number |
| properties[].floorRule | string |
| properties[].ceiling | number |
| properties[].deemedAgreedAmount | number |
| properties[].wasDeemed | boolean |
| properties[].gainTriggered | number |
| properties[].capitalGainTriggered | number |
| properties[].capitalLossTriggered | number |
| properties[].incomeInclusionTriggeredSigned s.9(1) business profit on an income-account row (negative = a fully deductible business loss). Nil on a capital, depreciable or resource row. | number |
| properties[].recaptureTriggered | number |
| properties[].realizedLoss | number |
| properties[].giftToRelatedPerson | null | number |
| properties[].warnings[] | string |
| consideration.bootCost | number |
| consideration.preferredShareCost | number |
| consideration.commonShareCost | number |
| consideration.totalConsiderationCost | number |
| consideration.allocationBasis | string |
| consideration.warnings[] | string |
| consideration.preferredPucGrind | null | number |
| consideration.commonPucGrind | null | number |
| consideration.preferredPucFinal | null | number |
| consideration.commonPucFinal | null | number |
| consideration.pucGrindGovernedBy | string |
| consideration.pucGrindByProperty[].rowId | string |
| consideration.pucGrindByProperty[].governedBy | string |
| consideration.pucGrindByProperty[].preferredPucGrind | null | number |
| consideration.pucGrindByProperty[].commonPucGrind | null | number |
| consideration.pucGrindByProperty[].preferredPucFinal | null | number |
| consideration.pucGrindByProperty[].commonPucFinal | null | number |
| alternatePucGrind.section | string |
| alternatePucGrind.increaseInPuc | number |
| alternatePucGrind.hardAcb | null | number |
| alternatePucGrind.subjectSharesPuc | null | number |
| alternatePucGrind.totalGrind | null | number |
| alternatePucGrind.preferredPucFinal | null | number |
| alternatePucGrind.commonPucFinal | null | number |
| alternatePucGrind.deemedDividend | null | number |
| alternatePucGrind.withholdingRate | null | number |
| alternatePucGrind.withholdingTax | null | number |
| alternatePucGrind.note | string |
| penalty.monthsLate | integer |
| penalty.optionA | number |
| penalty.optionB | number |
| penalty.penalty | number |
| penalty.isLate | boolean |
| penalty.threeYearWindowCloses | null | string |
| penalty.beyondThreeYearWindow | boolean |
| classRecapture[].prescribedClass | null | string |
| classRecapture[].rowIds[] | string |
| classRecapture[].openingUcc | number |
| classRecapture[].uccCredits | number |
| classRecapture[].closingUcc | number |
| classRecapture[].recapture | number |
| classRecapture[].terminalLossIndicated | number |
| taxableCanadianProperty.anyTaxableCanadianProperty | boolean | null |
| taxableCanadianProperty.rowIds[] | string |
| taxableCanadianProperty.dispositionDate | null | string |
| taxableCanadianProperty.deemedTcpUntil | null | string |
| nonElectionOutcome.applies | boolean |
| nonElectionOutcome.reasons[] | string |
| nonElectionOutcome.properties[].rowId | string |
| nonElectionOutcome.properties[].category | string |
| nonElectionOutcome.properties[].character | string |
| nonElectionOutcome.properties[].proceeds | number |
| nonElectionOutcome.properties[].proceedsRule | string |
| nonElectionOutcome.properties[].transfereeCost69_1_a | null | number |
| nonElectionOutcome.properties[].capitalGain | null | number |
| nonElectionOutcome.properties[].capitalLoss | null | number |
| nonElectionOutcome.properties[].incomeInclusion | null | number |
| nonElectionOutcome.properties[].recapture | null | number |
| nonElectionOutcome.properties[].closingUcc | null | number |
| nonElectionOutcome.properties[].notes[] | string |
| nonElectionOutcome.totalCapitalGain | null | number |
| nonElectionOutcome.totalCapitalLoss | null | number |
| nonElectionOutcome.totalIncomeInclusion | null | number |
| nonElectionOutcome.totalRecapture | null | number |
| nonElectionOutcome.basisIncomplete | boolean |
| benefitDesiredForRelatedPerson | boolean | null |
| totalElectedAmount | null | number |
| totalFmv | number |
| totalGainTriggered | null | number |
| totalCapitalGain | null | number |
| totalCapitalLoss | null | number |
| totalIncomeInclusion | null | number |
| totalIncomeLoss | null | number |
| totalRecaptureTriggered | null | number |
| totalRealizedLoss | null | number |
| ineligible | boolean |
| 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 |
| electionInvalid | boolean |
| consideration | null | object |
| alternatePucGrind | null |
| classRecapture | null |
| nonElectionOutcome | null | object |