aoc
T2 Corporation Income Tax Return
- Kind
- batch
- Supported tax years
- —
- Strict profile
- aoc_v1
- Payload schema version
- 0.1.0
- Dependencies (run automatically)
- none
Example request
Send this body to POST /api/v1/computations/batch. This example works with or without payloadContract.
{
"compute": [
"aoc"
],
"inputs": {
"taxYear": 2025,
"fiscalStart": "2025-01-01",
"fiscalEnd": "2025-12-31",
"acquisitionOfControlDate": "2026-01-01",
"aocNondepreciableCapitalProperties": [],
"aocAdventureTradeInventory": [],
"aocDoubtfulDebtReserves111_5_3": [],
"aocBecomesOrCeasesExemptAtEvent": false,
"aocMainReasonIsToCauseProvisionToApply": false,
"isCCPC": true,
"daysInYear": 365
}
}Input cells (47)
Paths are relative to the request's inputs object. [] marks an array element.
Cells marked always require a non-null value in every request. Cells marked strict are required when you supply this target's payloadContract. See Run computations.
Unknown cells and JSON type mismatches return 400 with the affected cells in the error details.
| Cell | Types | Required |
|---|---|---|
| acquisitionOfControlDateThe date control of the corporation was acquired, in ISO YYYY-MM-DD form, which splits the taxation year for the acquisition-of-control stub returns. Schedule 8 requires the full date and rejects a bare year. | null | string | strict |
| aocAdventureTradeInventoryEntered acquisition-of-control property or reserve records; an empty list states there are no records. | null | array | |
| aocAdventureTradeInventory[]One entered property or reserve record. | object | |
| aocAdventureTradeInventory[].cost | null | number | string | |
| aocAdventureTradeInventory[].description | null | string | |
| aocAdventureTradeInventory[].fmv | null | number | string | |
| aocBecomesOrCeasesExemptAtEventWhether the taxpayer becomes or ceases to be exempt from Part I tax at the loss restriction event. ITA s.111(5.1) is expressly subject to s.111(5.5)(a), which suppresses the depreciable-property write-down in that case, so the answer decides whether the write-down runs at all. Boolean is the canonical form; an unanswered fact blocks rather than assuming either branch. | boolean | null | number | string | |
| aocDesignatedProperty111_4_eEntered acquisition-of-control property or reserve records; an empty list states there are no records. | null | array | |
| aocDesignatedProperty111_4_e[]One entered property or reserve record. | object | |
| aocDesignatedProperty111_4_e[].acb | null | number | string | |
| aocDesignatedProperty111_4_e[].dateAcquired | null | string | |
| aocDesignatedProperty111_4_e[].description | null | string | |
| aocDesignatedProperty111_4_e[].designated_proceeds | null | number | string | |
| aocDesignatedProperty111_4_e[].fmv | null | number | string | |
| aocDesignatedProperty111_4_e[].foreignCurrency | null | string | |
| aocDesignatedProperty111_4_e[].isActiveAsset | boolean | null | |
| aocDesignatedProperty111_4_e[].isDepreciableProperty | boolean | null | |
| aocDesignatedProperty111_4_e[].isForeignAffiliateShare | boolean | null | |
| aocDesignatedProperty111_4_e[].isForeignSource | boolean | null | |
| aocDesignatedProperty111_4_e[].isListedPersonalProperty | boolean | null | |
| aocDesignatedProperty111_4_e[].paragraph40_2_fApplies | null | string | |
| aocDesignatedProperty111_4_e[].propertyId | null | string | |
| aocDesignatedProperty111_4_e[].propertyType | null | string | |
| aocDesignatedProperty111_4_e[].subsection111_5_1WouldApply | boolean | null | |
| aocDoubtfulDebtReserves111_5_3Entered acquisition-of-control property or reserve records; an empty list states there are no records. | null | array | |
| aocDoubtfulDebtReserves111_5_3[]One entered property or reserve record. | object | |
| aocDoubtfulDebtReserves111_5_3[].debt_amount | null | number | string | |
| aocDoubtfulDebtReserves111_5_3[].description | null | string | |
| aocDoubtfulDebtReserves111_5_3[].doubtful_debt_reserve_20_1_l | null | number | string | |
| aocMainReasonIsToCauseProvisionToApplyWhether the main reason for the loss restriction event was to cause ITA paragraph 111(4)(d) or one of subsections 111(5.1) to (5.3) to apply. A Yes engages s.111(5.5)(b), which disapplies the targeted provision and paragraph 111(4)(e); answer aocMainReasonTargetedProvision as well so the engine knows which chain to suppress. This is a legal conclusion the engine cannot derive, so an unanswered fact holds the pre-event write-down rather than filing it either way. Boolean is the canonical form. | boolean | null | number | string | |
| aocMainReasonTargetedProvisionWhich provision the s.111(5.5)(b) main reason targeted. The subsection names a closed set — paragraph 111(4)(d) and subsections 111(5.1) to (5.3) — and disapplies exactly one of them plus paragraph 111(4)(e), never their union, so the answer selects the chain that is suppressed. Required whenever aocMainReasonIsToCauseProvisionToApply is Yes; any other string is refused rather than defaulted, because suppressing the wrong provision suppresses the wrong write-down. | null | string | |
| aocNondepreciableCapitalPropertiesEntered acquisition-of-control property or reserve records; an empty list states there are no records. | null | array | |
| aocNondepreciableCapitalProperties[]One entered property or reserve record. | object | |
| aocNondepreciableCapitalProperties[].acb | null | number | string | |
| aocNondepreciableCapitalProperties[].description | null | string | |
| aocNondepreciableCapitalProperties[].fmv | null | number | string | |
| aocNondepreciableCapitalProperties[].isActiveAsset | boolean | null | |
| aocNondepreciableCapitalProperties[].isForeignSource | boolean | null | |
| aocNondepreciableCapitalProperties[].propertyId | null | string | |
| aocPropertyDesignationsPer-property ITA paragraph 111(4)(e) acquisition-of-control designations for depreciable property. Each row identifies the CCA class and property and supplies its fair market value, capital cost, and designated amount; omit the array only when no such designation is made. | array | null | |
| aocPropertyDesignations[]Per-property ITA paragraph 111(4)(e) acquisition-of-control designations for depreciable property. Each row identifies the CCA class and property and supplies its fair market value, capital cost, and designated amount; omit the array only when no such designation is made. | object | |
| daysInYear | integer | |
| fiscalEndThe last day of the taxation year in ISO YYYY-MM-DD form, which bounds every disposition date. Send it with fiscalStart and daysInYear: the three are the canonical taxation-period trio, and all three are mandatory whenever the request reaches Part I through its dependency closure. Strict YYYY-MM-DD, and not before fiscalStart. | null | string | strict |
| fiscalStartThe first day of the taxation year (ISO YYYY-MM-DD). With fiscalEnd and daysInYear it is the canonical taxation-period trio, and all three are mandatory whenever the request reaches Part I through its dependency closure — the request is refused before any computation when one is missing. The bounds also drive Schedule 8's Reg 1100(3) short-year CCA proration and the Reg 1104(3.5)(b) immediate-expensing limit proration. | null | string | strict |
| isCCPC | boolean | |
| t2Jacket | object | |
| taxYearFour-digit taxation year accepted by the batch reader. Historical applicability is decided by the requested form; years after 2027 fail at the shared verified-rate horizon. | number | string | always |
Strict profile accepted values (27 of 47 cells)
These constraints apply when you supply this target's payloadContract. Cells marked pinned must equal the listed value.
| Cell | Accepted values |
|---|---|
| acquisitionOfControlDate | date (YYYY-MM-DD); 10 to 10 characters |
| aocAdventureTradeInventory[].cost | -1000000000000000 to 1000000000000000; 0 to 20000 characters |
| aocAdventureTradeInventory[].description | 0 to 20000 characters |
| aocAdventureTradeInventory[].fmv | -1000000000000000 to 1000000000000000; 0 to 20000 characters |
| aocBecomesOrCeasesExemptAtEvent | one of true, false, "true", "false", null |
| aocDesignatedProperty111_4_e[].acb | -1000000000000000 to 1000000000000000; 0 to 20000 characters |
| aocDesignatedProperty111_4_e[].dateAcquired | 0 to 20000 characters |
| aocDesignatedProperty111_4_e[].description | 0 to 20000 characters |
| aocDesignatedProperty111_4_e[].designated_proceeds | -1000000000000000 to 1000000000000000; 0 to 20000 characters |
| aocDesignatedProperty111_4_e[].fmv | -1000000000000000 to 1000000000000000; 0 to 20000 characters |
| aocDesignatedProperty111_4_e[].foreignCurrency | 0 to 20000 characters |
| aocDesignatedProperty111_4_e[].paragraph40_2_fApplies | 0 to 20000 characters |
| aocDesignatedProperty111_4_e[].propertyId | 0 to 20000 characters |
| aocDesignatedProperty111_4_e[].propertyType | 0 to 20000 characters |
| aocDoubtfulDebtReserves111_5_3[].debt_amount | -1000000000000000 to 1000000000000000; 0 to 20000 characters |
| aocDoubtfulDebtReserves111_5_3[].description | 0 to 20000 characters |
| aocDoubtfulDebtReserves111_5_3[].doubtful_debt_reserve_20_1_l | -1000000000000000 to 1000000000000000; 0 to 20000 characters |
| aocMainReasonIsToCauseProvisionToApply | one of true, false, "true", "false", null |
| aocMainReasonTargetedProvision | one of "111(4)(d)", "111(5.1)", "111(5.2)", "111(5.3)", null |
| aocNondepreciableCapitalProperties[].acb | -1000000000000000 to 1000000000000000; 0 to 20000 characters |
| aocNondepreciableCapitalProperties[].description | 0 to 20000 characters |
| aocNondepreciableCapitalProperties[].fmv | -1000000000000000 to 1000000000000000; 0 to 20000 characters |
| aocNondepreciableCapitalProperties[].propertyId | 0 to 20000 characters |
| daysInYear | 1 to 1000000000000000 |
| fiscalEnd | date (YYYY-MM-DD); 10 to 10 characters |
| fiscalStart | date (YYYY-MM-DD); 10 to 10 characters |
| taxYear | matches ^\s*(?:1[0-9]{3}|2(?:0(?:[0-1][0-9]{1}|2[0-7])))\s*$; 1000 to 2027 |
Output cells (132)
Paths are relative to this target's result object in the response.
| Cell | Types |
|---|---|
| capabilityStatus | string |
| authoritativeForBatch | boolean |
| coveredProvisions[] | string |
| deferredProvisions.s.111(4)(a)/(b), s.111(5) loss-pool restriction and streaming | string |
| deferredProvisions.s.111(5.1) depreciable UCC write-down and s.111(4)(e) depreciable-class designations | string |
| aocOccurred | boolean |
| aocDate | null | string |
| taxYear | integer |
| section256_9Election | boolean | null |
| provisional | boolean |
| ready | boolean |
| deemedCapitalLosses_111_4_c | number |
| deemedCapitalGains_111_4_e | number |
| inventoryWritedown_10_10 | number |
| deniedReserve_111_5_3_a | number |
| badDebtDeduction_111_5_3_b | number |
| designatedProperty_111_4_c_detail[].propertyId | string |
| designatedProperty_111_4_c_detail[].description | string |
| designatedProperty_111_4_c_detail[].deemedDispositionAuthority | string |
| designatedProperty_111_4_c_detail[].acb | number |
| designatedProperty_111_4_c_detail[].fmv | number |
| designatedProperty_111_4_c_detail[].deemedLoss | number |
| designatedProperty_111_4_c_detail[].acbAfterAoc | number |
| designatedProperty_111_4_c_detail[].postEventAcb | number |
| designatedProperty_111_4_c_detail[].isActiveAsset | boolean | null | string |
| designatedProperty_111_4_c_detail[].isForeignSource | boolean | null | string |
| designatedProperty_111_4_e_detail[].propertyId | string |
| designatedProperty_111_4_e_detail[].description | string |
| designatedProperty_111_4_e_detail[].propertyType | string |
| designatedProperty_111_4_e_detail[].dateAcquired | string |
| designatedProperty_111_4_e_detail[].foreignCurrency | string |
| designatedProperty_111_4_e_detail[].deemedDispositionAuthority | string |
| designatedProperty_111_4_e_detail[].acb | number |
| designatedProperty_111_4_e_detail[].fmv | number |
| designatedProperty_111_4_e_detail[].designatedProceeds | number |
| designatedProperty_111_4_e_detail[].deemedProceeds | number |
| designatedProperty_111_4_e_detail[].deemedGain | number |
| designatedProperty_111_4_e_detail[].reacquisitionCost_111_4_e_ii | number |
| designatedProperty_111_4_e_detail[].postEventAcb | number |
| designatedProperty_111_4_e_detail[].capitalCostAfter_111_4_e_iii_13_7_f | number |
| designatedProperty_111_4_e_detail[].deemedCcaPer111_4_e_iii | number |
| designatedProperty_111_4_e_detail[].isActiveAsset | boolean | null | string |
| designatedProperty_111_4_e_detail[].isForeignSource | boolean | null | string |
| designatedProperty_111_4_e_detail[].isListedPersonalProperty | boolean | null | string |
| designatedProperty_111_4_e_detail[].isForeignAffiliateShare | boolean | null | string |
| designatedProperty_111_4_e_detail[].paragraph40_2_fApplies | boolean | null | string |
| designatedProperty_111_4_e_detail[].isDepreciableProperty | boolean |
| adventureTradeInventory_10_10_detail[].description | string |
| adventureTradeInventory_10_10_detail[].valuationAuthority | string |
| adventureTradeInventory_10_10_detail[].cost | number |
| adventureTradeInventory_10_10_detail[].fmv | number |
| adventureTradeInventory_10_10_detail[].writedown | number |
| adventureTradeInventory_10_10_detail[].deemedCost | number |
| doubtfulDebtReserves_111_5_3_detail[].description | string |
| doubtfulDebtReserves_111_5_3_detail[].authority | string |
| doubtfulDebtReserves_111_5_3_detail[].debtAmount | number |
| doubtfulDebtReserves_111_5_3_detail[].separateDebt_111_5_3_b_i | number |
| doubtfulDebtReserves_111_5_3_detail[].badDebtDeduction_20_1_p | number |
| doubtfulDebtReserves_111_5_3_detail[].residualSeparateDebt_111_5_3_b_ii | number |
| doubtfulDebtReserves_111_5_3_detail[].deniedReserve_20_1_l | number |
| section111_4_c_dReceiver.status | string |
| section111_4_c_dReceiver.preAocSchedule6Loss | number |
| section111_4_c_dReceiver.rows[].propertyId | string |
| section111_4_c_dReceiver.rows[].description | string |
| section111_4_c_dReceiver.rows[].deemedDispositionAuthority | string |
| section111_4_c_dReceiver.rows[].acb | number |
| section111_4_c_dReceiver.rows[].fmv | number |
| section111_4_c_dReceiver.rows[].deemedLoss | number |
| section111_4_c_dReceiver.rows[].acbAfterAoc | number |
| section111_4_c_dReceiver.rows[].postEventAcb | number |
| section111_4_c_dReceiver.rows[].isActiveAsset | boolean | null | string |
| section111_4_c_dReceiver.rows[].isForeignSource | boolean | null | string |
| section111_4_c_dReceiver.authority | string |
| section111_4_c_dReceiver.postEventPropertyBasis[].propertyId | string |
| section111_4_c_dReceiver.postEventPropertyBasis[].description | string |
| section111_4_c_dReceiver.postEventPropertyBasis[].acb | number |
| section111_4_c_dReceiver.postEventPropertyBasis[].fmv | number |
| section111_4_c_dReceiver.postEventPropertyBasis[].postEventAcb | number |
| section111_4_c_dReceiver.postEventPropertyBasis[].isDepreciableProperty | boolean |
| section111_4_c_dReceiver.postEventPropertyBasis[].basisAuthority | string |
| section111_4_eReceiver.status | string |
| section111_4_eReceiver.preAocSchedule6Gain | number |
| section111_4_eReceiver.postEventPropertyBasis[].propertyId | string |
| section111_4_eReceiver.postEventPropertyBasis[].description | string |
| section111_4_eReceiver.postEventPropertyBasis[].propertyType | string |
| section111_4_eReceiver.postEventPropertyBasis[].dateAcquired | string |
| section111_4_eReceiver.postEventPropertyBasis[].foreignCurrency | string |
| section111_4_eReceiver.postEventPropertyBasis[].deemedDispositionAuthority | string |
| section111_4_eReceiver.postEventPropertyBasis[].acb | number |
| section111_4_eReceiver.postEventPropertyBasis[].fmv | number |
| section111_4_eReceiver.postEventPropertyBasis[].designatedProceeds | number |
| section111_4_eReceiver.postEventPropertyBasis[].deemedProceeds | number |
| section111_4_eReceiver.postEventPropertyBasis[].deemedGain | number |
| section111_4_eReceiver.postEventPropertyBasis[].reacquisitionCost_111_4_e_ii | number |
| section111_4_eReceiver.postEventPropertyBasis[].postEventAcb | number |
| section111_4_eReceiver.postEventPropertyBasis[].capitalCostAfter_111_4_e_iii_13_7_f | number |
| section111_4_eReceiver.postEventPropertyBasis[].deemedCcaPer111_4_e_iii | number |
| section111_4_eReceiver.postEventPropertyBasis[].isActiveAsset | boolean | null | string |
| section111_4_eReceiver.postEventPropertyBasis[].isForeignSource | boolean | null | string |
| section111_4_eReceiver.postEventPropertyBasis[].isListedPersonalProperty | boolean | null | string |
| section111_4_eReceiver.postEventPropertyBasis[].isForeignAffiliateShare | boolean | null | string |
| section111_4_eReceiver.postEventPropertyBasis[].paragraph40_2_fApplies | boolean | null | string |
| section111_4_eReceiver.postEventPropertyBasis[].isDepreciableProperty | boolean |
| section111_4_eReceiver.preAocStubFilingReference | null | string |
| section111_4_eReceiver.authority | string |
| cdaTimingConsequence_111_4_f.authority | string |
| cdaTimingConsequence_111_4_f.deemedTime | string |
| cdaTimingConsequence_111_4_f.inclusionRate | number |
| cdaTimingConsequence_111_4_f.grossDeemedGain_111_4_e | number |
| cdaTimingConsequence_111_4_f.grossDeemedLoss_111_4_d | number |
| cdaTimingConsequence_111_4_f.nonTaxableGainPortion | number |
| cdaTimingConsequence_111_4_f.nonDeductibleLossPortion | number |
| cdaTimingConsequence_111_4_f.netCdaAdjustment | number |
| cdaTimingConsequence_111_4_f.suppressedUnder_111_5_5_a | boolean |
| cdaTimingConsequence_111_4_f.perProperty[].description | string |
| cdaTimingConsequence_111_4_f.perProperty[].authority | string |
| cdaTimingConsequence_111_4_f.perProperty[].amount | number |
| cdaTimingConsequence_111_4_f.perProperty[].cdaPortion | number |
| suppressedUnder_111_5_5_a | boolean |
| suppressedUnder_111_5_5_b | boolean |
| suppressedProvisionsUnder_111_5_5_b[] | string |
| mainReasonIsToCauseProvisionToApply_111_5_5_b | boolean | null |
| mainReasonTargetedProvision_111_5_5_b | null | string |
| warnings[].codeStable machine identity of the disclosure, independent of its prose. | string |
| warnings[].severity | string |
| warnings[].message | string |
| warnings[].section | string |
| warnings[].notesWhat the rate manifest records against the year, including what is still outstanding before the year can be verified. | string |
| warnings[].sourceModuleThe module that emitted the disclosure. | string |
| warnings[].sources[] | string |
| warnings[].taxYearThe taxation year whose rate tables are unverified. | integer |
| warnings[].taxYears[] | integer |