section-51
Filemark T2 rollover and reorganization preview
- Kind
- rollover
- Supported tax years
- —
- Strict profile
- rollover_preview_exact_v1
- Payload schema version
- 6.0.0
Example request
Send this body to POST /api/v1/computations/rollovers/section-51. It satisfies the strict profile, so it works with or without the payloadContract selector.
{
"inputs": {
"converted_property": {
"propertyKind": "share",
"isCapitalProperty": true,
"termsConferExchangeRight": false,
"acb": 80000,
"puc": 50000,
"fmv": 100000,
"liabilitiesLessAssetsDecreaseOnConversion": 0,
"priorS53_2_g1Deductions": false,
"convertedPropertyIsTaxableCanadianProperty": false
},
"new_shares": [
{
"label": "Cedar Ridge Holdings preferred",
"fmv": 60000,
"pucIncreaseBeforeSection51_3": 60000
},
{
"label": "Cedar Ridge Holdings common",
"fmv": 40000,
"pucIncreaseBeforeSection51_3": 40000
}
],
"consideration": {
"bootFmv": 0,
"outlaysAndExpenses": 0
},
"party": {
"benefitDesiredForRelatedPerson": false,
"newSharesAcquiredFromCorporation": true,
"convertedPropertyIssuerIsNewShareCorporation": true,
"giftToRelatedPerson": 0,
"noOtherCapitalLossLimitationApplies": true,
"s85Applies": false,
"s86Applies": false
}
}
}Input cells (22)
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 | number | strict |
| consideration.outlaysAndExpensesOutlays and expenses made or incurred for the purpose of making the disposition under subparagraphs 40(1)(a)(i) and 40(1)(b)(i). They enter the paragraph 51(2)(e)/(f) counterfactual gain/loss calculation. A positive amount is unsupported on the ordinary paragraph 51(1)(c) no-disposition branch and fails closed rather than being ignored. | number | strict |
| converted_propertyExact statutory kind and amounts for the converted property. ITA 51(3) uses old-share PUC only for paragraph 51(1)(a) property; the debt variant therefore requires PUC of zero. | object | strict |
| converted_property.acb | number | strict |
| converted_property.convertedPropertyIsTaxableCanadianPropertyWhether the converted share or debt is taxable Canadian property of the taxpayer, the exact paragraph 51(1)(f) condition. null means the fact was not supplied and the new shares' deemed status is reported as null, never as false. | boolean | null | strict |
| converted_property.fmv | number | strict |
| converted_property.isCapitalPropertyWhether the old share is capital property of the taxpayer, as paragraph 51(1)(a) requires. | boolean | strict |
| converted_property.liabilitiesLessAssetsDecreaseOnConversionInapplicable to an old-share conversion and fixed to nil: the corporation issues shares in exchange for its own shares and takes in no property, so neither limb of paragraph 84(1)(b) moves. | number | strict |
| converted_property.priorS53_2_g1DeductionsThis exact cost/PUC profile accepts only converted property with no paragraph 53(2)(g.1) history because it does not emit the per-share history propagated by paragraphs 51(1)(d.1) and (d.2). | boolean | strict |
| converted_property.propertyKind | string | strict |
| converted_property.puc | number | strict |
| converted_property.termsConferExchangeRightDebt-specific fact fixed to false for an old-share conversion so the exact profile has one canonical encoding of this inapplicable fact. | boolean | strict |
| new_shares[].fmv | number | strict |
| new_shares[].label | string | strict |
| new_shares[].pucIncreaseBeforeSection51_3Increase in PUC for this class resulting from the exchange, computed without subsection 51(3): the class-specific C amount in paragraph 51(3)(a). This is not generic accounting or corporate-law stated capital. | number | strict |
| party.benefitDesiredForRelatedPersonWhether it is reasonable to regard a portion of any FMV excess as a benefit the taxpayer desired to have conferred on a person related to the taxpayer, the exact paragraph 51(2)(c) fact. | boolean | strict |
| party.convertedPropertyIssuerIsNewShareCorporationWhether the old share or debt is of the same corporation that issued the new shares, as paragraph 51(1)(a) or (b) requires. | boolean | strict |
| party.giftToRelatedPersonExact paragraph 51(2)(c) gift portion. It must be positive and no greater than the FMV excess when benefitDesiredForRelatedPerson is true, and must be zero when that fact is false; the engine never assumes the whole excess. | number | strict |
| party.newSharesAcquiredFromCorporationWhether the taxpayer acquired the new shares from the corporation, as the opening words of subsection 51(1) require. | boolean | strict |
| party.noOtherCapitalLossLimitationAppliesRequired exact-profile scope fact: no provision other than paragraph 51(2)(e) changes the capital-loss characterization or limits, denies, or suspends the loss that would otherwise arise. The engine computes the ordinary subsection 40(1) amount and does not independently determine other s.39/s.40 or share-loss rules; unsupported false is rejected at the strict boundary rather than reported as statutory Section 51 ineligibility. | boolean | strict |
| party.s85AppliesSubsection 85(1) or 85(2) applies to this exchange; s.51(4) then ousts s.51. | boolean | strict |
| party.s86AppliesSection 86 applies to this exchange; s.51(4) then ousts s.51. | boolean | strict |
Strict profile accepted values (14 of 22 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.outlaysAndExpenses | 0 to 600000000000 |
| converted_property.acb | 0 to 600000000000 |
| converted_property.fmv | 0 to 600000000000 |
| converted_property.liabilitiesLessAssetsDecreaseOnConversion | exactly 0 |
| converted_property.priorS53_2_g1Deductions | exactly falsepinned |
| converted_property.propertyKind | one of "share", "convertible_debt"pinned |
| converted_property.puc | exactly 0 |
| converted_property.termsConferExchangeRight | exactly false |
| new_shares[].fmv | 0 to 600000000000 |
| new_shares[].label | 1 to 2000 characters |
| new_shares[].pucIncreaseBeforeSection51_3 | 0 to 600000000000 |
| party.giftToRelatedPerson | 0 to 600000000000 |
| party.noOtherCapitalLossLimitationApplies | exactly truepinned |
Output cells (44)
Paths are relative to this target’s result object in the response.
| Cell | Types |
|---|---|
| applies | boolean |
| newShares[].label | string |
| newShares[].fmv | number |
| newShares[].pucIncreaseBeforeSection51_3Class-specific PUC increase resulting from the exchange computed without subsection 51(3), the paragraph 51(3)(a) C amount. | number |
| newShares[].costAcb | number |
| newShares[].pucGrind | number |
| newShares[].pucIncreaseAfterSection51_3Net PUC increase from the exchange after the paragraph 51(3)(a) deduction. This is not the class's total PUC, and no later paragraph 51(3)(b) restoration event is projected. | number |
| convertedProperty.propertyKind | string |
| convertedProperty.acb | number |
| convertedProperty.puc | number |
| convertedProperty.fmv | number |
| convertedProperty.proceedsOfDisposition | number |
| convertedProperty.gainTriggered | number |
| convertedProperty.lossDeemedNil | boolean |
| s51_2Applies | boolean |
| giftToRelatedPerson | number |
| totalNewShareCost | null | number |
| totalPucGrindAggregate paragraph 51(3)(a) deduction at the exchange, applicable only to the subsection 51(1) old-share branch. null on the denied branch, where no s.51 exchange is characterized. | null | number |
| totalProceeds | number |
| rolloverDeferred | boolean |
| deemedTransferForSections74_4And74_5Paragraph 51(1)(e) status. It is a deemed transfer for sections 74.4 and 74.5 only; paragraph 51(1)(c) still deems the exchange not to be a disposition. | boolean |
| newSharesDeemedTaxableCanadianPropertyParagraph 51(1)(f) deeming: where the convertible property was taxable Canadian property, each acquired share is deemed to be taxable Canadian property at any time within 60 months after the exchange. null means the input condition was not supplied. | boolean | null |
| deemedDividendSubsection84_1 | 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 |
| provisional | boolean |
| citationsApplied[] | string |
| citations[].key | string |
| citations[].section | string |
| citations[].description | string |
| citations[].source_url | string |
| citations[].verified_at | string |