schedule101
T2 Corporation Income Tax Return
- Kind
- batch
- Supported tax years
- 1998 and later
- Strict profile
- schedule101_exact_2025_default_branch_v1
- Payload schema version
- 8.0.0
- Dependencies (run automatically)
- schedule100, schedule125
Example request
Send this body to POST /api/v1/computations/batch. It satisfies the strict profile, so it works with or without the payloadContract selector.
{
"compute": [
"schedule101"
],
"inputs": {
"schedule101": {},
"taxYear": 2025,
"fiscalStart": "2025-01-01",
"fiscalEnd": "2025-12-31",
"isCCPC": true,
"daysInYear": 365
}
}Input cells (19)
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 |
|---|---|---|
| daysInYearInclusive day count of the taxation year. It must equal the fiscalStart-to-fiscalEnd span, counting both end days, so a leap year states 366. Required for the same reason as fiscalStart; the count reconciles the bounds and never constructs them. | integer | strict |
| fiscalEndLast day of the taxation year, as YYYY-MM-DD, on or after fiscalStart. Its calendar year must equal taxYear. Required for the same reason as fiscalStart. | string | strict |
| fiscalStartFirst day of the taxation year, as YYYY-MM-DD. Required because this target's dependency closure reaches part_i_tax, whose rates and limits are day-weighted; ITA s.249(1)(a) makes the taxation year the fiscal period, and the engine will not invent calendar-year bounds. | string | strict |
| isCCPCThe corporation was a Canadian-controlled private corporation (ITA s.125(7) definition) throughout the taxation year. | boolean | |
| schedule101 | object | strict |
| schedule101.businessNumber9-digit BN or 15-char RC account (e.g. "123456789RC0001"). | null | string | |
| schedule101.corporationNameCorporation legal name (header line in .gfi handoff). | null | string | |
| schedule101.currentYearEndTax Year End YYYY-MM-DD — the only date printed on the S101 header. Canonically stamped from the tax-year record and equal to the S100 currentYearEnd for the same return. | null | string | |
| schedule101.insuranceUnderwritingTypeThe insurance underwriting subtype, read with isInsuranceCorp to decide whether the RC4088 Rev.23 p.5 PDF financial statement supplement advisory fires. Send it whenever isInsuranceCorp is true, using non_underwriting for brokerages, MGAs, agency subsidiaries and non-underwriting holding companies. No enum is published because the engine routes every unrecognized string to the ordinary-filer branch rather than rejecting it. | null | string | |
| schedule101.isAmalgamationSuccessors.87 amalgamation successor (opening = predecessor terminal). | boolean | null | |
| schedule101.isFinancialInstitutionBank / credit union / trust — specialised GIFI codes apply. | boolean | null | |
| schedule101.isFirstYearT2First T2 (opening BS at incorporation date). | boolean | null | |
| schedule101.isInactiveCorpT2 line 280 inactive flag — abbreviated GIFI permitted. | boolean | null | |
| schedule101.isInsuranceCorpRC4088 p.5 insurance carve-out — file F/S as PDF instead. | boolean | null | |
| schedule101.isPartnershipPartnership (T5013) — uses 3575/3585 instead of 3620/3640. | boolean | null | |
| schedule101.isWindupSuccessors.88(1) wind-up successor (opening at wind-up effective date). | boolean | null | |
| schedule101.openingPeriodGIFI code → amount map for the opening period in VALIDATOR-SIGN, identical to Schedule100Data.currentYear: ordinary assets, liabilities and equity match natural sign, while retained-earnings reductions are positive magnitudes. Non-zero RE-block rows (3660/3680/3700-02/3720/ 3740/3741/3742-45) draw a review advisory rather than a hard gate, because those rows do appear on the printed S101. | object | |
| schedule101.predecessorTerminalBsConsolidated predecessor terminal-period GIFI map for the advisory s.87 opening-anchor comparison. Null/absent means no sidecar supplied. | null | 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 (4 of 19 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 |
|---|---|
| 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 (48)
Paths are relative to this target’s result object in the response.
| Cell | Types |
|---|---|
| bs_tie_out_delta | number |
| businessNumber | array | boolean | null | number | object | string |
| corporationName | array | boolean | null | number | object | string |
| currentYearEnd | array | boolean | null | number | object | string |
| fired_gates | object |
| form.assetsTable | array |
| form.equityTable | array |
| form.formWarnings | array |
| form.liabilitiesTable | array |
| form.line_2599 | number |
| form.line_3499 | number |
| form.line_3620 | number |
| form.line_3640 | number |
| form.line_3640_code | string |
| form.line_3849 | number |
| form.retainedEarningsTable | array |
| isAmalgamationSuccessor | array | boolean | null | number | object | string |
| isFinancialInstitution | array | boolean | null | number | object | string |
| isFirstYearT2 | array | boolean | null | number | object | string |
| isInactiveCorp | array | boolean | null | number | object | string |
| isInsuranceCorp | array | boolean | null | number | object | string |
| isPartnership | array | boolean | null | number | object | string |
| isWindupSuccessor | array | boolean | null | number | object | string |
| line_2599_total_assets | number |
| line_3499_total_liabilities | number |
| line_3620_total_shareholder_equity | number |
| line_3640_total_liab_and_equity | number |
| line_3849_re_end | number |
| missing_required[] | string |
| openingPeriod | object |
| provisional | boolean |
| ready | boolean |
| section_sum_assets | number |
| section_sum_equity | number |
| section_sum_liabilities | number |
| warnings[].box | array | boolean | null | number | object | string |
| warnings[].citation.applies_to_boxes[] | string |
| warnings[].citation.cra_text_verbatim | string |
| warnings[].citation.form_id | string |
| warnings[].citation.form_revision | string |
| warnings[].citation.gate_id | string |
| warnings[].citation.rule | string |
| warnings[].citation.source | string |
| warnings[].citation.source_url | string |
| warnings[].citation.verified_at | string |
| warnings[].gate_id | string |
| warnings[].message | string |
| warnings[].severity | string |