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.

Input cells for section-51
CellTypesRequired
consideration.bootFmvnumberstrict
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.numberstrict
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.objectstrict
converted_property.acbnumberstrict
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 | nullstrict
converted_property.fmvnumberstrict
converted_property.isCapitalPropertyWhether the old share is capital property of the taxpayer, as paragraph 51(1)(a) requires.booleanstrict
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.numberstrict
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).booleanstrict
converted_property.propertyKindstringstrict
converted_property.pucnumberstrict
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.booleanstrict
new_shares[].fmvnumberstrict
new_shares[].labelstringstrict
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.numberstrict
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.booleanstrict
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.booleanstrict
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.numberstrict
party.newSharesAcquiredFromCorporationWhether the taxpayer acquired the new shares from the corporation, as the opening words of subsection 51(1) require.booleanstrict
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.booleanstrict
party.s85AppliesSubsection 85(1) or 85(2) applies to this exchange; s.51(4) then ousts s.51.booleanstrict
party.s86AppliesSection 86 applies to this exchange; s.51(4) then ousts s.51.booleanstrict
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.

Strict profile accepted values for section-51
CellAccepted values
consideration.bootFmv0 to 600000000000
consideration.outlaysAndExpenses0 to 600000000000
converted_property.acb0 to 600000000000
converted_property.fmv0 to 600000000000
converted_property.liabilitiesLessAssetsDecreaseOnConversionexactly 0
converted_property.priorS53_2_g1Deductionsexactly falsepinned
converted_property.propertyKindone of "share", "convertible_debt"pinned
converted_property.pucexactly 0
converted_property.termsConferExchangeRightexactly false
new_shares[].fmv0 to 600000000000
new_shares[].label1 to 2000 characters
new_shares[].pucIncreaseBeforeSection51_30 to 600000000000
party.giftToRelatedPerson0 to 600000000000
party.noOtherCapitalLossLimitationAppliesexactly truepinned

Output cells (44)

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

Output cells for section-51
CellTypes
appliesboolean
newShares[].labelstring
newShares[].fmvnumber
newShares[].pucIncreaseBeforeSection51_3Class-specific PUC increase resulting from the exchange computed without subsection 51(3), the paragraph 51(3)(a) C amount.number
newShares[].costAcbnumber
newShares[].pucGrindnumber
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.propertyKindstring
convertedProperty.acbnumber
convertedProperty.pucnumber
convertedProperty.fmvnumber
convertedProperty.proceedsOfDispositionnumber
convertedProperty.gainTriggerednumber
convertedProperty.lossDeemedNilboolean
s51_2Appliesboolean
giftToRelatedPersonnumber
totalNewShareCostnull | 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
totalProceedsnumber
rolloverDeferredboolean
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_1number
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 | section-51 cells