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.

Input cells for section-85
CellTypesRequired
consideration.bootFmvnull | numberstrict
consideration.commonShareFmvnull | numberstrict
consideration.commonStatedCapitalnull | numberstrict
consideration.giftToRelatedPersonnull | numberstrict
consideration.preferredShareFmvnull | numberstrict
consideration.preferredStatedCapitalnull | numberstrict
consideration.subjectSharesPucnull | numberstrict
partyanystrict
party.benefitDesiredForRelatedPersonboolean | nullstrict
party.dispositionDatenull | stringstrict
party.electionDueDatenull | stringstrict
party.electionFilingDatenull | stringstrict
party.isAmendedElectionboolean | nullstrict
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.booleanstrict
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 | nullstrict
party.s10_1_1MarkToMarketElectionInEffectboolean | nullstrict
party.s69_11AcquirerNotAffiliatedBeforeSeriesboolean | nullstrict
party.s69_11MainPurposeIsBenefitboolean | nullstrict
party.s69_11PartOfSeriesboolean | nullstrict
party.s69_11SubsequentDispositionWithin3Yearsboolean | nullstrict
party.s84_1CapitalGainsExemptionClaimednull | numberstrict
party.s84_1VDayValueBumpnull | numberstrict
party.s85_1_2AllOrSubstantiallyAllTransferredboolean | nullstrict
party.s85_1_2ControlledAfterDispositionboolean | nullstrict
party.s85_1_2NoSubsequentControlChangeSeriesboolean | nullstrict
party.s85_7ElectionMadeInPrescribedFormboolean | null
party.s85_7PenaltyEstimatePaidboolean | nullstrict
party.s85_7_1MinisterPermissionGrantedboolean | nullstrict
party.subjectSharesPucnull | numberstrict
party.transfereeHasLossPoolsboolean | nullstrict
party.transferorIsCanadianIndividualboolean | nullstrict
party.transferorIsNonResidentboolean | nullstrict
properties[].acbnull | numberstrict
properties[].agreedAmountnumberstrict
properties[].c2AmountAnull | numberstrict
properties[].c2DesignatedDnull | numberstrict
properties[].c2ValueBnull | numberstrict
properties[].c2ValueCnull | numberstrict
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.stringstrict
properties[].classUndisposedCapitalCostnull | numberstrict
properties[].consideration.bootFmvnull | numberstrict
properties[].consideration.commonShareFmvnull | numberstrict
properties[].consideration.commonStatedCapitalnull | numberstrict
properties[].consideration.giftToRelatedPersonnull | numberstrict
properties[].consideration.preferredShareFmvnull | numberstrict
properties[].consideration.preferredStatedCapitalnull | numberstrict
properties[].costAmountnull | numberstrict
properties[].descriptionstringstrict
properties[].dispositionOrderinteger | nullstrict
properties[].fmvnumberstrict
properties[].isPassengerVehicleNALboolean | nullstrict
properties[].isTaxableCanadianPropertyboolean | nullstrict
properties[].isZevPassengerNALboolean | nullstrict
properties[].prescribedClassnull | stringstrict
properties[].rowIdstringstrict
properties[].s85_1_11PurposeToIncreaseS126Deductionboolean | nullstrict
properties[].section_212_1Appliesboolean | nullstrict
properties[].section_84_1Appliesboolean | nullstrict
properties[].uccOfClassnull | numberstrict
properties[].wasDIEPboolean | nullstrict
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.

Strict profile accepted values for section-85
CellAccepted values
consideration.bootFmv0 to 600000000000
consideration.commonShareFmv0 to 600000000000
consideration.commonStatedCapital0 to 600000000000
consideration.giftToRelatedPerson0 to 600000000000
consideration.preferredShareFmv0 to 600000000000
consideration.preferredStatedCapital0 to 600000000000
consideration.subjectSharesPuc0 to 600000000000
party.dispositionDatedate (YYYY-MM-DD); at most 10 characters
party.electionDueDatedate (YYYY-MM-DD); at most 10 characters
party.electionFilingDatedate (YYYY-MM-DD); at most 10 characters
party.s84_1CapitalGainsExemptionClaimed0 to 600000000000
party.s84_1VDayValueBump0 to 600000000000
party.subjectSharesPuc0 to 600000000000
properties[].acb0 to 600000000000
properties[].agreedAmount0 to 600000000000
properties[].c2AmountA0 to 600000000000
properties[].c2DesignatedD0 to 600000000000
properties[].c2ValueB0 to 600000000000
properties[].c2ValueC0 to 600000000000
properties[].categoryone 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[].classUndisposedCapitalCost0 to 600000000000
properties[].consideration.bootFmv0 to 600000000000
properties[].consideration.commonShareFmv0 to 600000000000
properties[].consideration.commonStatedCapital0 to 600000000000
properties[].consideration.giftToRelatedPerson0 to 600000000000
properties[].consideration.preferredShareFmv0 to 600000000000
properties[].consideration.preferredStatedCapital0 to 600000000000
properties[].costAmount0 to 600000000000
properties[].description1 to 120 characters
properties[].dispositionOrder1 to 10000
properties[].fmv0 to 600000000000
properties[].prescribedClass1 to 20 characters
properties[].rowId1 to 60 characters
properties[].uccOfClass0 to 600000000000

Output cells (118)

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

Output cells for section-85
CellTypes
properties[].rowIdstring
properties[].categorystring
properties[].characterstring
properties[].floornumber
properties[].floorRulestring
properties[].ceilingnumber
properties[].deemedAgreedAmountnumber
properties[].wasDeemedboolean
properties[].gainTriggerednumber
properties[].capitalGainTriggerednumber
properties[].capitalLossTriggerednumber
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[].recaptureTriggerednumber
properties[].realizedLossnumber
properties[].giftToRelatedPersonnull | number
properties[].warnings[]string
consideration.bootCostnumber
consideration.preferredShareCostnumber
consideration.commonShareCostnumber
consideration.totalConsiderationCostnumber
consideration.allocationBasisstring
consideration.warnings[]string
consideration.preferredPucGrindnull | number
consideration.commonPucGrindnull | number
consideration.preferredPucFinalnull | number
consideration.commonPucFinalnull | number
consideration.pucGrindGovernedBystring
consideration.pucGrindByProperty[].rowIdstring
consideration.pucGrindByProperty[].governedBystring
consideration.pucGrindByProperty[].preferredPucGrindnull | number
consideration.pucGrindByProperty[].commonPucGrindnull | number
consideration.pucGrindByProperty[].preferredPucFinalnull | number
consideration.pucGrindByProperty[].commonPucFinalnull | number
alternatePucGrind.sectionstring
alternatePucGrind.increaseInPucnumber
alternatePucGrind.hardAcbnull | number
alternatePucGrind.subjectSharesPucnull | number
alternatePucGrind.totalGrindnull | number
alternatePucGrind.preferredPucFinalnull | number
alternatePucGrind.commonPucFinalnull | number
alternatePucGrind.deemedDividendnull | number
alternatePucGrind.withholdingRatenull | number
alternatePucGrind.withholdingTaxnull | number
alternatePucGrind.notestring
penalty.monthsLateinteger
penalty.optionAnumber
penalty.optionBnumber
penalty.penaltynumber
penalty.isLateboolean
penalty.threeYearWindowClosesnull | string
penalty.beyondThreeYearWindowboolean
classRecapture[].prescribedClassnull | string
classRecapture[].rowIds[]string
classRecapture[].openingUccnumber
classRecapture[].uccCreditsnumber
classRecapture[].closingUccnumber
classRecapture[].recapturenumber
classRecapture[].terminalLossIndicatednumber
taxableCanadianProperty.anyTaxableCanadianPropertyboolean | null
taxableCanadianProperty.rowIds[]string
taxableCanadianProperty.dispositionDatenull | string
taxableCanadianProperty.deemedTcpUntilnull | string
nonElectionOutcome.appliesboolean
nonElectionOutcome.reasons[]string
nonElectionOutcome.properties[].rowIdstring
nonElectionOutcome.properties[].categorystring
nonElectionOutcome.properties[].characterstring
nonElectionOutcome.properties[].proceedsnumber
nonElectionOutcome.properties[].proceedsRulestring
nonElectionOutcome.properties[].transfereeCost69_1_anull | number
nonElectionOutcome.properties[].capitalGainnull | number
nonElectionOutcome.properties[].capitalLossnull | number
nonElectionOutcome.properties[].incomeInclusionnull | number
nonElectionOutcome.properties[].recapturenull | number
nonElectionOutcome.properties[].closingUccnull | number
nonElectionOutcome.properties[].notes[]string
nonElectionOutcome.totalCapitalGainnull | number
nonElectionOutcome.totalCapitalLossnull | number
nonElectionOutcome.totalIncomeInclusionnull | number
nonElectionOutcome.totalRecapturenull | number
nonElectionOutcome.basisIncompleteboolean
benefitDesiredForRelatedPersonboolean | null
totalElectedAmountnull | number
totalFmvnumber
totalGainTriggerednull | number
totalCapitalGainnull | number
totalCapitalLossnull | number
totalIncomeInclusionnull | number
totalIncomeLossnull | number
totalRecaptureTriggerednull | number
totalRealizedLossnull | number
ineligibleboolean
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
considerationnull | object
alternatePucGrindnull
classRecapturenull
nonElectionOutcomenull | object
Filemark | section-85 cells