section-86
Filemark T2 rollover and reorganization preview
- Kind
- rollover
- Supported tax years
- —
- Strict profile
- rollover_preview_exact_v1
- Payload schema version
- 5.0.0
Example request
Send this body to POST /api/v1/computations/rollovers/section-86. It satisfies the strict profile, so it works with or without the payloadContract selector.
{
"inputs": {
"old_shares": {
"acb": 100000,
"puc": 80000,
"fmv": 150000,
"isCapitalProperty": true,
"allSharesOfClassDisposed": true,
"outlaysAndExpenses": 0,
"priorS53_2_g1DeductionsAmount": null,
"priorS53_2_g1Deductions": false
},
"new_shares": [
{
"label": "Cedar Ridge Holdings preferred",
"fmv": 90000,
"legalStatedCapital": 60000
},
{
"label": "Cedar Ridge Holdings common",
"fmv": 50000,
"legalStatedCapital": 50000
}
],
"boot": {
"fmv": 10000
},
"party": {
"s85ElectionFiled": false,
"inCourseOfReorganizationOfCapital": true,
"isRelatedReorganization": false,
"giftToRelatedPerson": 0
}
}
}Input cells (16)
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 |
|---|---|---|
| boot.fmv | number | strict |
| new_shares[].fmv | number | strict |
| new_shares[].label | string | strict |
| new_shares[].legalStatedCapital | number | strict |
| old_shares.acb | number | strict |
| old_shares.allSharesOfClassDisposeds.86(1) per-taxpayer test: the taxpayer disposed of all the shares of the class that the taxpayer owned; unanswered or false blocks. | boolean | strict |
| old_shares.fmv | number | strict |
| old_shares.isCapitalPropertys.86(1) requires the old shares to be capital property; unanswered or false blocks. | boolean | strict |
| old_shares.outlaysAndExpenses | number | strict |
| old_shares.priorS53_2_g1DeductionsLegacy assertion that s.53(2)(g.1) amounts were deducted on the old shares; true without the amount blocks because the s.86(4) figure would be unknown. | boolean | strict |
| old_shares.priorS53_2_g1DeductionsAmount | null | number | strict |
| old_shares.puc | number | strict |
| party.giftToRelatedPerson | number | strict |
| party.inCourseOfReorganizationOfCapitals.86(1) condition: the disposition occurred in the course of a reorganization of the corporation's capital; unanswered or false blocks. | boolean | strict |
| party.isRelatedReorganizationWhether the other shareholders who gain the FMV excess are persons related to the taxpayer; required once an excess exists, it selects the s.86(2) benefit-conferral treatment. | boolean | strict |
| party.s85ElectionFiledAn s.85 election was filed for this exchange; s.86(3) then ousts s.86. | boolean | strict |
Strict profile accepted values (10 of 16 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 |
|---|---|
| boot.fmv | 0 to 600000000000 |
| new_shares[].fmv | 0 to 600000000000 |
| new_shares[].label | 1 to 2000 characters |
| new_shares[].legalStatedCapital | 0 to 600000000000 |
| old_shares.acb | 0 to 600000000000 |
| old_shares.fmv | 0 to 600000000000 |
| old_shares.outlaysAndExpenses | 0 to 600000000000 |
| old_shares.priorS53_2_g1DeductionsAmount | 0 to 600000000000 |
| old_shares.puc | 0 to 600000000000 |
| party.giftToRelatedPerson | 0 to 600000000000 |
Output cells (49)
Paths are relative to this target’s result object in the response.
| Cell | Types |
|---|---|
| newShares[].label | string |
| newShares[].fmv | number |
| newShares[].legalStatedCapital | number |
| newShares[].costAcb | number |
| newShares[].pucGrind | number |
| newShares[].pucFinal | number |
| newShares[].s86_4Adjustment | null | number |
| oldShares.acb | number |
| oldShares.puc | number |
| oldShares.fmv | number |
| oldShares.outlaysAndExpenses | number |
| oldShares.proceedsOfDisposition | number |
| oldShares.gainTriggered | number |
| oldShares.lossDeemedNil | boolean |
| boot.fmv | number |
| boot.cost | number |
| s86_2Applies | boolean | null |
| giftToRelatedPerson | null | number |
| totalNewShareCost | null | number |
| totalPucGrind | null | number |
| totalProceeds | null | number |
| deemedDividend84_3 | null | number |
| totalS86_4Adjustment | null | number |
| rolloverDeferred | boolean |
| 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 |
| newShares | null |
| oldShares | null |
| boot | null |