@classytic/ca-tax 0.0.1 → 0.0.2
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 +62 -0
- package/dist/forms.mjs +313 -18
- package/dist/index.d.mts +3 -3
- package/dist/index.mjs +2 -2
- package/dist/index3.d.mts +380 -94
- package/dist/index4.d.mts +2 -2
- package/dist/t2/index.d.mts +2 -2
- package/dist/t2/index.mjs +2 -2
- package/dist/t2.mjs +261 -45
- package/package.json +1 -1
package/dist/index3.d.mts
CHANGED
|
@@ -1422,31 +1422,79 @@ declare function computeDonationMaximum(input: DonationMaximumInput): DonationMa
|
|
|
1422
1422
|
* AT1 Schedule 29 — Alberta Innovation Employment Grant (IEG). AT1 line 129.
|
|
1423
1423
|
*
|
|
1424
1424
|
* A refundable grant on eligible R&D (SR&ED) carried out in Alberta:
|
|
1425
|
-
* - 8%
|
|
1426
|
-
*
|
|
1427
|
-
*
|
|
1428
|
-
*
|
|
1429
|
-
*
|
|
1430
|
-
*
|
|
1431
|
-
*
|
|
1432
|
-
*
|
|
1433
|
-
*
|
|
1434
|
-
*
|
|
1435
|
-
*
|
|
1436
|
-
*
|
|
1437
|
-
*
|
|
1438
|
-
*
|
|
1425
|
+
* - line 110: 8% of the CAPPED eligible expenditures (the full amount, not
|
|
1426
|
+
* just the portion below base)
|
|
1427
|
+
* - line 112 (non-associated): 12% of the increment ABOVE the base level of
|
|
1428
|
+
* spending — base level = average of the prior two years'
|
|
1429
|
+
* eligible Alberta expenditures (associated group aggregated —
|
|
1430
|
+
* pass all members' figures)
|
|
1431
|
+
* - line 125 (associated, via a filed agreement): 12% of the LESSER of the
|
|
1432
|
+
* expenditure limit and the agreement's allocated allowed
|
|
1433
|
+
* amount — see `computeIegAgreement` in `schedule29-ieg-group.ts`.
|
|
1434
|
+
* A genuinely different formula, not a variant of 112's — it does
|
|
1435
|
+
* not reference actual spending at all once the agreement exists.
|
|
1436
|
+
*
|
|
1437
|
+
* Eligible expenditures are capped at a $4,000,000 annual limit (shared across an
|
|
1438
|
+
* associated group; NOT reduced by taxable capital — see below). Pure, integer
|
|
1439
|
+
* whole dollars.
|
|
1440
|
+
*
|
|
1441
|
+
* ── The taxable-capital grind applies to the CREDIT, not the limit ──────────
|
|
1442
|
+
*
|
|
1443
|
+
* A prior version of this module reduced the $4,000,000 expenditure limit itself
|
|
1444
|
+
* on a straight-line taxable-capital grind ($10M → $50M) — modelled on the
|
|
1445
|
+
* federal SBD grind's shape, but wrong for this form. Rendering the live,
|
|
1446
|
+
* TRA-certified Schedule 29 (`research/sources/tra-forms/pdf/AT1SCH29-*.pdf`,
|
|
1447
|
+
* Rev. 2026-06 — cross-checked against AuraTax's live rendering of the same
|
|
1448
|
+
* schedule, `research/validation/auratax/2026-08-25-at1-schedule1-royalty/`)
|
|
1449
|
+
* shows the grind lives at **line 128**, a REDUCTION FACTOR from 0 to 1:
|
|
1450
|
+
*
|
|
1451
|
+
* line 128 = (($40,000,000 − (line 126 − $10,000,000)) / $40,000,000)
|
|
1452
|
+
* (enter 1 if taxable capital ≤ $10,000,000)
|
|
1453
|
+
* line 130 = (line 110 + (line 112 or line 125)) × line 128
|
|
1454
|
+
*
|
|
1455
|
+
* i.e. the credit is computed in FULL against the unreduced $4M limit, and ONLY
|
|
1456
|
+
* THEN scaled by the taxable-capital factor — not the limit ground down first
|
|
1457
|
+
* and the credit computed against the smaller number. The two are NOT
|
|
1458
|
+
* equivalent except at the band's endpoints (TC ≤ $10M ⇒ both give the full
|
|
1459
|
+
* credit; TC ≥ $50M ⇒ both give nil).
|
|
1460
|
+
*
|
|
1461
|
+
* ── One thing not yet resolved, and worth raising with TRA directly ─────────
|
|
1462
|
+
*
|
|
1463
|
+
* The AT1 jacket's OWN business-rule table (`research/sources/tra-spec/
|
|
1464
|
+
* AT1-Chapter3-2025.2-full.txt`, version 2025.2 / August 2025 — ten months
|
|
1465
|
+
* OLDER than the Schedule 29 PDF above) states jacket line 129 as
|
|
1466
|
+
* `(029110 + 029112 X 029128) minus 029132` — multiplying ONLY line 112 by the
|
|
1467
|
+
* factor, not the sum of 110 and 112. That contradicts Schedule 29's own
|
|
1468
|
+
* printed caption, which the certified oracle (AuraTax) also renders as
|
|
1469
|
+
* "sum then multiply". This module follows the newer, doubly-corroborated
|
|
1470
|
+
* Schedule 29 form. Confirm with TRA before relying on this for an associated
|
|
1471
|
+
* corporation with taxable capital between $10M and $50M — the disagreement
|
|
1472
|
+
* changes the filed dollar figure.
|
|
1473
|
+
*
|
|
1474
|
+
* ── The formal Agreement (line 125) ──────────────────────────────────────────
|
|
1475
|
+
*
|
|
1476
|
+
* TRA's Test Case 3 (four associated corporations, `research/sources/
|
|
1477
|
+
* tra-test-cases/Alberta Test Case 3 - Fall 2025.txt`) is the associated path:
|
|
1478
|
+
* pass `associatedAllowedAmount` (line 325 of `computeIegAgreement`'s result)
|
|
1479
|
+
* and this function uses line 125's formula instead of line 112's. Day-of-year
|
|
1480
|
+
* proration of the $4M pool for a short or long taxation year (lines 104/108/
|
|
1481
|
+
* 206/208) is modelled in `computeIegAgreement`, not here — this function
|
|
1482
|
+
* takes the already-allocated `expenditureLimit` as an input.
|
|
1439
1483
|
*/
|
|
1440
1484
|
declare const IEG_2024: Readonly<{
|
|
1441
1485
|
BASE_RATE: 0.08;
|
|
1442
|
-
ENHANCED_RATE: 0.
|
|
1486
|
+
ENHANCED_RATE: 0.12;
|
|
1443
1487
|
MAX_EXPENDITURE: 4000000;
|
|
1444
1488
|
TC_GRIND_LOWER: 10000000;
|
|
1445
1489
|
TC_GRIND_UPPER: 50000000;
|
|
1446
1490
|
PRIOR_YEARS: 2;
|
|
1447
1491
|
}>;
|
|
1448
|
-
/**
|
|
1449
|
-
|
|
1492
|
+
/**
|
|
1493
|
+
* The line-128 reduction factor: 1 at or below $10M taxable capital, straight-
|
|
1494
|
+
* line down to 0 at $50M. Multiplies the COMBINED base + enhanced credit at
|
|
1495
|
+
* line 130 — it does not touch the $4,000,000 expenditure limit.
|
|
1496
|
+
*/
|
|
1497
|
+
declare function computeIegReductionFactor(taxableCapital: number, lower?: 10000000, upper?: 50000000): number;
|
|
1450
1498
|
/**
|
|
1451
1499
|
* Base level of spending = average of the prior years' eligible Alberta
|
|
1452
1500
|
* expenditures. Pass every associated-group member's prior-year figures; the
|
|
@@ -1458,20 +1506,264 @@ interface IegInput {
|
|
|
1458
1506
|
eligibleExpenditures: number;
|
|
1459
1507
|
/** Base level of spending (average of prior two years, group-aggregated). */
|
|
1460
1508
|
baseAmount: number;
|
|
1461
|
-
/** Allocated eligible-expenditure limit (default $4M; pass the
|
|
1509
|
+
/** Allocated eligible-expenditure limit (default $4M; pass the allocated share). */
|
|
1462
1510
|
expenditureLimit?: number;
|
|
1511
|
+
/**
|
|
1512
|
+
* Line 126 — taxable capital employed in Canada (this corporation's alone if
|
|
1513
|
+
* not associated with anyone for IEG purposes; the associated GROUP's total
|
|
1514
|
+
* otherwise). Drives the line-128 reduction factor. Defaults to 0 — i.e. no
|
|
1515
|
+
* grind — which is correct for a corporation that has no associated group and
|
|
1516
|
+
* omits this only because it genuinely has none, not as a shortcut.
|
|
1517
|
+
*/
|
|
1518
|
+
taxableCapital?: number;
|
|
1519
|
+
/**
|
|
1520
|
+
* Line 132 — recapture where IEG-funded property was sold or converted to
|
|
1521
|
+
* commercial use in the year. Omitted (not defaulted to 0 in the type) so a
|
|
1522
|
+
* caller who has not computed a recapture figure cannot mistake "omitted" for
|
|
1523
|
+
* "confirmed nil".
|
|
1524
|
+
*/
|
|
1525
|
+
recapture?: number;
|
|
1526
|
+
/**
|
|
1527
|
+
* Line 325 — this corporation's allocated allowed amount from a filed
|
|
1528
|
+
* Agreement Among Associated Corporations (`computeIegAgreement`). Presence,
|
|
1529
|
+
* not truthiness, selects the formula: supplying it (even as 0) switches
|
|
1530
|
+
* line 112's "capped spending less base" to line 125's "lesser of the limit
|
|
1531
|
+
* and this figure" — the ASSOCIATED path. Omit entirely for a corporation
|
|
1532
|
+
* with no such agreement.
|
|
1533
|
+
*/
|
|
1534
|
+
associatedAllowedAmount?: number;
|
|
1463
1535
|
}
|
|
1464
1536
|
interface IegResult {
|
|
1465
1537
|
cappedExpenditures: number;
|
|
1466
1538
|
baseAmount: number;
|
|
1467
1539
|
incrementalExpenditures: number;
|
|
1540
|
+
/** Line 110 — 8% of the capped expenditures. */
|
|
1468
1541
|
creditAtBaseRate: number;
|
|
1542
|
+
/** Line 112 (non-associated) or line 125 (associated) — 12% either way. */
|
|
1469
1543
|
creditAtEnhancedRate: number;
|
|
1470
|
-
/**
|
|
1544
|
+
/** Which formula produced `creditAtEnhancedRate` — for the schedule and the audit trail. */
|
|
1545
|
+
enhancedRateBasis: 'non-associated' | 'associated';
|
|
1546
|
+
/** Line 126, as supplied. */
|
|
1547
|
+
taxableCapital: number;
|
|
1548
|
+
/** Line 128 — the taxable-capital reduction factor, 0 to 1. */
|
|
1549
|
+
reductionFactor: number;
|
|
1550
|
+
/** Line 130 — (110 + 112) × line 128, before recapture. */
|
|
1551
|
+
grossIeg: number;
|
|
1552
|
+
/** Line 132, as supplied (0 when omitted). */
|
|
1553
|
+
recapture: number;
|
|
1554
|
+
/** Line 134 — NET IEG. Carried to AT1 page 2, line 129. */
|
|
1471
1555
|
ieg: number;
|
|
1472
1556
|
}
|
|
1473
1557
|
declare function computeIeg(input: IegInput): IegResult;
|
|
1474
1558
|
//#endregion
|
|
1559
|
+
//#region src/t2/at1/schedules/schedule29-ieg-group.d.ts
|
|
1560
|
+
/** One associated corporation's contribution to the group figures. */
|
|
1561
|
+
interface IegGroupMember {
|
|
1562
|
+
/** Corporation name or identifier, for the allocation schedule. */
|
|
1563
|
+
name: string;
|
|
1564
|
+
/**
|
|
1565
|
+
* Taxable capital employed in Canada for the member's **last taxation year
|
|
1566
|
+
* ending in the preceding calendar year** (federal Schedule 33 line 690).
|
|
1567
|
+
*/
|
|
1568
|
+
taxableCapital?: number;
|
|
1569
|
+
/**
|
|
1570
|
+
* Eligible Alberta SR&ED expenditures for each of the member's prior two
|
|
1571
|
+
* taxation years. A member with none contributes an empty array, and still
|
|
1572
|
+
* contributes its taxable capital above.
|
|
1573
|
+
*/
|
|
1574
|
+
priorYearAlbertaExpenditures?: readonly number[];
|
|
1575
|
+
}
|
|
1576
|
+
interface IegGroupResult {
|
|
1577
|
+
/** Σ each member's taxable capital — pass to `computeIeg` as `taxableCapital`. */
|
|
1578
|
+
groupTaxableCapital: number;
|
|
1579
|
+
/** The flat $4,000,000 pool shared by the group (not taxable-capital-ground). */
|
|
1580
|
+
groupExpenditureLimit: number;
|
|
1581
|
+
/** Σ every member's prior-year Alberta expenditures. */
|
|
1582
|
+
totalPriorYearExpenditures: number;
|
|
1583
|
+
/** The base level of spending: the total ÷ the number of prior years (2). */
|
|
1584
|
+
groupBaseAmount: number;
|
|
1585
|
+
/** Per-member detail, for the schedule and the audit trail. */
|
|
1586
|
+
members: {
|
|
1587
|
+
name: string;
|
|
1588
|
+
taxableCapital: number;
|
|
1589
|
+
priorYearAlbertaExpenditures: number[];
|
|
1590
|
+
priorYearTotal: number;
|
|
1591
|
+
}[];
|
|
1592
|
+
issues: string[];
|
|
1593
|
+
}
|
|
1594
|
+
/**
|
|
1595
|
+
* The group's taxable capital and base level of spending, from every associated
|
|
1596
|
+
* member's own figures.
|
|
1597
|
+
*
|
|
1598
|
+
* Pass the CLAIMANT as a member too — it is part of its own associated group and
|
|
1599
|
+
* omitting it understates both figures.
|
|
1600
|
+
*/
|
|
1601
|
+
declare function computeIegGroupFigures(members: readonly IegGroupMember[], priorYears?: 2): IegGroupResult;
|
|
1602
|
+
/** One member's share of the ground-down expenditure limit. */
|
|
1603
|
+
interface IegLimitAllocation {
|
|
1604
|
+
name: string;
|
|
1605
|
+
/** The share agreed for this member. */
|
|
1606
|
+
allocated: number;
|
|
1607
|
+
}
|
|
1608
|
+
interface IegAllocationResult {
|
|
1609
|
+
/** The group limit being shared. */
|
|
1610
|
+
groupExpenditureLimit: number;
|
|
1611
|
+
allocations: IegLimitAllocation[];
|
|
1612
|
+
totalAllocated: number;
|
|
1613
|
+
/** Limit not allocated to any member — available but unclaimed. */
|
|
1614
|
+
unallocated: number;
|
|
1615
|
+
issues: string[];
|
|
1616
|
+
}
|
|
1617
|
+
/**
|
|
1618
|
+
* Allocate the ground-down expenditure limit among the associated members.
|
|
1619
|
+
*
|
|
1620
|
+
* The group may allocate as it chooses, but the total cannot exceed the limit.
|
|
1621
|
+
* An over-allocation is **not** silently scaled back — that would quietly change
|
|
1622
|
+
* an agreed split — it is reported as an issue and each member is capped at what
|
|
1623
|
+
* remains, in the order given.
|
|
1624
|
+
*/
|
|
1625
|
+
declare function allocateIegExpenditureLimit(groupExpenditureLimit: number, requested: readonly IegLimitAllocation[]): IegAllocationResult;
|
|
1626
|
+
/** Split the limit evenly, for a group with no agreed allocation. */
|
|
1627
|
+
declare function allocateIegEvenly(groupExpenditureLimit: number, names: readonly string[]): IegAllocationResult;
|
|
1628
|
+
/**
|
|
1629
|
+
* Everything above allocates the $4M pool and computes a group base level
|
|
1630
|
+
* informally. TRA requires more than that when the group is genuinely
|
|
1631
|
+
* associated: a filed AGREEMENT (Schedule 29 page 3) naming every member,
|
|
1632
|
+
* each one's own allocated share, and a group-level "Allowed Amount" that
|
|
1633
|
+
* gates the 12% enhanced rate for the associated path (line 125) — a
|
|
1634
|
+
* DIFFERENT formula from the non-associated one (line 112), not a variant of
|
|
1635
|
+
* it. Read off the live, TRA-certified form
|
|
1636
|
+
* (`research/sources/tra-forms/pdf/AT1SCH29-innovation-employment-grant-TRA14637.pdf`,
|
|
1637
|
+
* Rev. 2026-06, page 3), which prints its own formulas in a Notes block —
|
|
1638
|
+
* this module transcribes them exactly rather than paraphrasing.
|
|
1639
|
+
*
|
|
1640
|
+
* ── Line 125 vs line 112 — a genuinely different formula ────────────────────
|
|
1641
|
+
*
|
|
1642
|
+
* Non-associated (line 112): `(Lesser of 031 and 108) − Base Amount`, then ×12%
|
|
1643
|
+
* — spending capped at the limit, less the base.
|
|
1644
|
+
*
|
|
1645
|
+
* Associated (line 125): `Lesser of 108 or the allocated allowed amount (325)`,
|
|
1646
|
+
* then ×12% — no reference to actual spending at all. The "allowed amount" from
|
|
1647
|
+
* this agreement stands in for it. `computeIeg` in `schedule29-ieg.ts` branches
|
|
1648
|
+
* on whether an agreement result is supplied.
|
|
1649
|
+
*
|
|
1650
|
+
* ── One member's allocated allowed amount (line 268) ────────────────────────
|
|
1651
|
+
*
|
|
1652
|
+
* The form states it as "the least of: line 240, line 267, and the lesser of
|
|
1653
|
+
* [(4,000,000 × days in tax year/365 or 366) or line 031] less base amount" —
|
|
1654
|
+
* three independent caps, taken literally:
|
|
1655
|
+
*
|
|
1656
|
+
* (240) this member's own agreed share of the expenditure limit
|
|
1657
|
+
* (267) this member's own current-year expenditures less its own base
|
|
1658
|
+
* (average of its prior two years) — floored at nil per the form's
|
|
1659
|
+
* own note ("if a calculated amount is negative, ... nil ... on 268")
|
|
1660
|
+
* (C) this member's own day-prorated $4M share (up to 366 days — NOT
|
|
1661
|
+
* capped at 365 the way Schedule 13's proration is; this form's own
|
|
1662
|
+
* note says so explicitly), capped by this member's own current-year
|
|
1663
|
+
* expenditures, less this member's own base
|
|
1664
|
+
*
|
|
1665
|
+
* ── The group Allowed Amount (line 310) ──────────────────────────────────────
|
|
1666
|
+
*
|
|
1667
|
+
* X (275) = Σ every member's current-year eligible expenditures (245)
|
|
1668
|
+
* Y (280) = Σ every member's first-preceding-year expenditures (250)
|
|
1669
|
+
* Z (290) = Σ every member's second-preceding-year expenditures (260)
|
|
1670
|
+
* 310 = X − (Y + Z) / 2
|
|
1671
|
+
*
|
|
1672
|
+
* Two cross-checks the form states as notes, surfaced here as issues rather
|
|
1673
|
+
* than silently enforced: total allocated limit (270) must not exceed the
|
|
1674
|
+
* group's day-prorated maximum (208); total allocated allowed amount (320)
|
|
1675
|
+
* must not exceed the group Allowed Amount (310).
|
|
1676
|
+
*
|
|
1677
|
+
* Whole dollars, pure.
|
|
1678
|
+
*/
|
|
1679
|
+
/** One row of the page-3 allocation table. "Use the first line for the claiming corporation." */
|
|
1680
|
+
interface IegAgreementMember {
|
|
1681
|
+
name: string;
|
|
1682
|
+
federalBusinessNumber?: string;
|
|
1683
|
+
/** 230 — Alberta Corporate Account Number. */
|
|
1684
|
+
albertaCan?: string;
|
|
1685
|
+
/** 235 — this member's own current taxation year end, ISO `YYYY-MM-DD`. */
|
|
1686
|
+
currentTaxationYearEnd?: string;
|
|
1687
|
+
/** 240 — this member's own agreed share of the expenditure limit. */
|
|
1688
|
+
allocatedExpenditureLimit: number;
|
|
1689
|
+
/** 245 — this member's own current-year eligible Alberta expenditures. */
|
|
1690
|
+
currentYearExpenditures: number;
|
|
1691
|
+
/** 250 — this member's own first-preceding-year expenditures. */
|
|
1692
|
+
priorYear1: number;
|
|
1693
|
+
/** 260 — this member's own second-preceding-year expenditures. */
|
|
1694
|
+
priorYear2: number;
|
|
1695
|
+
/** 265 — this member's own taxable capital for the first preceding year. */
|
|
1696
|
+
taxableCapitalPriorYear?: number;
|
|
1697
|
+
/**
|
|
1698
|
+
* Days in THIS member's own current taxation year — feeds the day-prorated
|
|
1699
|
+
* cap in line 268's third component. Defaults to 365 (a full year) when
|
|
1700
|
+
* omitted, matching every other day-proration default in this package.
|
|
1701
|
+
*/
|
|
1702
|
+
daysInTaxYear?: number;
|
|
1703
|
+
}
|
|
1704
|
+
interface IegAgreementMemberResult {
|
|
1705
|
+
name: string;
|
|
1706
|
+
federalBusinessNumber?: string;
|
|
1707
|
+
albertaCan?: string;
|
|
1708
|
+
currentTaxationYearEnd?: string;
|
|
1709
|
+
allocatedExpenditureLimit: number;
|
|
1710
|
+
currentYearExpenditures: number;
|
|
1711
|
+
priorYear1: number;
|
|
1712
|
+
priorYear2: number;
|
|
1713
|
+
taxableCapitalPriorYear: number;
|
|
1714
|
+
/** 267 — line 245 − [(line 250 + line 260) / 2], floored at nil. */
|
|
1715
|
+
individualMaximumAllowedAmount: number;
|
|
1716
|
+
/** 268 — least of 240, 267, and the day-prorated-and-capped-less-base figure. */
|
|
1717
|
+
allocatedAllowedAmount: number;
|
|
1718
|
+
}
|
|
1719
|
+
interface IegAgreementInput {
|
|
1720
|
+
/** 200 — CAN of the associated corporation with the LONGEST taxation year. */
|
|
1721
|
+
longestYearCan: string;
|
|
1722
|
+
/** 202 / 204 — that corporation's own tax year, ISO `YYYY-MM-DD`. */
|
|
1723
|
+
longestYearBegin: string;
|
|
1724
|
+
longestYearEnd: string;
|
|
1725
|
+
/** 206 — days in that longest year. Up to 366 — this form does not cap at 365. */
|
|
1726
|
+
daysInLongestYear: number;
|
|
1727
|
+
/** The full member table. Put the claiming corporation first. */
|
|
1728
|
+
members: readonly IegAgreementMember[];
|
|
1729
|
+
}
|
|
1730
|
+
interface IegAgreementResult {
|
|
1731
|
+
longestYearCan: string;
|
|
1732
|
+
/** 202 / 204, echoed through from the input for filing. */
|
|
1733
|
+
longestYearBegin: string;
|
|
1734
|
+
longestYearEnd: string;
|
|
1735
|
+
daysInLongestYear: number;
|
|
1736
|
+
/** 208 — $4,000,000 × (206 / 365). */
|
|
1737
|
+
maximumExpenditureLimit: number;
|
|
1738
|
+
members: IegAgreementMemberResult[];
|
|
1739
|
+
/** 270 — Σ 240. Should not exceed 208. */
|
|
1740
|
+
totalAllocatedLimit: number;
|
|
1741
|
+
/** 275 — Σ 245 ("X" in the form's own notation). */
|
|
1742
|
+
totalCurrentYearExpenditures: number;
|
|
1743
|
+
/** 280 — Σ 250 ("Y"). */
|
|
1744
|
+
totalPriorYear1: number;
|
|
1745
|
+
/** 290 — Σ 260 ("Z"). */
|
|
1746
|
+
totalPriorYear2: number;
|
|
1747
|
+
/** 300 — Σ 265. */
|
|
1748
|
+
totalTaxableCapitalPriorYear: number;
|
|
1749
|
+
/** 310 — 275 − (280 + 290) / 2. The GROUP Allowed Amount. */
|
|
1750
|
+
groupAllowedAmount: number;
|
|
1751
|
+
/** 320 — Σ 268. Should not exceed 310. */
|
|
1752
|
+
totalAllocatedAllowedAmount: number;
|
|
1753
|
+
/**
|
|
1754
|
+
* 325 — the CLAIMING corporation's own line 268 (first row of `members`).
|
|
1755
|
+
* Feeds `computeIeg`'s `associatedAllowedAmount` for line 125.
|
|
1756
|
+
*/
|
|
1757
|
+
claimantAllocatedAllowedAmount: number;
|
|
1758
|
+
issues: string[];
|
|
1759
|
+
}
|
|
1760
|
+
/**
|
|
1761
|
+
* The formal Agreement Among Associated Corporations. The FIRST entry in
|
|
1762
|
+
* `input.members` must be the claiming corporation — its own line 268 becomes
|
|
1763
|
+
* line 325, which is what actually reaches `computeIeg`.
|
|
1764
|
+
*/
|
|
1765
|
+
declare function computeIegAgreement(input: IegAgreementInput): IegAgreementResult;
|
|
1766
|
+
//#endregion
|
|
1475
1767
|
//#region src/t2/at1/filing/at1-schedule-line-items.d.ts
|
|
1476
1768
|
/** One `Value` element: the nine-digit line item id and its value. */
|
|
1477
1769
|
interface At1ScheduleValue {
|
|
@@ -1521,7 +1813,53 @@ declare function schedule13Values(result: AlbertaSchedule13Result): At1ScheduleD
|
|
|
1521
1813
|
*/
|
|
1522
1814
|
declare function schedule17Values(result: AlbertaSchedule17Result): At1ScheduleData;
|
|
1523
1815
|
declare function schedule18Values(result: AlbertaSchedule18Result): At1ScheduleData;
|
|
1524
|
-
|
|
1816
|
+
/**
|
|
1817
|
+
* Field ids read off the live, TRA-certified form
|
|
1818
|
+
* (`research/sources/tra-forms/pdf/AT1SCH29-*.pdf`, Rev. 2026-06):
|
|
1819
|
+
*
|
|
1820
|
+
* Page 1/2 — the grant itself:
|
|
1821
|
+
* 110 8% of the capped expenditures
|
|
1822
|
+
* 112 12% of the increment above base — the non-associated path. Filed
|
|
1823
|
+
* INSTEAD of 125, never alongside it.
|
|
1824
|
+
* 125 12% of the associated path's allocated allowed amount — filed
|
|
1825
|
+
* instead of 112 when `result.enhancedRateBasis === 'associated'`.
|
|
1826
|
+
* 126 taxable capital the line-128 factor was computed from
|
|
1827
|
+
* 128 the taxable-capital reduction factor, 0 to 1
|
|
1828
|
+
* 130 (110 + 112-or-125) × 128 — the credit before recapture
|
|
1829
|
+
* 132 recapture, only where the caller supplied one
|
|
1830
|
+
* 134 NET IEG — the figure AT1 page 2, line 129 carries forward
|
|
1831
|
+
*
|
|
1832
|
+
* Page 3 — the Agreement Among Associated Corporations, filed only when the
|
|
1833
|
+
* group agreed one (`agreement`, from `computeIegAgreement` in
|
|
1834
|
+
* `schedule29-ieg-group.ts`); omitted entirely for a non-associated claim:
|
|
1835
|
+
* 200/202/204/206/208 the longest-year member's CAN, that member's own
|
|
1836
|
+
* tax year begin/end, days in that year, and the resulting $4M-pool
|
|
1837
|
+
* maximum for the group
|
|
1838
|
+
* Per member, occurrence incrementing in the order given (claimant first):
|
|
1839
|
+
* 220 Federal Business Number, 230 Alberta CAN, 235 current taxation
|
|
1840
|
+
* year end, 240 allocated expenditure limit, 245 current-year
|
|
1841
|
+
* expenditures, 250 prior year 1, 260 prior year 2, 265 taxable capital
|
|
1842
|
+
* (prior year), 267 individual maximum allowed amount, 268 allocated
|
|
1843
|
+
* allowed amount. The form has NO line for the member's NAME — 220 is
|
|
1844
|
+
* the Federal Business Number, confirmed by re-rendering page 3 of the
|
|
1845
|
+
* live form (a prior version of this function filed `name` at 220,
|
|
1846
|
+
* which put free text in a box the form defines as a 9-10 digit account
|
|
1847
|
+
* number; `name` is not transmitted at all, matching the form).
|
|
1848
|
+
* 270/275/280/290/300 Σ 240/245/250/260/265 across every member
|
|
1849
|
+
* 310 the group Allowed Amount — 275 − (280 + 290) / 2
|
|
1850
|
+
* 320 Σ 268
|
|
1851
|
+
* 325 the claiming corporation's own 268 — this is what feeds line 125
|
|
1852
|
+
* above (`associatedAllowedAmount` in `computeIeg`'s input)
|
|
1853
|
+
*
|
|
1854
|
+
* 128 is a RATIO, not a dollar figure — formatted to 6 decimal places, the
|
|
1855
|
+
* same precision `schedule2.ts`'s Reg 402 allocation factor uses. That
|
|
1856
|
+
* precision is this codebase's own convention, not something confirmed
|
|
1857
|
+
* against TRA's certification validator for THIS field; verify before relying
|
|
1858
|
+
* on it for a corporation whose taxable capital sits inside the $10M–$50M
|
|
1859
|
+
* band. See `schedule29-ieg.ts` for why 128 exists and the one unresolved
|
|
1860
|
+
* discrepancy in how 130 is meant to be computed.
|
|
1861
|
+
*/
|
|
1862
|
+
declare function schedule29Values(result: IegResult, agreement?: IegAgreementResult): At1ScheduleData;
|
|
1525
1863
|
/**
|
|
1526
1864
|
* Schedule 12 takes **both** figures side by side, not a difference.
|
|
1527
1865
|
*
|
|
@@ -1788,76 +2126,6 @@ interface AllocationFactorInput {
|
|
|
1788
2126
|
declare const SINGLE_JURISDICTION_ALBERTA_FACTOR = 1;
|
|
1789
2127
|
declare function computeAllocationFactor(input: AllocationFactorInput): number;
|
|
1790
2128
|
//#endregion
|
|
1791
|
-
//#region src/t2/at1/schedules/schedule29-ieg-group.d.ts
|
|
1792
|
-
/** One associated corporation's contribution to the group figures. */
|
|
1793
|
-
interface IegGroupMember {
|
|
1794
|
-
/** Corporation name or identifier, for the allocation schedule. */
|
|
1795
|
-
name: string;
|
|
1796
|
-
/**
|
|
1797
|
-
* Taxable capital employed in Canada for the member's **last taxation year
|
|
1798
|
-
* ending in the preceding calendar year** (federal Schedule 33 line 690).
|
|
1799
|
-
*/
|
|
1800
|
-
taxableCapital?: number;
|
|
1801
|
-
/**
|
|
1802
|
-
* Eligible Alberta SR&ED expenditures for each of the member's prior two
|
|
1803
|
-
* taxation years. A member with none contributes an empty array, and still
|
|
1804
|
-
* contributes its taxable capital above.
|
|
1805
|
-
*/
|
|
1806
|
-
priorYearAlbertaExpenditures?: readonly number[];
|
|
1807
|
-
}
|
|
1808
|
-
interface IegGroupResult {
|
|
1809
|
-
/** Σ each member's taxable capital, driving the grind. */
|
|
1810
|
-
groupTaxableCapital: number;
|
|
1811
|
-
/** The $4,000,000 limit after the taxable-capital grind — shared by the group. */
|
|
1812
|
-
groupExpenditureLimit: number;
|
|
1813
|
-
/** Σ every member's prior-year Alberta expenditures. */
|
|
1814
|
-
totalPriorYearExpenditures: number;
|
|
1815
|
-
/** The base level of spending: the total ÷ the number of prior years (2). */
|
|
1816
|
-
groupBaseAmount: number;
|
|
1817
|
-
/** Per-member detail, for the schedule and the audit trail. */
|
|
1818
|
-
members: {
|
|
1819
|
-
name: string;
|
|
1820
|
-
taxableCapital: number;
|
|
1821
|
-
priorYearAlbertaExpenditures: number[];
|
|
1822
|
-
priorYearTotal: number;
|
|
1823
|
-
}[];
|
|
1824
|
-
issues: string[];
|
|
1825
|
-
}
|
|
1826
|
-
/**
|
|
1827
|
-
* The group's taxable capital and base level of spending, from every associated
|
|
1828
|
-
* member's own figures.
|
|
1829
|
-
*
|
|
1830
|
-
* Pass the CLAIMANT as a member too — it is part of its own associated group and
|
|
1831
|
-
* omitting it understates both figures.
|
|
1832
|
-
*/
|
|
1833
|
-
declare function computeIegGroupFigures(members: readonly IegGroupMember[], priorYears?: 2): IegGroupResult;
|
|
1834
|
-
/** One member's share of the ground-down expenditure limit. */
|
|
1835
|
-
interface IegLimitAllocation {
|
|
1836
|
-
name: string;
|
|
1837
|
-
/** The share agreed for this member. */
|
|
1838
|
-
allocated: number;
|
|
1839
|
-
}
|
|
1840
|
-
interface IegAllocationResult {
|
|
1841
|
-
/** The group limit being shared. */
|
|
1842
|
-
groupExpenditureLimit: number;
|
|
1843
|
-
allocations: IegLimitAllocation[];
|
|
1844
|
-
totalAllocated: number;
|
|
1845
|
-
/** Limit not allocated to any member — available but unclaimed. */
|
|
1846
|
-
unallocated: number;
|
|
1847
|
-
issues: string[];
|
|
1848
|
-
}
|
|
1849
|
-
/**
|
|
1850
|
-
* Allocate the ground-down expenditure limit among the associated members.
|
|
1851
|
-
*
|
|
1852
|
-
* The group may allocate as it chooses, but the total cannot exceed the limit.
|
|
1853
|
-
* An over-allocation is **not** silently scaled back — that would quietly change
|
|
1854
|
-
* an agreed split — it is reported as an issue and each member is capped at what
|
|
1855
|
-
* remains, in the order given.
|
|
1856
|
-
*/
|
|
1857
|
-
declare function allocateIegExpenditureLimit(groupExpenditureLimit: number, requested: readonly IegLimitAllocation[]): IegAllocationResult;
|
|
1858
|
-
/** Split the limit evenly, for a group with no agreed allocation. */
|
|
1859
|
-
declare function allocateIegEvenly(groupExpenditureLimit: number, names: readonly string[]): IegAllocationResult;
|
|
1860
|
-
//#endregion
|
|
1861
2129
|
//#region src/t2/at1/engine/alberta-return.d.ts
|
|
1862
2130
|
interface AlbertaReturnInput {
|
|
1863
2131
|
/** Federal taxable income (from the T2). */
|
|
@@ -1909,11 +2177,27 @@ interface AlbertaReturnInput {
|
|
|
1909
2177
|
*/
|
|
1910
2178
|
group: readonly IegGroupMember[];
|
|
1911
2179
|
/**
|
|
1912
|
-
* This corporation's agreed share of the group's
|
|
1913
|
-
*
|
|
1914
|
-
*
|
|
2180
|
+
* This corporation's agreed share of the group's expenditure limit. Omit it
|
|
2181
|
+
* and the whole limit is allocated here, which is correct only when no other
|
|
2182
|
+
* member is claiming.
|
|
1915
2183
|
*/
|
|
1916
2184
|
allocatedLimit?: number;
|
|
2185
|
+
/**
|
|
2186
|
+
* Line 132 — recapture where property funded by an earlier IEG was sold or
|
|
2187
|
+
* converted to commercial use in the year. Omitted when there is none to
|
|
2188
|
+
* report, not defaulted to 0 — see `IegInput.recapture`.
|
|
2189
|
+
*/
|
|
2190
|
+
recapture?: number;
|
|
2191
|
+
/**
|
|
2192
|
+
* The formal Agreement Among Associated Corporations (Schedule 29 page 3).
|
|
2193
|
+
* Supplying it switches the grant to the ASSOCIATED formula (line 125): the
|
|
2194
|
+
* enhanced-rate credit is 12% of the agreement's allocated allowed amount
|
|
2195
|
+
* instead of 12% of spending above base (line 112). Omit it for a
|
|
2196
|
+
* non-associated claim, or for an associated group that has chosen not to
|
|
2197
|
+
* file the agreement (line 112 still applies, just without an allocated
|
|
2198
|
+
* limit shared by agreement).
|
|
2199
|
+
*/
|
|
2200
|
+
agreement?: IegAgreementInput;
|
|
1917
2201
|
};
|
|
1918
2202
|
}
|
|
1919
2203
|
interface AlbertaReturnResult {
|
|
@@ -1923,6 +2207,8 @@ interface AlbertaReturnResult {
|
|
|
1923
2207
|
albertaTaxPayable: number;
|
|
1924
2208
|
/** The associated-group figures the grant was computed from. */
|
|
1925
2209
|
iegGroup?: IegGroupResult;
|
|
2210
|
+
/** The formal Agreement Among Associated Corporations, when one was filed. */
|
|
2211
|
+
iegAgreement?: IegAgreementResult;
|
|
1926
2212
|
/** Schedule 29 detail. */
|
|
1927
2213
|
ieg?: IegResult;
|
|
1928
2214
|
/**
|
|
@@ -5600,4 +5886,4 @@ interface MpDeductionResult {
|
|
|
5600
5886
|
}
|
|
5601
5887
|
declare function computeMpDeduction(input: MpDeductionInput, rates?: MpDeductionRates): MpDeductionResult;
|
|
5602
5888
|
//#endregion
|
|
5603
|
-
export { QuebecTaxResult as $, AT1_RESERVE_TOTAL_LINES as $a, computeIegGroupFigures as $i, mealsAndEntertainmentAddBack as $n, LossCarrybackInput as $o, Schedule12Adjustment as $r, ItcRecaptureItem as $t, T2CifGifi as A, computeIegBaseAmount as Aa, At1CriticalFieldMissingError as Ai, Schedule4Input as An, Class141AdditionalAllowanceInput as Ao, PartITaxResult as Ar, computeSchedule55 as At, Co17Certification as B, computeSchedule20 as Ba, at1YesNo as Bi, computeSchedule2 as Bn, computeClass13 as Bo, CORP_TAX_RATE_BOOK as Br, computeGrip as Bt, FOREIGN_TAX_CREDIT_GROSS_UP as C, schedule21Values as Ca, formatRsiDate as Ci, Schedule5Result as Cn, computeCcaClass as Co, computeTaxableIncome as Cr, latestRateYear as Cs, computeSchedule101 as Ct, computeT2Settlement as D, IegInput as Da, renderRsiLineItem as Di, ProvincialAllocationInput as Dn, CLASS_14_1_TRANSITIONAL_RATE as Do, CcpcActiveBusinessTaxInput as Dr, normalizeSchedule88 as Dt, T2SettlementResult as E, IEG_2024 as Ea, renderRsiHeader as Ei, PermanentEstablishment as En, CLASS_14_1_MINIMUM_DEDUCTION as Eo, nonCapitalLossApplied as Er, Schedule88Result as Et, T2GifiLine as F, DonationMaximumResult as Fa, albertaBalanceUnpaid as Fi, Part4RdtohResult as Fn, Class14Result as Fo, SbdInput as Fr, Schedule54Input as Ft, co17Engine as G, At1AbilResult as Ga, AlbertaReturnResult as Gi, Schedule1Result as Gn, CCA_RATE_BOOK as Go, computeLossSchedule as Gr, LARGE_CORPORATION_THRESHOLD as Gt, Co17ReturnData as H, AlbertaSchedule18Input as Ha, At1ReturnInput as Hi, Schedule1Line as Hn, computeClass141AdditionalAllowance as Ho, resolveCorpTaxRates as Hr, Schedule43Rates as Ht, renderT2DraftReturn as I, computeDonationMaximum as Ia, assertAt1MandatoryComplete as Ii, REFUNDABLE_PART_I_RATE as In, LeaseholdLayer as Io, SbdResult as Ir, Schedule54Result as It, computeQuebecReturn as J, At1DispositionCategory as Ja, IegGroupMember as Ji, ccaDeduction as Jn, resolveCcaRates as Jo, CEC_DEDUCTION_RATE as Jr, computeTaxableCapital as Jt, QuebecReturnInput as K, At1CategoryResult as Ka, computeAlbertaReturn as Ki, amortizationAddBack as Kn, CcaRateTable as Ko, AlbertaSchedule14Input as Kr, TaxableCapitalInput as Kt, T2ReturnInput as L, AlbertaGiftCarryforward as La, assertAt1TaxPayableReconciles as Li, computePart4Rdtoh as Ln, LeaseholdLayerResult as Lo, computeBusinessLimit as Lr, computeSchedule54 as Lt, T2CifQuestionnaire as M, AT1_DONATION_GAIN_RATE as Ma, At1MandatoryFieldMissingError as Mi, computeSchedule4Losses as Mn, Class14Input as Mo, computePartITax as Mr, LRIP_INVESTMENT_INCOME_FACTOR as Mt, T2CifSettlement as N, AT1_DONATION_INCOME_RATE as Na, At1TaxPayableMismatchError as Ni, PART_IV_RATE as Nn, Class14Property as No, BusinessLimitInput as Nr, LripDividendEvent as Nt, T2CifAddress as O, IegResult as Oa, renderAt1NetFile as Oi, ProvincialAllocationResult as On, Class13Input as Oo, CcpcActiveBusinessTaxResult as Or, Schedule55Input as Ot, T2CifShareholder as P, DonationMaximumInput as Pa, At1TransmitterInfo as Pi, Part4RdtohInput as Pn, Class14PropertyResult as Po, BusinessLimitResult as Pr, LripEventResult as Pt, QuebecTaxInput as Q, AT1_RESERVE_LINES as Qa, allocateIegExpenditureLimit as Qi, incomeTaxProvisionAddBack as Qn, LossCarrybackError as Qo, computeAlbertaSchedule14 as Qr, ITC_RECAPTURE_PERIOD_YEARS as Qt, t2Engine as R, Schedule20Input as Ra, assertCriticalFields as Ri, Schedule2Input as Rn, MAX_LEASEHOLD_PERIODS as Ro, computeSBD as Rr, GripInput as Rt, AdjustedTaxableIncomeResult as S, schedule20Values as Sa, formatRsiAmount as Si, Schedule5Input as Sn, UnsupportedCcaClassError as So, charitableDonationsDeduction as Sr, hasExactRateYear as Ss, Schedule101Result as St, T2SettlementInput as T, schedule2Values as Ta, renderAt1Rsi as Ti, AllocatedProvince as Tn, computeSchedule8 as To, netCapitalLossApplied as Tr, Schedule88Input as Tt, renderCo17DraftReturn as U, AlbertaSchedule18Result as Ua, at1Engine as Ui, Schedule1LineDefect as Un, leaseholdPeriods as Uo, LossScheduleInput as Ur, Schedule43Result as Ut, Co17Identity as V, AT1_DISPOSITION_CATEGORIES as Va, xmlEscape as Vi, Schedule1Input as Vn, computeClass14 as Vo, CorpTaxRates as Vr, Schedule43Input as Vt, Co17ReturnInput as W, At1AbilEntry as Wa, AlbertaReturnInput as Wi, Schedule1NotFileableError as Wn, CCA_DECLINING_BALANCE_RATES_2024 as Wo, LossScheduleResult as Wr, computeSchedule43 as Wt, QuebecEstablishment as X, computeAlbertaSchedule18 as Xa, IegLimitAllocation as Xi, deferredIncomeTaxProvisionAddBack as Xn, LossContinuityResult as Xo, CecIncomeInclusionDetail as Xr, Schedule31Result as Xt, QuebecAllocationResult as Y, SECTION_34_2_GROSS_UP as Ya, IegGroupResult as Yi, computeSchedule1 as Yn, LossContinuityInput as Yo, CEC_INCLUSION_RATE as Yr, Schedule31Input as Yt, computeQuebecAllocationFactor as Z, AT1_RESERVE_KINDS as Za, allocateIegEvenly as Zi, findSchedule1LineDefects as Zn, computeLossContinuity as Zo, cecScheduleAppliesToTaxYear as Zr, computeSchedule31 as Zt, EifelLimitationInput as _, schedule13Values as _a, RSI_WORD_GAP as _i, computeSchedule13 as _n, CcaClassInput as _o, isSchedule5Province as _r, resolveAlbertaTaxRates as _s, FederalT2Input as _t, MpDeductionRates as a, At1ScheduleData as aa, albertaCcaDifference as ai, computeZetm as an, At1ReserveTable as ao, EifelResult as ar, computeAlbertaTax as as, T2_CERTIFICATION_FIXTURES as at, ratioOfPermissibleExpenses as b, schedule18Values as ba, RsiLineItemError as bi, Schedule6Result as bn, Schedule8Entry as bo, TaxableIncomeLine as br, earliestRateYear as bs, FirstReturnEvent as bt, PART_VI_1_DEDUCTION_BANDS as c, Schedule12FilingInput as ca, albertaDispositionAdjustments as ci, BusinessLimitAllocationInput as cn, AlbertaSchedule16Result as co, ProvincialRateChange as cr, AlbertaSbdResult as cs, ConformanceSummary as ct, computePartVI1Deduction as d, Schedule21FilingInput as da, albertaTerminalLossDifference as di, computeBusinessLimitAllocation as dn, AlbertaCcaOverride as do, dayWeightedRate as dr, DayWeightedRateResult as ds, T2LineKey as dt, AllocationFactorInput as ea, Schedule12Input as ei, ItcRecaptureItemResult as en, AlbertaSchedule17Input as eo, recaptureAddBack as er, LossCarrybackResult as es, computeQuebecTax as et, partVI1DeductionMultiple as f, Schedule2FilingInput as fa, computeSchedule12 as fi, Schedule21Input as fn, AlbertaSchedule13ClassResult as fo, PROVINCE_RATES_2024 as fr, GeneralRateBand as fs, T2_LINE_META as ft, EIFEL_TRANSITIONAL_RATIO as g, schedule12Values as ga, RSI_NEGATIVE_PREFIX as gi, ReserveContinuityRow as gn, computeAlbertaSchedule13 as go, ProvincialRate as gr, AlbertaTaxRates as gs, runConformanceSuite as gt, EIFEL_STANDARD_RATIO_FROM as h, schedule12LossDeductions as ha, RSI_DELIMITER as hi, ReserveContinuityResult as hn, FederalCcaClass as ho, ProvinceRateTable as hr, AB_TAX_RATE_BOOK as hs, runConformance as ht, MpDeductionInput as i, AT1_SCHEDULES_WITH_BUILDERS as ia, albertaCapitalGainDifference as ii, ZetmResult as in, At1ReserveRowResult as io, EifelInput as ir, AlbertaTaxResult as is, resolveQuebecTaxRates as it, T2CifPartI as j, computeIegExpenditureLimit as ja, At1FilingData as ji, Schedule4Result as jn, Class141AdditionalAllowanceResult as jo, computeCcpcActiveBusinessTax as jr, LRIP_INVESTMENT_CORPORATION_MULTIPLE as jt, T2CifData as k, computeIeg as ka, AT1_CRITICAL_MANDATORY_FIELDS as ki, computeProvincialAllocation as kn, Class13Result as ko, PartITaxInput as kr, Schedule55Result as kt, PartVI1DeductionBand as l, Schedule1FilingInput as la, albertaRecaptureDifference as li, BusinessLimitAllocationResult as ln, assistanceFrom as lo, ProvincialRateChanges as lr, computeAlbertaSbd as ls, ExpectedSource as lt, EIFEL_STANDARD_RATIO as m, schedule10Values as ma, RSI_COLUMN_GAP as mi, computeSchedule21 as mn, AlbertaSchedule13Result as mo, ProvinceCode as mr, AB_TAX_2024 as ms, formatConformanceReport as mt, MP_GROSS_REVENUE_THRESHOLD as n, computeAllocationFactor as na, Schedule12Result as ni, computeItcRecapture as nn, At1ReserveBalances as no, EIFEL_EFFECTIVE_FROM as nr, computeLossCarryback as ns, QC_TAX_RATE_BOOK as nt, MpDeductionResult as o, At1ScheduleValue as oa, albertaCcaScheduleAdjustments as oi, AssociatedMemberInput as on, computeAlbertaSchedule17 as oo, EifelThresholds as or, AlbertaCorporationStatus as os, CertificationFixture as ot, EIFEL_FIRST_YEAR_START as p, at1LineItemId as pa, reconcileAlbertaNetIncome as pi, Schedule21Result as pn, AlbertaSchedule13Input as po, PROVINCE_RATE_BOOK as pr, computeDayWeightedGeneralTax as ps, foldT2Lines as pt, QuebecReturnResult as q, At1CategoryTotals as qa, IegAllocationResult as qi, assertSchedule1Fileable as qn, isDecliningBalanceClass as qo, AlbertaSchedule14Result as qr, TaxableCapitalResult as qt, MP_RATES_2024 as r, AT1_SCHEDULES_WITHOUT_BUILDERS as ra, albertaAbilDifference as ri, ZetmInput as rn, At1ReserveKind as ro, EifelExemption as rr, AlbertaTaxInput as rs, QuebecTaxRates as rt, computeMpDeduction as s, Schedule10FilingInput as sa, albertaCurrentYearLoss as si, AssociatedMemberResult as sn, AlbertaSchedule16Input as so, assessEifel as sr, AlbertaSbdInput as ss, ConformanceResult as st, MP_EXCLUDED_ACTIVITIES as t, SINGLE_JURISDICTION_ALBERTA_FACTOR as ta, Schedule12Line as ti, ItcRecaptureResult as tn, AlbertaSchedule17Result as to, terminalLossDeduction as tr, LossCarrybackYear as ts, QC_TAX_2024 as tt, PartVI1DeductionResult as u, Schedule20FilingInput as ua, albertaReserveDifference as ui, allocateEvenly as un, computeAlbertaSchedule16 as uo, blendProvinceRateTable as ur, AB_GENERAL_RATE_BANDS as us, LineCheck as ut, EifelLimitationResult as v, schedule16Values as va, RsiHeaderInput as vi, CapitalDisposition as vn, CcaClassResult as vo, resolveProvinceRates as vr, RateBook as vs, FederalT2Result as vt, computeAdjustedTaxableIncome as w, schedule29Values as wa, formatRsiText as wi, computeSchedule5 as wn, computeCcaSchedule as wo, dividendsDeductibleS112 as wr, resolveRates as ws, SCHEDULE_88_MAX_URLS as wt, AdjustedTaxableIncomeInput as x, schedule1Values as xa, RsiScheduleInput as xi, computeSchedule6 as xn, Schedule8Result as xo, TaxableIncomeResult as xr, extendRateBook as xs, Schedule101Input as xt, computeEifelLimitation as y, schedule17Values as ya, RsiLineItem as yi, DispositionResult as yn, CcaScheduleResult as yo, TaxableIncomeInput as yr, RateBookEntry as ys, computeFederalT2 as yt, Co17Address as z, Schedule20Result as za, at1TaxPayableDeductions as zi, Schedule2Result as zn, MIN_LEASEHOLD_PERIODS as zo, CORP_TAX_2024 as zr, GripResult as zt };
|
|
5889
|
+
export { QuebecTaxResult as $, At1DispositionCategory as $a, At1ScheduleValue as $i, mealsAndEntertainmentAddBack as $n, resolveCcaRates as $o, Schedule12Adjustment as $r, ItcRecaptureItem as $t, T2CifGifi as A, computeIegGroupFigures as Aa, At1CriticalFieldMissingError as Ai, Schedule4Input as An, computeSchedule8 as Ao, PartITaxResult as Ar, computeSchedule55 as At, Co17Certification as B, DonationMaximumResult as Ba, at1YesNo as Bi, computeSchedule2 as Bn, Class14Result as Bo, CORP_TAX_RATE_BOOK as Br, computeGrip as Bt, FOREIGN_TAX_CREDIT_GROSS_UP as C, IegAllocationResult as Ca, formatRsiDate as Ci, Schedule5Result as Cn, CcaClassResult as Co, computeTaxableIncome as Cr, RateBook as Cs, computeSchedule101 as Ct, computeT2Settlement as D, allocateIegEvenly as Da, renderRsiLineItem as Di, ProvincialAllocationInput as Dn, UnsupportedCcaClassError as Do, CcpcActiveBusinessTaxInput as Dr, hasExactRateYear as Ds, normalizeSchedule88 as Dt, T2SettlementResult as E, IegLimitAllocation as Ea, renderRsiHeader as Ei, PermanentEstablishment as En, Schedule8Result as Eo, nonCapitalLossApplied as Er, extendRateBook as Es, Schedule88Result as Et, T2GifiLine as F, computeIegBaseAmount as Fa, albertaBalanceUnpaid as Fi, Part4RdtohResult as Fn, Class141AdditionalAllowanceInput as Fo, SbdInput as Fr, Schedule54Input as Ft, co17Engine as G, computeSchedule20 as Ga, AlbertaReturnResult as Gi, Schedule1Result as Gn, computeClass13 as Go, computeLossSchedule as Gr, LARGE_CORPORATION_THRESHOLD as Gt, Co17ReturnData as H, AlbertaGiftCarryforward as Ha, At1ReturnInput as Hi, Schedule1Line as Hn, LeaseholdLayerResult as Ho, resolveCorpTaxRates as Hr, Schedule43Rates as Ht, renderT2DraftReturn as I, computeIegReductionFactor as Ia, assertAt1MandatoryComplete as Ii, REFUNDABLE_PART_I_RATE as In, Class141AdditionalAllowanceResult as Io, SbdResult as Ir, Schedule54Result as It, computeQuebecReturn as J, AlbertaSchedule18Result as Ja, SINGLE_JURISDICTION_ALBERTA_FACTOR as Ji, ccaDeduction as Jn, leaseholdPeriods as Jo, CEC_DEDUCTION_RATE as Jr, computeTaxableCapital as Jt, QuebecReturnInput as K, AT1_DISPOSITION_CATEGORIES as Ka, computeAlbertaReturn as Ki, amortizationAddBack as Kn, computeClass14 as Ko, AlbertaSchedule14Input as Kr, TaxableCapitalInput as Kt, T2ReturnInput as L, AT1_DONATION_GAIN_RATE as La, assertAt1TaxPayableReconciles as Li, computePart4Rdtoh as Ln, Class14Input as Lo, computeBusinessLimit as Lr, computeSchedule54 as Lt, T2CifQuestionnaire as M, IegInput as Ma, At1MandatoryFieldMissingError as Mi, computeSchedule4Losses as Mn, CLASS_14_1_TRANSITIONAL_RATE as Mo, computePartITax as Mr, LRIP_INVESTMENT_INCOME_FACTOR as Mt, T2CifSettlement as N, IegResult as Na, At1TaxPayableMismatchError as Ni, PART_IV_RATE as Nn, Class13Input as No, BusinessLimitInput as Nr, LripDividendEvent as Nt, T2CifAddress as O, allocateIegExpenditureLimit as Oa, renderAt1NetFile as Oi, ProvincialAllocationResult as On, computeCcaClass as Oo, CcpcActiveBusinessTaxResult as Or, latestRateYear as Os, Schedule55Input as Ot, T2CifShareholder as P, computeIeg as Pa, At1TransmitterInfo as Pi, Part4RdtohInput as Pn, Class13Result as Po, BusinessLimitResult as Pr, LripEventResult as Pt, QuebecTaxInput as Q, At1CategoryTotals as Qa, At1ScheduleData as Qi, incomeTaxProvisionAddBack as Qn, isDecliningBalanceClass as Qo, computeAlbertaSchedule14 as Qr, ITC_RECAPTURE_PERIOD_YEARS as Qt, t2Engine as R, AT1_DONATION_INCOME_RATE as Ra, assertCriticalFields as Ri, Schedule2Input as Rn, Class14Property as Ro, computeSBD as Rr, GripInput as Rt, AdjustedTaxableIncomeResult as S, IegAgreementResult as Sa, formatRsiAmount as Si, Schedule5Input as Sn, CcaClassInput as So, charitableDonationsDeduction as Sr, resolveAlbertaTaxRates as Ss, Schedule101Result as St, T2SettlementInput as T, IegGroupResult as Ta, renderAt1Rsi as Ti, AllocatedProvince as Tn, Schedule8Entry as To, netCapitalLossApplied as Tr, earliestRateYear as Ts, Schedule88Input as Tt, renderCo17DraftReturn as U, Schedule20Input as Ua, at1Engine as Ui, Schedule1LineDefect as Un, MAX_LEASEHOLD_PERIODS as Uo, LossScheduleInput as Ur, Schedule43Result as Ut, Co17Identity as V, computeDonationMaximum as Va, xmlEscape as Vi, Schedule1Input as Vn, LeaseholdLayer as Vo, CorpTaxRates as Vr, Schedule43Input as Vt, Co17ReturnInput as W, Schedule20Result as Wa, AlbertaReturnInput as Wi, Schedule1NotFileableError as Wn, MIN_LEASEHOLD_PERIODS as Wo, LossScheduleResult as Wr, computeSchedule43 as Wt, QuebecEstablishment as X, At1AbilResult as Xa, AT1_SCHEDULES_WITHOUT_BUILDERS as Xi, deferredIncomeTaxProvisionAddBack as Xn, CCA_RATE_BOOK as Xo, CecIncomeInclusionDetail as Xr, Schedule31Result as Xt, QuebecAllocationResult as Y, At1AbilEntry as Ya, computeAllocationFactor as Yi, computeSchedule1 as Yn, CCA_DECLINING_BALANCE_RATES_2024 as Yo, CEC_INCLUSION_RATE as Yr, Schedule31Input as Yt, computeQuebecAllocationFactor as Z, At1CategoryResult as Za, AT1_SCHEDULES_WITH_BUILDERS as Zi, findSchedule1LineDefects as Zn, CcaRateTable as Zo, cecScheduleAppliesToTaxYear as Zr, computeSchedule31 as Zt, EifelLimitationInput as _, schedule29Values as _a, RSI_WORD_GAP as _i, computeSchedule13 as _n, AlbertaSchedule13ClassResult as _o, isSchedule5Province as _r, GeneralRateBand as _s, FederalT2Input as _t, MpDeductionRates as a, Schedule2FilingInput as aa, albertaCcaDifference as ai, computeZetm as an, AlbertaSchedule17Input as ao, EifelResult as ar, LossCarrybackResult as as, T2_CERTIFICATION_FIXTURES as at, ratioOfPermissibleExpenses as b, IegAgreementMember as ba, RsiLineItemError as bi, Schedule6Result as bn, FederalCcaClass as bo, TaxableIncomeLine as br, AB_TAX_RATE_BOOK as bs, FirstReturnEvent as bt, PART_VI_1_DEDUCTION_BANDS as c, schedule12LossDeductions as ca, albertaDispositionAdjustments as ci, BusinessLimitAllocationInput as cn, At1ReserveKind as co, ProvincialRateChange as cr, AlbertaTaxInput as cs, ConformanceSummary as ct, computePartVI1Deduction as d, schedule16Values as da, albertaTerminalLossDifference as di, computeBusinessLimitAllocation as dn, computeAlbertaSchedule17 as do, dayWeightedRate as dr, AlbertaCorporationStatus as ds, T2LineKey as dt, Schedule10FilingInput as ea, Schedule12Input as ei, ItcRecaptureItemResult as en, SECTION_34_2_GROSS_UP as eo, recaptureAddBack as er, LossContinuityInput as es, computeQuebecTax as et, partVI1DeductionMultiple as f, schedule17Values as fa, computeSchedule12 as fi, Schedule21Input as fn, AlbertaSchedule16Input as fo, PROVINCE_RATES_2024 as fr, AlbertaSbdInput as fs, T2_LINE_META as ft, EIFEL_TRANSITIONAL_RATIO as g, schedule21Values as ga, RSI_NEGATIVE_PREFIX as gi, ReserveContinuityRow as gn, AlbertaCcaOverride as go, ProvincialRate as gr, DayWeightedRateResult as gs, runConformanceSuite as gt, EIFEL_STANDARD_RATIO_FROM as h, schedule20Values as ha, RSI_DELIMITER as hi, ReserveContinuityResult as hn, computeAlbertaSchedule16 as ho, ProvinceRateTable as hr, AB_GENERAL_RATE_BANDS as hs, runConformance as ht, MpDeductionInput as i, Schedule21FilingInput as ia, albertaCapitalGainDifference as ii, ZetmResult as in, AT1_RESERVE_TOTAL_LINES as io, EifelInput as ir, LossCarrybackInput as is, resolveQuebecTaxRates as it, T2CifPartI as j, IEG_2024 as ja, At1FilingData as ji, Schedule4Result as jn, CLASS_14_1_MINIMUM_DEDUCTION as jo, computeCcpcActiveBusinessTax as jr, LRIP_INVESTMENT_CORPORATION_MULTIPLE as jt, T2CifData as k, computeIegAgreement as ka, AT1_CRITICAL_MANDATORY_FIELDS as ki, computeProvincialAllocation as kn, computeCcaSchedule as ko, PartITaxInput as kr, resolveRates as ks, Schedule55Result as kt, PartVI1DeductionBand as l, schedule12Values as la, albertaRecaptureDifference as li, BusinessLimitAllocationResult as ln, At1ReserveRowResult as lo, ProvincialRateChanges as lr, AlbertaTaxResult as ls, ExpectedSource as lt, EIFEL_STANDARD_RATIO as m, schedule1Values as ma, RSI_COLUMN_GAP as mi, computeSchedule21 as mn, assistanceFrom as mo, ProvinceCode as mr, computeAlbertaSbd as ms, formatConformanceReport as mt, MP_GROSS_REVENUE_THRESHOLD as n, Schedule1FilingInput as na, Schedule12Result as ni, computeItcRecapture as nn, AT1_RESERVE_KINDS as no, EIFEL_EFFECTIVE_FROM as nr, computeLossContinuity as ns, QC_TAX_RATE_BOOK as nt, MpDeductionResult as o, at1LineItemId as oa, albertaCcaScheduleAdjustments as oi, AssociatedMemberInput as on, AlbertaSchedule17Result as oo, EifelThresholds as or, LossCarrybackYear as os, CertificationFixture as ot, EIFEL_FIRST_YEAR_START as p, schedule18Values as pa, reconcileAlbertaNetIncome as pi, Schedule21Result as pn, AlbertaSchedule16Result as po, PROVINCE_RATE_BOOK as pr, AlbertaSbdResult as ps, foldT2Lines as pt, QuebecReturnResult as q, AlbertaSchedule18Input as qa, AllocationFactorInput as qi, assertSchedule1Fileable as qn, computeClass141AdditionalAllowance as qo, AlbertaSchedule14Result as qr, TaxableCapitalResult as qt, MP_RATES_2024 as r, Schedule20FilingInput as ra, albertaAbilDifference as ri, ZetmInput as rn, AT1_RESERVE_LINES as ro, EifelExemption as rr, LossCarrybackError as rs, QuebecTaxRates as rt, computeMpDeduction as s, schedule10Values as sa, albertaCurrentYearLoss as si, AssociatedMemberResult as sn, At1ReserveBalances as so, assessEifel as sr, computeLossCarryback as ss, ConformanceResult as st, MP_EXCLUDED_ACTIVITIES as t, Schedule12FilingInput as ta, Schedule12Line as ti, ItcRecaptureResult as tn, computeAlbertaSchedule18 as to, terminalLossDeduction as tr, LossContinuityResult as ts, QC_TAX_2024 as tt, PartVI1DeductionResult as u, schedule13Values as ua, albertaReserveDifference as ui, allocateEvenly as un, At1ReserveTable as uo, blendProvinceRateTable as ur, computeAlbertaTax as us, LineCheck as ut, EifelLimitationResult as v, schedule2Values as va, RsiHeaderInput as vi, CapitalDisposition as vn, AlbertaSchedule13Input as vo, resolveProvinceRates as vr, computeDayWeightedGeneralTax as vs, FederalT2Result as vt, computeAdjustedTaxableIncome as w, IegGroupMember as wa, formatRsiText as wi, computeSchedule5 as wn, CcaScheduleResult as wo, dividendsDeductibleS112 as wr, RateBookEntry as ws, SCHEDULE_88_MAX_URLS as wt, AdjustedTaxableIncomeInput as x, IegAgreementMemberResult as xa, RsiScheduleInput as xi, computeSchedule6 as xn, computeAlbertaSchedule13 as xo, TaxableIncomeResult as xr, AlbertaTaxRates as xs, Schedule101Input as xt, computeEifelLimitation as y, IegAgreementInput as ya, RsiLineItem as yi, DispositionResult as yn, AlbertaSchedule13Result as yo, TaxableIncomeInput as yr, AB_TAX_2024 as ys, computeFederalT2 as yt, Co17Address as z, DonationMaximumInput as za, at1TaxPayableDeductions as zi, Schedule2Result as zn, Class14PropertyResult as zo, CORP_TAX_2024 as zr, GripResult as zt };
|