section-212-1
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/section-212-1. It satisfies the strict profile, so it works with or without the payloadContract selector.
{
"inputs": {
"subject_shares": {
"acb": 100000,
"puc": 80000,
"fmv": 200000,
"vDayValueBump": 0,
"cgdClaimedGrossedUp": 0
},
"consideration": {
"bootFmv": 100000,
"newShareLegalStatedCapital": 100000,
"newShareFmv": 100000,
"outlaysAndExpenses": 0,
"anyConsiderationReceivedAbsent212_1_1_2": true,
"purchaserShareFmvIncrease": null,
"purchaserShareClasses": [
{
"label": "Cedar Ridge Holdings Class A preferred",
"pucIncrease": 40000
},
{
"label": "Cedar Ridge Holdings Class B common",
"pucIncrease": 60000
}
]
},
"party": {
"vendorIsNonResident": true,
"dealsAtArmsLength": false,
"purchaserIsCanadianResidentCorp": true,
"purchaserIsDifferentFromSubjectCorporation": true,
"treatyWithholdingRate": 0.15,
"countryOfResidence": "United States",
"dispositionDateIso": "2025-06-30",
"treatyArticle": "Article X(2)(b)",
"treatyEvidenceReference": "NR301-2025-0042",
"residenceDeclarationConfirmed": true,
"beneficialOwnerConfirmed": true,
"limitationOnBenefitsSatisfied": true,
"effectivelyConnectedToCanadianPermanentEstablishment": false,
"payeeIsCompany": true,
"payerVotingStockOwnedPct": 5,
"treatyRateIsGenuinelyZero": null,
"greResidentEstateException": false,
"subjectCorporationResidentInCanada": true,
"subjectConnectedWithPurchaser186_4": true,
"nonArmsLengthOtherwiseThan251_5_b": true,
"deemedNonArmsLength212_1_3_a": false,
"deemedNonArmsLength212_1_3_c": false,
"sharesHeldThroughConduit": false,
"vendorIsNonResidentCorporation": true,
"purchaserControlledTheNonResidentVendor": false,
"nonResidentHoldsNonArmsLengthPurchaserShares": true,
"dispositionIsGiftFor69_1_b_ii": false,
"proceedsDeemedByRolloverElection": false
}
}
}Input cells (41)
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.anyConsiderationReceivedAbsent212_1_1_2Whether any consideration would be received by the non-resident from the purchaser in the absence of subsection 212.1(1.2). A positive bootFmv or newShareFmv proves yes, but two reviewed-zero FMVs do not prove no: zero-value property or rights may still be consideration. Answer false only when none would be received. | boolean | null | strict |
| consideration.bootFmv | null | number | strict |
| consideration.newShareFmv | null | number | strict |
| consideration.newShareLegalStatedCapitalLegacy wire name for element A of paragraph 212.1(1.1)(b): the increase, by virtue of the disposition and computed before s.212.1, in tax paid-up capital in respect of ALL issued shares of the purchaser. Enter the tax-PUC increase, not corporate-law legal stated capital. | null | number | strict |
| consideration.outlaysAndExpensesDisposition outlays and expenses under subsection 40(1). Required when this target reports capitalGain; enter 0 only when reviewed nil. Null holds the gain while preserving independently established s.212.1 amounts and proceeds. | null | number | strict |
| consideration.purchaserShareClasses[].labelOptional display label. A blank is accepted and the engine emits Class 1, Class 2, and so on. | string | strict |
| consideration.purchaserShareClasses[].pucIncrease | number | strict |
| consideration.purchaserShareFmvIncreaseIncrease, because of the disposition, in the fair market value of the shares of the purchaser corporation. Subsection 212.1(1.2) uses it to deem non-share consideration when no consideration would otherwise be received; null means the figure was not established, and the engine refuses to report a nil dividend in its place. | null | number | strict |
| party.beneficialOwnerConfirmed | boolean | strict |
| party.countryOfResidence | string | strict |
| party.dealsAtArmsLengthWhether the vendor and purchaser ordinarily deal at arm's length. Separate fields carry the paragraph 212.1(3)(a) and (c) deemings; s.212.1 applies only to a final non-arm's-length disposition. | boolean | null | strict |
| party.deemedNonArmsLength212_1_3_aParagraph 212.1(3)(a): the non-resident belongs to the fewer-than-six-person group controlling the subject immediately before and the purchaser immediately after, and every member of the after-disposition group belonged to the before-disposition group. | boolean | null | strict |
| party.deemedNonArmsLength212_1_3_cParagraph 212.1(3)(c): the vendor and purchaser are a trust and its beneficiary, or the purchaser is related to a beneficiary, so they are deemed not to deal at arm's length for this section. | boolean | null | strict |
| party.dispositionDateIso | string | strict |
| party.dispositionIsGiftFor69_1_b_iiParagraph 69(1)(b)(ii): whether the subject shares are disposed of to any person by way of gift. True independently deems FMV proceeds even where the parties ordinarily deal at arm's length; null blocks only the capital-gain outputs when the answer can change those proceeds. | boolean | null | strict |
| party.effectivelyConnectedToCanadianPermanentEstablishment | boolean | strict |
| party.greResidentEstateExceptionLegacy wire name for the complete paragraph 212.1(6)(b) conclusion: this particular share disposal is by a non-resident trust or by a qualifying Canadian-resident graduated rate estate and is therefore excluded from the subsection (6) look-through, and no other subsection (5)/(6) tier or deemed transaction remains to be computed. True authenticates that complete full-chain conclusion. Null is permitted only when no trust or partnership is in the disposition chain. | boolean | null | strict |
| party.limitationOnBenefitsSatisfied | boolean | strict |
| party.nonArmsLengthOtherwiseThan251_5_bSubsection 212.1(1): the non-resident does not deal at arm's length with the purchaser corporation otherwise than because of a right referred to in paragraph 251(5)(b). | boolean | null | strict |
| party.nonResidentHoldsNonArmsLengthPurchaserSharesStated POSITIVELY: a non-resident person holds, directly or indirectly, shares of the purchaser corporation and does not deal at arm's length with it at the time of the disposition or as part of a transaction or event or series that includes the disposition. Paragraph 212.1(4)(b) is a double negative, so the carve-out is available only when this is false. | boolean | null | strict |
| party.payeeIsCompany | boolean | strict |
| party.payerVotingStockOwnedPct | number | strict |
| party.proceedsDeemedByRolloverElectionLegacy wire name for whether ANY other Act provision expressly determines proceeds. Paragraph 69(1)(b) opens with "except as expressly otherwise provided in this Act"; this includes an election and the automatic s.85.1 rollover. True or null suppresses the gain because this engine does not hold those proceeds. | boolean | null | strict |
| party.purchaserControlledTheNonResidentVendorWhether immediately before the disposition the purchaser controlled the non-resident PERSON. This chooses the subject/purchaser deemed-payer limb in paragraph 212.1(1.1)(a) for any vendor type; for a corporate vendor it also supplies paragraph 212.1(4)(a), which tests control of the vendor rather than the subject corporation. | boolean | null | strict |
| party.purchaserIsCanadianResidentCorps.212.1 requires the purchaser to be a corporation resident in Canada. | boolean | null | strict |
| party.purchaserIsDifferentFromSubjectCorporationSubsection 212.1(1) requires the subject shares to be disposed of to another corporation: the purchaser is distinct from the subject corporation. | boolean | null | strict |
| party.residenceDeclarationConfirmed | boolean | strict |
| party.sharesHeldThroughConduitWhether a trust or partnership is in the chain. Subsections 212.1(5) and 212.1(6) replace a conduit disposition with per-holder class-by-class deemed dispositions, which this engine does not compute. A true greResidentEstateException continues only when it authenticates the complete full-chain conclusion that paragraph (6)(b) excludes this disposal and no other tier remains; null otherwise fails closed. | boolean | null | strict |
| party.subjectConnectedWithPurchaser186_4Subsection 212.1(1): the final conclusion that immediately after the disposition the subject corporation is connected with the purchaser within the meaning subsection 186(4) would assign, after applying paragraph 212.1(6)(d) whenever a conduit owns subject shares and reading section 186 without its subsection (6). | boolean | null | strict |
| party.subjectCorporationResidentInCanadaSubsection 212.1(1): the subject corporation is a corporation resident in Canada. | boolean | null | strict |
| party.treatyArticle | string | strict |
| party.treatyEvidenceReference | string | strict |
| party.treatyRateIsGenuinelyZeroConfirms that a supplied treaty rate of 0 is a real 0% treaty article rather than a blank field. Without it a zero rate holds Part XIII withholding at the statutory 25% under subsection 212(2). | boolean | null | strict |
| party.treatyWithholdingRate | null | number | strict |
| party.vendorIsNonResidents.212.1 applies only to a non-resident vendor disposing of the subject shares; false switches the section off. | boolean | null | always |
| party.vendorIsNonResidentCorporationSubsection 212.1(4) is available only on a disposition by a non-resident CORPORATION; a non-resident individual vendor never obtains the carve-out. | boolean | null | strict |
| subject_shares.acb | null | number | strict |
| subject_shares.cgdClaimedGrossedUpOptional s.84.1 hard-ACB reference; null or omission does not block s.212.1. | null | number | |
| subject_shares.fmv | null | number | strict |
| subject_shares.puc | null | number | strict |
| subject_shares.vDayValueBumpOptional s.84.1 hard-ACB reference; null or omission does not block s.212.1. | null | number |
Strict profile accepted values (18 of 41 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.newShareFmv | 0 to 600000000000 |
| consideration.newShareLegalStatedCapital | 0 to 600000000000 |
| consideration.outlaysAndExpenses | 0 to 600000000000 |
| consideration.purchaserShareClasses[].label | at most 2000 characters |
| consideration.purchaserShareClasses[].pucIncrease | 0 to 600000000000 |
| consideration.purchaserShareFmvIncrease | 0 to 600000000000 |
| party.countryOfResidence | 1 to 2000 characters |
| party.dispositionDateIso | date (YYYY-MM-DD); 1 to 2000 characters |
| party.payerVotingStockOwnedPct | 0 to 100 |
| party.treatyArticle | one of "Article X(2)(a)", "Article X(2)(b)" |
| party.treatyEvidenceReference | 1 to 2000 characters |
| party.treatyWithholdingRate | 0 to 0.25 |
| subject_shares.acb | 0 to 600000000000 |
| subject_shares.cgdClaimedGrossedUp | 0 to 600000000000 |
| subject_shares.fmv | 0 to 600000000000 |
| subject_shares.puc | 0 to 600000000000 |
| subject_shares.vDayValueBump | 0 to 600000000000 |
Output cells (45)
Paths are relative to this target’s result object in the response.
| Cell | Types |
|---|---|
| applies | boolean | null |
| subjectShares.acb | null | number |
| subjectShares.hardAcb | null | number |
| subjectShares.puc | number |
| subjectShares.fmv | null | number |
| subjectShares.vDayValueBump | null | number |
| subjectShares.cgdClaimedGrossedUp | null | number |
| greaterOfPucHardAcb | null | number |
| hardAcb | null | number |
| deemedDividend | null | number |
| withholdingRate | null | number |
| withholdingTax | null | number |
| pucReduction | null | number |
| pucNewSharesLegacy key for the net pre-s.212.1 tax-PUC increase remaining after the paragraph 212.1(1.1)(b) deduction; it is not total closing PUC of the purchaser shares. | null | number |
| boot | null | number |
| newShareLegalStatedCapitalLegacy output key for element A of paragraph 212.1(1.1)(b): the pre-s.212.1 tax-PUC increase in respect of all purchaser shares, not corporate-law legal stated capital. | null | number |
| proceedsForCapitalGain | null | number |
| outlaysAndExpensesAuthenticated disposition outlays and expenses subtracted under subsection 40(1). | null | number |
| capitalGainGain or loss after ACB and subsection 40(1) disposition outlays, before any paragraph 40(1)(a)(iii) reserve. | null | number |
| provisional | boolean |
| pucByClass[].label | string |
| pucByClass[].pucIncrease | number |
| pucByClass[].pucReduction | number |
| pucByClass[].pucFinalLegacy key for the class's net transaction PUC increase after its allocated deduction; opening class PUC is not an input, so this is not total closing class PUC. | number |
| 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 |
| citationsApplied[] | string |
| citations[].key | string |
| citations[].section | string |
| citations[].description | string |
| citations[].source_url | string |
| citations[].verified_at | string |
| electionInvalid | boolean |