debt-forgiveness
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/debt-forgiveness. It satisfies the strict profile, so it works with or without the payloadContract selector.
{
"inputs": {
"forgiven_amount": 100000,
"attributes": {
"nonCapitalLossesOrdinary": 15000,
"nonCapitalLossesAbilByYear": [
{
"year": 1995,
"amount": 2500,
"applicableFraction": null
},
{
"year": 2002,
"amount": 2500,
"applicableFraction": null
}
],
"farmLosses": 0,
"restrictedFarmLosses": 0,
"netCapitalLossesByYear": null,
"netCapitalLosses": 10000,
"netCapitalLossesYear": 1995,
"netCapitalLossesFraction": null,
"ccaUcc": 20000,
"cumulativeEligibleCapital": 0,
"resourcePools": 0,
"abilAndOtherAcb": 0,
"section80_9CapitalPropertyAcb": 0,
"section80_10SpecifiedShareholderPropertyAcb": 0,
"currentYearCapitalLosses": 0,
"subsection88_1_2Amount": 0,
"currentYearCapitalGains": 0,
"priorSubsection80_12Gains": 0,
"unrecognizedLosses": 0,
"priorDReductions": 0,
"totalSection80_13InclusionsForYear": 100000,
"assetsFmvAtYearEnd": 90000,
"totalLiabilitiesAtYearEnd": 40000,
"taxesPaidForYear": 0,
"nonArmsLengthDistributions12Months": 0,
"distressPreferredSharePrincipal": 0,
"incomeBefore61_3And61_4": 100000,
"paragraph80_15_a_deductions": 0,
"section61_4ReserveClaimed": 50000,
"section56_3InclusionForYear": 0,
"section61_4PriorYearAmountsComplete": true,
"section61_4PriorYearAmounts": []
},
"designations": {
"applyToPoolsAmount": null,
"s80_5Amount": 20000,
"s80_8Amount": null,
"s80_9Amount": null,
"s80_10Amount": null,
"s80_11Amount": null,
"residualBalance": null,
"section80_04AgreementAmount": 0
},
"party": {
"isPartnership": false,
"isResidentInCanadaThroughoutYear": true,
"isExemptFromTaxUnderPartI": false,
"subsection61_3_3Applies": false,
"carriedOnBusinessThroughFixedPlaceInCanadaAtYearEnd": null,
"commencedWindUpInYear": false,
"subsection88_1AppliesToWindUp": null
}
}
}Input cells (55)
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 |
|---|---|---|
| attributes.abilAndOtherAcb | number | strict |
| attributes.assetsFmvAtYearEnd | number | strict |
| attributes.ccaUcc | number | strict |
| attributes.cumulativeEligibleCapitalITA 80(7) was repealed by S.C. 2016, c. 12, s. 23; there is no cumulative-eligible-capital designation. Must be 0 — a legacy balance belongs in ccaUcc under 80(5). | number | strict |
| attributes.currentYearCapitalGains | number | strict |
| attributes.currentYearCapitalLosses | null | number | strict |
| attributes.distressPreferredSharePrincipal | number | strict |
| attributes.farmLosses | number | strict |
| attributes.incomeBefore61_3And61_4 | number | strict |
| attributes.netCapitalLosses | number | strict |
| attributes.netCapitalLossesByYear[].amount | number | strict |
| attributes.netCapitalLossesByYear[].applicableFraction | null | number | strict |
| attributes.netCapitalLossesByYear[].year | integer | null | strict |
| attributes.netCapitalLossesFraction | null | number | strict |
| attributes.netCapitalLossesYear | integer | null | strict |
| attributes.nonArmsLengthDistributions12Months | number | strict |
| attributes.nonCapitalLossesAbilByYear[].amount | number | strict |
| attributes.nonCapitalLossesAbilByYear[].applicableFraction | null | number | strict |
| attributes.nonCapitalLossesAbilByYear[].year | integer | strict |
| attributes.nonCapitalLossesOrdinaryOrdinary non-capital-loss component, excluding the ABIL element in the s.111(8) definition. Applied 1:1 under 80(3)(a); enter 0 only after reviewing the balance as nil. | number | strict |
| attributes.paragraph80_15_a_deductions | number | strict |
| attributes.priorDReductions | number | strict |
| attributes.priorSubsection80_12Gains | number | strict |
| attributes.resourcePools | number | strict |
| attributes.restrictedFarmLosses | number | strict |
| attributes.section56_3InclusionForYear | null | number | strict |
| attributes.section61_4PriorYearAmountsComplete | boolean | null | strict |
| attributes.section61_4PriorYearAmounts[].paragraph80_15_aDeductions | number | strict |
| attributes.section61_4PriorYearAmounts[].section61_3Deductions | number | strict |
| attributes.section61_4PriorYearAmounts[].section80_13Inclusions | number | strict |
| attributes.section61_4PriorYearAmounts[].yearsBeforeCurrent | integer | strict |
| attributes.section61_4ReserveClaimed | null | number | strict |
| attributes.section80_10SpecifiedShareholderPropertyAcb | number | strict |
| attributes.section80_9CapitalPropertyAcb | number | strict |
| attributes.subsection88_1_2Amount | number | strict |
| attributes.taxesPaidForYear | number | strict |
| attributes.totalLiabilitiesAtYearEnd | number | strict |
| attributes.totalSection80_13InclusionsForYear | number | strict |
| attributes.unrecognizedLosses | number | strict |
| designations.applyToPoolsAmount | null | number | strict |
| designations.residualBalance | null | number | strict |
| designations.s80_10Amount | null | number | strict |
| designations.s80_11Amount | null | number | strict |
| designations.s80_5Amount | null | number | strict |
| designations.s80_8Amount | null | number | strict |
| designations.s80_9Amount | null | number | strict |
| designations.section80_04AgreementAmount | number | strict |
| forgiven_amount | number | strict |
| party.carriedOnBusinessThroughFixedPlaceInCanadaAtYearEnd | boolean | null | strict |
| party.commencedWindUpInYear | boolean | null | strict |
| party.isExemptFromTaxUnderPartI | boolean | null | strict |
| party.isPartnershipThe debtor is a partnership rather than a corporation; omitted, the engine keeps the corporate-debtor posture. | boolean | strict |
| party.isResidentInCanadaThroughoutYear | boolean | null | strict |
| party.subsection61_3_3Applies | boolean | null | strict |
| party.subsection88_1AppliesToWindUp | boolean | null | strict |
Strict profile accepted values (47 of 55 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 |
|---|---|
| attributes.abilAndOtherAcb | 0 to 600000000000 |
| attributes.assetsFmvAtYearEnd | 0 to 600000000000 |
| attributes.ccaUcc | 0 to 600000000000 |
| attributes.cumulativeEligibleCapital | 0 to 0 |
| attributes.currentYearCapitalGains | 0 to 600000000000 |
| attributes.currentYearCapitalLosses | 0 to 600000000000 |
| attributes.distressPreferredSharePrincipal | 0 to 600000000000 |
| attributes.farmLosses | 0 to 600000000000 |
| attributes.incomeBefore61_3And61_4 | -600000000000 to 600000000000 |
| attributes.netCapitalLosses | 0 to 600000000000 |
| attributes.netCapitalLossesByYear[].amount | 0 to 600000000000 |
| attributes.netCapitalLossesByYear[].applicableFraction | more than 0; at most 1 |
| attributes.netCapitalLossesByYear[].year | 1972 to 2100 |
| attributes.netCapitalLossesFraction | more than 0; at most 1 |
| attributes.netCapitalLossesYear | 1972 to 2100 |
| attributes.nonArmsLengthDistributions12Months | 0 to 600000000000 |
| attributes.nonCapitalLossesAbilByYear[].amount | 0 to 600000000000 |
| attributes.nonCapitalLossesAbilByYear[].applicableFraction | more than 0; at most 1 |
| attributes.nonCapitalLossesAbilByYear[].year | 1972 to 2100 |
| attributes.nonCapitalLossesOrdinary | 0 to 600000000000 |
| attributes.paragraph80_15_a_deductions | 0 to 600000000000 |
| attributes.priorDReductions | 0 to 600000000000 |
| attributes.priorSubsection80_12Gains | 0 to 600000000000 |
| attributes.resourcePools | 0 to 600000000000 |
| attributes.restrictedFarmLosses | 0 to 600000000000 |
| attributes.section56_3InclusionForYear | 0 to 600000000000 |
| attributes.section61_4PriorYearAmounts[].paragraph80_15_aDeductions | 0 to 600000000000 |
| attributes.section61_4PriorYearAmounts[].section61_3Deductions | 0 to 600000000000 |
| attributes.section61_4PriorYearAmounts[].section80_13Inclusions | 0 to 600000000000 |
| attributes.section61_4PriorYearAmounts[].yearsBeforeCurrent | 1 to 200 |
| attributes.section61_4ReserveClaimed | 0 to 600000000000 |
| attributes.section80_10SpecifiedShareholderPropertyAcb | 0 to 600000000000 |
| attributes.section80_9CapitalPropertyAcb | 0 to 600000000000 |
| attributes.subsection88_1_2Amount | 0 to 600000000000 |
| attributes.taxesPaidForYear | 0 to 600000000000 |
| attributes.totalLiabilitiesAtYearEnd | 0 to 600000000000 |
| attributes.totalSection80_13InclusionsForYear | 0 to 600000000000 |
| attributes.unrecognizedLosses | 0 to 600000000000 |
| designations.applyToPoolsAmount | 0 to 600000000000 |
| designations.residualBalance | 0 to 600000000000 |
| designations.s80_10Amount | 0 to 600000000000 |
| designations.s80_11Amount | 0 to 600000000000 |
| designations.s80_5Amount | 0 to 600000000000 |
| designations.s80_8Amount | 0 to 600000000000 |
| designations.s80_9Amount | 0 to 600000000000 |
| designations.section80_04AgreementAmount | 0 to 600000000000 |
| forgiven_amount | 0 to 600000000000 |
Output cells (68)
Paths are relative to this target’s result object in the response.
| Cell | Types |
|---|---|
| forgivenAmount | number |
| isPartnership | boolean |
| orderedReductions.nonCapitalLosses | number |
| orderedReductions.farmLosses | number |
| orderedReductions.restrictedFarmLosses | number |
| orderedReductions.nonCapitalLossesAbil | number |
| orderedReductions.netCapitalLosses | number |
| orderedReductions.pools | number |
| orderedReductions.acb | number |
| orderedReductions.deemedCapitalGain80_12 | number |
| poolDesignations.ccaUcc | number |
| poolDesignations.resourcePools | number |
| poolDesignations.abilAndOtherAcb | number |
| poolDesignations.subsection80_11 | number |
| poolDesignations.total | number |
| abilNonCapitalLossBalanceReduced | number |
| abilNonCapitalLossDetail[].year | integer |
| abilNonCapitalLossDetail[].applicableFraction | string |
| abilNonCapitalLossDetail[].balanceReduced | number |
| abilNonCapitalLossDetail[].forgivenAmountConsumed | number |
| netCapitalLossBalanceReduced | number |
| netCapitalLossDetail[].year | integer | null |
| netCapitalLossDetail[].applicableFraction | string |
| netCapitalLossDetail[].balanceReduced | number |
| netCapitalLossDetail[].forgivenAmountConsumed | number |
| undesignatedRoomExplanation[].subsection | string |
| undesignatedRoomExplanation[].pool | string |
| undesignatedRoomExplanation[].balance | number |
| undesignatedRoomExplanation[].designated | number |
| undesignatedRoomExplanation[].roomDeclined | number |
| undesignatedRoomExplanation[].availabilityBasis | string |
| deemedCapitalGainSubsection80_12 | number |
| inclusionFormula.A | number |
| inclusionFormula.B | number |
| inclusionFormula.C | number |
| inclusionFormula.D | number |
| inclusionFormula.E | number |
| inclusionFormula.base | number |
| section61_3Deduction | null | number |
| section61_4ReserveClaimed | null | number |
| section61_4ReserveMaximum | null | number |
| section61_4ReserveDeduction | null | number |
| section61_4ParagraphACap | null | number |
| section61_4ParagraphBCap | null | number |
| section61_4WindUpNilCapApplies | boolean | null |
| residual | number |
| incomeInclusion | number |
| 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 |