@classytic/ca-tax 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,62 @@
1
+ # Changelog
2
+
3
+ ## [0.0.1] - 2026-08-20
4
+
5
+ Initial release. A Canadian corporate tax engine for `@classytic/tax-core`,
6
+ covering three jurisdictions, with the sales-tax pack it grew out of.
7
+
8
+ ### Corporate tax
9
+
10
+ **Federal T2** — Schedule 1 book-to-tax reconciliation, CCA (S8), capital gains
11
+ (S6), losses (S4), the small business deduction with both grinds (S7/S23/S33),
12
+ Part IV / IV.1 / VI.1 (S3/S43), GRIP and LRIP continuity (S53/S54), Part III.1 on
13
+ an excessive eligible dividend designation (S55), SR&ED investment tax credit
14
+ (S31), foreign tax credits (S21), and EIFEL (S130).
15
+
16
+ **Alberta AT1** — Alberta tax, the Reg 402 allocation (S2), the reconciliation to
17
+ federal income (S12), Alberta CCA (S13), reserves (S17), dispositions (S18),
18
+ donations (S20), loss continuity (S21/S10), the Innovation Employment Grant
19
+ (S29), and the Net File payload.
20
+
21
+ **Québec CO-17** — Québec tax over the allocation factor, and the form definition.
22
+
23
+ ### Form definitions (`./forms`)
24
+
25
+ 30 forms as typed data — the T2 jacket and 16 schedules, the AT1 jacket and 8,
26
+ and CO-17 — each carrying its own provenance: the document it came from, its
27
+ revision, and when it was retrieved.
28
+
29
+ Every line number is traced to the published form. They are extracted from the
30
+ CRA PDFs, the Alberta TRA specification and the Revenu Québec forms rather than
31
+ typed, and a test refuses any line number that does not appear in one of them.
32
+
33
+ The subpath is 29 kB against the 249 kB engine, so an interface can render a
34
+ return without pulling the calculator.
35
+
36
+ ### Three numbering schemes
37
+
38
+ Modelled distinctly rather than flattened: CRA three-digit lines, Alberta
39
+ `SSSFFFOOO` line-item ids, and Québec boxes that carry letters — `420c` is its
40
+ own box, not a sub-part of `420`, so anything assuming three digits truncates it.
41
+
42
+ ### Fail-closed by default
43
+
44
+ An unclassified line throws rather than defaulting to an input. A return missing
45
+ a mandatory field refuses rather than filing a zero. An unanswered yes/no stays
46
+ unanswered rather than becoming "No", because Alberta records "No" as a value the
47
+ corporation states.
48
+
49
+ ### Sales tax
50
+
51
+ GST/HST/PST/QST with dated provincial regimes — Nova Scotia's 15%→14% (1 Apr
52
+ 2025) as two windows, Manitoba's RST-on-SaaS from 1 Jan 2026 — place of supply,
53
+ multi-authority legs (QC = GST + QST on the GST-exclusive base), zero-rated
54
+ versus exempt ITC semantics, restricted ITCs (meals 50%, club dues, dated vehicle
55
+ ceilings), small-supplier registration, and the GST34 return as a tax-core
56
+ `TaxEngine` over a `TaxReportTemplate`, with a ledger adapter posting balanced
57
+ settlements through `wireTaxToLedger`.
58
+
59
+ ---
60
+
61
+ ESM only · Node ≥ 20 · integer cents at boundaries, whole dollars in the
62
+ corporate engine (GIFI convention) · effective-dated with provenance · MIT
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Classytic LLC
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,78 @@
1
+ # @classytic/ca-tax
2
+
3
+ Canadian **corporate tax engine** for `@classytic/tax-core` — federal **T2**,
4
+ Alberta **AT1**, and Québec **CO-17**, with the sales-tax pack (GST/HST/PST/QST)
5
+ it grew out of.
6
+
7
+ What distinguishes it: **every line number is traced to the published form.** The
8
+ form definitions are extracted from the CRA PDFs, the Alberta TRA specification,
9
+ and the Revenu Québec forms — never typed from memory — and a test refuses any
10
+ line number that does not appear in one of them. A wrong line number is worse
11
+ than a missing one: it files a real figure against the wrong box and nothing
12
+ looks broken.
13
+
14
+ Verified rules + provenance: [docs/research-2026-07.md](./docs/research-2026-07.md).
15
+
16
+ ## Corporate tax
17
+
18
+ | Area | Coverage |
19
+ |---|---|
20
+ | **Federal T2** | Schedule 1 book-to-tax reconciliation, CCA (S8), capital gains (S6), losses (S4), SBD with both grinds (S7/S23/S33), Part IV/IV.1/VI.1 (S3/S43), GRIP & LRIP (S53/S54), Part III.1 on excessive designations (S55), SR&ED ITC (S31), foreign credits (S21), EIFEL (S130) |
21
+ | **Alberta AT1** | Alberta tax, Reg 402 allocation (S2), the reconciliation to federal income (S12), Alberta CCA (S13), reserves (S17), dispositions (S18), donations (S20), loss continuity (S21/S10), the Innovation Employment Grant (S29), and the Net File payload |
22
+ | **Québec CO-17** | Québec tax over the allocation factor, and the form definition |
23
+ | **Form definitions** | 30 forms as typed data — T2 jacket + 16 schedules, AT1 jacket + 8, CO-17 — each carrying its own provenance (document, revision, retrieval date). Exposed on the `./forms` subpath, **29 kB** rather than pulling the 249 kB engine |
24
+ | **Three numbering schemes** | CRA three-digit lines, Alberta `SSSFFFOOO` line-item ids, and Québec boxes that carry letters (`420c`) — modelled distinctly, because assuming three digits truncates the third |
25
+ | **Fail-closed** | An unclassified line throws rather than defaulting; a return missing a mandatory field refuses rather than filing a zero; an unanswered yes/no stays unanswered rather than becoming "No" |
26
+
27
+ ## Sales tax
28
+
29
+ | Area | Coverage |
30
+ |---|---|
31
+ | **Rates** | All 13 provinces/territories, effective-dated — Nova Scotia's 15%→14% (1 Apr 2025) ships as two windows, so early-2025 reprints stay period-accurate |
32
+ | **Place of supply** | Goods → delivery province; services/intangibles → recipient address with performed-province fallback (ETA Sch. IX simplified) |
33
+ | **Multi-authority legs** | `calculateCaSalesTax` returns per-authority legs: QC = GST(CRA) + QST(RQ) both on the GST-exclusive base; BC/SK/MB = GST + non-recoverable PST/RST — **including Manitoba's RST-on-SaaS expansion from 1 Jan 2026 as a dated rule** |
34
+ | **Zero-rated vs exempt** | The VAT truth table: zero-rated (groceries, prescription, exports…) = 0% **with** ITCs; exempt (rent, health, financial…) = no tax, **no** ITCs |
35
+ | **ITC restrictions** | Meals 50%, club dues denied, passenger-vehicle ceiling dated ($38k 2025 / $39k 2026), exempt-output denial |
36
+ | **Registration** | Small supplier $30k (four-quarter + single-quarter tests), PSB $50k, simplified digital regime threshold |
37
+ | **GST34** | The CRA return as a tax-core `TaxEngine` (negative `totalOwing` = refund/line 114) over a tax-core **`TaxReportTemplate`** line grid — completing the `/ledger` seam validation — plus `gst34LedgerAdapter` posting balanced settlements via `wireTaxToLedger` |
38
+ | **Resolver** | `createCaTaxResolver({ province })` — per-province instances; `accountFor('input')` returns the ITC-receivable role (the recoverable side the US pack proves absent) |
39
+ | **Hot-patch** | `extendCaTaxRules` — dated provincial-rate and PST-base overrides |
40
+
41
+ ## Quick start
42
+
43
+ ```ts
44
+ import { calculateCaSalesTax, createCaTaxResolver } from '@classytic/ca-tax';
45
+
46
+ // A Québec sale: two legs, two authorities, GST-exclusive QST base
47
+ const r = calculateCaSalesTax({
48
+ supplyType: 'goods', deliveryProvince: 'QC',
49
+ category: 'STANDARD', amountMinor: 1_000_00,
50
+ });
51
+ // r.legs → [{ tax:'GST', authority:'CRA', … }, { tax:'QST', authority:'RQ', … }]
52
+
53
+ // Period close — post the GST34 through your ledger
54
+ import { wireTaxToLedger } from '@classytic/tax-core';
55
+ import { gst34Engine, gst34LedgerAdapter } from '@classytic/ca-tax';
56
+ const postReturn = wireTaxToLedger(gst34Engine, gst34LedgerAdapter, engine.repositories.journalEntries);
57
+ ```
58
+
59
+ ## Deliberately out of scope
60
+
61
+ **Transmission.** The engine renders the filing payload; sending it is a host
62
+ concern, and in two of three jurisdictions the wire format is not public. Alberta
63
+ publishes its WSDL and response codes, so AT1 transmission is implementable. CRA's
64
+ certified CIF schema and Revenu Québec's ImpôtNet element names are released only
65
+ through their software-certification programmes — so both renderers produce a
66
+ clearly-labelled draft rather than pretending otherwise.
67
+
68
+ **Québec's small business deduction** is computed on form CO-771, which applies a
69
+ paid-hours test with no federal equivalent. Not inferable from the T2.
70
+
71
+ Also out: Quick Method (NS post-cut cells await RC4058 verification), T1 and
72
+ payroll, the Bill C-4 first-time-homebuyer GST rebate, provincial PST returns.
73
+
74
+ ESM only · Node ≥ 20 · integer cents · effective-dated with provenance · MIT
75
+
76
+ ## Trademark
77
+
78
+ MIT-licensed code. "Classytic"/"arc" names + logos are trademarks of Classytic LLC — see [TRADEMARK.md](TRADEMARK.md).
@@ -0,0 +1,2 @@
1
+ import { $ as SCHEDULE_4_CARRYBACK_YEARS, $t as AT1_BALANCE_LINE, A as SCHEDULE_21_BUSINESS_CREDIT_LINE, At as AT1_SCHEDULE_21, B as SCHEDULE_8_TERMINAL_LOSS_LINE, Bt as DispositionCategory, C as SCHEDULE_31_ENHANCED_SRED_RATE, Ct as CO17_TAX_PAYABLE_BOX, D as T2_SCHEDULE_24, Dt as AT1_IEG_MAX_EXPENDITURE, E as SCHEDULE_24_OPERATION_TYPE_LINE, Et as AT1_IEG_JACKET_LINE, F as T2_SCHEDULE_13, Ft as AT1_SCHEDULE_20_POOLS, G as DispositionGrid, Gt as AT1_SCHEDULE_16_CARRYFORWARD_LINE, H as SCHEDULE_7_ADJUSTED_AII_LINE, Ht as AT1_SCHEDULE_17_RESERVES, I as CcaColumn, It as DonationPool, J as AllocationJurisdiction, Jt as AlbertaCcaColumn, K as SCHEDULE_6_GRIDS, Kt as AT1_SCHEDULE_13, L as SCHEDULE_8_CCA_LINE, Lt as AT1_SCHEDULE_18, M as T2_SCHEDULE_21, Mt as AlbertaLossPool, N as ReserveRow, Nt as AT1_DONATION_CARRYFORWARD_YEARS, O as SCHEDULE_23_GROUP_BUSINESS_LIMIT, Ot as AT1_IEG_PRIOR_YEARS, P as SCHEDULE_13_RESERVE_ROWS, Pt as AT1_SCHEDULE_20, Q as T2_SCHEDULE_5, Qt as AT1_BALANCE_CREDIT_LINES, R as SCHEDULE_8_COLUMNS, Rt as AT1_SCHEDULE_18_CATEGORIES, S as T2_SCHEDULE_33, St as CO17_TAXABLE_INCOME_BOX, T as T2_SCHEDULE_31, Tt as AT1_IEG_ENHANCED_RATE, U as SCHEDULE_7_PASSIVE_INCOME_THRESHOLD, Ut as AlbertaReserveKind, V as T2_SCHEDULE_8, Vt as AT1_SCHEDULE_17, W as T2_SCHEDULE_7, Wt as AT1_SCHEDULE_16, X as SCHEDULE_5_REVENUE_OFFSET, Xt as AT1_SCHEDULE_12_PAIRS, Y as SCHEDULE_5_JURISDICTIONS, Yt as AT1_SCHEDULE_12, Z as SCHEDULE_5_SALARIES_OFFSET, Zt as AlbertaReconcilingPair, _ as SCHEDULE_50_DISCLOSURE_THRESHOLD, _t as T2_SMALL_BUSINESS_DEDUCTION_RATE, a as getField, an as FormFieldRequirement, at as T2_SCHEDULE_3, b as T2_SCHEDULE_43, bt as CO17_QUEBEC_PROPORTION_BOX, c as CaptionRow, cn as FormLineRef, ct as T2_SCHEDULE_2, d as buildFields, dn as LineNumberScheme, dt as SCHEDULE_1_TOTAL_ADDITIONS_LINE, en as AT1_JACKET, et as SCHEDULE_4_LPP_CARRYFORWARD_YEARS, f as T2_SCHEDULE_130, fn as fieldsInSection, ft as SCHEDULE_1_TOTAL_DEDUCTIONS_LINE, g as T2_SCHEDULE_53, gn as validateFormDefinition, gt as T2_NET_INCOME_FOR_TAX_LINE, h as SCHEDULE_53_GENERAL_RATE_FACTOR, hn as isEnterableLine, ht as T2_JACKET, i as formsForProgram, in as FormFieldKind, it as SCHEDULE_3_TAXABLE_PAID_LINE, j as SCHEDULE_21_NON_BUSINESS_CREDIT_LINE, jt as AT1_SCHEDULE_21_POOLS, k as T2_SCHEDULE_23, kt as AT1_SCHEDULE_29, l as LineBand, ln as FormProvenance, lt as SCHEDULE_1_LINES, m as SCHEDULE_53_CLOSING_GRIP_LINE, mn as inputFields, mt as T2_BASE_PART_I_RATE, n as describeLine, nn as FormDefinition, nt as T2_SCHEDULE_4, o as getForm, on as FormFieldRole, ot as SCHEDULE_2_CARRYFORWARD_YEARS, p as T2_SCHEDULE_55, pn as indexByLine, pt as T2_SCHEDULE_1, q as T2_SCHEDULE_6, qt as AT1_SCHEDULE_13_COLUMNS, r as findBrokenLinks, rn as FormField, rt as SCHEDULE_3_ELIGIBLE_PAID_LINE, s as BuildFieldsSpec, sn as FormFieldSide, st as SCHEDULE_2_CHARITABLE_CURRENT_LINE, t as FORMS, tn as AT1_TAX_PAYABLE_LINE, tt as SCHEDULE_4_NON_CAPITAL_CARRYFORWARD_YEARS, u as UnclassifiedLineError, un as FormSection, ut as SCHEDULE_1_LINE_BY_NUMBER, v as T2_SCHEDULE_50, vt as T2_TAXABLE_INCOME_LINE, w as SCHEDULE_31_GENERAL_SRED_RATE, wt as AT1_IEG_BASE_RATE, x as SCHEDULE_33_TAXABLE_CAPITAL_IN_CANADA_LINE, xt as CO17_RETURN, y as SCHEDULE_43_DIVIDEND_ALLOWANCE, yt as T2_TOTAL_TAX_PAYABLE_LINE, z as SCHEDULE_8_RECAPTURE_LINE, zt as AT1_SECTION_34_2_GROSS_UP } from "../index.mjs";
2
+ export { AT1_BALANCE_CREDIT_LINES, AT1_BALANCE_LINE, AT1_DONATION_CARRYFORWARD_YEARS, AT1_IEG_BASE_RATE, AT1_IEG_ENHANCED_RATE, AT1_IEG_JACKET_LINE, AT1_IEG_MAX_EXPENDITURE, AT1_IEG_PRIOR_YEARS, AT1_JACKET, AT1_SCHEDULE_12, AT1_SCHEDULE_12_PAIRS, AT1_SCHEDULE_13, AT1_SCHEDULE_13_COLUMNS, AT1_SCHEDULE_16, AT1_SCHEDULE_16_CARRYFORWARD_LINE, AT1_SCHEDULE_17, AT1_SCHEDULE_17_RESERVES, AT1_SCHEDULE_18, AT1_SCHEDULE_18_CATEGORIES, AT1_SCHEDULE_20, AT1_SCHEDULE_20_POOLS, AT1_SCHEDULE_21, AT1_SCHEDULE_21_POOLS, AT1_SCHEDULE_29, AT1_SECTION_34_2_GROSS_UP, AT1_TAX_PAYABLE_LINE, type AlbertaCcaColumn, type AlbertaLossPool, type AlbertaReconcilingPair, type AlbertaReserveKind, type AllocationJurisdiction, type BuildFieldsSpec, CO17_QUEBEC_PROPORTION_BOX, CO17_RETURN, CO17_TAXABLE_INCOME_BOX, CO17_TAX_PAYABLE_BOX, type CaptionRow, type CcaColumn, type DispositionCategory, type DispositionGrid, type DonationPool, FORMS, type FormDefinition, type FormField, type FormFieldKind, type FormFieldRequirement, type FormFieldRole, type FormFieldSide, type FormLineRef, type FormProvenance, type FormSection, type LineBand, type LineNumberScheme, type ReserveRow, SCHEDULE_13_RESERVE_ROWS, SCHEDULE_1_LINES, SCHEDULE_1_LINE_BY_NUMBER, SCHEDULE_1_TOTAL_ADDITIONS_LINE, SCHEDULE_1_TOTAL_DEDUCTIONS_LINE, SCHEDULE_21_BUSINESS_CREDIT_LINE, SCHEDULE_21_NON_BUSINESS_CREDIT_LINE, SCHEDULE_23_GROUP_BUSINESS_LIMIT, SCHEDULE_24_OPERATION_TYPE_LINE, SCHEDULE_2_CARRYFORWARD_YEARS, SCHEDULE_2_CHARITABLE_CURRENT_LINE, SCHEDULE_31_ENHANCED_SRED_RATE, SCHEDULE_31_GENERAL_SRED_RATE, SCHEDULE_33_TAXABLE_CAPITAL_IN_CANADA_LINE, SCHEDULE_3_ELIGIBLE_PAID_LINE, SCHEDULE_3_TAXABLE_PAID_LINE, SCHEDULE_43_DIVIDEND_ALLOWANCE, SCHEDULE_4_CARRYBACK_YEARS, SCHEDULE_4_LPP_CARRYFORWARD_YEARS, SCHEDULE_4_NON_CAPITAL_CARRYFORWARD_YEARS, SCHEDULE_50_DISCLOSURE_THRESHOLD, SCHEDULE_53_CLOSING_GRIP_LINE, SCHEDULE_53_GENERAL_RATE_FACTOR, SCHEDULE_5_JURISDICTIONS, SCHEDULE_5_REVENUE_OFFSET, SCHEDULE_5_SALARIES_OFFSET, SCHEDULE_6_GRIDS, SCHEDULE_7_ADJUSTED_AII_LINE, SCHEDULE_7_PASSIVE_INCOME_THRESHOLD, SCHEDULE_8_CCA_LINE, SCHEDULE_8_COLUMNS, SCHEDULE_8_RECAPTURE_LINE, SCHEDULE_8_TERMINAL_LOSS_LINE, T2_BASE_PART_I_RATE, T2_JACKET, T2_NET_INCOME_FOR_TAX_LINE, T2_SCHEDULE_1, T2_SCHEDULE_13, T2_SCHEDULE_130, T2_SCHEDULE_2, T2_SCHEDULE_21, T2_SCHEDULE_23, T2_SCHEDULE_24, T2_SCHEDULE_3, T2_SCHEDULE_31, T2_SCHEDULE_33, T2_SCHEDULE_4, T2_SCHEDULE_43, T2_SCHEDULE_5, T2_SCHEDULE_50, T2_SCHEDULE_53, T2_SCHEDULE_55, T2_SCHEDULE_6, T2_SCHEDULE_7, T2_SCHEDULE_8, T2_SMALL_BUSINESS_DEDUCTION_RATE, T2_TAXABLE_INCOME_LINE, T2_TOTAL_TAX_PAYABLE_LINE, UnclassifiedLineError, buildFields, describeLine, fieldsInSection, findBrokenLinks, formsForProgram, getField, getForm, indexByLine, inputFields, isEnterableLine, validateFormDefinition };
@@ -0,0 +1,2 @@
1
+ import { $ as SCHEDULE_2_CARRYFORWARD_YEARS, A as SCHEDULE_8_CCA_LINE, At as AT1_DONATION_CARRYFORWARD_YEARS, B as SCHEDULE_5_JURISDICTIONS, Bt as AT1_SCHEDULE_13, C as SCHEDULE_23_GROUP_BUSINESS_LIMIT, Ct as AT1_IEG_ENHANCED_RATE, D as T2_SCHEDULE_21, Dt as AT1_SCHEDULE_29, E as SCHEDULE_21_NON_BUSINESS_CREDIT_LINE, Et as AT1_IEG_PRIOR_YEARS, F as SCHEDULE_7_ADJUSTED_AII_LINE, Ft as AT1_SECTION_34_2_GROSS_UP, G as SCHEDULE_4_LPP_CARRYFORWARD_YEARS, Gt as AT1_BALANCE_LINE, H as SCHEDULE_5_SALARIES_OFFSET, Ht as AT1_SCHEDULE_12, I as SCHEDULE_7_PASSIVE_INCOME_THRESHOLD, It as AT1_SCHEDULE_17, J as UnclassifiedLineError, K as SCHEDULE_4_NON_CAPITAL_CARRYFORWARD_YEARS, Kt as AT1_JACKET, L as T2_SCHEDULE_7, Lt as AT1_SCHEDULE_17_RESERVES, M as SCHEDULE_8_RECAPTURE_LINE, Mt as AT1_SCHEDULE_20_POOLS, N as SCHEDULE_8_TERMINAL_LOSS_LINE, Nt as AT1_SCHEDULE_18, O as SCHEDULE_13_RESERVE_ROWS, Ot as AT1_SCHEDULE_21, P as T2_SCHEDULE_8, Pt as AT1_SCHEDULE_18_CATEGORIES, Q as T2_SCHEDULE_3, R as SCHEDULE_6_GRIDS, Rt as AT1_SCHEDULE_16, S as T2_SCHEDULE_24, St as AT1_IEG_BASE_RATE, T as SCHEDULE_21_BUSINESS_CREDIT_LINE, Tt as AT1_IEG_MAX_EXPENDITURE, U as T2_SCHEDULE_5, Ut as AT1_SCHEDULE_12_PAIRS, V as SCHEDULE_5_REVENUE_OFFSET, Vt as AT1_SCHEDULE_13_COLUMNS, W as SCHEDULE_4_CARRYBACK_YEARS, Wt as AT1_BALANCE_CREDIT_LINES, X as SCHEDULE_3_ELIGIBLE_PAID_LINE, Y as buildFields, Z as SCHEDULE_3_TAXABLE_PAID_LINE, _ as T2_SCHEDULE_33, _t as T2_TOTAL_TAX_PAYABLE_LINE, a as getField, at as SCHEDULE_1_TOTAL_DEDUCTIONS_LINE, b as T2_SCHEDULE_31, bt as CO17_TAXABLE_INCOME_BOX, c as T2_SCHEDULE_55, ct as indexByLine, d as T2_SCHEDULE_53, dt as validateFormDefinition, et as SCHEDULE_2_CHARITABLE_CURRENT_LINE, f as SCHEDULE_50_DISCLOSURE_THRESHOLD, ft as T2_BASE_PART_I_RATE, g as SCHEDULE_33_TAXABLE_CAPITAL_IN_CANADA_LINE, gt as T2_TAXABLE_INCOME_LINE, h as T2_SCHEDULE_43, ht as T2_SMALL_BUSINESS_DEDUCTION_RATE, i as formsForProgram, it as SCHEDULE_1_TOTAL_ADDITIONS_LINE, j as SCHEDULE_8_COLUMNS, jt as AT1_SCHEDULE_20, k as T2_SCHEDULE_13, kt as AT1_SCHEDULE_21_POOLS, l as SCHEDULE_53_CLOSING_GRIP_LINE, lt as inputFields, m as SCHEDULE_43_DIVIDEND_ALLOWANCE, mt as T2_NET_INCOME_FOR_TAX_LINE, n as describeLine, nt as SCHEDULE_1_LINES, o as getForm, ot as T2_SCHEDULE_1, p as T2_SCHEDULE_50, pt as T2_JACKET, q as T2_SCHEDULE_4, qt as AT1_TAX_PAYABLE_LINE, r as findBrokenLinks, rt as SCHEDULE_1_LINE_BY_NUMBER, s as T2_SCHEDULE_130, st as fieldsInSection, t as FORMS, tt as T2_SCHEDULE_2, u as SCHEDULE_53_GENERAL_RATE_FACTOR, ut as isEnterableLine, v as SCHEDULE_31_ENHANCED_SRED_RATE, vt as CO17_QUEBEC_PROPORTION_BOX, w as T2_SCHEDULE_23, wt as AT1_IEG_JACKET_LINE, x as SCHEDULE_24_OPERATION_TYPE_LINE, xt as CO17_TAX_PAYABLE_BOX, y as SCHEDULE_31_GENERAL_SRED_RATE, yt as CO17_RETURN, z as T2_SCHEDULE_6, zt as AT1_SCHEDULE_16_CARRYFORWARD_LINE } from "../forms.mjs";
2
+ export { AT1_BALANCE_CREDIT_LINES, AT1_BALANCE_LINE, AT1_DONATION_CARRYFORWARD_YEARS, AT1_IEG_BASE_RATE, AT1_IEG_ENHANCED_RATE, AT1_IEG_JACKET_LINE, AT1_IEG_MAX_EXPENDITURE, AT1_IEG_PRIOR_YEARS, AT1_JACKET, AT1_SCHEDULE_12, AT1_SCHEDULE_12_PAIRS, AT1_SCHEDULE_13, AT1_SCHEDULE_13_COLUMNS, AT1_SCHEDULE_16, AT1_SCHEDULE_16_CARRYFORWARD_LINE, AT1_SCHEDULE_17, AT1_SCHEDULE_17_RESERVES, AT1_SCHEDULE_18, AT1_SCHEDULE_18_CATEGORIES, AT1_SCHEDULE_20, AT1_SCHEDULE_20_POOLS, AT1_SCHEDULE_21, AT1_SCHEDULE_21_POOLS, AT1_SCHEDULE_29, AT1_SECTION_34_2_GROSS_UP, AT1_TAX_PAYABLE_LINE, CO17_QUEBEC_PROPORTION_BOX, CO17_RETURN, CO17_TAXABLE_INCOME_BOX, CO17_TAX_PAYABLE_BOX, FORMS, SCHEDULE_13_RESERVE_ROWS, SCHEDULE_1_LINES, SCHEDULE_1_LINE_BY_NUMBER, SCHEDULE_1_TOTAL_ADDITIONS_LINE, SCHEDULE_1_TOTAL_DEDUCTIONS_LINE, SCHEDULE_21_BUSINESS_CREDIT_LINE, SCHEDULE_21_NON_BUSINESS_CREDIT_LINE, SCHEDULE_23_GROUP_BUSINESS_LIMIT, SCHEDULE_24_OPERATION_TYPE_LINE, SCHEDULE_2_CARRYFORWARD_YEARS, SCHEDULE_2_CHARITABLE_CURRENT_LINE, SCHEDULE_31_ENHANCED_SRED_RATE, SCHEDULE_31_GENERAL_SRED_RATE, SCHEDULE_33_TAXABLE_CAPITAL_IN_CANADA_LINE, SCHEDULE_3_ELIGIBLE_PAID_LINE, SCHEDULE_3_TAXABLE_PAID_LINE, SCHEDULE_43_DIVIDEND_ALLOWANCE, SCHEDULE_4_CARRYBACK_YEARS, SCHEDULE_4_LPP_CARRYFORWARD_YEARS, SCHEDULE_4_NON_CAPITAL_CARRYFORWARD_YEARS, SCHEDULE_50_DISCLOSURE_THRESHOLD, SCHEDULE_53_CLOSING_GRIP_LINE, SCHEDULE_53_GENERAL_RATE_FACTOR, SCHEDULE_5_JURISDICTIONS, SCHEDULE_5_REVENUE_OFFSET, SCHEDULE_5_SALARIES_OFFSET, SCHEDULE_6_GRIDS, SCHEDULE_7_ADJUSTED_AII_LINE, SCHEDULE_7_PASSIVE_INCOME_THRESHOLD, SCHEDULE_8_CCA_LINE, SCHEDULE_8_COLUMNS, SCHEDULE_8_RECAPTURE_LINE, SCHEDULE_8_TERMINAL_LOSS_LINE, T2_BASE_PART_I_RATE, T2_JACKET, T2_NET_INCOME_FOR_TAX_LINE, T2_SCHEDULE_1, T2_SCHEDULE_13, T2_SCHEDULE_130, T2_SCHEDULE_2, T2_SCHEDULE_21, T2_SCHEDULE_23, T2_SCHEDULE_24, T2_SCHEDULE_3, T2_SCHEDULE_31, T2_SCHEDULE_33, T2_SCHEDULE_4, T2_SCHEDULE_43, T2_SCHEDULE_5, T2_SCHEDULE_50, T2_SCHEDULE_53, T2_SCHEDULE_55, T2_SCHEDULE_6, T2_SCHEDULE_7, T2_SCHEDULE_8, T2_SMALL_BUSINESS_DEDUCTION_RATE, T2_TAXABLE_INCOME_LINE, T2_TOTAL_TAX_PAYABLE_LINE, UnclassifiedLineError, buildFields, describeLine, fieldsInSection, findBrokenLinks, formsForProgram, getField, getForm, indexByLine, inputFields, isEnterableLine, validateFormDefinition };