schedule125

T2 Corporation Income Tax Return

Kind
batch
Supported tax years
2010 and later
Strict profile
s125_2025_synthetic_balanced_income_statement_v1
Payload schema version
0.9.0
Dependencies (run automatically)
schedule1, schedule100

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": [
    "schedule125"
  ],
  "inputs": {
    "schedule125": {
      "businessNumber": "123456782",
      "corporationName": "Cedar Ridge Manufacturing Inc.",
      "currentYear": {
        "8000": 100000,
        "8520": 30000,
        "8523": 10000,
        "8670": 10000,
        "9970": 50000,
        "9990": 5000,
        "9999": 45000
      },
      "currentYearEnd": "2025-12-31",
      "priorYear": {
        "8000": 80000,
        "8520": 25000,
        "8523": 9000,
        "8670": 8000,
        "9970": 38000,
        "9990": 4000,
        "9999": 34000
      },
      "priorYearEnd": "2024-12-31"
    },
    "schedule1BookNetIncome": 45000,
    "taxYear": 2025,
    "fiscalStart": "2025-01-01",
    "fiscalEnd": "2025-12-31",
    "daysInYear": 365,
    "isCCPC": true
  }
}

Input cells (42)

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.

Input cells for schedule125
CellTypesRequired
daysInYearInclusive day count tied to fiscalStart/fiscalEnd for the settled Part I dependency closure.integerstrict
fiscalEndCanonical taxation-year end required by the settled Part I dependency closure.stringstrict
fiscalStartCanonical taxation-year start required by the settled Part I dependency closure.stringstrict
isCCPCExact corporation-status fact carried by this positive witness.boolean
schedule125object
schedule125.businessNumber9-digit BN or 15-char RC account (e.g. "123456789RC0001").null | stringstrict
schedule125.corporationNameCorporation legal name (header line in .gfi handoff).null | stringstrict
schedule125.currentYearGIFI 8000-9999 code → validator-sign amount map for the current year. In the S125 range this is numerically identical to natural sign.object
schedule125.currentYear.8000integerstrict
schedule125.currentYear.8520integerstrict
schedule125.currentYear.8523integerstrict
schedule125.currentYear.8670integerstrict
schedule125.currentYear.9970GIFI 9970, net income or loss before taxes and extraordinary items, equal to GIFI 9369 plus 9899. A mandatory form-face anchor: RC4088 requires it even at nil, so enter 0 rather than leaving it out.null | number | stringstrict
schedule125.currentYear.9975GIFI 9975, extraordinary items, in the net income summary block between GIFI 9970 and 9999.null | number | string
schedule125.currentYear.9976GIFI 9976, legal settlements, in the net income summary block between GIFI 9970 and 9999.null | number | string
schedule125.currentYear.9980GIFI 9980, unrealized gains and losses, in the net income summary block between GIFI 9970 and 9999.null | number | string
schedule125.currentYear.9985GIFI 9985, unusual items, in the net income summary block between GIFI 9970 and 9999.null | number | string
schedule125.currentYear.9990integer | null | numberstrict
schedule125.currentYear.9995GIFI 9995, deferred income tax expense, in the net income summary block between GIFI 9970 and 9999.null | number | string
schedule125.currentYear.9998GIFI 9998, total other comprehensive income, the sum of GIFI 7000 through 7020.null | number | string
schedule125.currentYear.9999integerstrict
schedule125.currentYearEndCY end date YYYY-MM-DD.null | stringstrict
schedule125.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
schedule125.internetAttributableGifiCodesPractitioner-tagged GIFI codes deemed internet-attributable, for the S88 cross-feed. Must be revenue-range codes (8000-8299, exclusive of subtotals 8089/8299). Every code is opted in explicitly; nothing is tagged by default.array
schedule125.isAmalgamationSuccessorLegacy compatibility metadata; inert in the S125 calculation.boolean | null
schedule125.isFarmCorpFarm corp — GIFI 9370-9899 farm bands are populated. Advisory.boolean | null
schedule125.isFinancialInstitutionBank / credit union / trust — specialised GIFI codes apply.boolean | null
schedule125.isFirstYearT2Legacy compatibility metadata; inert in the S125 calculation.boolean | null
schedule125.isInactiveCorpT2 line 280 inactive flag — abbreviated GIFI permitted.boolean | null
schedule125.isInsuranceCorpRC4088 p.5 insurance carve-out — file F/S as PDF instead.boolean | null
schedule125.isPartnershipPartnership (T5013) — uses partnership IS GIFI layout.boolean | null
schedule125.priorYearOptional Filemark prior-period comparative map, same validator-sign convention. It is not rendered as a second CRA S125 amount column and never gates readiness.object
schedule125.priorYear.8000integerstrict
schedule125.priorYear.8520integerstrict
schedule125.priorYear.8523integerstrict
schedule125.priorYear.8670integerstrict
schedule125.priorYear.9970integerstrict
schedule125.priorYear.9990integerstrict
schedule125.priorYear.9999integerstrict
schedule125.priorYearEndOptional Filemark comparative period end; not a CRA S125 field.null | stringstrict
schedule1BookNetIncomeinteger | null | number | stringstrict
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 | stringalways
Strict profile accepted values (23 of 42 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.

Strict profile accepted values for schedule125
CellAccepted values
daysInYear1 to 1000000000000000
fiscalEnddate (YYYY-MM-DD); 10 to 10 characters
fiscalStartdate (YYYY-MM-DD); 10 to 10 characters
schedule125.businessNumber0 to 20000 characters
schedule125.corporationName0 to 20000 characters
schedule125.currentYear.8000-1000000000000000 to 1000000000000000
schedule125.currentYear.8520-1000000000000000 to 1000000000000000
schedule125.currentYear.8523-1000000000000000 to 1000000000000000
schedule125.currentYear.8670-1000000000000000 to 1000000000000000
schedule125.currentYear.9970-1000000000000000 to 1000000000000000; 0 to 20000 characters
schedule125.currentYear.9990-1000000000000000 to 1000000000000000
schedule125.currentYear.9999-1000000000000000 to 1000000000000000
schedule125.currentYearEnd0 to 20000 characters
schedule125.priorYear.8000-1000000000000000 to 1000000000000000
schedule125.priorYear.8520-1000000000000000 to 1000000000000000
schedule125.priorYear.8523-1000000000000000 to 1000000000000000
schedule125.priorYear.8670-1000000000000000 to 1000000000000000
schedule125.priorYear.9970-1000000000000000 to 1000000000000000
schedule125.priorYear.9990-1000000000000000 to 1000000000000000
schedule125.priorYear.9999-1000000000000000 to 1000000000000000
schedule125.priorYearEnd0 to 20000 characters
schedule1BookNetIncome-1000000000000000 to 1000000000000000; 0 to 20000 characters
taxYearmatches ^\s*(?:1[0-9]{3}|2(?:0(?:[0-1][0-9]{1}|2[0-7])))\s*$; 1000 to 2027

Output cells (98)

Paths are relative to this target’s result object in the response.

Output cells for schedule125
CellTypes
businessNumberSchedule 125's header cell for the corporation's CRA program account. Null when the request did not supply it; the finding that names the cell is then raised and the cell name is listed in `missing_required`.null | string
corporationNameSchedule 125's header cell for the corporation's name. Null when the request did not supply it; the finding that names the cell is then raised and the cell name is listed in `missing_required`.null | string
currentYear.8000integer
currentYear.8520integer
currentYear.8523integer
currentYear.8670integer
currentYear.9970integer
currentYear.9990integer
currentYear.9999integer
currentYearEndSchedule 125's header cell for the current tax year-end (YYYY-MM-DD). Null when the request did not supply it; the finding that names the cell is then raised and the cell name is listed in `missing_required`.null | string
fired_gatesobject
form.cogsTablearray
form.extraordinaryTable[].amountnumber
form.extraordinaryTable[].codestring
form.farmExpensesTablearray
form.farmRevenueTablearray
form.formWarningsarray
form.line_8299number
form.line_9368number
form.line_9369number
form.line_9659number
form.line_9898number
form.line_9899number
form.line_9970number
form.line_9998number
form.line_9999number
form.operatingExpensesTable[].amountnumber
form.operatingExpensesTable[].codestring
form.revenueTable[].amountnumber
form.revenueTable[].codestring
form.ociTablearray
form.schedule140Line9970array | boolean | null | number | object | string
form.schedule140Line9999array | boolean | null | number | object | string
form.schedule140Tablearray
formula_9999_delta_cynull | number
formula_9999_expected_cynumber
gifi_9998number
gifi_9999number
impairment_candidate_ni_sum_cynumber
impairment_candidate_oci_sum_cynumber
internet_attributable_gifi_codesarray | boolean | null | number | object | string
internet_revenue_cynumber
internet_revenue_pct_cynull | number
isAmalgamationSuccessorarray | boolean | null | number | object | string
isFarmCorparray | boolean | null | number | object | string
isFinancialInstitutionarray | boolean | null | number | object | string
isFirstYearT2array | boolean | null | number | object | string
isInactiveCorparray | boolean | null | number | object | string
isInsuranceCorparray | boolean | null | number | object | string
line_8089_total_sales_cynumber
line_8299_total_revenue_cynumber
line_8518_cost_of_sales_cynumber
line_8519_gross_profit_cynumber
line_9367_total_operating_expenses_cynumber
line_9368_total_expenses_cynumber
line_9369_net_nonfarm_cynumber
line_9659_total_farm_revenue_cynumber
line_9898_total_farm_expenses_cynumber
line_9899_net_farm_cynumber
line_9970_net_income_before_tax_cynumber
line_9998_oci_total_cynumber
line_9999_net_income_after_tax_cynumber
missing_required[]string
net_income_after_taxnumber
oci_totalnumber
priorYear.8000integer
priorYear.8520integer
priorYear.8523integer
priorYear.8670integer
priorYear.9970integer
priorYear.9990integer
priorYear.9999integer
priorYearEndSchedule 125's header cell for the prior tax year-end (YYYY-MM-DD). Null when the request did not supply it; the finding that names the cell is then raised and the cell name is listed in `missing_required`.null | string
provisionalboolean
readyboolean
section_sum_cogs_cynumber
section_sum_farm_expenses_cynumber
section_sum_farm_revenue_cynumber
section_sum_operating_expenses_cynumber
section_sum_operating_expenses_pynumber
section_sum_revenue_cynumber
section_sum_revenue_pynumber
warnings[].boxThe form box the finding is about, or null when the finding is about the return rather than a printed box.null | string
warnings[].citation.applies_to_boxes[]string
warnings[].citation.cra_text_verbatimstring
warnings[].citation.form_idstring
warnings[].citation.form_revisionstring
warnings[].citation.gate_idstring
warnings[].citation.rulestring
warnings[].citation.sourcestring
warnings[].citation.source_urlstring
warnings[].citation.verified_atstring
warnings[].codeStable machine identity of the finding, independent of its prose. Present on a finding a consumer is expected to branch on; absent on a prose-only review finding.string
warnings[].gate_idIdentifier of the registered T4012 gate that raised the finding; travels with `citation`.string
warnings[].messagestring
warnings[].producers[]string
warnings[].severitystring
warnings[].kindThe finding family, on the findings that publish one. The form projection integrity finding carries `form_projection`.string
Filemark | schedule125 cells