# schedule43

Calculation of Parts IV.1 and VI.1 Taxes

- Kind: batch
- Program: T2 Corporation Income Tax Return
- Supported tax years: 2019 and later
- Strict profile: s43_single_prior_dividend_profile_target_value_v1
- Payload schema version: 0.23.0
- Dependencies (run automatically): part_iv_overlap, schedule23

## Example request

Send this body to `POST /api/v1/computations/batch`. This example works with or without `payloadContract`.

```json
{
  "compute": [
    "schedule43"
  ],
  "inputs": {
    "taxYear": 2025,
    "schedule43": {
      "line1BPriorYearNonExcludedDividendsPaid": 1200000,
      "line220StpsDividendsPaid": 0,
      "line230ElectedTpsDividendsPaid": 0,
      "line240NonElectedTpsDividendsPaid": 0,
      "line250TransferredInFromRelatedCorp": 0,
      "line260TransferredOutToRelatedCorp": 0,
      "line310TpsDividendsReceived": 0,
      "line320RfiSharesDividendsReceived": 0,
      "part4ExemptionApplies": true
    },
    "t2Jacket": {
      "identification": {
        "typeOfCorporation": "1"
      }
    },
    "fiscalStart": "2025-01-01",
    "fiscalEnd": "2025-12-31",
    "daysInYear": 365
  }
}
```

## Input cells (402)

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](https://docs.filemark.ca/run-computations).

Unknown cells and JSON type mismatches return `400` with the affected cells in the error details.

| Cell | Types | Required | Description |
| --- | --- | --- | --- |
| `accounts` | array |  | The trial balance: a JSON array of account objects, read by every schedule that classifies or sums accounts. Omit it when the return carries no trial balance; null is a malformed container and is refused, as is any element that is not an object. Each row's members are declared by the schedules that read them. |
| `accounts[]` | object |  | One trial-balance account row. Its members are declared by the schedules that read them; a row that is not an object is refused. |
| `aocPropertyDesignations` | array \| null |  | 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. |
| `aocPropertyDesignations[]` | object |  | 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. |
| `aocPropertyDesignations[].capitalCost` | number \| string |  |  |
| `aocPropertyDesignations[].designatedAmount` | number \| string |  | The amount designated under ITA 111(4)(e) for the depreciable property, read with capitalCost as its cost. A row stating designated_proceeds, designatedProceeds or acb is refused naming designatedAmount or capitalCost. |
| `aocPropertyDesignations[].subsection111_5_1WouldApply` | boolean |  |  |
| `cooperativeCorporation136_2ThroughoutYear` | boolean \| null |  | Whether the corporation met the cooperative-corporation definition throughout the year, used for the Part I full-rate taxable-income calculation. A ready Schedule 24 box 100 operation code 05 supplies a positive answer; a contradictory false answer is rejected. Otherwise omission remains unresolved. Send a boolean; 0/1 and true/false text are also accepted. |
| `daysInYear` | null \| number \| string |  | Number of days in the taxation year, as a positive whole number, driving the ITA s.125(5)(b) short-year proration of the business limit. The third member of the canonical taxation-period trio with fiscalStart and fiscalEnd: all three are mandatory whenever the request reaches Part I through its dependency closure, which most targets do. A missing member is refused before any computation, and a day count that disagrees with the two dates is an error. |
| `deemedYearEndEvents` | array \| boolean \| null \| number \| object \| string |  | Array of already-proved deemed year-end event objects (eventType plus its ISO event date). The engine projects s.149 status-change events onto post-event basis continuity and reads s.40(3.4)(b)(ii)/(iii) suspended-loss revival events. An emigration event also carries allPropertiesIncluded, propertyRegisterEvidence and propertyRows for the s.128.1(4)(b)/(c) departure-year computation. Each property states its identity, ownership, tax character, FMV, tax cost and valuation source; capital/depreciable rows carry Schedule 6 facts, depreciable rows carry capital cost, class UCC and Schedule 8 facts, and resource rows identify their Schedule 12 pool. Missing facts hold the return and post no partial register. An entry records a proved filing event; it does not establish one. Members are read under these camelCase names only: an event or row member stated under another spelling (for example event_date, date or property_rows) is refused, naming the member to send. |
| `deemedYearEndEvents[]` | array \| boolean \| null \| number \| object \| string |  | One already-proved deemed year-end event. An emigration event carries the complete s.128.1(4)(b)/(c) property register; its departure-year dispositions reach Schedules 6, 8, 12 and 1 and its FMV total supplies Schedule 97's s.219.1 element A. Reacquisition belongs to the following period. Missing character, cost, valuation or pool facts hold the return. |
| `engagementPeriods` | array \| null |  | Taxation-period history as an array of objects containing id, periodStart and yearEnd, with dates in YYYY-MM-DD form. Schedule 31 uses it to order prior periods, and Schedule 54 and pool tracking use it to find a prior period start from its year-end. Omitted, empty or malformed history does not establish a usable period sequence; dependent history checks remain unresolved. A period superseded by an amendment states amendedByTaxYearId and is not read as a second period. A period stating taxYearId, period_start or fiscalStart, year_end or fiscalEnd, or amended_by_tax_year_id is refused, naming id, periodStart, yearEnd or amendedByTaxYearId. |
| `engagementPeriods[]` | object |  | Taxation-period history as an array of objects containing id, periodStart and yearEnd, with dates in YYYY-MM-DD form. Schedule 31 uses it to order prior periods, and Schedule 54 uses it to find a prior period start from its year-end. Omitted, empty or malformed history does not establish a usable period sequence; dependent history checks remain unresolved. A period superseded by an amendment states amendedByTaxYearId and is not read as a second period. A period stating taxYearId, period_start or fiscalStart, year_end or fiscalEnd, or amended_by_tax_year_id is refused, naming id, periodStart, yearEnd or amendedByTaxYearId. |
| `entityId` | array \| boolean \| null \| number \| object \| string |  | Identifier of the filing corporation, used by Schedule 42 and predecessor-continuity checks to match authenticated evidence, and to identify statutory proration periods. The identifier does not authorize access to another corporation. Omission prevents predecessor evidence from matching; proration labels may fall back to the filing BN or tax-year identifier. |
| `fiscalEnd` | null \| string |  | The 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. |
| `fiscalStart` | null \| string |  | The 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. |
| `functionalCurrencyContext` | null \| object |  | The functional-currency election sidecar for the taxation year, used to restate statutory dollar thresholds under ITA s.261(5)(b). Send it only for a functional-currency filer; it carries reportingCurrency, periodStart and a firstDayRate object with rate, spotRateSource and firstDayDate. Statutory comparisons use the unrounded conversion. |
| `functionalCurrencyContext.firstDayRate` | null \| object |  |  |
| `functionalCurrencyContext.firstDayRate.firstDayDate` | array \| boolean \| null \| number \| object \| string |  |  |
| `functionalCurrencyContext.firstDayRate.rate` | number \| string |  |  |
| `functionalCurrencyContext.firstDayRate.spotRateSource` | string |  |  |
| `functionalCurrencyContext.periodStart` | array \| boolean \| null \| number \| object \| string |  |  |
| `functionalCurrencyContext.reportingCurrency` | null \| string |  |  |
| `gifiStatementCoverage` | array \| boolean \| null \| number \| object \| string |  | Statement-coverage evidence for the GIFI financial statements. The engine's coverage check reads it on every computation and answers a finding when it is not the expected object. |
| `incomeStatementFlags` | object |  |  |
| `isCCPC` | boolean \| null |  | The corporation was a Canadian-controlled private corporation (ITA s.125(7) definition) throughout the taxation year. |
| `pinnedFormRevisions` | null \| object |  | Map from form identifiers such as S8 or T2 to nonempty CRA footer revision codes. Each pin selects the form revision for computation; omission leaves selection to the registered year rules. Invalid or unsupported pins fail rather than silently switching revisions. Saved-engagement scenarios reserve this map to the saved return and do not allow caller overrides. |
| `priorTaxYearEnd` | null \| string |  |  |
| `schedule100` | null \| object |  |  |
| `schedule100.businessNumber` | null \| string |  | 9-digit BN or 15-char RC account (e.g. "123456789RC0001"). |
| `schedule101` | null \| object |  |  |
| `schedule101.businessNumber` | null \| string |  | 9-digit BN or 15-char RC account (e.g. "123456789RC0001"). |
| `schedule101.isWindupSuccessor` | boolean \| null |  | s.88(1) wind-up successor (opening at wind-up effective date). |
| `schedule125` | null \| object |  |  |
| `schedule125.businessNumber` | null \| string |  | 9-digit BN or 15-char RC account (e.g. "123456789RC0001"). |
| `schedule125.isFinancialInstitution` | boolean \| null |  | Bank / credit union / trust — specialised GIFI codes apply. |
| `schedule125.isInsuranceCorp` | boolean \| null |  | RC4088 p.5 insurance carve-out — file F/S as PDF instead. |
| `schedule130` | null \| object |  | Schedule 130 (EIFEL) practitioner-entered blob — feeds the schedule130 batch node, whose result posts S1 lines 251/252. |
| `schedule18` | null \| object |  | Schedule 18 Federal and Provincial/Territorial Capital Gains Refund input object. Its corporationType identifies the investment or mutual-fund corporation category used by refund and related status calculations. Omission supplies no Schedule 18 category or refund inputs; other answered return facts may still determine the applicable status. |
| `schedule18.corporationType` | array \| boolean \| null \| number \| object \| string |  |  |
| `schedule18.prescribedLsvcc` | boolean \| null |  | ITA 131(8): prescribed LSVCC status throughout the current tax year. Reconciled to prescribedLsvccHistory; Yes requires a first date no later than the year start. No here does not negate earlier prescribed status under s.131(11). Null is unanswered. |
| `schedule20` | null \| object |  |  |
| `schedule23` | null \| object |  | Schedule 23 associated-CCPC business-limit agreement input object, including corporation rows and any third-corporation election details. It supports allocation to the filing corporation and reconciliation of association facts. Omission supplies no agreement; an affirmative jacket box 160 without a computed agreement leaves the SBD allocation unresolved. |
| `schedule23.calendarYear` | null \| number \| string |  | Box 050: calendar year to which the business-limit allocation agreement applies. |
| `schedule23.isAmendedAgreement` | boolean \| null |  | Box 075: whether this agreement replaces an agreement previously filed for the same calendar year by a listed associated corporation. |
| `schedule23.rows` | array \| null |  | Associated corporations and their business-limit allocations, in the order entered on Schedule 23. An imported return's own allocation table can seed this roster while every row is still blank; a preceding year's table seeds the roster and the association codes only, because ITA 125(3) requires a fresh agreement each calendar year. |
| `schedule23.rows[]` | object |  |  |
| `schedule23.rows[].associationCode` | null \| number \| string |  | Column 3, box 300: association code from the Schedule 23 instructions. Codes 2 and 5 depend on a third corporation having filed the Schedule 28 election. |
| `schedule23.rows[].businessLimitAllocated` | null \| number \| string |  | Column 6, box 400: business limit allocated to this corporation, calculated as column 4 multiplied by the percentage in column 5. The total allocation cannot exceed $500,000. |
| `schedule23.rows[].businessLimitBeforeAllocation` | null \| number \| string |  | Column 4: this corporation's business limit for the year before allocation. Enter zero for association codes 2, 3 and 4. |
| `schedule23.rows[].businessNumber` | null \| string |  | Column 2, box 200: business number of the associated corporation. Enter NR if the corporation is not registered. |
| `schedule23.rows[].id` | null \| string |  | Stable ordinary row identity retained through selection and reordering. |
| `schedule23.rows[].name` | null \| string |  | Column 1, box 100: legal name of the corporation in the associated group, including a corporation deemed associated under s.256(2). |
| `schedule23.rows[].nativeGroupMemberId` | null \| string |  |  |
| `schedule23.rows[].percentageOfBusinessLimit` | null \| number \| string |  | Column 5, box 350: percentage of the business limit allocated to a corporation with association code 1. The column total cannot exceed 100%. |
| `schedule23.rows[].thirdCorporationBusinessNumber` | null \| string |  | Filemark evidence for a code-5 row using the automatic s.256(2)(b)(i) branch: the code-3 non-CCPC third corporation that is common to the filer and this row. Not a printed Schedule 23 column. |
| `schedule23.thirdCorporationSchedule28Elections` | array \| null |  | ITA 256(2)(b)(ii) evidence for association codes 2/5. Optional; an absent key is not an empty answer, and the S23 code-2/5 gate keeps blocking until evidence is entered. |
| `schedule23.thirdCorporationSchedule28Elections[]` | object |  |  |
| `schedule23.thirdCorporationSchedule28Elections[].businessNumber` | null \| string |  | The ELECTING third corporation's business number — nine-digit root or the full 15-character program account. "NR" is not accepted: it cannot identify which corporation elected. |
| `schedule23.thirdCorporationSchedule28Elections[].coveredCorporationBusinessNumbers` | array |  | Business numbers of the corporations enumerated on that filed Schedule 28. At least two distinct registered BN roots are required; the electing third corporation itself is not one of them. An empty list is unanswered and contributes no evidence. |
| `schedule23.thirdCorporationSchedule28Elections[].coveredCorporationBusinessNumbers[]` | null \| string |  | One entry in the stated collection. |
| `schedule23.thirdCorporationSchedule28Elections[].electionTaxYearEnd` | null \| string |  | The taxation year end the third corporation's Schedule 28 election was filed for (ISO YYYY-MM-DD). ITA 256(2)(b)(ii) requires the election to be made "in its taxation year that includes the particular time", so this is bound to the filer's period by the backend. |
| `schedule23.thirdCorporationSchedule28Elections[].electionTaxYearStart` | null \| string |  | Start of the third corporation's election taxation year (ISO YYYY-MM-DD). Together with the end, this proves actual period overlap. |
| `schedule23.thirdCorporationSchedule28Elections[].filedSchedule28Confirmed` | boolean \| null |  | Explicit confirmation that the election was FILED. null = unanswered. Anything other than true contributes no evidence — never a silent affirmative. |
| `schedule24` | null \| object |  | Schedule 24 First-Time Filer after Incorporation, Amalgamation, or Winding-up of a Subsidiary input object. Supply the operation code and applicable predecessor or subsidiary rows. Omission supplies no predecessor event roster or operation-code status; the jacket and authenticated continuity still determine which first-year and reorganization evidence is required. |
| `schedule24.filingTriggers` | array \| null |  | The list of first-filing events covered by Schedule 24: incorporation, amalgamation or the winding-up of a subsidiary into its parent under section 88. Send a list even for one event; a bare string is refused. |
| `schedule24.filingTriggers[]` | string |  | One entry in the stated collection. |
| `schedule24.operationCode` | null \| string |  | Part 1, box 100: operation type for a corporation filing for the first time after incorporation or amalgamation. |
| `schedule24.predecessors` | array \| null |  | Part 2: predecessor corporations for the first year of filing after amalgamation. |
| `schedule24.predecessors[]` | object |  |  |
| `schedule24.predecessors[].businessNumber` | null \| string |  | Box 300 — Business number (9 digits + 2 uppercase letters + 4 digits, e.g. "123456789RC0001"), or "NR" if the predecessor was never CRA-registered (typically a foreign-amalgamation predecessor). |
| `schedule24.predecessors[].id` | null \| string |  | Stable row identity for retaining the current predecessor row through edits and row reordering. |
| `schedule24.predecessors[].name` | null \| string |  | Box 200 — Name of predecessor corporation. |
| `schedule25` | null \| object |  | Schedule 25 Investment in Foreign Affiliates input object, including hasForeignAffiliates and affiliateRows. It supplies the affiliate roster used by foreign-affiliate analysis and related schedules. Omission adds no input roster; a computed Schedule 25 may supply one, otherwise affiliate presence remains unknown rather than an answered no. |
| `schedule28` | null \| object |  | Schedule 28 Election not to be Associated Through a Third Corporation input object, including third-corporation facts, otherCorps and the election answers. It supplies election evidence and reconciles the association roster. Omission supplies no Schedule 28 election or roster; another valid source must establish any claimed election. |
| `schedule28.amendedElection` | boolean \| null |  | Box 020: whether this is an amended Schedule 28 election. |
| `schedule28.dateFiled` | null \| string |  | Internal Filemark filing-date metadata (ISO YYYY-MM-DD). The submitted box 010 always remains blank because the official form says not to use that area. The validator checks this internal value when populated. |
| `schedule28.otherCorps` | array \| null |  | Corporations that would otherwise be deemed associated with each other through the third corporation. The form permits additional schedules when more space is needed. |
| `schedule28.otherCorps[]` | object |  |  |
| `schedule28.otherCorps[].businessNumber` | null \| string |  | Box 200: business number of the listed corporation. Enter NR if it is not registered. |
| `schedule28.otherCorps[].name` | null \| string |  | Box 100: name of a corporation that would otherwise be deemed associated through the third corporation. |
| `schedule28.othersAssociatedWithThirdCorp` | boolean \| null |  | Whether the two other corporations were associated with the third corporation. Boolean is the canonical form. An absent answer leaves the ITA s.256(2)(b)(ii) election conclusion unanswered and the schedule fails closed. |
| `schedule28.othersNotOtherwiseAssociated` | boolean \| null |  | Whether the two other corporations would not otherwise be associated with each other. Boolean is the canonical form. An absent answer leaves the ITA s.256(2)(b)(ii) election conclusion unanswered. |
| `schedule28.supplementaryPagesAttached` | boolean \| null |  | The printed grid holds 15 rows and the form says "If you need more space, attach additional schedules." A corporation in row 16 or beyond is covered by the election only if that attachment was filed. s.256(2) deems non-association only for corporations the third corporation "elects in prescribed form" to cover, and Schedule 23 consumes that election into the business limit. Null is unanswered and holds; it is only asked when the grid overflows. |
| `schedule28.thirdCorpBn` | null \| string |  | Box 040: business number of the third corporation making the election. |
| `schedule28.thirdCorpIsCcpc` | boolean \| null |  | Whether the third corporation is a Canadian-controlled private corporation. Schedule 28 reads this fact rather than the request-root corporation type, so setting the root fact alone does not clear the unanswered-CCPC gate. |
| `schedule28.thirdCorpName` | null \| string |  | Box 030: name of the Canadian-controlled private corporation making the election as the third corporation. |
| `schedule28.thirdCorpTaxYearEnd` | null \| string |  | Box 050: taxation year-end of the third corporation. A separate election is filed for each applicable taxation year. |
| `schedule29` | null \| object |  |  |
| `schedule3` | array \| boolean \| null \| number \| object \| string |  |  |
| `schedule31` | null \| object |  | Schedule 31 (Investment Tax Credit, s.127) practitioner blob. A result is emitted only when the blob is present, so an unopened form never blocks export. |
| `schedule38` | null \| object |  | Schedule 38 Part VI Tax on Capital of Financial Institutions input object. Its capital and institution facts support the federal calculation, T2 line 720 and provincial financial-institution capital-tax inputs. Omission supplies no Schedule 38 prepass or fallback identity facts; applicable return triggers still require the relevant facts. |
| `schedule38.hasAcquisitionOfControlThisYear` | boolean \| null \| number \| string |  | s.190.1(6) AoC restriction on unused-credit carryover (s.111(5) same-or-similar-business test, NOT s.111(5.1)). |
| `schedule38.hasFunctionalCurrencyElectionS261` | boolean \| null \| number \| string |  | Functional-currency election under s.261 — translate the $1B fixed amount under s.261(5)(b) at the first-day relevant spot rate. |
| `schedule38.isAuthorizedForeignBank` | boolean \| null \| number \| string |  | Authorized foreign bank — s.190.13(d) 10%-of-RWA capital path. |
| `schedule38.isBank` | boolean \| null |  | s.190(1)(a) — bank? |
| `schedule38.isDepositTakingMortgageLender` | boolean \| null \| number \| string |  | s.190(1)(c) — deposit-taking mortgage lender? |
| `schedule38.isHoldcoUnderS190_1_e` | boolean \| null \| number \| string |  | s.190(1)(e) — holdco with all/substantially-all assets in shares or debt of related (a)-(e) corps (CRA admin practice ≥90% of FMV). |
| `schedule38.isLifeInsuranceCorpInCanada` | boolean \| null |  | s.190(1)(d) — life insurance corp carrying on business in Canada? |
| `schedule38.isTrustCorporation` | boolean \| null \| number \| string |  | s.190(1)(b) — authorized to offer trustee services to the public? |
| `schedule38.relatedSolelyViaCrownControl` | boolean \| null \| number \| string |  | s.190.15(6)(a) — related SOLELY because of Crown control (deemed NOT related for s.190.14/190.15). |
| `schedule38.relatedSolelyViaS251_5_b_Right` | boolean \| null \| number \| string |  | s.190.15(6)(b) — related SOLELY via a s.251(5)(b) right. |
| `schedule38.rightAcquiredForAvoidancePurpose` | boolean \| null \| number \| string |  | s.190.15(6) closing exception: was ONE OF THE MAIN PURPOSES for acquiring the s.251(5)(b) right to avoid a limitation on the amount of a corporation's capital deduction? Avoidance need only be among the main purposes, not the predominant one. Yes treats the right as exercised, so the corporations stay related for the s.190.15 capital deduction. It does not restore relatedness for s.190.14. Required whenever relatedSolelyViaS251_5_b_Right is true: a blank withholds the deeming rather than granting the $1B standalone capital deduction. |
| `schedule43` | null \| object |  | Schedule 43 inputs for Parts IV.1 and VI.1 tax, dividend allowances, elections and related-corporation transfers. |
| `schedule43.amalgamationElectionReviewComplete` | boolean \| null |  | Complete exchanged-class review under s.87(4.2)(e), including non-qualifying exchanges. |
| `schedule43.amalgamationShareExchanges` | array \| null |  | Predecessor share-class exchanges on an amalgamation, the roster the ITA 87(4.2)(e) election-continuity review reads: one row per exchanged class, carrying the amalgamation date, the predecessor's business number, the predecessor and successor class ids, and the three answers the review turns on (whether a new share was issued for the predecessor share, whether its terms are the same or substantially the same, and whether the predecessor had made the subsection 191.2(1) election). Optional and conditional on there being an amalgamation history at all: where the history applies and the roster is absent, the review raises an election-review error rather than reading the absence as a non-election, and no charging operand moves either way. |
| `schedule43.amalgamationShareExchanges[]` | object |  |  |
| `schedule43.amalgamationShareExchanges[].amalgamationDate` | null \| string |  | Date of the amalgamation the exchange happened on, ISO YYYY-MM-DD. |
| `schedule43.amalgamationShareExchanges[].newShareIssuedForPredecessorShare` | boolean \| null |  | Whether a new share was issued in exchange for the predecessor share. ITA 87(4.2)(e) carries the predecessor's subsection 191.2(1) election forward only on such an exchange. |
| `schedule43.amalgamationShareExchanges[].predecessorBusinessNumber` | null \| string |  | Business number of the predecessor corporation whose class was exchanged. |
| `schedule43.amalgamationShareExchanges[].predecessorElectionMade` | boolean \| null |  | Whether the predecessor had made the subsection 191.2(1) election for the exchanged class. Where the two conditions above hold, that answer is the one that carries to the successor class. |
| `schedule43.amalgamationShareExchanges[].predecessorShareClassId` | array \| boolean \| null \| number \| object \| string |  | Identifier of the predecessor share class given up in the exchange. |
| `schedule43.amalgamationShareExchanges[].sameOrSubstantiallySameTerms` | boolean \| null |  | Whether the new share's terms and conditions are the same as, or substantially the same as, the predecessor share's, the second ITA 87(4.2)(e) condition. |
| `schedule43.amalgamationShareExchanges[].successorShareClassId` | array \| boolean \| null \| number \| object \| string |  | Identifier of the successor (amalgamated corporation) share class received for it. |
| `schedule43.electionUnderS191_2_1Made` | boolean \| null |  | Flag: a s.191.2(1) election is in force for ≥1 class/series of TPS. Required when line 230 > 0. The election is IRREVOCABLE per s.191.2(1) closing words. |
| `schedule43.isAssociatedAndAllocating` | boolean \| null |  | Flag: corporation is associated and allocating the $500K dividend allowance among the associated group. When true, Part 2 rows are required and line 210 sources from this corp's own line-140 row rather than the full line 115. |
| `schedule43.isRestrictedFinancialInstitution` | boolean \| null |  | Flag: the corporation is a restricted financial institution per s.248(1). Required when line 320 > 0. |
| `schedule43.line116DateFiled` | array \| boolean \| null \| number \| object \| string |  | Box 116 — Date the agreement was filed. The form marks this area "do not use"; the value is recorded but not transmitted. |
| `schedule43.line117IsAmendedAgreement` | array \| boolean \| null \| number \| object \| string |  | Box 117 — Is this an amended agreement? |
| `schedule43.line118CalendarYearOfAgreement` | null \| number \| string |  | Box 118 — Calendar year to which the agreement applies. |
| `schedule43.line1BPriorYearNonExcludedDividendsPaid` | null \| number \| string |  | Amount 1B — Prior CALENDAR YEAR non-excluded taxable dividends paid by the corp (or the ASSOCIATED GROUP — see Part 2 point 1) on TPS or shares that would be TPS if issued after June 18, 1987. NOT a printed CRA box code but captured for the line 110 calculation. |
| `schedule43.line210OwnAllocation` | null \| number \| string |  | Optional override for line 210 — the practitioner's own allocation when associated. Defaults to the first Part 2 row's column 140 if not provided. Short-year proration applied at the engine level per the form's Note 1 (< 51 weeks → days/365). |
| `schedule43.line220StpsDividendsPaid` | null \| number \| string |  | Line 220 — Non-excluded taxable dividends paid on STPS in the year. Per s.191.1(1)(a). Allowance is absorbed against STPS first. |
| `schedule43.line230ElectedTpsDividendsPaid` | null \| number \| string |  | Line 230 — Non-excluded taxable dividends paid on TPS (other than STPS) for classes WITH a s.191.2(1) election (40% rate). |
| `schedule43.line240NonElectedTpsDividendsPaid` | null \| number \| string |  | Line 240 — Non-excluded taxable dividends paid on TPS (other than STPS) for classes WITHOUT a s.191.2(1) election (25% rate per s.191.1(1)(a)(iii)). |
| `schedule43.line250TransferredInFromRelatedCorp` | null \| number \| string |  | Line 250 — Part VI.1 tax transferred IN from a related corp under a s.191.3 agreement (Schedule 45 companion). |
| `schedule43.line260TransferredOutToRelatedCorp` | null \| number \| string |  | Line 260 — Part VI.1 tax transferred OUT to a related corp under a s.191.3 agreement. Cannot exceed 3C + 3I + 3Q per s.191.3(1)(b). |
| `schedule43.line310TpsDividendsReceived` | null \| number \| string |  | Line 310 — Non-excepted taxable dividends received on TPS (other than classes the PAYER has elected under s.191.2(1)). |
| `schedule43.line320RfiSharesDividendsReceived` | null \| number \| string |  | Line 320 — RFI-only: non-excepted taxable dividends received on taxable RFI shares per s.187.3. |
| `schedule43.line350PortionAlsoSubjectToPartIv` | null \| number \| string |  | Line 350 — Portion of line 330 also subject to Part IV tax. |
| `schedule43.line370PortionFromConnectedCorps` | null \| number \| string |  | Line 370 — Portion of line 350 received from connected corps. |
| `schedule43.line380PartIvTaxOnLine370Dividends` | null \| number \| string |  | Line 380 — Part IV tax on the dividends reported on line 370. |
| `schedule43.line390PortionFromNonConnectedCorps` | null \| number \| string |  | Line 390 — Portion of line 350 received from non-connected corps. |
| `schedule43.line400EligibleTaxableDividendsFromLine390` | null \| number \| string |  | Line 400 — Eligible-dividend SUBSET of line 390. |
| `schedule43.part2Agreement` | null \| object |  | CAP-R2 — the persisted ITA 191.1(3) agreement attestation. Boxes 116 / 117 / 118 record only WHEN the agreement was filed and WHICH calendar year it names; subsection 191.1(3) grants an allocated allowance only where ALL of the associated corporations filed the prescribed agreement, and paragraph 191.1(6)(b) makes later associated taxation years ending in the same calendar year reuse the first such year's unprorated allowance. Both attestations are tri-state: null is UNANSWERED and keeps line 210 withheld. |
| `schedule43.part2Agreement.attestedFiledByEveryAssociatedTpsPayer` | boolean \| null |  | ITA 191.1(3): the agreement is effective only where ALL of the associated corporations filed it. Null is unanswered. |
| `schedule43.part2Agreement.calendarYear` | null \| number |  | Calendar year the agreement allocates for. Must equal the calendar year in which this return's taxation year ends. |
| `schedule43.part2Agreement.firstTaxYearAllowanceContinuity191_1_6b` | boolean \| null |  | ITA 191.1(6)(b): where more than one associated taxation year ends in the same calendar year, the later years reuse the FIRST such year's unprorated allowance before paragraph (6)(a) prorates. Null is unanswered. |
| `schedule43.part2Rows` | array \| null |  | Allocation rows. |
| `schedule43.part2Rows[]` | object |  |  |
| `schedule43.part2Rows[].businessNumber` | null \| string |  | Column 130 — Business number (or literal "NR" if not registered). |
| `schedule43.part2Rows[].dividendAllowanceAllocated` | null \| number \| string |  | Column 140 — Dividend allowance allocated to this corp. Total of column 140 across all rows cannot exceed line 115. |
| `schedule43.part2Rows[].hasTaxYearEndingInCalendarYear` | boolean \| null |  | Any taxation year ends in the agreement calendar year, s.191.1(6)(b). |
| `schedule43.part2Rows[].id` | null \| string |  | Stable ordinary row identity retained through selection and reordering. |
| `schedule43.part2Rows[].name` | null \| string |  | Column 120 — Name of the associated corporation. |
| `schedule43.part4ExemptionApplies` | boolean \| null |  | Non-printed tri-state for the ITA s.187.1(c) recipient-status exception. Yes means all Part 4 dividends were received while the corporation was private or by a financial intermediary corporation. This answer only reconciles the server-owned private-corporation and ITA 191(1) status facts; it cannot authorize the exemption by itself. New forms initialize it to null (unresolved). |
| `schedule45` | null \| object |  |  |
| `schedule45.isFilingAsTransferor` | boolean \| null |  | Whether this return belongs to the transferor corporation rather than a transferee corporation named in the agreement. |
| `schedule45.line105TotalPartVi1TaxTransferred` | null \| number \| string |  | Box 105: total Part VI.1 tax specified as transferred in the agreement. The total of transferee column 233 cannot exceed this amount. |
| `schedule45.transferees` | array \| null |  | Transferee rows (box 225 / 230 / 233 / 235 per row). |
| `schedule45.transferees[]` | object |  |  |
| `schedule45.transferees[].businessNumber` | null \| string |  | Box 230 — Full 15-character CRA program account (9 digits, 2 letters, and 4 digits). The form does not authorize an "NR" alternative. |
| `schedule45.transferees[].id` | null \| string |  | Stable row identity for retaining the current transferee row through edits and row reordering. |
| `schedule45.transferees[].name` | null \| string |  | Box 225 — Name of the transferee corporation. |
| `schedule45.transferees[].transfereeTaxYearEnd` | null \| string |  | Box 235 — Tax year end (YYYY-MM-DD) to which this agreement applies for the transferee. Per s.191.3(1)(b) this is the transferee's last taxation year ending at or before the end of the transferor's taxation year. |
| `schedule45.transferees[].transferredAmount` | null \| number \| string |  | Box 233 — Part VI.1 tax transferred to this transferee, in CAD. Must be positive. Sum of column 233 across rows feeds box 105 and must not exceed the transferor's gross Part VI.1 tax per s.191.3(1)(c). |
| `schedule46` | null \| object |  | Part II tobacco manufacturing facts and evidence, retained in schedule_46. Omit or null when unopened. |
| `schedule49` | null \| object |  | Schedule 49 agreement and associated-corporation roster, including expenditure-limit allocation rows and rosterComplete. It supports the Schedule 31 SR&ED expenditure limit and associated-group reconciliation. Omission supplies no agreement or complete-roster confirmation; an associated claim still needs its allocation. |
| `schedule49.rows` | array \| null |  | Rows of associated corporations in the group (CCPCs + non-CCPCs). |
| `schedule49.rows[]` | object |  |  |
| `schedule5` | null \| object |  | The Schedule 5 input blob holding the provincial and territorial allocation answers. Omit it when the corporation sends no Schedule 5 input. |
| `schedule5.co17PassThrough` | array \| boolean \| null \| number \| object \| string |  |  |
| `schedule5.quebecPreparation` | null \| object |  | Independent Quebec CO-17 preparation selections, kept apart from prepared CO-17 boxes. Partial drafts are accepted; omit it or send null when it was not opened. Each populated group holds Schedule 5 with an error until its Quebec calculation exists, including a group whose only entry is an explicit zero. |
| `schedule5.quebecPreparation.currency` | null \| string |  | Currency of the entered Quebec amounts. Only CAD is accepted; null or an empty string leaves it unanswered. |
| `schedule5.quebecPreparation.donations` | null \| object |  | Quebec donation and gift deduction selections, each an exact entered amount, with the donation worksheet's choices on sharing the federal opening balances. Null or an empty object is unopened. Any populated member, including zero or an explicit choice, holds Schedule 5 until the Quebec donation calculation exists. |
| `schedule5.quebecPreparation.donations.charitable` | null \| string |  | Charitable donations amount selected for the Quebec deduction, as exact nonnegative decimal text with at most 12 decimal places. Null or an empty string is unanswered. An entered amount, including zero, is a selection; it does not establish an allowable deduction. |
| `schedule5.quebecPreparation.donations.culturalProperty` | null \| string |  | Certified cultural property gifts amount selected for the Quebec deduction, as exact nonnegative decimal text with at most 12 decimal places. Null or an empty string is unanswered. An entered amount, including zero, is a selection; it does not establish an allowable deduction. |
| `schedule5.quebecPreparation.donations.ecologicalLand` | null \| string |  | Certified ecologically sensitive land gifts amount selected for the Quebec deduction, as exact nonnegative decimal text with at most 12 decimal places. Null or an empty string is unanswered. An entered amount, including zero, is a selection; it does not establish an allowable deduction. |
| `schedule5.quebecPreparation.donations.medicine` | null \| string |  | Gifts of medicine amount selected for the Quebec deduction, as exact nonnegative decimal text with at most 12 decimal places. Null or an empty string is unanswered. An entered amount, including zero, is a selection; it does not establish an allowable deduction. |
| `schedule5.quebecPreparation.donations.musicalInstruments` | null \| string |  | Gifts of musical instruments amount selected for the Quebec deduction, as exact nonnegative decimal text with at most 12 decimal places. Null or an empty string is unanswered. An entered amount, including zero, is a selection; it does not establish an allowable deduction. |
| `schedule5.quebecPreparation.donations.useFederalCulturalPropertyOpening` | boolean \| null \| string |  | Whether the Quebec certified cultural property gifts continuity shares the federal opening balance. Send true or false; null or an empty string is unanswered, which is not No. Either answer imports no balance and keeps the donation group held. |
| `schedule5.quebecPreparation.donations.useFederalDonationsOpening` | boolean \| null \| string |  | Whether the Quebec charitable donations continuity shares the federal opening balance. Send true or false; null or an empty string is unanswered, which is not No. Either answer imports no balance and keeps the donation group held. |
| `schedule5.quebecPreparation.donations.useFederalEcologicalLandOpening` | boolean \| null \| string |  | Whether the Quebec ecologically sensitive land gifts continuity shares the federal opening balance. Send true or false; null or an empty string is unanswered, which is not No. Either answer imports no balance and keeps the donation group held. |
| `schedule5.quebecPreparation.donations.useFederalMedicineOpening` | boolean \| null \| string |  | Whether the Quebec gifts of medicine continuity shares the federal opening balance. Send true or false; null or an empty string is unanswered, which is not No. Either answer imports no balance and keeps the donation group held. |
| `schedule5.quebecPreparation.incomeAdjustments` | null \| object |  | Signed corrections in computing Quebec net income for tax purposes (CO-17.A.1), entered by printed category code, with the text naming the other addition and deduction. Null or an empty object is unopened. Any entered correction, including zero, holds Schedule 5 until the Quebec net-income calculation exists. |
| `schedule5.quebecPreparation.incomeAdjustments.additions` | null \| object |  | Signed Quebec net-income additions keyed by printed category code; 299 is the other category. Each value is exact decimal text with at most 12 decimal places; null or an empty string leaves that category unanswered. An undeclared code is refused. A correction is not a packed transfer row and imports no computed amount. |
| `schedule5.quebecPreparation.incomeAdjustments.deductions` | null \| object |  | Signed Quebec net-income deductions keyed by printed category code; 299 is the other category. Each value is exact decimal text with at most 12 decimal places; null or an empty string leaves that category unanswered. An undeclared code is refused. A correction is not a packed transfer row and imports no computed amount. |
| `schedule5.quebecPreparation.incomeAdjustments.otherAdditionDescription` | null \| string |  | Text naming the Quebec net-income addition entered under the other category, code 299. |
| `schedule5.quebecPreparation.incomeAdjustments.otherDeductionDescription` | null \| string |  | Text naming the Quebec net-income deduction entered under the other category, code 299. |
| `schedule5.quebecPreparation.losses` | null \| object |  | Quebec loss deduction selections, each an exact entered amount, with the loss worksheet's choices on sharing the federal opening balances of farm, restricted farm and listed personal property losses. Null or an empty object is unopened. Any populated member, including zero or an explicit choice, holds Schedule 5 until the Quebec loss calculation exists. |
| `schedule5.quebecPreparation.losses.capital` | null \| string |  | Capital loss amount selected for deduction in Quebec, as exact nonnegative decimal text with at most 12 decimal places. Null or an empty string is unanswered. An entered amount, including zero, is a selection; it does not establish an allowable deduction. |
| `schedule5.quebecPreparation.losses.farm` | null \| string |  | Farm loss amount selected for deduction in Quebec, as exact nonnegative decimal text with at most 12 decimal places. Null or an empty string is unanswered. An entered amount, including zero, is a selection; it does not establish an allowable deduction. |
| `schedule5.quebecPreparation.losses.listedPersonalProperty` | null \| string |  | Listed personal property loss amount selected for deduction in Quebec, as exact nonnegative decimal text with at most 12 decimal places. Null or an empty string is unanswered. An entered amount, including zero, is a selection; it does not establish an allowable deduction. |
| `schedule5.quebecPreparation.losses.nonCapital` | null \| string |  | Non-capital loss amount selected for deduction in Quebec, as exact nonnegative decimal text with at most 12 decimal places. Null or an empty string is unanswered. An entered amount, including zero, is a selection; it does not establish an allowable deduction. |
| `schedule5.quebecPreparation.losses.restrictedFarm` | null \| string |  | Restricted farm loss amount selected for deduction in Quebec, as exact nonnegative decimal text with at most 12 decimal places. Null or an empty string is unanswered. An entered amount, including zero, is a selection; it does not establish an allowable deduction. |
| `schedule5.quebecPreparation.losses.useFederalFarmOpening` | boolean \| null \| string |  | Whether the Quebec farm loss continuity shares the federal opening balance. Send true or false; null or an empty string is unanswered, which is not No. Either answer imports no balance and keeps the loss group held. |
| `schedule5.quebecPreparation.losses.useFederalListedPersonalPropertyOpening` | boolean \| null \| string |  | Whether the Quebec listed personal property loss continuity shares the federal opening balance. Send true or false; null or an empty string is unanswered, which is not No. Either answer imports no balance and keeps the loss group held. |
| `schedule5.quebecPreparation.losses.useFederalRestrictedFarmOpening` | boolean \| null \| string |  | Whether the Quebec restricted farm loss continuity shares the federal opening balance. Send true or false; null or an empty string is unanswered, which is not No. Either answer imports no balance and keeps the loss group held. |
| `schedule5.quebecPreparation.periodEnd` | null \| string |  | End of the Quebec fiscal period as a complete ISO date (YYYY-MM-DD). Null or an empty string leaves it unanswered. It cannot fall before periodStart. |
| `schedule5.quebecPreparation.periodStart` | null \| string |  | Start of the Quebec fiscal period as a complete ISO date (YYYY-MM-DD). Null or an empty string leaves it unanswered. It cannot fall after periodEnd. |
| `schedule5.quebecPreparation.reserveChoices` | null \| object |  | Choices on whether the Quebec reserve continuities use the federal reserve openings. Null or an empty object is unopened. Either explicit answer imports no federal balance and holds Schedule 5 until the Quebec reserve calculation exists. |
| `schedule5.quebecPreparation.reserveChoices.useFederalCapitalGainsReserveOpenings` | boolean \| null \| string |  | Whether the Quebec capital gains reserves use the same openings as the federal capital gains reserves. Send true or false; null or an empty string is unanswered, which is not No. Either answer imports no balance. |
| `schedule5.quebecPreparation.reserveChoices.useFederalFinancialStatementReserveOpenings` | boolean \| null \| string |  | Whether the Quebec reserves taken from the financial statements use the same openings as the federal ones. Send true or false; null or an empty string is unanswered, which is not No. Either answer imports no balance. |
| `schedule5.quebecPreparation.reserveChoices.useFederalReserveOpenings` | boolean \| null \| string |  | Whether the Quebec reserves use the same openings as the federal reserves. Send true or false; null or an empty string is unanswered, which is not No. Either answer imports no balance. |
| `schedule5.quebecPreparation.specialTaxEntries` | null \| object |  | Quebec special-tax amounts and their write-off amounts, entered by printed category code. Null or an empty object is unopened. Any entered amount, including zero, holds Schedule 5 until the Quebec special-tax calculation and its settlement exist. |
| `schedule5.quebecPreparation.specialTaxEntries.taxAmounts` | null \| object |  | Signed Quebec special-tax amounts keyed by printed category code 1 to 102, written without leading zeros. Each value is exact decimal text with at most 12 decimal places; null or an empty string leaves that category unanswered. Any other key, including a total, is refused. Kept separate from write-off amounts. |
| `schedule5.quebecPreparation.specialTaxEntries.writeOffAmounts` | null \| object |  | Signed Quebec special-tax write-off amounts keyed by the same printed category code 1 to 102, written without leading zeros. Each value is exact decimal text with at most 12 decimal places; null or an empty string leaves that category unanswered. Any other key, including a total, is refused. |
| `schedule50` | null \| object |  |  |
| `schedule50.rows` | array \| null |  | Current T4012 says to provide a maximum of the 10 top shareholders. Empty rows (all fields null) are allowed and remain no-ops. Rows beyond 10 trigger roster review; Filemark does not infer a supplementary- attachment procedure from the printed-grid capacity. |
| `schedule50.rows[]` | object |  |  |
| `schedule510` | null \| object |  | Ontario Schedule 510 corporate minimum tax inputs, including assets, revenue, association facts and loss or credit continuity. When omitted, the engine still tests CMT liability if Schedule 5 establishes an Ontario permanent establishment; missing required facts remain unresolved. |
| `schedule510.schedule512` | null \| object |  | Ontario Schedule 512 special additional tax inputs for a life insurance corporation, carrying the capital, reserve-liability, residence and related-group facts the tax is computed from. Under the Taxation Act, 2007 (Ontario), Sched. A, s.63, the tax is 1.25 per cent of taxable paid-up capital prorated by the days in the year over 365, less the Division B and Division C tax for the year. Omission supplies no Schedule 512 input; for a life insurance corporation carrying on business in Ontario the tax then stays unresolved rather than nil. |
| `schedule510.schedule512.isLifeInsuranceCorporation` | boolean \| null |  |  |
| `schedule55` | null \| object |  |  |
| `schedule56` | null \| object |  |  |
| `schedule63` | null \| object |  |  |
| `schedule67` | null \| object |  |  |
| `schedule67.hadAmalgamationIn2020Or2021` | boolean \| null \| number \| string |  | Had an amalgamation in 2020 or 2021 → predecessor TI must be included in line 200/210 per Note 1. |
| `schedule67.hadWindupIn2020Or2021` | boolean \| null \| number \| string |  | Had a wind-up in 2020 or 2021 → subsidiary TI must be included in line 200/210 per Note 1. |
| `schedule67.hasMultiple2022TaxYears` | boolean \| null \| number \| string |  | Corp had multiple 2022 tax years → bullet 3 instructs to use the LATEST 2022 TY. |
| `schedule67.isBank` | boolean \| null |  | Is this corp a bank? (Per Bank Act + s.190(1).) |
| `schedule67.isFinancialInstitutionRelatedToBankOrLifeInsurer` | boolean \| null \| number \| string |  | Is this corp a financial institution per s.190(1) that is RELATED to a bank or life-insurance corp carrying on business in Canada? |
| `schedule67.isLifeInsuranceCorpInCanada` | boolean \| null |  | Is this corp a life insurance corporation carrying on business in Canada? (Per s.190(1).) |
| `schedule67.isNonResident` | boolean \| null \| number \| string |  | Non-resident corp → TI substituted with "taxable income earned in Canada" per Note 1. |
| `schedule67.wasBankOrLifeInsurerGroupMemberInA2021TaxYear` | boolean \| null \| number \| string |  | Was this corp "a bank or life insurer group member at any time during a 2021 taxation year"? (s.191.5(2) verbatim.) The Part VI.2 charge exists only if yes — a corp that first became a bank in 2022 answers the three flags above "yes" and owes nothing. Engine fails closed (error + missing_required) on null; false → nil charge for all five instalment years. |
| `schedule68` | null \| object |  |  |
| `schedule68.hasAntiAvoidanceAddbackS123_6_6` | boolean \| null \| number \| string |  | Anti-avoidance s.(6) addback applies. |
| `schedule68.hasFunctionalCurrencyElectionS261` | boolean \| null \| number \| string |  | Functional-currency election under s.261 — translate the $100M fixed amount under s.261(5)(b) at the first-day relevant spot rate. |
| `schedule68.isAmalgamationSuccessor` | boolean \| null \| number \| string |  | Amalgamation successor — distinct from S67/Part VI.2 rollover. |
| `schedule68.isAmendedAgreement` | boolean \| null \| number \| string |  | Box 075 — is this an amended agreement? |
| `schedule68.isBank` | boolean \| null |  | Para (a) — bank? |
| `schedule68.isFinancialInstitutionRelatedToBankOrLifeInsurer` | boolean \| null \| number \| string |  | Para (c) — FI per s.190(1) related to bank/life-insurer? |
| `schedule68.isHoldcoUnderS190_1_e` | boolean \| null \| number \| string |  | s.190(1)(e) holdco of bank/life-insurer subsidiary. |
| `schedule68.isLifeInsuranceCorpInCanada` | boolean \| null |  | Para (b) — life insurance corp carrying on business in Canada? |
| `schedule68.isNonResident` | boolean \| null \| number \| string |  | Non-resident corp → TIEC per Note 1. |
| `schedule68.isPCInsurer` | boolean \| null \| number \| string |  | P&C insurer (NOT s.190(1) FI unless related to bank/life-insurer). |
| `schedule68.isWindupSuccessor` | boolean \| null \| number \| string |  | Wind-up successor — same as amalgamation (no rollover). |
| `schedule71` | null \| object |  |  |
| `schedule72` | null \| object |  |  |
| `schedule78` | null \| object |  |  |
| `schedule89` | null \| object |  | Schedule 89 capital dividend account verification data, including filingCorpRows, predecessorRows and life-insurance policy details. The engine reconciles declared life-insurance proceeds with the canonical CDA calculation and reads successor continuity rows. Omission supplies neither those assertions nor predecessor continuity rows. |
| `schedule89.filingCorpRows` | array \| null |  |  |
| `schedule89.filingCorpRows[]` | object |  |  |
| `schedule89.lifeInsurancePolicy1` | null \| object |  |  |
| `schedule89.lifeInsurancePolicy2` | null \| object |  |  |
| `schedule89.predecessorRows` | array \| null |  |  |
| `schedule89.predecessorRows[]` | object |  |  |
| `schedule9` | null \| object |  | Schedule 9 related and associated corporations data. In the absence of an explicit association answer or other association evidence, its supported computed association finding can answer the Schedule 510 association question. Omission supplies no Schedule 9 fallback and does not itself establish that the corporation is unassociated. |
| `schedule9.rows` | array \| null |  | The printed form has 14 rows. Empty rows are no-ops. Filemark keeps row 15 and beyond; the `taxcycle` export carries them, and the generated package and the `taxprep` and `ifirm` exports stay blocked because the form prescribes no overflow carrier. |
| `schedule9.rows[]` | object |  |  |
| `schedule92` | null \| object |  |  |
| `t2Jacket` | null \| object |  | T2 jacket identification, filing-status, applicability and other answers used by the batch computation. In a saved-engagement scenario the answers merge into the saved jacket leaf by leaf: a section or box the scenario does not name keeps its saved answer (the imported boxes 070, 071 and 080 included), and an explicit null clears that one box. A section the saved jacket holds is sent as an object; null or any other value in its place is refused. |
| `t2Jacket.additionalInfo` | null \| object |  |  |
| `t2Jacket.additionalInfo.financialIntermediaryStatus` | null \| object |  | The ITA 191(1) financial-intermediary status packet, read at every Part IV.1 dividend receipt time. Paragraph (c) of the ITA 187.1 excepted-dividend definition takes a dividend received by a private corporation or a financial intermediary corporation out of Part IV.1, so this packet and the T2 box 040 corporation type together decide whether the Part 4 charge applies at all. |
| `t2Jacket.additionalInfo.financialIntermediaryStatus.paragraphGPrescribedCorporationExclusionAtAnyReceiptTime` | boolean \| null |  | ITA 191(1)(g): whether the corporation was a prescribed corporation at any Part IV.1 dividend receipt time. Any of the three exclusion answers left unanswered blocks the financial-intermediary conclusion. |
| `t2Jacket.additionalInfo.financialIntermediaryStatus.paragraphHControlExclusionAtAnyReceiptTime` | boolean \| null |  | ITA 191(1)(h): whether the control exclusion applied at any Part IV.1 dividend receipt time. |
| `t2Jacket.additionalInfo.financialIntermediaryStatus.paragraphISubstantialInterestExclusionAtAnyReceiptTime` | boolean \| null |  | ITA 191(1)(i): whether the substantial-interest exclusion applied at any Part IV.1 dividend receipt time. |
| `t2Jacket.additionalInfo.financialIntermediaryStatus.qualifyingCategoryAtEveryPart4DividendReceiptTime` | null \| string |  | The ITA 191(1)(a) to (f) category that held at every Part IV.1 dividend receipt time, or not_at_every_receipt_time where none did. An unanswered category leaves the recipient status unresolved and the Part IV.1 scope blocked. |
| `t2Jacket.additionalInfo.isCreditUnion` | boolean \| null |  | The corporation is a credit union; a legal-status fact the GRIP and LRIP dividend-pool resolution requires beyond the T2 corporation-type code. |
| `t2Jacket.additionalInfo.isDepositInsuranceCorporation` | boolean \| null |  | The corporation is a deposit insurance corporation; a legal-status fact the GRIP and LRIP dividend-pool resolution requires beyond the T2 corporation-type code. |
| `t2Jacket.additionalInfo.notExcludedCorporationTypeThroughoutYear` | boolean \| null |  | The jacket's corporation-type status answer, cross-checked against the financial-intermediary category so the two internal status answers cannot disagree. A true answer beside an investment, mortgage-investment, mutual-fund or prescribed-LSVCC category is a conflict the engine refuses to resolve for you. |
| `t2Jacket.additionalInfo.partXII4CreditTotal127_41` | array \| boolean \| null \| number \| object \| string |  |  |
| `t2Jacket.additionalInfo.productsOrServices` | array \| boolean \| null \| number \| object \| string |  |  |
| `t2Jacket.additionalInfo.section89_11ElectionInForceForTaxYear` | boolean \| null |  | An ITA s.89(11) election not to be treated as a CCPC is in force for the taxation year; the continuing election state, distinct from the box 266 and 267 filing events. |
| `t2Jacket.additionalInfo.section89_11PriorRevocationExists` | boolean \| null |  |  |
| `t2Jacket.additionalInfo.section89_13MinisterialConsentConfirmed` | boolean \| null |  |  |
| `t2Jacket.additionalInfo.section89_13MinisterialConsentEvidence` | null \| string |  |  |
| `t2Jacket.additionalInfo.section94_1OffshoreInvestmentFundPropertyApplies` | array \| boolean \| null \| number \| object \| string |  | Whether ITA 94.1 applies to offshore investment fund property the corporation held in the year, Yes or No. The T2 jacket asks it whenever line 259 (specified foreign property over CAN$100,000) is Yes or Schedule 21 reports foreign income, and holds the return until it is answered; a Yes needs the offshore investment fund property ledger, whose imputed income Schedule 1 adds. |
| `t2Jacket.additionalInfo.substantiveCCPCAnytime` | boolean \| null |  | T2 box 290: the corporation was a substantive CCPC (ITA s.248(1)) at any time in the taxation year; routes the general rate reduction worksheet and the dividend-pool regime. |
| `t2Jacket.addresses` | null \| object |  |  |
| `t2Jacket.addresses.headOffice` | null \| object |  |  |
| `t2Jacket.applicability` | null \| object |  |  |
| `t2Jacket.applicability.airQualityImprovementTaxCredit` | array \| boolean \| null \| number \| object \| string |  |  |
| `t2Jacket.applicability.associatedCCPC` | boolean \| null |  | T2 box 160: whether the corporation was associated with one or more other taxable Canadian corporations in the tax year. ITA 191.1(2) makes an associated corporation's Part VI.1 dividend allowance nil unless a subsection 191.1(3) agreement allocates it, so Schedule 43 withholds line 210 until this is answered. Null leaves it unanswered, which holds rather than assuming either answer. |
| `t2Jacket.applicability.cdnFilmVideoTC` | array \| boolean \| null \| number \| object \| string |  |  |
| `t2Jacket.applicability.controlledForeignAffiliates` | array \| boolean \| null \| number \| object \| string |  | Historical T2 jacket box 258 answer: the corporation owned or had an interest in a controlled foreign affiliate. |
| `t2Jacket.applicability.dividendsReceivedOrPaid` | array \| boolean \| null \| number \| object \| string |  |  |
| `t2Jacket.applicability.eifel18_2PartyOrElection` | boolean \| null |  |  |
| `t2Jacket.applicability.eligibleCapitalProperty` | array \| boolean \| null \| number \| object \| string |  | Historical T2 jacket box 210 answer: the corporation had eligible capital property, which Schedule 10 continued before 2017. |
| `t2Jacket.applicability.equityBuybackPartII2` | boolean \| null |  | T2 jacket applicability answer: the corporation had equity repurchases within Part II.2 (ITA s.183.3), so Schedule 56 applies. |
| `t2Jacket.applicability.fiRelatedGroupGrossPartVI` | array \| boolean \| null \| number \| object \| string |  |  |
| `t2Jacket.applicability.filmVideoServicesTC` | array \| boolean \| null \| number \| object \| string |  |  |
| `t2Jacket.applicability.foreignAffiliatesT1134` | boolean \| null |  |  |
| `t2Jacket.applicability.fuelChargeFarmersTC` | boolean \| null |  |  |
| `t2Jacket.applicability.gripChangeOrEligDiv` | boolean \| null |  | T2 jacket applicability answer: the general rate income pool (ITA s.89(1)) changed in the year or an eligible dividend was paid or received, so Schedule 53 applies. |
| `t2Jacket.applicability.lripChangeOrEligDiv` | boolean \| null |  | T2 jacket applicability answer: the low rate income pool (ITA s.89(1)) changed in the year or an eligible dividend was paid or received, so Schedule 54 applies. |
| `t2Jacket.applicability.nalNROver1M` | boolean \| null |  |  |
| `t2Jacket.applicability.nonArmsLengthNonResidentTransactions` | array \| boolean \| null \| number \| object \| string |  | Historical T2 jacket box 171 answer: the corporation had non-arm's length transactions with non-residents. |
| `t2Jacket.applicability.nonControlledForeignAffiliates` | array \| boolean \| null \| number \| object \| string |  | Historical T2 jacket box 256 answer: the corporation owned or had an interest in a non-controlled foreign affiliate. |
| `t2Jacket.applicability.nrCarryingOnBusiness` | array \| boolean \| null \| number \| object \| string |  |  |
| `t2Jacket.applicability.nrShareholders` | array \| boolean \| null \| number \| object \| string |  | Historical T2 jacket box 151 answer: the corporation had a non-resident shareholder. |
| `t2Jacket.applicability.nrShareholdersVoting` | array \| boolean \| null \| number \| object \| string |  |  |
| `t2Jacket.applicability.partIITobaccoSurtax` | array \| boolean \| null \| number \| object \| string |  | Historical T2 jacket box 249 answer: the corporation is liable for the Part II tobacco manufacturers' surtax, so Schedule 46 applies. |
| `t2Jacket.applicability.partIV1OrVI1Prefs` | boolean \| null |  | T2 box 243: whether the corporation paid or received dividends on taxable preferred shares or taxable RFI shares. A No answers the per-row taxable-preferred-share question for every dividend row that does not itself point at a preferred share; a Yes or a blank keeps the per-row question. The jacket reads this box permissively, and the reader's predicate is the whole domain: a boolean; 0 or 1 as an integer OR a float; or the word true or false in any mix of case with any surrounding whitespace. Everything else raises rather than answers, including "Yes", "No", "1", "0", "", 0.5, 2 and -1. |
| `t2Jacket.applicability.partVI1TransferAgreement` | array \| boolean \| null \| number \| object \| string |  |  |
| `t2Jacket.applicability.partVIFICapital` | array \| boolean \| null \| number \| object \| string |  |  |
| `t2Jacket.applicability.partXIII1Tax` | boolean \| null |  |  |
| `t2Jacket.applicability.partnershipMember` | boolean \| null |  |  |
| `t2Jacket.applicability.provCreditOrMultiJurisdiction` | boolean \| null |  |  |
| `t2Jacket.applicability.section89_11Election` | boolean \| null |  |  |
| `t2Jacket.applicability.section89_11Revocation` | boolean \| null |  |  |
| `t2Jacket.applicability.specifiedForeignPropertyOver100K` | array \| boolean \| null \| number \| object \| string |  | T2 line 259: whether the corporation owned or held specified foreign property whose total cost amount was more than CAN$100,000 at any time in the year (ITA 233.3), which makes Form T1135 due. Yes or No; a Yes also asks t2Jacket.additionalInfo.section94_1OffshoreInvestmentFundPropertyApplies, the offshore investment fund property question (ITA 94.1), and the T2 jacket is held until it is answered. |
| `t2Jacket.applicability.surtaxCredit` | array \| boolean \| null \| number \| object \| string |  | Historical T2 jacket box 237 answer: the corporation claims the unused surtax credit, so Schedule 37 applies. |
| `t2Jacket.applicability.taxableDividendsPaid` | boolean \| null |  |  |
| `t2Jacket.certification` | null \| object |  |  |
| `t2Jacket.certification.ccpcOneMonthExtension` | array \| boolean \| null \| number \| object \| string |  |  |
| `t2Jacket.filingStatus` | null \| object |  | T2 jacket filing-status answers, including the first return after incorporation, amalgamation or winding-up. |
| `t2Jacket.filingStatus.amalgamationQualifiesUnderSection87_1` | boolean \| null |  |  |
| `t2Jacket.filingStatus.aocDate` | array \| boolean \| null \| number \| object \| string |  |  |
| `t2Jacket.filingStatus.aocEffectiveDateTime` | null \| string |  | Actual local acquisition timestamp (065), required when electing out of ITA 256(9). Without the election the tax boundary is midnight; CCPC status still uses actual time. |
| `t2Jacket.filingStatus.ccpcStatusChangeCausedByAcquisitionOfControl` | boolean \| null |  | Whether the CCPC-status change was caused by an acquisition of control. True places the boundary under s.249(4) at the acquisition (s.256(9)) instead of s.249(3.1); unanswered blocks box 066. |
| `t2Jacket.filingStatus.ccpcStatusChangeEffectiveDateTime` | null \| string |  |  |
| `t2Jacket.filingStatus.firstYearAfterAmalgamation` | boolean \| null |  |  |
| `t2Jacket.filingStatus.firstYearAfterIncorporation` | boolean \| null |  |  |
| `t2Jacket.filingStatus.section256_9Election` | array \| boolean \| null \| number \| object \| string |  |  |
| `t2Jacket.identification` | null \| object |  | Corporation identification and residence information from the T2 jacket. |
| `t2Jacket.identification.businessNumber` | null \| string |  |  |
| `t2Jacket.identification.claimingTreatyExemption` | array \| boolean \| null \| number \| object \| string |  |  |
| `t2Jacket.identification.isResidentOfCanada` | boolean \| null |  | T2 box 080: the corporation was resident in Canada in the taxation year. A no answer requires the box 081 country of residence. |
| `t2Jacket.identification.section149Exempt` | null \| number \| string |  | T2 box 085 exemption category: 1, 2 or 4 as a JSON number or its exact digit string; null leaves the category unanswered. This category does not state whether exemption began or ended at an acquisition of control. |
| `t2Jacket.identification.taxYearEnd` | array \| boolean \| null \| number \| object \| string |  |  |
| `t2Jacket.identification.taxYearEndExclusiveAt` | array \| boolean \| null \| number \| object \| string |  | Exact local exclusive end of this return (061). The next return starts at the same instant; CRA HHMM reporting is a separate projection. |
| `t2Jacket.identification.taxYearStart` | array \| boolean \| null \| number \| object \| string |  |  |
| `t2Jacket.identification.taxYearStartAt` | array \| boolean \| null \| number \| object \| string |  | Exact local inclusive period start for an intraday return (060); dates remain the canonical civil filing dates. Preserve any supplied UTC offset. |
| `t2Jacket.identification.typeChangeEffectiveDate` | null \| string |  | Effective date of a corporation-type change during the taxation year. |
| `t2Jacket.identification.typeOfCorporation` | null \| number \| string |  | T2 box 040 corporation category: codes 1 to 5 as JSON numbers or exact digit strings; null leaves the category unanswered. |
| `t2Jacket.lines` | null \| object |  |  |
| `t2Jacket.sbdAssignment` | array \| boolean \| null \| number \| object \| string |  |  |
| `taxYear` | number \| string | always |  |
| `taxYearId` | array \| boolean \| null \| number \| object \| string |  |  |
| `wasAssociatedInPrecedingYear` | boolean \| null |  | Whether the corporation was associated with another corporation in its preceding taxation year, selecting which ITA s.125(5.1)(a) period the taxable-capital figure belongs to and which paragraph of ITA s.157(1.3) and (1.4) the preceding year's quarterly-instalment test uses. Send null deliberately when unknown: the engine then blocks rather than inferring a period. |
| `workpapers` | array \| null \| object |  |  |
| `workpapers[]` | object |  |  |
| `workpapers[].adjustmentAmount` | array \| boolean \| null \| number \| object \| string |  | Amount of the workpaper's computed adjustment, as a number or a plain money string. |
| `workpapers[].adjustmentStatus` | array \| boolean \| null \| number \| object \| string |  | Status of the workpaper's computed adjustment. Anything other than ok raises the workpaper's findings, and null means it was never analysed and is not treated as clean. |
| `workpapers[].assumption` | array \| boolean \| null \| number \| object \| string |  |  |
| `workpapers[].customName` | array \| boolean \| null \| number \| object \| string |  |  |
| `workpapers[].deletedAt` | array \| boolean \| null \| number \| object \| string |  | Timestamp marking the workpaper as deleted. Any value at all takes the workpaper out of every return-level check; leave it null for a live one. |
| `workpapers[].id` | array \| boolean \| null \| number \| object \| string |  | Your identifier for this workpaper. Findings addressed to the workpaper quote it. |
| `workpapers[].kind` | array \| boolean \| null \| number \| object \| string |  |  |
| `workpapers[].linkedAccountIds` | array \| boolean \| null \| number \| object \| string |  | Identifiers of the trial-balance accounts this workpaper ties out to. Only string entries are read. |
| `workpapers[].priorYearRows` | array \| null |  | Prior-year rows for the same workpaper template. |
| `workpapers[].priorYearRows[]._rowKey` | null \| string |  |  |
| `workpapers[].rows` | array \| null |  | The workpaper's own rows. A row's columns come from its template rather than from a fixed contract, so no column below this position is a published cell. |
| `workpapers[].rows[]` | object |  |  |
| `workpapers[].rows[]._rowKey` | null \| string |  |  |
| `workpapers[].rows[].acquiredInOrdinaryCourseOfBusiness` | array \| boolean \| null \| number \| object \| string |  | Acquired in ordinary course (112(2.1))?. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].amountDeductibleInRelevantForeignIncome` | array \| boolean \| null \| number \| object \| string |  | Amount deductible in relevant foreign income (113(5)). Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].connPayerAmountCC` | array \| boolean \| null \| number \| object \| string |  | Connected payer — amount CC (T2 page 7). Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].connPayerAmountII` | array \| boolean \| null \| number \| object \| string |  | Connected payer — amount II (T2 page 7). Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].connPayerLine465` | array \| boolean \| null \| number \| object \| string |  | Connected payer — line 465 (eligible dividends paid). Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].connPayerLine470` | array \| boolean \| null \| number \| object \| string |  | Connected payer — line 470 (non-eligible dividends paid). Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].connPayerTotalTaxableWhilePrivateOrSubject` | array \| boolean \| null \| number \| object \| string |  | Payer taxable dividends paid while private/subject (186(1)(b) denominator). Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].date` | array \| boolean \| null \| number \| object \| string |  | Date. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].designatedInWritingAtPaymentTime` | array \| boolean \| null \| number \| object \| string |  | Written eligible designation at payment?. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the deemed-dividends, dividends, dividends-declared workpaper templates. The template offers No, Yes. The published contract states the type rather than the template's picklist. |
| `workpapers[].rows[].designationDate` | array \| boolean \| null \| number \| object \| string |  | Eligible designation date. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the deemed-dividends, dividends, dividends-declared workpaper templates. |
| `workpapers[].rows[].exemptDividend186_2` | array \| boolean \| null \| number \| object \| string |  | 186.2 exempt (prescribed VCC)?. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. The template offers No, Yes. The published contract states the type rather than the template's picklist. |
| `workpapers[].rows[].exemptSurplusPortion` | array \| boolean \| null \| number \| object \| string |  | Exempt-surplus portion (113(1)(a)). Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].hybridForeignTaxPrescribed` | array \| boolean \| null \| number \| object \| string |  | Foreign tax prescribed — hybrid portion (113(1)(a.1)(ii)(A)(I)). Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].hybridNonBusinessIncomeTax` | array \| boolean \| null \| number \| object \| string |  | Non-business-income tax — hybrid portion (113(1)(a.1)(ii)(A)(II)). Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].hybridSurplusPortion` | array \| boolean \| null \| number \| object \| string |  | Hybrid-surplus portion (113(1)(a.1)). Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].lateDesignationErdtohTransitional` | array \| boolean \| null \| number \| object \| string |  | s.89(14.2) ERDTOH transition applies?. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the deemed-dividends, dividends, dividends-declared workpaper templates. The template offers No, Yes. The published contract states the type rather than the template's picklist. |
| `workpapers[].rows[].nonBusinessIncomeTaxOnDeemedNonDividend` | array \| boolean \| null \| number \| object \| string |  | Non-business-income tax on 113(5) amount (113(6)). Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].originalDividendId` | array \| boolean \| null \| number \| object \| string |  | Original dividend ID (Schedule 55 election). Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the deemed-dividends, dividends, dividends-declared workpaper templates. |
| `workpapers[].rows[].paragraphCAntiAvoidanceApplies` | array \| boolean \| null \| number \| object \| string |  | s.89(1) paragraph (c) applies?. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the deemed-dividends, dividends, dividends-declared workpaper templates. |
| `workpapers[].rows[].payerCarriedBusinessThroughCanadianPeThroughoutStatutoryPeriod` | array \| boolean \| null \| number \| object \| string |  | Canadian PE Throughout 112(2) Period?. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].payerContinuousPeEvidenceReference` | array \| boolean \| null \| number \| object \| string |  | Continuous-PE Evidence / Source. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].payerHypotheticalResidentTaxableIncomePriorYear` | array \| boolean \| null \| number \| object \| string |  | Payer prior-year taxable income if resident throughout year (112(2)). Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].payerIsForeignAffiliate` | array \| boolean \| null \| number \| object \| string |  | Payer is Foreign Affiliate?. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].payerReg8201FactsAtReceipt` | array \| boolean \| null \| number \| object \| string |  | The payer's Reg 8201 permanent-establishment facts as they stood when the dividend was received. Practitioner-asserted operand carried verbatim from the workpaper row. |
| `workpapers[].rows[].payerReg8201Reviews` | array \| boolean \| null \| number \| object \| string |  | Reg 8201 permanent-establishment reviews for the payer, each stamped with the timing it applies to; the receipt-timed review is used when no facts block is sent. Practitioner-asserted operand carried verbatim from the workpaper row. |
| `workpapers[].rows[].payerTaxableIncomeEarnedInCanadaPriorYear` | array \| boolean \| null \| number \| object \| string |  | Payer prior-year taxable income earned in Canada (112(2)). Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].payerTaxableUnderSubsection2_3` | array \| boolean \| null \| number \| object \| string |  | Payer Taxable under 2(3)?. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].payerWasPrivateOrSubjectWhenPaid` | array \| boolean \| null \| number \| object \| string |  | Payer private/subject when paid (186(1)(b))?. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].paymentTimeGroupId` | array \| boolean \| null \| number \| object \| string |  | Payment-time group. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the deemed-dividends, dividends, dividends-declared workpaper templates. |
| `workpapers[].rows[].preAcquisitionSurplusPortion` | array \| boolean \| null \| number \| object \| string |  | Pre-acquisition-surplus portion (113(1)(d)). Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].privateCorporationImmediatelyBeforePayment` | array \| boolean \| null \| number \| object \| string |  | Private immediately before payment (s.185.1(2))?. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the deemed-dividends, dividends, dividends-declared workpaper templates. |
| `workpapers[].rows[].privateCorporationWhenPaid` | array \| boolean \| null \| number \| object \| string |  | Private corporation at payment (s.129(1))?. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the deemed-dividends, dividends, dividends-declared workpaper templates. |
| `workpapers[].rows[].refundExclusion129_1_2` | array \| boolean \| null \| number \| object \| string |  | Paid dividend excluded, line 530 (s.129(1.2)). Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the deemed-dividends, dividends, dividends-declared workpaper templates. |
| `workpapers[].rows[].refundExclusionBankruptController` | array \| boolean \| null \| number \| object \| string |  | Paid to bankrupt controller, line 540 (s.129(1.1)). Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the deemed-dividends, dividends, dividends-declared workpaper templates. |
| `workpapers[].rows[].s126_4TaxCreditGeneratorApplies` | array \| boolean \| null \| number \| object \| string |  | s.126(4) foreign-tax-credit generator applies?. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. The template offers No, Yes. The published contract states the type rather than the template's picklist. |
| `workpapers[].rows[].s126_4_11PartnershipMismatchApplies` | array \| boolean \| null \| number \| object \| string |  | s.126(4.11) partnership mismatch applies?. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. The template offers No, Yes. The published contract states the type rather than the template's picklist. |
| `workpapers[].rows[].s126_4_1NoEconomicProfitApplies` | array \| boolean \| null \| number \| object \| string |  | s.126(4.1) no-economic-profit exclusion applies?. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. The template offers No, Yes. The published contract states the type rather than the template's picklist. |
| `workpapers[].rows[].s126_4_2ShortTermSecurityCapApplies` | array \| boolean \| null \| number \| object \| string |  | s.126(4.2) short-term-security cap applies?. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. The template offers No, Yes. The published contract states the type rather than the template's picklist. |
| `workpapers[].rows[].s126_4_3ShortTermSecurityCapExceptionApplies` | array \| boolean \| null \| number \| object \| string |  | s.126(4.3) exception to short-term-security cap applies?. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].s55CapitalGainIsForeignSource` | array \| boolean \| null \| number \| object \| string |  | s.55 deemed gain foreign-source?. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].s55DividendArisesOnRedemption` | array \| boolean \| null \| number \| object \| string |  | Dividend arises on s.84(2)/(3) redemption?. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].s55PartIVEvidenceReference` | array \| boolean \| null \| number \| object \| string |  | Part IV tax/refund evidence reference. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].s55PartIVTaxPayableForDividend` | array \| boolean \| null \| number \| object \| string |  | Part IV tax payable for dividend. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].s55PartIVTaxRefundedInSeries` | array \| boolean \| null \| number \| object \| string |  | Part IV tax refunded in series. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].s55PurposeOrResultTestMet` | array \| boolean \| null \| number \| object \| string |  | s.55(2.1)(b) purpose/result test met?. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].s55SafeIncomeAttributable` | array \| boolean \| null \| number \| object \| string |  | Safe income attributable to share. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].s55ShareDispositionPropertyId` | array \| boolean \| null \| number \| object \| string |  | Linked share disposition property ID. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].s55TransactionOrSeries` | array \| boolean \| null \| number \| object \| string |  | Whether the dividend was received as part of a transaction or series under ITA 55(2). Answer true/false or Yes/No; null is UNANSWERED and is never read as no. Practitioner-asserted operand carried verbatim from the workpaper row. |
| `workpapers[].rows[].s55UnrefundedPartIVProtectedExcessPortion` | array \| boolean \| null \| number \| object \| string |  | Excess-dividend portion protected by unrefunded Part IV. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].s55_3ExceptionApplies` | array \| boolean \| null \| number \| object \| string |  | s.55(3) exception applies?. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].s55_3ExceptionEvidenceReference` | array \| boolean \| null \| number \| object \| string |  | s.55(3) evidence reference. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].s55_3ExceptionParagraph` | array \| boolean \| null \| number \| object \| string |  | s.55(3) exception paragraph. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. The template offers 55(3)(a), 55(3)(b). The engine matches the paragraph exactly, including case, and blocks the row when it does not match, so a differently-cased answer is refused rather than misread. |
| `workpapers[].rows[].s83_2_2Or2_3Or2_4ReliefApplies` | array \| boolean \| null \| number \| object \| string |  | s.83(2.2)-(2.4) relief applies?. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].s89_14_1ReliefGranted` | array \| boolean \| null \| number \| object \| string |  | Minister granted late-designation relief?. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the deemed-dividends, dividends, dividends-declared workpaper templates. The template offers No, Yes. The published contract states the type rather than the template's picklist. |
| `workpapers[].rows[].s93_4_3_cClause113_1_c_i_AAmount` | array \| boolean \| null \| number \| object \| string |  | Clause 113(1)(c)(i)(A) amount for the 93.4(3)(c) low-RTF amount. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].s93_4_3_cLowRtfDeduction` | array \| boolean \| null \| number \| object \| string |  | Low-RTF deduction determined under 93.4(3)(c). Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].section113_2Deduction` | array \| boolean \| null \| number \| object \| string |  | ITA 113(2) deduction claimed against this dividend out of the pre-acquisition surplus adjustment. Practitioner-asserted operand carried verbatim from the workpaper row. |
| `workpapers[].rows[].section113_2HistoricCapacity` | array \| boolean \| null \| number \| object \| string |  | Historic ITA 113(2) deduction capacity available to this dividend. Practitioner-asserted operand carried verbatim from the workpaper row. |
| `workpapers[].rows[].shareType` | array \| boolean \| null \| number \| object \| string |  | Share Type. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].sharesAcquiredForDividendPurpose` | array \| boolean \| null \| number \| object \| string |  | Share acquired to receive this capital dividend?. Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].taxableForeignTaxPrescribed` | array \| boolean \| null \| number \| object \| string |  | Foreign tax prescribed — taxable portion (113(1)(b)). Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].taxableNonBusinessIncomeTax` | array \| boolean \| null \| number \| object \| string |  | Non-business-income tax — taxable portion (113(1)(c)). Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].rows[].taxableSurplusPortion` | array \| boolean \| null \| number \| object \| string |  | Taxable-surplus portion (113(1)(b)/(c)). Practitioner-asserted operand carried verbatim from the workpaper row. Declared by the dividends workpaper template. |
| `workpapers[].schedule3CoverageReview` | array \| boolean \| null \| number \| object \| string |  | The Schedule 3 dividend coverage review packet, carried on the dividends workpaper only. A transported copy that disagrees with it is refused rather than silently preferred. |
| `workpapers[].sectionRows` | null \| object |  |  |
| `workpapers[].templateId` | null \| string |  | Which workpaper template this is. It selects the stored-row read contract, so a row column is read only where its template declares it. |

### Strict profile accepted values (63 of 402 cells)

These constraints apply when you supply this target's `payloadContract`. Cells marked **pinned** must equal the listed value. A pinned cell that is not required may be left out.

| Cell | Accepted values |
| --- | --- |
| `aocPropertyDesignations[].capitalCost` | `-1000000000000000 to 1000000000000000` |
| `aocPropertyDesignations[].designatedAmount` | `-1000000000000000 to 1000000000000000` |
| `aocPropertyDesignations[].subsection111_5_1WouldApply` | `one of false, true` |
| `daysInYear` | `-1000000000000000 to 1000000000000000` |
| `functionalCurrencyContext.firstDayRate.rate` | `-1000000000000000 to 1000000000000000` |
| `functionalCurrencyContext.firstDayRate.spotRateSource` | `one of "boc_valet", "boc_archival_manual"` |
| `schedule23.calendarYear` | `-1000000000000000 to 1000000000000000` |
| `schedule23.rows[].associationCode` | `-1000000000000000 to 1000000000000000` |
| `schedule23.rows[].businessLimitAllocated` | `-1000000000000000 to 1000000000000000` |
| `schedule23.rows[].businessLimitBeforeAllocation` | `-1000000000000000 to 1000000000000000` |
| `schedule23.rows[].percentageOfBusinessLimit` | `-1000000000000000 to 1000000000000000` |
| `schedule24.operationCode` | `one of null, "01", "02", "03", "04", "05", "06", "07", "09", "10", "11", "12", "13", "14", "15", "16", "17", "99"` |
| `schedule38.hasAcquisitionOfControlThisYear` | `-1000000000000000 to 1000000000000000` |
| `schedule38.hasFunctionalCurrencyElectionS261` | `-1000000000000000 to 1000000000000000` |
| `schedule38.isAuthorizedForeignBank` | `-1000000000000000 to 1000000000000000` |
| `schedule38.isDepositTakingMortgageLender` | `-1000000000000000 to 1000000000000000` |
| `schedule38.isHoldcoUnderS190_1_e` | `-1000000000000000 to 1000000000000000` |
| `schedule38.isTrustCorporation` | `-1000000000000000 to 1000000000000000` |
| `schedule38.relatedSolelyViaCrownControl` | `-1000000000000000 to 1000000000000000` |
| `schedule38.relatedSolelyViaS251_5_b_Right` | `-1000000000000000 to 1000000000000000` |
| `schedule38.rightAcquiredForAvoidancePurpose` | `-1000000000000000 to 1000000000000000` |
| `schedule43.line118CalendarYearOfAgreement` | `-1000000000000000 to 1000000000000000` |
| `schedule43.line1BPriorYearNonExcludedDividendsPaid` | `-1000000000000000 to 1000000000000000` |
| `schedule43.line210OwnAllocation` | `-1000000000000000 to 1000000000000000` |
| `schedule43.line220StpsDividendsPaid` | `-1000000000000000 to 1000000000000000` |
| `schedule43.line230ElectedTpsDividendsPaid` | `-1000000000000000 to 1000000000000000` |
| `schedule43.line240NonElectedTpsDividendsPaid` | `-1000000000000000 to 1000000000000000` |
| `schedule43.line250TransferredInFromRelatedCorp` | `-1000000000000000 to 1000000000000000` |
| `schedule43.line260TransferredOutToRelatedCorp` | `-1000000000000000 to 1000000000000000` |
| `schedule43.line310TpsDividendsReceived` | `-1000000000000000 to 1000000000000000` |
| `schedule43.line320RfiSharesDividendsReceived` | `-1000000000000000 to 1000000000000000` |
| `schedule43.line350PortionAlsoSubjectToPartIv` | `-1000000000000000 to 1000000000000000` |
| `schedule43.line370PortionFromConnectedCorps` | `-1000000000000000 to 1000000000000000` |
| `schedule43.line380PartIvTaxOnLine370Dividends` | `-1000000000000000 to 1000000000000000` |
| `schedule43.line390PortionFromNonConnectedCorps` | `-1000000000000000 to 1000000000000000` |
| `schedule43.line400EligibleTaxableDividendsFromLine390` | `-1000000000000000 to 1000000000000000` |
| `schedule43.part2Agreement.calendarYear` | `-1000000000000000 to 1000000000000000` |
| `schedule43.part2Rows[].dividendAllowanceAllocated` | `-1000000000000000 to 1000000000000000` |
| `schedule45.line105TotalPartVi1TaxTransferred` | `-1000000000000000 to 1000000000000000` |
| `schedule45.transferees[].transferredAmount` | `-1000000000000000 to 1000000000000000` |
| `schedule67.hadAmalgamationIn2020Or2021` | `-1000000000000000 to 1000000000000000` |
| `schedule67.hadWindupIn2020Or2021` | `-1000000000000000 to 1000000000000000` |
| `schedule67.hasMultiple2022TaxYears` | `-1000000000000000 to 1000000000000000` |
| `schedule67.isFinancialInstitutionRelatedToBankOrLifeInsurer` | `-1000000000000000 to 1000000000000000` |
| `schedule67.isNonResident` | `-1000000000000000 to 1000000000000000` |
| `schedule67.wasBankOrLifeInsurerGroupMemberInA2021TaxYear` | `-1000000000000000 to 1000000000000000` |
| `schedule68.hasAntiAvoidanceAddbackS123_6_6` | `-1000000000000000 to 1000000000000000` |
| `schedule68.hasFunctionalCurrencyElectionS261` | `-1000000000000000 to 1000000000000000` |
| `schedule68.isAmalgamationSuccessor` | `-1000000000000000 to 1000000000000000` |
| `schedule68.isAmendedAgreement` | `-1000000000000000 to 1000000000000000` |
| `schedule68.isFinancialInstitutionRelatedToBankOrLifeInsurer` | `-1000000000000000 to 1000000000000000` |
| `schedule68.isHoldcoUnderS190_1_e` | `-1000000000000000 to 1000000000000000` |
| `schedule68.isNonResident` | `-1000000000000000 to 1000000000000000` |
| `schedule68.isPCInsurer` | `-1000000000000000 to 1000000000000000` |
| `schedule68.isWindupSuccessor` | `-1000000000000000 to 1000000000000000` |
| `t2Jacket.additionalInfo.financialIntermediaryStatus.qualifyingCategoryAtEveryPart4DividendReceiptTime` | `one of "approved_investment_contract_issuer", "investment_corporation", "mortgage_investment_corporation", "multiple_qualifying_categories", "mutual_fund_corporation", "prescribed_lsvcc", "prescribed_venture_capital_corporation", "not_at_every_receipt_time", null` |
| `t2Jacket.filingStatus.aocEffectiveDateTime` | `at most 40 characters` |
| `t2Jacket.filingStatus.ccpcStatusChangeEffectiveDateTime` | `at most 40 characters` |
| `t2Jacket.identification.section149Exempt` | `one of null, 1, 2, 4, "1", "2", "4"` |
| `t2Jacket.identification.typeOfCorporation` | `one of null, 1, 2, 3, 4, 5, "1", "2", "3", "4", "5"` |
| `taxYear` | `matches ^\s*(?:1[0-9][0-9][0-9]\|20[0-1][0-9]\|202[0-7])\s*$; 1000 to 2027` |
| `workpapers[].priorYearRows[]._rowKey` | `0 to 20000 characters` |
| `workpapers[].rows[]._rowKey` | `0 to 20000 characters` |

## Output cells (116)

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

| Cell | Types | Description |
| --- | --- | --- |
| `filingPropositions[].evidence[]` | string |  |
| `filingPropositions[].filingDisposition` | string |  |
| `filingPropositions[].propositionId` | string |  |
| `filingPropositions[].schemaVersion` | integer |  |
| `filingPropositions[].state` | string |  |
| `filingPropositions[].targets[]` | string |  |
| `provisional` | boolean |  |
| `ready` | boolean |  |
| `status` | string |  |
| `warnings[]` | object |  |
| `warnings[].affectedOutputs` | array \| boolean \| null \| number \| object \| string |  |
| `warnings[].box` | array \| boolean \| null \| number \| object \| string |  |
| `warnings[].calculationUsable` | array \| boolean \| null \| number \| object \| string |  |
| `warnings[].code` | null \| string |  |
| `warnings[].message` | string |  |
| `warnings[].producers` | array \| boolean \| null \| number \| object \| string |  |
| `warnings[].severity` | array \| boolean \| null \| number \| object \| string |  |
| `warnings[].anchorField` | array \| boolean \| null \| number \| object \| string |  |
| `warnings[].schedule` | array \| boolean \| null \| number \| object \| string |  |
| `warnings[].boxForm` | array \| boolean \| null \| number \| object \| string |  |
| `warnings[].box_form` | array \| boolean \| null \| number \| object \| string |  |
| `warnings[].citation` | array \| boolean \| null \| number \| object \| string |  |
| `warnings[].gate_id` | null \| string |  |
| `warnings[].continuityScheduleKey` | array \| boolean \| null \| number \| object \| string |  |
| `warnings[].notes` | array \| boolean \| null \| number \| object \| string |  |
| `warnings[].sourceModule` | array \| boolean \| null \| number \| object \| string |  |
| `warnings[].taxYear` | array \| boolean \| null \| number \| object \| string |  |
| `warnings[].sources` | array \| boolean \| null \| number \| object \| string |  |
| `warnings[].taxYears` | array \| boolean \| null \| number \| object \| string |  |
| `coverageReason` | string |  |
| `coverageStatus` | string |  |
| `formId` | string |  |
| `formRevision` | null \| string |  |
| `missing_required` | array |  |
| `revisionHold.blocksCurrentFormClaim` | boolean |  |
| `revisionHold.currentFormSource` | string |  |
| `revisionHold.gaps[]` | string |  |
| `revisionHold.implementationSource` | string |  |
| `revisionHold.status` | string |  |
| `taxYear` | integer |  |
| `amount_1A` | number |  |
| `amount_1C` | number |  |
| `amount_3A` | number |  |
| `amount_3B` | number |  |
| `amount_3C` | number |  |
| `amount_3D` | number |  |
| `amount_3E` | number |  |
| `amount_3F` | number |  |
| `amount_3G` | number |  |
| `amount_3H` | number |  |
| `amount_3I` | number |  |
| `amount_3J` | number |  |
| `amount_3K` | number |  |
| `amount_3L` | number |  |
| `amount_3M` | number |  |
| `amount_3N` | number |  |
| `amount_3O` | number |  |
| `amount_3P` | number |  |
| `amount_3Q` | number |  |
| `amount_3R` | number |  |
| `amount_4A` | number |  |
| `amount_4B` | number |  |
| `amount_4C` | number |  |
| `amount_4D` | number |  |
| `continuation_rows.part2Rows[].hasTaxYearEndingInCalendarYear` | array \| boolean \| null \| number \| object \| string |  |
| `continuation_rows.part2Rows[].line_120` | string |  |
| `continuation_rows.part2Rows[].line_130` | string |  |
| `continuation_rows.part2Rows[].line_140` | number |  |
| `electionUnderS191_2_1Made` | boolean |  |
| `fired_gates` | object |  |
| `gross_part_vi1_tax_before_transfer_out` | number |  |
| `isAssociatedAndAllocating` | boolean |  |
| `isRestrictedFinancialInstitution` | boolean |  |
| `line_110` | number |  |
| `line_115` | number |  |
| `line_116` | array \| boolean \| null \| number \| object \| string |  |
| `line_117` | array \| boolean \| null \| number \| object \| string |  |
| `line_118` | array \| boolean \| null \| number \| object \| string |  |
| `line_120` | null \| string |  |
| `line_130` | null \| string |  |
| `line_140` | number |  |
| `line_1B` | number |  |
| `line_210` | number |  |
| `line_210_pre_proration` | number |  |
| `line_220` | number |  |
| `line_230` | number |  |
| `line_240` | number |  |
| `line_250` | number |  |
| `line_260` | number |  |
| `line_270` | number |  |
| `line_310` | number |  |
| `line_320` | number |  |
| `line_330` | number |  |
| `line_340` | number |  |
| `line_350` | number |  |
| `line_360` | number |  |
| `line_370` | number |  |
| `line_380` | number |  |
| `line_390` | number |  |
| `line_400` | number |  |
| `missing_required[]` | string |  |
| `part2Rows[].hasTaxYearEndingInCalendarYear` | array \| boolean \| null \| number \| object \| string |  |
| `part2Rows[].line_120` | string |  |
| `part2Rows[].line_130` | string |  |
| `part2Rows[].line_140` | number |  |
| `part2_allocation_total` | number |  |
| `part4_exempt` | boolean |  |
| `part4_scope_held` | boolean |  |
| `s191_2_1ElectionByClass` | object |  |
| `s3_amount_2F_part_iv_reduction_connected_30` | number |  |
| `s3_amount_2I_eligible_reduction_10` | number |  |
| `s3_line_320_total_part_iv_reduction` | number |  |
| `short_year_proration_applied` | boolean |  |
| `t2_amount_T_part_iv_reduction_non_elig_non_conn` | number |  |
| `t2_line_716_part_iv1_tax` | number |  |
| `t2_line_724_part_vi1_tax` | number |  |
