section-87

Filemark T2 rollover and reorganization preview

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

Example request

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

{
  "inputs": {
    "predecessor_share_classes": [
      {
        "label": "Cedar Ridge Manufacturing common",
        "aggregateAcb": 100000,
        "aggregatePuc": 80000,
        "heldByAnotherPredecessorCorporation": false,
        "legalStatedCapital": null
      }
    ],
    "amalco_classes": [
      {
        "label": "Cedar Ridge Amalco common",
        "correspondsToPredecessorLabel": "Cedar Ridge Manufacturing common",
        "legalStatedCapital": 100000,
        "fmvImmediatelyAfter": null
      }
    ],
    "flags": {
      "acquisitionOfControl": false,
      "verticalAmalgamation": false,
      "sisterAmalgamation": false,
      "triangularAmalgamation": false,
      "nonShareConsideration": false,
      "allPredecessorsTaxableCanadianCorporations": true,
      "allPredecessorsCanadianCorporations": true,
      "allPropertyBecamePropertyOfNewCorporation": true,
      "allLiabilitiesBecameLiabilitiesOfNewCorporation": true,
      "allShareholdersReceivedNewCorporationShares": true,
      "predecessorSharesNotCancelledOnMerger": null,
      "mergerIsPurchaseOfAssetsOrWindingUpDistribution": false,
      "election87_3_1Filed": false,
      "substitutedClassesIdenticalToExchangedClasses": null,
      "verticalAmalgamationDetails": null,
      "shareholders": null
    }
  }
}

Input cells (41)

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-87
CellTypesRequired
amalco_classes[].correspondsToPredecessorLabelstringstrict
amalco_classes[].fmvImmediatelyAfternull | numberstrict
amalco_classes[].labelstringstrict
amalco_classes[].legalStatedCapitalnumberstrict
flags.acquisitionOfControlAn acquisition of control (s.256(7)) fires on the amalgamation; engages the loss-streaming consequences.booleanstrict
flags.allLiabilitiesBecameLiabilitiesOfNewCorporations.87(1)(b): all liabilities of the predecessors immediately before the merger became liabilities of the new corporation by virtue of the merger.booleanstrict
flags.allPredecessorsCanadianCorporationsIndependent s.87(3) scope fact: every predecessor was a Canadian corporation. Required when the narrower allPredecessorsTaxableCanadianCorporations answer is false; s.87(3) can require a PUC grind even when s.87(1) fails.boolean | nullstrict
flags.allPredecessorsTaxableCanadianCorporationss.87(1) definitional condition: each predecessor was, immediately before the merger, a taxable Canadian corporation; unanswered fails closed.booleanstrict
flags.allPropertyBecamePropertyOfNewCorporations.87(1)(a): all property of the predecessors immediately before the merger became property of the new corporation by virtue of the merger.booleanstrict
flags.allShareholdersReceivedNewCorporationSharess.87(1)(c): all shareholders of the predecessors, other than any predecessor corporation, received shares of the new corporation on the merger.booleanstrict
flags.election87_3_1FiledThe new corporation elected under s.87(3.1) in its first s.150 return; each share class then needs its legal stated capital for the identity test.booleanstrict
flags.mergerIsPurchaseOfAssetsOrWindingUpDistributions.87(1) closing words: a merger effected by one corporation purchasing another's property or by a winding-up distribution is not an amalgamation; must be false.booleanstrict
flags.nonShareConsiderationA shareholder received consideration other than shares; the s.87(4) rollover is denied for that shareholder, and each affected row must state its boot amount.booleanstrict
flags.predecessorSharesNotCancelledOnMergers.87(1.1): the relevant predecessor shares owned by non-predecessor shareholders immediately before a vertical or sister merger were not cancelled on the merger. Required only when literal s.87(1)(c) receipt is false; merger type alone does not prove this condition.boolean | nullstrict
flags.shareholders[].giftPortionToRelatedPersonnumberstrict
flags.shareholders[].isPredecessorCorporationThis shareholder is itself a predecessor corporation, the s.87(1)(c) exception to the share-receipt condition.booleanstrict
flags.shareholders[].labelstringstrict
flags.shareholders[].newShares[].fmvAfternumberstrict
flags.shareholders[].newShares[].labelstringstrict
flags.shareholders[].nonShareConsiderationFmvnumberstrict
flags.shareholders[].oldShareAcbnull | numberstrict
flags.shareholders[].oldShareFmvBeforenull | numberstrict
flags.shareholders[].oldSharesAreCapitalPropertyboolean | nullstrict
flags.shareholders[].oldSharesWereTaxableCanadianPropertyThe shareholder's old shares were taxable Canadian property immediately before the amalgamation; the new shares then keep the TCP character.booleanstrict
flags.shareholders[].outlaysAndExpensesOutlays and expenses made or incurred for the old-share disposition under s.40(1). Required for a non-predecessor shareholder whose old shares are capital property; enter 0 if none.null | numberstrict
flags.sisterAmalgamationTwo or more subsidiary wholly-owned corporations of the same parent amalgamate; engages s.87(1.1)(b).booleanstrict
flags.substitutedClassesIdenticalToExchangedClassesboolean | nullstrict
flags.triangularAmalgamationThe new corporation is controlled immediately after the merger by a taxable Canadian parent whose shares were issued to former predecessor shareholders; engages ITA 87(9).booleanstrict
flags.verticalAmalgamationParent and subsidiary wholly-owned amalgamation; engages s.87(1.1), s.87(2.11) and s.87(11).booleanstrict
flags.verticalAmalgamationDetails.parentAcbOfSubSharesnull | numberstrict
flags.verticalAmalgamationDetails.pucOfSubSharesnull | numberstrict
flags.verticalAmalgamationDetails.subsidiaries[].labelnull | stringstrict
flags.verticalAmalgamationDetails.subsidiaries[].parentAcbOfSubSharesnumberstrict
flags.verticalAmalgamationDetails.subsidiaries[].pucOfSubSharesnumberstrict
flags.verticalAmalgamationDetails.subsidiaries[].subsidiaryNetInsideAmountnumberstrict
flags.verticalAmalgamationDetails.subsidiaryNetInsideAmountnull | numberstrict
predecessor_share_classes[].aggregateAcbnumberstrict
predecessor_share_classes[].aggregatePucnumberstrict
predecessor_share_classes[].heldByAnotherPredecessorCorporations.87(3)(a) exclusion: these predecessor shares are held by another predecessor corporation and stay out of the paid-up capital continuity total.booleanstrict
predecessor_share_classes[].labelstringstrict
predecessor_share_classes[].legalStatedCapitalnull | numberstrict
Strict profile accepted values (23 of 41 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-87
CellAccepted values
amalco_classes[].correspondsToPredecessorLabel1 to 2000 characters
amalco_classes[].fmvImmediatelyAfter0 to 600000000000
amalco_classes[].label1 to 2000 characters
amalco_classes[].legalStatedCapital0 to 600000000000
flags.shareholders[].giftPortionToRelatedPerson0 to 600000000000
flags.shareholders[].label1 to 2000 characters
flags.shareholders[].newShares[].fmvAfter0 to 600000000000
flags.shareholders[].newShares[].label1 to 2000 characters
flags.shareholders[].nonShareConsiderationFmv0 to 600000000000
flags.shareholders[].oldShareAcb0 to 600000000000
flags.shareholders[].oldShareFmvBefore0 to 600000000000
flags.shareholders[].outlaysAndExpenses0 to 600000000000
flags.verticalAmalgamationDetails.parentAcbOfSubShares0 to 600000000000
flags.verticalAmalgamationDetails.pucOfSubShares0 to 600000000000
flags.verticalAmalgamationDetails.subsidiaries[].label1 to 2000 characters
flags.verticalAmalgamationDetails.subsidiaries[].parentAcbOfSubShares0 to 600000000000
flags.verticalAmalgamationDetails.subsidiaries[].pucOfSubShares0 to 600000000000
flags.verticalAmalgamationDetails.subsidiaries[].subsidiaryNetInsideAmount0 to 600000000000
flags.verticalAmalgamationDetails.subsidiaryNetInsideAmount0 to 600000000000
predecessor_share_classes[].aggregateAcb0 to 600000000000
predecessor_share_classes[].aggregatePuc0 to 600000000000
predecessor_share_classes[].label1 to 2000 characters
predecessor_share_classes[].legalStatedCapital0 to 600000000000

Output cells (60)

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

Output cells for section-87
CellTypes
appliesboolean | null
amalcoClasses[].labelstring
amalcoClasses[].correspondsToPredecessorLabelstring
amalcoClasses[].fmvImmediatelyAfternull | number
amalcoClasses[].newShareAcbnull | number
amalcoClasses[].legalStatedCapitalnumber
amalcoClasses[].pucGrindnumber
amalcoClasses[].pucFinalnumber
shareholders[].labelstring
shareholders[].isPredecessorCorporationboolean
shareholders[].oldShareAcbnumber
shareholders[].oldShareFmvBeforenumber
shareholders[].nonShareConsiderationFmvnumber
shareholders[].totalNewShareFmvAfternumber
shareholders[].giftPortionnumber
shareholders[].applies87_4boolean
shareholders[].exclusionReasonnull | string
shareholders[].giftPortionAppliedboolean
shareholders[].proceedsOfDispositionnull | number
shareholders[].capitalGainnull | number
shareholders[].suppressedCapitalLossnull | number
shareholders[].totalNewShareCostnumber
shareholders[].newShareCosts[].labelstring
shareholders[].newShareCosts[].fmvAfternumber
shareholders[].newShareCosts[].costnumber
shareholders[].newSharesDeemedTcpFor60Monthsboolean
totalPucGrindnumber
election87_3_1Appliedboolean
verticalAmalgamationDisposition.acbOfSubsidiarySharesnumber
verticalAmalgamationDisposition.pucOfSubsidiarySharesnumber
verticalAmalgamationDisposition.subsidiaryNetInsideAmountnumber
verticalAmalgamationDisposition.deemedProceedsnumber
verticalAmalgamationDisposition.capitalGainnumber
section87_9Disclosure.parentShareDeemingAppliedboolean
section87_9Disclosure.parentCostBumpDesignationModelledboolean
section87_9Disclosure.filingActionstring
verticalAmalgamationboolean
acquisitionOfControlboolean
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
Filemark | section-87 cells