section-84-1

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-84-1. It satisfies the strict profile, so it works with or without the payloadContract selector.

{
  "inputs": {
    "subject_shares": {
      "acb": 100,
      "puc": 100,
      "fmv": 1000,
      "vDayValueBump": 0,
      "cgdClaimedGrossedUp": 0
    },
    "consideration": {
      "bootFmv": 100,
      "newShareLegalStatedCapital": 900,
      "newShareFmv": 900,
      "section85ElectedAmount": 100,
      "purchaserShareClasses": null
    },
    "party": {
      "transferorIsIndividualResident": true,
      "dealsAtArmsLength": false,
      "subjectConnectedToPurchaser": true,
      "concurrentSection85Election": true,
      "subjectSharesAreCapitalProperty": true,
      "subjectCorporationResidentInCanada": true,
      "dispositionDate": null,
      "intergenerationalTransfer": "none",
      "intergenerationalTransferConditions": null
    }
  }
}

Input cells (36)

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-84-1
CellTypesRequired
consideration.bootFmvnumberstrict
consideration.newShareFmvnumberstrict
consideration.newShareLegalStatedCapitalnumberstrict
consideration.purchaserShareClasses[].labelstringstrict
consideration.purchaserShareClasses[].pucIncreasenumberstrict
consideration.section85ElectedAmountnull | numberstrict
party.concurrentSection85Electionboolean | nullstrict
party.dealsAtArmsLengthWhether the transferor and purchaser corporation deal at arm's length; s.84.1 applies only to non-arm's-length dispositions, and only a real boolean counts as an answer.booleanstrict
party.dispositionDateDate the subject shares were disposed of. Required when an immediate or gradual intergenerational transfer is claimed: S.C. 2024, c.15, s.17(3) makes the current s.84.1(2)(e), (2.31) and (2.32) rules applicable only from 2024-01-01.null | stringstrict
party.intergenerationalTransferstringstrict
party.intergenerationalTransferConditions.childControlAndEngagementFor36Monthsboolean | nullstrict
party.intergenerationalTransferConditions.childControlAndEngagementForGreaterOf60MonthsAndFinalSaleboolean | nullstrict
party.intergenerationalTransferConditions.jointElectionFiledByFilingDueDateboolean | nullstrict
party.intergenerationalTransferConditions.managementTransferredWithin36Monthsboolean | nullstrict
party.intergenerationalTransferConditions.managementTransferredWithin60Monthsboolean | nullstrict
party.intergenerationalTransferConditions.noPriorIntergenerationalExceptionSoughtboolean | nullstrict
party.intergenerationalTransferConditions.purchaserControlledByAdultChildrenboolean | nullstrict
party.intergenerationalTransferConditions.residualInterestBelowThresholdWithin10Yearsboolean | nullstrict
party.intergenerationalTransferConditions.subjectSharesAreQsbcOrFamilyFarmOrFishingboolean | nullstrict
party.intergenerationalTransferConditions.taxpayerDoesNotControlAfterDispositionboolean | nullstrict
party.intergenerationalTransferConditions.taxpayerEquityWoundDownWithin36Monthsboolean | nullstrict
party.intergenerationalTransferConditions.taxpayerIsIndividualNotTrustboolean | nullstrict
party.intergenerationalTransferConditions.taxpayerOwnsUnder50PercentAfterDispositionboolean | nullstrict
party.subjectConnectedToPurchaserWhether the subject corporation is connected (s.186(4)) with the purchaser corporation immediately after the disposition, as s.84.1(1) requires.booleanstrict
party.subjectCorporationResidentInCanadaboolean | nullstrict
party.subjectSharesAreCapitalPropertyboolean | nullstrict
party.transferorIsIndividualResidents.84.1(1) scope fact: the transferor is a taxpayer resident in Canada other than a corporation; the omitted posture keeps the harsher in-scope branch.booleanalways
subject_shares.acbnumberstrict
subject_shares.cgdClaimedGrossedUpnumberstrict
subject_shares.fmvnumberstrict
subject_shares.lots[].acbnumberstrict
subject_shares.lots[].cgdClaimedGrossedUpnumberstrict
subject_shares.lots[].labelstringstrict
subject_shares.lots[].vDayValueBumpnumberstrict
subject_shares.pucnumberstrict
subject_shares.vDayValueBumpnumberstrict
Strict profile accepted values (17 of 36 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-84-1
CellAccepted values
consideration.bootFmv0 to 600000000000
consideration.newShareFmv0 to 600000000000
consideration.newShareLegalStatedCapital0 to 600000000000
consideration.purchaserShareClasses[].label1 to 2000 characters
consideration.purchaserShareClasses[].pucIncrease0 to 600000000000
consideration.section85ElectedAmount0 to 600000000000
party.dispositionDatedate (YYYY-MM-DD); at most 10 characters
party.intergenerationalTransferone of "none", "immediate", "gradual"
subject_shares.acb0 to 600000000000
subject_shares.cgdClaimedGrossedUp0 to 600000000000
subject_shares.fmv0 to 600000000000
subject_shares.lots[].acb0 to 600000000000
subject_shares.lots[].cgdClaimedGrossedUp0 to 600000000000
subject_shares.lots[].label1 to 2000 characters
subject_shares.lots[].vDayValueBump0 to 600000000000
subject_shares.puc0 to 600000000000
subject_shares.vDayValueBump0 to 600000000000

Output cells (47)

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

Output cells for section-84-1
CellTypes
appliesboolean
subjectShares.acbnumber
subjectShares.hardAcbnumber
subjectShares.pucnumber
subjectShares.fmvnumber
subjectShares.vDayValueBumpnumber
subjectShares.cgdClaimedGrossedUpnumber
greaterOfPucHardAcbnumber
deemedDividendnumber
pucReductionnumber
pucNewSharesnumber
bootnumber
newShareLegalStatedCapitalnumber
proceedsForCapitalGainnumber
capitalGainnumber
intergenerationalTransferstring
hardAcbByLot[].labelstring
hardAcbByLot[].acbnumber
hardAcbByLot[].vDayValueBumpnumber
hardAcbByLot[].cgdClaimedGrossedUpnumber
hardAcbByLot[].hardAcbnumber
pucByClass[].labelstring
pucByClass[].pucIncreasenumber
pucByClass[].pucReductionnumber
pucByClass[].pucFinalnumber
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-84-1 cells