section-85-1
Filemark T2 rollover and reorganization preview
- Kind
- rollover
- Supported tax years
- —
- Strict profile
- rollover_preview_exact_v1
- Payload schema version
- 7.0.0
Example request
Send this body to POST /api/v1/computations/rollovers/section-85-1. It satisfies the strict profile, so it works with or without the payloadContract selector.
{
"inputs": {
"exchanged_shares": {
"acb": 80000,
"fmv": 150000,
"isCapitalProperty": true,
"isTaxableCanadianProperty": false
},
"purchaser_shares": {
"fmv": 150000,
"pucOfExchangedShares": 100000,
"purchaserIssuedTreasuryShares": true,
"issuedToCourtApprovedPlanTrust": false,
"exchangedSharesTradeOnDesignatedStockExchange": false,
"purchaserSharesWidelyTradedOnDesignatedStockExchange": false,
"issuedShareClasses": [
{
"label": "Cedar Ridge Holdings common",
"pucIncrease": 150000
}
]
},
"consideration": {
"bootFmv": 0,
"sharesOfMoreThanOneClass": false
},
"party": {
"dealsAtArmsLength": true,
"nonArmsLengthSolelyFromPurchaserRightToAcquireExchangedShares": false,
"vendorControlsPurchaserAfter": false,
"vendorOwnsMoreThan50PctFmvOfPurchaserAfter": false,
"s85ElectionFiled": false,
"vendorElectsOut": false,
"purchaserIsCanadianCorporation": true,
"acquiredCorporationIsTaxableCanadianCorporation": true,
"vendorIsForeignAffiliateOfCanadianResident": false,
"gainIncludedInVendorFAPI": null
}
}
}Input cells (24)
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.
| Cell | Types | Required |
|---|---|---|
| consideration.bootFmv | number | strict |
| consideration.sharesOfMoreThanOneClassSecond s.85.1(2)(d) limb: the vendor received shares of more than one class of the purchaser; unanswered blocks. | boolean | strict |
| exchanged_shares.acb | number | strict |
| exchanged_shares.fmv | number | strict |
| exchanged_shares.isCapitalPropertys.85.1(1) opening words require the exchanged shares to be capital property; inventory shares are on income account under s.9. | boolean | always |
| exchanged_shares.isTaxableCanadianProperty | boolean | null | strict |
| party.acquiredCorporationIsTaxableCanadianCorporation | boolean | null | strict |
| party.dealsAtArmsLengths.85.1(2)(a): the vendor and purchaser dealt at arm's length immediately before the exchange; silence is not an assertion and blocks. | boolean | strict |
| party.gainIncludedInVendorFAPI | boolean | null | strict |
| party.nonArmsLengthSolelyFromPurchaserRightToAcquireExchangedSharesThe s.85.1(2)(a) parenthetical relief: the only non-arm's-length cause is a s.251(5)(b) right of the purchaser to acquire the exchanged shares; absent means off. | boolean | strict |
| party.purchaserIsCanadianCorporation | boolean | null | strict |
| party.s85ElectionFileds.85.1(2)(c): the parties filed an s.85(1) or 85(2) election for the exchanged shares, which ousts s.85.1; unanswered blocks. | boolean | strict |
| party.vendorControlsPurchaserAfters.85.1(2)(b)(i): the vendor, alone or with non-arm's-length persons, controlled the purchaser immediately after the exchange; unanswered blocks. | boolean | strict |
| party.vendorElectsOutThe vendor reports the gain in its return, failing the s.85.1(1)(a) condition; the exchange then runs without the rollover deeming. | boolean | strict |
| party.vendorIsForeignAffiliateOfCanadianResident | boolean | null | strict |
| party.vendorOwnsMoreThan50PctFmvOfPurchaserAfter | boolean | null | strict |
| purchaser_shares.exchangedSharesTradeOnDesignatedStockExchanges.85.1(2.2) condition: the exchanged shares trade on a designated stock exchange; the deeming needs all three of its conditions. | boolean | strict |
| purchaser_shares.fmv | number | strict |
| purchaser_shares.issuedShareClasses[].label | string | strict |
| purchaser_shares.issuedShareClasses[].pucIncrease | number | strict |
| purchaser_shares.issuedToCourtApprovedPlanTrusts.85.1(2.2) condition: the purchaser shares were issued to a trust under a court-approved plan of arrangement; the deeming needs all three of its conditions. | boolean | strict |
| purchaser_shares.pucOfExchangedShares | number | strict |
| purchaser_shares.purchaserIssuedTreasuryShares | boolean | null | strict |
| purchaser_shares.purchaserSharesWidelyTradedOnDesignatedStockExchanges.85.1(2.2) condition: the purchaser shares are widely traded on a designated stock exchange; the deeming needs all three of its conditions. | boolean | strict |
Strict profile accepted values (7 of 24 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.
| Cell | Accepted values |
|---|---|
| consideration.bootFmv | 0 to 600000000000 |
| exchanged_shares.acb | 0 to 600000000000 |
| exchanged_shares.fmv | 0 to 600000000000 |
| purchaser_shares.fmv | 0 to 600000000000 |
| purchaser_shares.issuedShareClasses[].label | 1 to 2000 characters |
| purchaser_shares.issuedShareClasses[].pucIncrease | 0 to 600000000000 |
| purchaser_shares.pucOfExchangedShares | 0 to 600000000000 |
Output cells (47)
Paths are relative to this target’s result object in the response.
| Cell | Types |
|---|---|
| applies | boolean |
| exchangedShares.acb | number |
| exchangedShares.fmv | number |
| exchangedShares.pucOfExchangedShares | number |
| exchangedShares.proceedsOfDisposition | number |
| vendorNewShareAcb | null | number |
| purchaserCostOfAcquiredShares | null | number |
| purchaserCostBasis | null | string |
| gainIfTainted | null | number |
| gainRealized | null | number |
| dispositionCharacter | null | string |
| incomeAccountProfit | null | number |
| boot.fmv | number |
| sharesOfMoreThanOneClass | boolean |
| rolloverDeferred | boolean |
| pucReduction.status | string |
| pucReduction.totalIncreaseInPuc | null | number |
| pucReduction.pucOfExchangedSharesReceived | number |
| pucReduction.totalReduction | null | number |
| pucReduction.byClass[].label | string |
| pucReduction.byClass[].pucIncrease | number |
| pucReduction.byClass[].pucReduction | number |
| pucReduction.byClass[].pucAfterReduction | number |
| purchaserSharesAreDeemedTcp | boolean | null |
| purchaserSharesDeemedTcpWindowMonths | integer | null |
| traps[].findingCode | string |
| traps[].filingDisposition | string |
| traps[].citationKey | string |
| traps[].severity | string |
| traps[].title | string |
| traps[].body | string |
| warnings[] | string |
| warnings[].code | string |
| warnings[].findingCode | string |
| warnings[].filingDisposition | string |
| warnings[].message | string |
| warnings[].severity | string |
| blocking | boolean |
| ready | boolean |
| provisional | boolean |
| citationsApplied[] | string |
| citations[].key | string |
| citations[].section | string |
| citations[].description | string |
| citations[].source_url | string |
| citations[].verified_at | string |
| electionInvalid | boolean |