Canada CRA T4 / T4A XML + T619
T4 and T4A slip XML with the 2026 T619 transmittal record for CRA Internet File Transfer
Generate the Canada Revenue Agency information-return XML for T4 (Statement of Remuneration Paid) and T4A (Statement of Pension, Retirement, Annuity and Other Income) slips, wrapped in the 2026 T619 electronic transmittal record required for CRA Internet File Transfer. The CRA began accepting the 2026 T619 schema on 12 January 2026, and 2025 T4 slips are due 2 March 2026. Built on the Accounting app with its own slip and submission models, so it needs no Enterprise payroll. Compatible with Odoo 18 and Odoo 19, Community and Enterprise.
T4 & T4A slip XML
Aggregate the year's remuneration into the T4 boxes (14 employment income, 16 / 16A CPP, 18 EI, 22 income tax, 24 EI insurable, 26 CPP pensionable, 44 union dues, 46 donations) and the T4A boxes (016 pension, 020 commissions, 022 tax, 048 fees for services), then emit the slip XML under the 2026 T619 transmittal block.
SIN & BN validation
Each recipient SIN and the employer CRA RP payroll account (123456789RP0001) is validated with the real Luhn (mod-10) check digit the CRA uses, so the keystroke and paste errors that get a whole transmission rejected are caught before you upload.
CPP / EI maximums & thresholds
The CPP and EI annual maximums (the 2025 statutory figures, editable on the company) are enforced per slip — box 16, 16A, 18, 24 and 26 are clamped to their ceilings — and the de-minimis filing threshold decides which recipients actually require a slip.
Checksum & control totals
Every file carries a SHA-256 integrity checksum and the T4 / T4A Summary control totals (slip count, total income, tax, CPP and EI) so you can reconcile the transmission before uploading it to Internet File Transfer.
Validation, amendments & BYOK
A pre-submission validation checks the transmitter, the RP account, the tax year, every recipient SIN, negative amounts, the CPP / EI caps, the control-total reconciliation and the more-than-five-slip electronic filing mandate. Produce amended returns to correct slips the CRA already accepted.
BYOK-friendly: your CRA transmitter number is stored only on your database and written into the file you upload yourself. The module never transmits anything to the CRA on your behalf, and no employee data leaves Odoo.
Disclosure: this module generates the T4 / T4A slip XML and the 2026 T619 transmittal file you upload through CRA Internet File Transfer; it does not file on your behalf and requires no Odoo Enterprise module. The CPP / EI maximums and box numbers carry the current statutory defaults; confirm them against the latest official CRA guidance before filing.
Screenshots
T4 Filing Ty2025 Control Tot
T4 Slip Recipient Sin Box 14
Update date: 2026-07-02