A Canadian business whose construction-derived income exceeds 50% of total business income for the reporting period must file a T5018 Statement of Contract Payments for each Canadian-resident subcontractor paid more than $500 before GST/HST/PST in that period. Box 22 reports total contract payments inclusive of GST/HST and PST/QST, not the net-of-tax amount. The information return is due six months after the end of the reporting period the filer chooses.
Confirm the scope before building the file:
- 50% construction-income test. If construction activities are more than 50% of business income for the period, T5018 reporting applies. If construction activities are 50% or less, construction subcontract fees are not reported on T5018 for that period; non-construction subcontract fees usually move to T4A box 048.
- $500 per-payee threshold. Test the threshold per payee across the reporting period, before sales tax. A subcontractor paid $480 plus HST is below threshold; a subcontractor paid $510 plus HST is in scope.
- Resident vs non-resident. T5018 covers Canadian-resident subcontractors. At compile, filter the working file by residency before aggregation so non-resident subcontractors leave the T5018 workflow and enter T4A-NR/Regulation 105 handling.
- Dual-role payees. If a worker appears in both payroll and AP, split the streams before compiling: employment income goes on the T4, and subcontract payments go on the T5018 or T4A-NR as applicable.
If the 50% test fails, or the payees belong on T4, T4A, T4A-NR, T5, or T3 slips instead, use the broader guide to extracting Canadian information-slip data to Excel.
Reporting Period: Calendar Year vs Fiscal Year and the Six-Month Clock
T5018 reporting is anchored to the reporting period the filer chooses: calendar year or fiscal year. The choice should stay consistent year over year unless there is a real business reason to change it, because the six-month filing deadline runs from the end of the chosen period.
The deadline examples are simple:
- Calendar-year filer ending December 31: file by June 30.
- Fiscal-year filer ending March 31: file by September 30.
- Fiscal-year filer ending July 31: file by January 31 of the following calendar year.
If the deadline falls on a weekend or public holiday, confirm CRA's current administrative due-date treatment before relying on the next business day.
Calendar-year reporting usually fits owner-managed contractors whose bookkeeping, subcontractor questions, and tax records already follow the calendar year. Fiscal-year reporting usually fits incorporated contractors whose financial statements and subcontractor payment review happen at fiscal year-end. Add the T5018 deadline to the post-year-end task list when the reporting period closes.
Do not choose the period based only on which report is easiest to run this year. The choice affects subcontractor questions, audit support, and the timing of future compiles. A fiscal-year filer with a March 31 year-end may prefer one year-end review, but a subcontractor asking for calendar-year totals in February will be looking at a different period than the filed T5018. A calendar-year filer gives subcontractors a more intuitive period, but an off-calendar corporation may still need a separate fiscal-year subcontractor review for its own financial statements. Pick the period that the business can support consistently.
The threshold also resets with the reporting period. A subcontractor paid $480 in November and $4,000 in February is not combined across periods. If the November payment belongs to one T5018 period and the February payment belongs to the next, the first period has no slip and the second period does.
Why Box 22 Reports Tax-Inclusive Totals
Box 22 reports total contract payments inclusive of GST/HST and inclusive of PST or QST where applicable. It is the amount paid to the subcontractor, not the net expense amount shown on many accounting reports.
That rule is the main T5018 error. Bookkeepers are used to GST/HST returns, management accounts, and T4A box 048, where net-of-tax figures are common. T5018 box 22 is different. A $10,000 Ontario subcontractor bill with 13% HST produces $11,300 in box 22. A $10,000 Quebec subcontractor bill with 5% GST plus 9.975% QST produces $11,497.50 in box 22. The provinces with separate sales-tax treatment are covered more fully in the guide to provincial sales tax invoice requirements across Quebec, BC, Saskatchewan, and Manitoba.
The data-source implication matters. Many accounting systems report subcontractor expenses net of recoverable GST/HST because the tax portion posts to an input tax credit account. A vendor expense report may therefore be the wrong source for box 22. The cleaner source is the AP subledger, the payment ledger, or the underlying invoices, because they preserve the gross amount paid. The way GST/HST appears on those invoices follows CRA's GST/HST invoice field requirements, which is why the invoice-level tax trail needs to survive the compile.
Use the accounting report as a pointer, not as the final number, unless you have verified what it includes. A vendor activity report may show expense lines only. A payment report may show the cash amount but not the underlying GST/HST split. An invoice register may show the gross amount but include unpaid bills unless it is filtered against the payment ledger. The safest working file keeps all three numbers visible: net before tax, tax portion, and gross paid. Box 22 uses the gross paid amount; the other columns explain how the figure was built.
The $500 threshold and box 22 use different bases. Test the threshold before sales tax to decide whether a slip is required. Once the payee is in scope, report the gross tax-inclusive payment in box 22.
Compiling Box 22 from a Year of Subcontractor Invoices
Once the reporting period, payee scope, and box 22 rule are clear, build the working file in this order.
Start by assembling every subcontractor invoice for the reporting period and matching each invoice to the payment ledger. Box 22 reports payments made, not merely amounts billed. An invoice dated December 28 but paid January 5 belongs in the next reporting period. An invoice dated in the prior period but paid in the current period belongs in the current period. Do the invoice-date/payment-date reconciliation before aggregation, not after.
Watch for payment reversals, credit notes, and cheque replacements during this step. A payment voided and reissued in the same period should not double-count. A credit applied against a later invoice should be visible in the payee history so the gross paid amount reconciles to cash. A cheque printed before period-end but cleared after period-end still needs the business's accounting policy applied consistently; the T5018 working file should document whether the payment date is the ledger payment date, cheque date, or bank-cleared date.
Keep upstream controls separate from the compile. If AP checks subcontractor clearance certificates or validates GST/HST registration before payment, those checks should already have happened by the time the T5018 working file is built. The payment controls are covered in the guides to checking subcontractor clearance certificates before payment in Canada and confirming a subcontractor's GST/HST account before paying.
Group paid invoices by payee legal name. Use the legal entity, not the trade name. A subcontractor trading as "Maple Trades" but invoicing as "1234567 Ontario Inc." should produce one row under the legal entity, with the trade name retained as a note. Mismatches at this stage create duplicate slips for the same subcontractor.
This is also where sole proprietors create confusion. The invoice may show a trade name, the payment may go to an individual, and the supporting tax identifier may be a SIN rather than a business number. The working file should keep the payee name, trade name, identifier type, and address together so the filed slip or listing follows the payee that was actually paid.
Verify the $500 pre-tax aggregate threshold for each payee. Payees below threshold drop out of the T5018 file. Payees at or above threshold continue to the gross-payment summation step.
Sum the gross amount paid to each payee. The figure is the invoice's tax-inclusive bottom-line amount, reconciled to the payment ledger. If an invoice carries GST plus QST, GST plus PST, or another layered sales-tax pattern, the box 22 figure is still the all-in total. Track the tax columns separately for reconciliation; do not subtract them from box 22.
Build the working spreadsheet with these columns:
- Payee legal name
- Payee CRA business number, or SIN where an individual subcontractor has no BN
- Payee address
- Reporting period start and end
- Gross total paid, tax-inclusive, for box 22
- GST/HST portion for reconciliation
- PST/QST portion for reconciliation
- Count of invoices aggregated
- Notes for holdback, payment-date, residency, or review flags
The tax columns are filled from invoice data during ingest, not reverse-engineered from the gross total whenever the invoice already shows the tax. Where a small or informal invoice does not break out GST/HST, the guide to backing out GST/HST from a tax-inclusive Canadian invoice total gives the reconciliation calculation without changing the box 22 gross.
Keep invoice-level support behind every row. A payee row that says $86,420 in box 22 is not enough on its own; the audit trail should show which invoices and payments make up that total. The count-of-invoices column is a quick check, and the notes column should flag holdback releases, late-paid invoices, credit adjustments, or any manual correction made during review.
For a filer with a few subcontractors and clean PDFs, the compile can be manual. For a contractor with a year of paper and PDF invoices, the data-entry step is the bottleneck. The subcontractor invoice extraction workflow is built for that source-data step: upload the year's invoices, prompt for the fields the T5018 working file needs, and download the columnar spreadsheet ready for per-payee aggregation. CRA filing still happens through CRA's own channels.
Holdbacks, Mixed Invoices, and the Audit Trail
The straightforward case is a Canadian-resident subcontractor paid cleanly through the bank with no holdback and no mixed supply. The cases below are the ones that usually require notes in the working file.
Statutory holdback. Box 22 reports payments made, not amounts billed. Holdback amounts that are still retained at the end of the reporting period are not yet box 22 figures. They enter box 22 in the period when they are released and actually paid to the subcontractor. The mechanics of holdback and proper invoices are covered in the guide to Canadian construction proper-invoice and statutory holdback rules; for T5018, the key point is the payments-not-billings test.
Mixed services-and-materials invoices. If the services component clears the $500 threshold, the full invoice amount is reportable on T5018, including materials. A roofing subcontractor billing $4,000 for materials and $1,200 for labour is reportable on the full gross invoice because the labour clears the services threshold. A pure materials supplier with no services component is not a T5018 subcontractor regardless of total spend.
Mixed invoices should still be coded clearly in the working file. The service/material split supports the threshold decision, even though box 22 reports the whole gross payment after the payee is in scope. If the invoice does not separate labour from materials, keep the source document attached and add a review note rather than inventing a split. If the vendor is a materials supplier that occasionally provides installation, tag only the service-related invoices for T5018 review and keep the pure supply invoices outside the slip total unless the facts support treating the vendor as a subcontractor for that work.
Residency and payroll cross-check. The working file should carry a residency flag and, where relevant, a payroll cross-check note. Non-resident subcontractors leave the T5018 workflow before aggregation. Dual-role payees are split between payroll and AP reporting before the slip file is prepared.
This check is easiest before totals are summed. Once the file has been collapsed to one row per payee, it is harder to see which invoices were for Canadian-resident subcontract work, which were non-resident services, and which were payroll-related amounts accidentally paid through AP. Keep the review columns in the detailed file and remove them only from the final filing version.
Record retention. Retain the supporting invoices, payment records, working spreadsheet, filed return, and any review notes for six years from the end of the year to which they relate. Electronic storage is fine if the records remain readable and accessible; the CRA electronic record-keeping rules for retained subcontractor invoices cover the format and integrity requirements. Treat the spreadsheet as part of the audit file, not as a temporary working paper.
Filing the Return: Format, Summary, Submission Methods, Deadlines, and Penalties
CRA accepts T5018 data either as individual slips or as a columnar listing. Individual slips work well when there are only a few subcontractors and each slip can be reviewed by eye. A columnar listing works better when the working spreadsheet already has one row per payee and the filer wants to remove duplicate data entry. Both formats need the same core fields: filer details, payee name and address, payee BN or SIN, reporting period, and box 22 gross total.
The practical break-point is not set by CRA. A filer with three subcontractors may prefer slips because each form is easy to review. A filer with 25 subcontractors will usually prefer a listing because the working spreadsheet is already in that shape. A filer with a messy spreadsheet may still use individual slips as a review discipline. Choose the format that produces a complete, reconcilable return in the least time; do not rebuild clean spreadsheet data into slips just because that is how a tutorial presents the form.
The T5018 Summary is the cover document for the filing. It identifies the filer, states the reporting period, and reconciles the total of all box 22 figures. Line 82 of the Summary equals the sum of every box 22 amount in the slips or listing. If that number does not match the underlying rows, the filing is harder to defend and may need correction.
CRA accepts three submission methods:
- Paper filing: printed slips or listing plus the Summary, mailed to CRA. This is mainly for very small filings below the electronic-filing threshold.
- CRA Internet File Transfer (IFT): a structured XML file uploaded through CRA's secure portal, usually generated by accounting or payroll software.
- CRA Web Forms: a browser-based CRA workflow where the filer keys slip data into the portal and downloads copies for records.
Match the method to the data source. A paper package is acceptable only for small filings below the electronic threshold and should include a clean Summary reconciliation. Web Forms suit filers with a handful of rows and no XML export. IFT is cleaner when accounting or payroll software can produce the file, because it avoids rekeying row-by-row data and gives the filer a machine-readable submission trail.
The electronic-filing threshold is six. For filings on or after January 1, 2024, CRA requires electronic filing when a filer produces six or more information slips of a single type in a calendar year. Paper filing above that threshold can trigger a non-electronic-filing penalty separate from any late-filing penalty.
The filing deadline is six months after the end of the chosen reporting period. A calendar-year filer with a December 31 period-end has a June 30 deadline. A fiscal-year filer with a March 31 year-end has a September 30 deadline. The deadline is anchored to the period-end, not to one fixed calendar date for every filer.
T5018 reporting was introduced in part as a response to long-standing CRA concerns about underreporting in the construction industry. According to Statistics Canada's 2023 underground economy report, residential construction accounted for 32.7% of all underground economic activity in Canada, making it the largest contributing industry. That context explains why T5018 filing is treated as an information-reporting control, not just a tax-payment task: CRA needs the subcontractor payment trail even when the payer's own tax balance is unaffected.
The late-filing penalty starts at $100 and scales by slip count and days late, with higher tiers as the number of slips rises. The non-electronic-filing penalty for paper filings above the six-slip threshold is separate. Check the current CRA penalty grid before filing late or correcting an overdue return.
For corrections, preserve the original working file and the correction file. The amendment should show which payee row changed, why it changed, and which invoice or payment record supports the revised box 22 amount. That record-keeping discipline matters more than the filing format because it is what lets a reviewer tie the corrected return back to the underlying subcontractor invoices.
Before filing, run three checks:
- Box 22 uses the gross tax-inclusive paid amount, not the net expense report amount.
- Canadian-resident construction subcontractors are on T5018 when the 50% test is met; non-construction subcontract fees and businesses below the 50% test do not belong on T5018.
- Non-resident subcontractors have been removed from the T5018 working file and routed to T4A-NR/Regulation 105 handling before aggregation.
Extract invoice data to Excel with natural language prompts
Upload your invoices, describe what you need in plain language, and download clean, structured spreadsheets. No templates, no complex configuration.
Related Articles
Explore adjacent guides and reference articles on this topic.
GST/HST Rental Property Invoice Extraction in Canada
Build a GST/HST invoice extraction workpaper for Canadian rental property rebates, PBRH claims, commercial ITCs, and mixed-use allocation.
Canadian Construction Invoice & Holdback Requirements (2026)
Cross-provincial guide to Canadian construction proper invoice fields, statutory holdback rules, and Ontario's 2026 amendments for construction AP teams.
Ireland RCT Deduction Summary: Monthly ROS Filing Guide
Practitioner walk-through of the Ireland RCT Deduction Summary on ROS: reconcile against payment notifications, amend before the 23rd, avoid silent acceptance.