section-97

Filemark T2 rollover and reorganization preview

Kind
rollover
Supported tax years
Strict profile
rollover_preview_exact_v1
Payload schema version
8.0.0

Example request

Send this body to POST /api/v1/computations/rollovers/section-97. It satisfies the strict profile, so it works with or without the payloadContract selector.

{
  "inputs": {
    "properties": [
      {
        "rowId": "land-1",
        "description": "Cedar Ridge manufacturing land",
        "category": "capital_non_depreciable",
        "fmv": 150000,
        "acb": 100000,
        "costAmount": 100000,
        "capitalCost": null,
        "uccOfClass": 0,
        "agreedAmount": 100000,
        "bootFmv": 0,
        "isTaxableCanadianProperty": false,
        "isEligibleDerivative10_1_6": false,
        "prescribedClass": null,
        "dispositionOrder": null,
        "isEmployeeToolProperty": null,
        "employeeToolOriginalCost": null,
        "partnershipInterestFmvReceived": 150000,
        "benefitToRelatedMemberAmount": null,
        "isPassengerVehicleCostOverPrescribedAmount": null,
        "isZeroEmissionPassengerVehicle13_7_i": null,
        "classUndisposedCapitalCost": null,
        "isPurchasedInventory": null,
        "c2AmountA": null,
        "c2ValueB": null,
        "c2ValueC": null,
        "c2DesignatedD": null
      }
    ],
    "partnership": {
      "priorInterestAcb": 0,
      "memberIsLimitedPartner": null,
      "memberWasSpecifiedMemberSinceJoining": null,
      "interestIsFeb1994ExcludedInterest": null,
      "partnershipHasCeasedToExist": null,
      "fiscalPeriodEnd": null
    },
    "party": {
      "allMembersElect": true,
      "isCanadianPartnership": true,
      "taxpayerIsMemberImmediatelyAfter": true,
      "hasAuthorityToActForPartnership": true,
      "s97_3AcquisitionOfControlSeries": false,
      "s97_3DispositionAfterAcquisitionOfControl": null,
      "s97_3PropertyIsBumpDesignationClass": null,
      "s97_3SubsidiaryIsTaxpayerOrHoldsInterest": null,
      "electionDueDate": "2026-06-30",
      "electionFilingDate": "2026-06-01",
      "dispositionDate": "2025-06-15",
      "penaltyEstimatePaid": null,
      "ministerialRelief96_5_1": null,
      "anyOtherMemberRelatedToTaxpayer": null,
      "relatedMemberIsWhollyOwnedCorporationOfTaxpayer": null,
      "taxpayerNotAtArmsLengthWithOtherMembers": null
    }
  }
}

Input cells (49)

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-97
CellTypesRequired
partnership.fiscalPeriodEndFiscal period end. Subsection 40(3.1) measures the deemed gain at the end of a fiscal period; the date is reported back in the trap and is not otherwise used.null | stringstrict
partnership.interestIsFeb1994ExcludedInterestSubsection 40(3.1) exception: the interest was held on February 22, 1994 and is an excluded interest.boolean | nullstrict
partnership.memberIsLimitedPartnerSubsection 40(3.1) status fact. Required only when the interest ACB after the paragraph 97(2)(b) adjustments is negative; the engine fails closed rather than assuming an answer.boolean | nullstrict
partnership.memberWasSpecifiedMemberSinceJoiningSubsection 40(3.1): the member was a specified member of the partnership at all times since becoming a member.boolean | nullstrict
partnership.partnershipHasCeasedToExistSubsection 98(1): but for that subsection the partnership would be regarded as having ceased to exist, which engages the paragraph 98(1)(c) deemed gain notwithstanding subsection 40(3).boolean | nullstrict
partnership.priorInterestAcbAdjusted cost base of the partnership interest immediately before the paragraph 97(2)(b) adjustments. A NEGATIVE balance is a real state of affairs and is what subsection 40(3.1) and paragraph 98(1)(c) address, so it is representable here.numberstrict
party.allMembersElectSubsection 97(2) applies only if the taxpayer and ALL the other members of the partnership jointly elect in prescribed form. There is no default; an unanswered election is not a unanimous one.booleanstrict
party.anyOtherMemberRelatedToTaxpayerParagraph 85(1)(e.2) as imported by paragraph 97(2)(a), reading "the corporation" as all the other members of the partnership: is any other member of the partnership a person related to the taxpayer? Consulted, and REQUIRED to be answered, only once the (e.2) arithmetic test is met on a row — the property's fair market value immediately before the disposition exceeds the greater of the consideration received (bootFmv plus partnershipInterestFmvReceived) and the elected amount determined without reference to (e.2). Null is UNANSWERED and the election fails closed on it in that case.boolean | nullstrict
party.anyRelatedMemberBenefitedOtherThanWhollyOwnedCorporationParagraph 85(1)(e.2) carves out a benefit conferred on "a corporation that was a wholly owned corporation of the taxpayer immediately after the disposition", and the carve-out is scoped to that beneficiary. Subparagraph 97(2)(a)(iii) reads "the corporation" as ALL the other members of the partnership, so one exempt wholly owned corporation cannot exempt the other related members a contribution also benefits. Consulted, and REQUIRED to be answered, only once the (e.2) excess exists on a row, a related member is affirmed AND that member is a wholly owned corporation. Answer false where the wholly owned corporation is the only person benefited; null is UNANSWERED and the election fails closed on it in that case.boolean | null
party.dispositionDateDate of the disposition. Required when any row is taxable Canadian property so the paragraph 97(2)(c) 60-month window can be dated.null | stringstrict
party.electionDueDateThe subsection 96(4) day — the earliest of the days on or before which any taxpayer making the election must file a return under section 150 for the year of the transaction.stringstrict
party.electionFilingDateDay the prescribed form was in fact filed. Compared against the subsection 96(4) day and the subsection 96(5) three-year day.stringstrict
party.hasAuthorityToActForPartnershipSubparagraph 96(3)(a)(ii): the taxpayer had authority to act for the partnership, without which the election is not valid.booleanstrict
party.isCanadianPartnershipSubsection 102(1): immediately after the disposition the partnership is a Canadian partnership, all of the members of which were resident in Canada.booleanstrict
party.ministerialRelief96_5_1Subsection 96(5.1) Ministerial relief. Required only when the election is filed beyond the subsection 96(5) three-year day.boolean | nullstrict
party.penaltyEstimatePaidParagraph 96(5)(b): an estimate of the subsection 96(6) penalty was paid. Required only when the election was filed late. The penalty AMOUNT is not computed by this engine.boolean | nullstrict
party.relatedMemberIsWhollyOwnedCorporationOfTaxpayerThe closing carve-out of paragraph 85(1)(e.2): a benefit conferred on "a corporation that was a wholly owned corporation of the taxpayer immediately after the disposition" (subsection 85(1.3)) is excluded, so the elected amount is not deemed up. Consulted, and REQUIRED to be answered, only once the (e.2) excess exists on a row AND a related member is affirmed. Null is UNANSWERED and the election fails closed on it in that case.boolean | nullstrict
party.s97_3AcquisitionOfControlSeriesParagraph 97(3)(a) gateway: as part of a transaction, event or series, control of a taxable Canadian corporation is acquired, the subsidiary is wound up under subsection 88(1) or amalgamated under subsection 87(11), and the parent makes a paragraph 88(1)(d) designation in respect of a partnership interest.booleanstrict
party.s97_3DispositionAfterAcquisitionOfControlParagraph 97(3)(b). Required only when the paragraph 97(3)(a) gateway is affirmed; all four conditions are conjunctive.boolean | nullstrict
party.s97_3PropertyIsBumpDesignationClassParagraph 97(3)(c): the property is described in clauses (A) to (C) of the description of B in subparagraph 88(1)(d)(ii.1).boolean | nullstrict
party.s97_3SubsidiaryIsTaxpayerOrHoldsInterestParagraph 97(3)(d): the subsidiary is the taxpayer or holds, directly or indirectly, an interest in the taxpayer.boolean | nullstrict
party.taxpayerIsMemberImmediatelyAfterSubsection 97(2) requires a partnership of which the taxpayer is a member immediately after the disposition. Where this is false neither subsection 97(2) nor subsection 97(1) is engaged.booleanstrict
party.taxpayerNotAtArmsLengthWithOtherMembersSubparagraph 85(1)(e.4)(ii) and paragraph 85(1)(e.5) as applied by subparagraph 97(2)(a)(iv), reading "the corporation" as all the other members of the partnership: do the taxpayer and all the other members not deal at arm's length? REQUIRED once any row asserts the (e.4)(i) passenger-vehicle condition or the (e.5) zero-emission passenger-vehicle condition; the answer decides whether the elected amount is deemed to be the class undepreciated capital cost (e.4) or the subsection 248(1) cost amount of the vehicle (e.5). Null is UNANSWERED and the election fails closed on it in that case.boolean | nullstrict
properties[].acbnumberstrict
properties[].agreedAmountnumberstrict
properties[].benefitToRelatedMemberAmountParagraph 85(1)(e.2) as applied by paragraph 97(2)(a): the part of the excess that it is reasonable to regard as a benefit the taxpayer desired to have conferred on a person related to the taxpayer. Required once the (e.2) excess is visible on this row and a related member that is not a subsection 85(1.3) wholly owned corporation is affirmed. It must not exceed the excess, an explicit 0 is a stated position, and null is UNANSWERED — left blank the whole value shift would be reported as a nil gain, so the election fails closed instead.null | numberstrict
properties[].bootFmvFair market value of the consideration OTHER than an interest in the partnership received for this property. Subparagraph 97(2)(a)(ii) reads the paragraph 85(1)(b) exclusion that way, so the boot floor and the paragraph 97(2)(b) interest-ACB adjustments are per property. Enter 0 for an interest-only rollover; it is not an optional field.numberstrict
properties[].c2AmountAParagraph 85(1)(c.2)(i) element A: the paragraph 28(1)(c) amount for the last taxation year beginning before the disposition, determined as if it ended immediately before the disposition. Required for purchased inventory_cash_method_farm rows.null | numberstrict
properties[].c2DesignatedDParagraph 85(1)(c.2)(i) element D: the additional amount designated by the taxpayer and the partnership. Null means no additional amount was designated.null | numberstrict
properties[].c2ValueBParagraph 85(1)(c.2)(i) element B: the subsection 28(1.2) value of the purchased inventory transferred. Required for purchased inventory_cash_method_farm rows.null | numberstrict
properties[].c2ValueCParagraph 85(1)(c.2)(i) element C: the subsection 28(1.2) value of all purchased inventory owned in connection with the business immediately before the disposition. Required and greater than nil for purchased inventory_cash_method_farm rows.null | numberstrict
properties[].capitalCostCapital cost to the taxpayer of a capital_depreciable property. Required on that category for subsection 13(21) element F, capital-gain basis, subsection 97(4), and the subsection 248(1)(a) numerator used by paragraph 85(1)(e.5); null is unanswered there and blocks. Null on every other category. This is distinct from the paragraph 85(1)(e)(ii) cost carried in costAmount.null | numberstrict
properties[].categorystringstrict
properties[].classUndisposedCapitalCostSubsection 248(1) cost amount, paragraph (a): the capital cost to the taxpayer of ALL property of the class that had not been disposed of before that time — the denominator of the paragraph 85(1)(e.5) proportion. Required once isZeroEmissionPassengerVehicle13_7_i is true; it cannot be inferred from the rows of this election, which do not disclose property retained in the class.null | numberstrict
properties[].costAmountOn a capital_depreciable row, the cost to the taxpayer of the property under subparagraph 85(1)(e)(ii), as applied by paragraph 97(2)(a). Despite this legacy wire name, that provision says 'cost' and does not use the defined subsection 248(1) term 'cost amount'. On other rows this is the statutory cost amount used with acb.numberstrict
properties[].descriptionstringstrict
properties[].dispositionOrderParagraph 85(1)(e.1) order designated by the taxpayer within a prescribed class; all-or-none for the rows of one class. Null leaves the order to the Minister, which changes each row's paragraph 85(1)(e) floor as the class UCC is consumed.integer | nullstrict
properties[].employeeToolOriginalCostCost of the tool to the individual immediately before the transfer, determined as if the Act were read without reference to subsection 8(7). Required when isEmployeeToolProperty is true.null | numberstrict
properties[].fmvnumberstrict
properties[].isEligibleDerivative10_1_6The opening words of subsection 97(2) exclude an eligible derivative, as defined in subsection 10.1(5), of a taxpayer to whom subsection 10.1(6) applies. No election is available for such property.booleanstrict
properties[].isEmployeeToolPropertySubsection 97(5): the property was an employee's tool. Required on a capital_depreciable row; the transferee-side comparator then becomes the individual's cost read without subsection 8(7). Null on any other category.boolean | nullstrict
properties[].isPassengerVehicleCostOverPrescribedAmountSubparagraph 85(1)(e.4)(i): the property is a passenger vehicle the cost of which to the taxpayer was more than the prescribed amount (Regulation 7307(1)). With the party-level arm's-length answer it deems the agreed amount to the undepreciated capital cost of the class. Required on a capital_depreciable row; null on any other category.boolean | nullstrict
properties[].isPurchasedInventoryParagraph 85(1)(c.2)(i), as applied by paragraph 97(2)(a): whether this cash-method farming-business inventory was purchased by the taxpayer. Required when category is inventory_cash_method_farm; null on other categories. False identifies raised inventory, for which paragraph (c.2) displaces the (c.1) floor but does not apply the (A × B/C) + D deeming.boolean | nullstrict
properties[].isTaxableCanadianPropertyParagraph 97(2)(c): where the property is taxable Canadian property, the partnership interest received as consideration is deemed to be taxable Canadian property for 60 months.booleanstrict
properties[].isZeroEmissionPassengerVehicle13_7_iParagraph 85(1)(e.5): the property is a zero-emission passenger vehicle to which paragraph 13(7)(i) applies. With the party-level arm's-length answer it deems the agreed amount to the subsection 248(1) COST AMOUNT of the vehicle — a proportion of the class undepreciated capital cost, not the whole of it. Mutually exclusive with isPassengerVehicleCostOverPrescribedAmount because the subsection 248(1) definition of passenger vehicle excludes a zero-emission vehicle. Required on a capital_depreciable row; null on any other category.boolean | nullstrict
properties[].partnershipInterestFmvReceivedParagraph 85(1)(e.2)(i) as applied by paragraph 97(2)(a): the fair market value, immediately after the disposition, of the INTEREST IN THE PARTNERSHIP received for this property. With bootFmv it is the whole consideration received, and paragraph 85(1)(e.2) mandatorily raises the elected amount where the property's fair market value exceeds that consideration and part of the excess is a benefit conferred on a related person. Null is UNANSWERED and the election fails closed on it.null | numberstrict
properties[].prescribedClassPrescribed class of depreciable property. Required on a capital_depreciable row because subsection 13(1) recapture and the paragraph 85(1)(e.1) ordered disposal both operate on the class pool, never on one property. Null on any other category.null | stringstrict
properties[].rowIdstringstrict
properties[].uccOfClassnumberstrict
Strict profile accepted values (25 of 49 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-97
CellAccepted values
partnership.fiscalPeriodEnddate (YYYY-MM-DD); at most 10 characters
partnership.priorInterestAcb-600000000000 to 600000000000
party.dispositionDatedate (YYYY-MM-DD); at most 10 characters
party.electionDueDatedate (YYYY-MM-DD); 1 to 2000 characters
party.electionFilingDatedate (YYYY-MM-DD); 1 to 2000 characters
properties[].acb0 to 600000000000
properties[].agreedAmount0 to 600000000000
properties[].benefitToRelatedMemberAmount0 to 600000000000
properties[].bootFmv0 to 600000000000
properties[].c2AmountA0 to 600000000000
properties[].c2DesignatedD0 to 600000000000
properties[].c2ValueB0 to 600000000000
properties[].c2ValueC0 to 600000000000
properties[].capitalCost0 to 600000000000
properties[].categoryone of "capital_non_depreciable", "capital_depreciable", "inventory_non_real", "inventory_cash_method_farm", "canadian_resource", "foreign_resource"
properties[].classUndisposedCapitalCost0 to 600000000000
properties[].costAmount0 to 600000000000
properties[].description1 to 2000 characters
properties[].dispositionOrder1 to 10000
properties[].employeeToolOriginalCost0 to 600000000000
properties[].fmv0 to 600000000000
properties[].partnershipInterestFmvReceived0 to 600000000000
properties[].prescribedClass1 to 2000 characters
properties[].rowId1 to 2000 characters
properties[].uccOfClass0 to 600000000000

Output cells (77)

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

Output cells for section-97
CellTypes
properties[].rowIdstring
properties[].descriptionstring
properties[].categorystring
properties[].bootFmvnumber
properties[].floornumber
properties[].ceilingnumber
properties[].deemedAgreedAmountnumber
properties[].gainTriggerednumber
properties[].lossTriggerednumber
properties[].incomeInclusionTriggeredSigned subsection 9(1) business income on an inventory row. It is not floored at zero: an inventory loss is an ordinary deductible amount, not a denied capital loss.number
properties[].recaptureTriggeredNull on a depreciable row. Subsection 13(1) recapture is a CLASS determination reported in depreciableClasses[]; null means "see the class", never nil.null | number
properties[].prescribedClassnull | string
properties[].partnershipDeemedCapitalCostParagraph 97(4)(a) or subsection 97(5): capital cost to the partnership deemed equal to the transferor's capital cost. Null where the provision does not arise.null | number
properties[].partnershipDeemedPriorCcaParagraph 97(4)(b): the excess deemed to have already been allowed to the partnership under regulations made under paragraph 20(1)(a). Null where the provision does not arise.null | number
depreciableClasses[].prescribedClassstring
depreciableClasses[].openingUccnumber
depreciableClasses[].uccCreditednumber
depreciableClasses[].closingUccnumber
depreciableClasses[].recaptureTriggerednumber
partnershipInterestAcbnull | number
priorInterestAcbnull | number
interestAcbAdditionnull | number
interestAcbDeductionnull | number
totalAgreedAmountnull | number
totalGainnull | number
totalCapitalLossnull | number
totalIncomeInclusionnull | number
totalRecapturenull | number
negativeInterestDeemedGainnull | number
partnershipInterestDeemedTcpboolean | null
partnershipInterestTcpExpirynull | string
electionTiming.electionDueDatestring
electionTiming.electionFilingDatestring
electionTiming.threeYearDaystring
electionTiming.isLateboolean
electionTiming.deemedTimelyUndernull | string
section97_1.reasonstring
section97_1.properties[].rowIdstring
section97_1.properties[].descriptionstring
section97_1.properties[].categorystring
section97_1.properties[].deemedProceedsFmvnumber
section97_1.properties[].costBasenumber
section97_1.properties[].capitalGainnumber
section97_1.properties[].capitalLossnumber
section97_1.properties[].incomeInclusionnumber
section97_1.depreciableClasses[].prescribedClassstring
section97_1.depreciableClasses[].openingUccnumber
section97_1.depreciableClasses[].uccCreditednumber
section97_1.depreciableClasses[].closingUccnumber
section97_1.depreciableClasses[].recaptureTriggerednumber
section97_1.totalCapitalGainnumber
section97_1.totalCapitalLossnumber
section97_1.totalIncomeInclusionnumber
section97_1.totalRecapturenumber
rolloverDeferredboolean
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
electionInvalidboolean
Filemark | section-97 cells