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 subcontractor paid more than $500 (calculated before GST/HST/PST) in that period. Box 22 of the slip 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.
That decision tree is the first thing to confirm before doing any compile work, because three other slips share territory with the T5018 and filing the wrong one is a common error.
The 50% construction-income test. If construction-related activities account for more than 50% of business income for the reporting period, the construction subcontractor reporting rules apply and T5018 is the right slip. If construction activities are 50% or less of the business, T5018 reporting is not required for that period — non-construction subcontract fees instead get reported on T4A box 048 under the standard subcontract-fee rules.
The $500 per-payee aggregate threshold. The threshold is tested per payee across the full reporting period, not per invoice. CRA administrative guidance applies the threshold to the payment amount before sales taxes — so a subcontractor paid $480 plus 13% HST ($542.40 total) does not clear the threshold and does not require a T5018, while a subcontractor paid $510 plus HST does. The threshold mechanic is one of the few places in T5018 reporting where the working number is net-of-tax. Box 22 itself, once you've decided a slip is required, switches to the gross figure.
Resident vs non-resident. T5018 covers payments to Canadian-resident subcontractors only. Payments to non-resident subcontractors for services performed in Canada are reported on a T4A-NR slip and trigger Regulation 105 withholding (15% federal, plus 9% additional in Quebec), which is a separate workflow with its own deadlines. A filer with a mixed roster of resident and non-resident subcontractors will produce both forms — one set of T5018s and one set of T4A-NRs — and forgetting the T4A-NR side is the third of the named pitfalls covered later in this article.
The dual-role payee. When the same individual is paid by the business as both an employee and a subcontractor in the reporting period, the streams are split. Employment income goes on T4 with regular source deductions; subcontract payments go on T5018 (or T4A-NR for a non-resident performing the subcontract work in Canada). Do not aggregate the two streams onto a single slip. The split happens in the books before the compile starts — if it has not, the working spreadsheet built later in this article will pick up the wrong base figure for at least one payee.
If the 50% test fails for your business, or your payees are reportable on T4 or T4A box 048 rather than on T5018, the broader Canadian information-slip workflow is covered separately in our guide to extracting T4, T4A, T5, and T3 slip data to Excel.
Reporting Period: Calendar Year vs Fiscal Year and the Six-Month Clock
T5018 reporting is anchored to a reporting period the filer chooses: either the calendar year (January 1 through December 31) or the company's fiscal year. Whichever is chosen, the six-month filing deadline runs from the end of that period, and the choice is meant to be applied consistently year over year rather than re-decided at each filing.
In concrete dates, the six-month rule means 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. A fiscal-year filer with a July 31 year-end has a January 31 deadline. Build the deadline into the post-year-end task list as soon as the period closes — six months sounds generous but evaporates quickly in a small construction business.
The trade-off between the two options is operational, not regulatory.
Calendar-year reporting aligns with how most small contractors track subcontractor payments through their accounting software, particularly if the books are kept on a calendar-year cycle for owner-manager tax purposes. It also aligns with the calendar-year cadence that subcontractors themselves expect — most are matching their own income reporting against the calendar year and asking for figures that match. For unincorporated contractors and small incorporated shops with December year-ends, this is usually the path of least resistance.
Fiscal-year reporting aligns the T5018 work with the year-end close itself, which matters for incorporated contractors with off-calendar fiscal year-ends (March 31, June 30, August 31 are all common). Aggregating subcontractor payments once at fiscal year-end — for both the financial statements and the T5018 — eliminates the duplicate compile work that would otherwise happen twice: once at year-end for the books and again at calendar year-end for the T5018. The cost is a less intuitive cycle for the subcontractor, who may have to reconcile a period that does not match their own.
A note on partial-period subcontractor relationships: a new subcontractor engaged late in a reporting period whose aggregate payments fall below $500 in that period is not on the T5018 for that period, even if the relationship continues into the next reporting period. The threshold and the slip requirement reset with each new period — a subcontractor paid $480 in November and another $4,000 in February is on the next year's slip, not this year's, and not on a combined slip across the two.
Why Box 22 Reports Tax-Inclusive Totals — and What That Means for Your Working Numbers
Box 22 of the T5018 reports total contract payments inclusive of GST/HST and inclusive of PST or QST where applicable. The figure that goes in box 22 is the gross amount paid to the subcontractor for the reporting period — the same figure that left the company's bank account or cleared the company's payables — not the net-of-tax amount used on most other returns.
That rule sounds straightforward and is the single most common box 22 error. The reason it gets reported wrong is muscle memory. Bookkeepers prepare GST/HST returns reporting net-of-tax sales and purchases. They prepare T4A box 048 for non-construction subcontract fees, also net of tax. They prepare expense reports and management accounts on a net-of-tax basis. The T5018 is the one place where CRA wants the figure inclusive of tax, and unless the rule is held in mind during the compile, the default behaviour is to drop a net-of-tax number into the slip.
A 13% HST jurisdiction makes the difference visible immediately: a $10,000 subcontract bill in Ontario at 13% HST means $11,300 in box 22, not $10,000. A 5% GST plus 9.975% QST jurisdiction is harsher in absolute terms — a $10,000 subcontract bill in Quebec means $11,497.50 in box 22 once GST and QST are layered on the gross figure. The math is not the difficulty; the discipline is in remembering which figure goes where. The provinces with separate provincial sales taxes — Quebec, British Columbia, Saskatchewan, Manitoba — each apply slightly different rules to subcontract services, and the provincial sales tax invoice requirements across Quebec, BC, Saskatchewan, and Manitoba are worth a separate read for filers operating across jurisdictional lines.
The data-source implication of the gross-inclusive rule is the part that bites bookkeepers in practice. Most accounting systems' subcontractor expense reports show net-of-tax totals, because the GST/HST portion of each invoice is recorded against the input tax credit (recoverable tax) account rather than against the subcontractor expense account. A bookkeeper who runs a vendor activity report or a subcontractor expense report straight out of the accounting system will get a net-of-tax figure and need to gross it up before it lands in box 22. The cleaner alternative is to source totals from the accounts payable subledger or from the underlying invoices themselves — both carry the gross figure as it appeared on the bill. The way GST/HST is broken out on subcontractor invoices in the first place follows CRA's GST/HST invoice field requirements, which is the basis for separating the tax portion cleanly during the compile.
One more rule clarification: the $500 threshold from the previous section is tested before tax, while box 22 itself reports tax-inclusive. The two figures use different bases on purpose — $500 net-of-tax to determine whether the slip is required at all, then gross-of-tax for the reported amount once the slip is in scope. A subcontractor paid $499 net plus 13% HST ($563.87 total) does not require a slip; a subcontractor paid $501 net plus 13% HST ($566.13 total) does, and the figure on that slip is $566.13.
Compiling Box 22 from a Year of Subcontractor Invoices
The compile is the part of the workflow that the rest of the SERP either hand-waves or skips entirely. With the decision tree confirmed, the reporting period chosen, and the gross-inclusive rule held in mind, here is the actual sequence.
Start by assembling every subcontractor invoice for the reporting period and matching each one against the payment ledger to confirm it was actually paid in the period. Box 22 reports payments made, not amounts billed. An invoice dated December 28 but paid January 5 belongs in the next reporting period, not the one closing on December 31. An invoice dated November 1 of the prior period but paid in January of the current period belongs in the current period. The reconciliation between invoice date and payment date is the first filter; do it before any aggregation, not after.
Group the matched invoices by payee. Use legal name, not trade name — a subcontractor operating as "Maple Trades" but invoicing under "1234567 Ontario Inc." gets one entry under the legal entity, with the trade name as a secondary identifier. Mismatches at this step produce duplicate slips for the same subcontractor and are caught only when CRA's matching service flags them.
The $500 pre-tax aggregate threshold then gets verified for each grouped payee. Payees below the threshold drop out of the working file entirely — they do not produce slips. Payees at or above the threshold continue to the summation step.
Sum the gross (tax-inclusive) per-invoice amount per payee. The figure to use is the invoice's bottom-line total, the amount that was actually paid out of the bank, not the net-of-tax line. Where the invoice carries multiple tax lines (GST plus QST in Quebec, GST plus PST in BC or Saskatchewan or Manitoba), the box 22 figure is the all-in total; the individual tax lines are tracked in their own columns of the working file for reconciliation rather than for the box 22 figure itself.
Record the result in a working spreadsheet with these columns:
- Payee legal name
- Payee CRA business number — or SIN where the subcontractor is an individual without a BN
- Payee address
- Period range (matches the reporting period chosen for the filing)
- Gross total (tax-inclusive — this is the box 22 figure)
- GST/HST portion (for reconciliation, not for box 22)
- PST/QST portion (for reconciliation, not for box 22)
- Count of invoices aggregated
- Notes — for holdback adjustments, payment-date reconciliation flags, or any other working notes
These nine columns map directly onto the data fields the T5018 slip asks for, and onto a CRA-acceptable columnar listing if you choose to file as a listing rather than as individual slips. Filers who later need to defend an entry in an audit will find the count-of-invoices column and the notes column the most useful — they explain how each per-payee figure was built.
A practical note on the GST/HST and PST/QST columns. They are filled from the tax line on each invoice during ingest, not back-calculated from the gross total. Where the invoice does not break out GST/HST as a separate line — small invoices and informal billings sometimes do not — the calculation to back out GST/HST from a tax-inclusive Canadian invoice total gives the right figures for the reconciliation columns without changing the box 22 gross.
For filers with three or four subcontractors and a clean PDF for each invoice, the compile above is a manual exercise that takes a morning. For filers with 10 or more subcontractors, a year of paper and PDF invoices, or both, the manual ingest is the bottleneck — extracting nine columns of data from a folder of 150 to 2,000 invoices, by hand, is where the work goes. Our product is built to extract subcontractor invoices into a columnar spreadsheet at exactly that step: upload the year's subcontractor invoices, prompt for the nine fields the T5018 working file needs, and download the columnar spreadsheet ready for the per-payee aggregation. The product produces the source data for the listing; CRA filing itself happens through CRA's own channels.
Holdback, Mixed Services-and-Materials, Dual-Role Payees, and the Audit Trail
The straightforward case — a services-only subcontractor, all Canadian-resident, paid cleanly through the bank, no holdback — runs through the compile above without complication. The cases below are the ones that bookkeepers actually hit during construction T5018 work and that the SERP either skips or oversimplifies.
Statutory holdback. Provincial construction lien legislation (the various Construction Acts and Builders' Lien Acts across the provinces) requires owners and contractors to retain a holdback — typically 10% — from each subcontractor billing for a defined period after substantial performance. Holdback is amounts withheld from billings, not amounts paid. Box 22 reports payments made, so holdback amounts that are still held at the end of the reporting period are not yet box 22 figures. They enter box 22 in the period in which they are released and actually paid to the subcontractor — which may be the same reporting period, or may be one or two periods later depending on substantial performance dates and lien-period expiry. The mechanics of which billings are subject to holdback, when the holdback period runs, and how release works are covered in our piece on the Canadian construction proper-invoice and statutory holdback rules; for box 22 purposes the only rule that matters is the payments-not-billings test. Track holdback in the notes column of the working spreadsheet so the figure is reconcilable against subcontractor accounts payable balances at period-end.
Mixed services-and-materials invoices. A subcontractor invoice that covers both services and materials is fully reportable on T5018 if the services component is $500 or more for the reporting period. The full invoice amount goes in box 22 — there is no carve-out for the materials portion. A roofing subcontractor billing $4,000 for materials and $1,200 for labour reports the full $5,200 (gross of tax) in box 22 because the labour clears the $500 services threshold. The split between services and materials matters only for the threshold test; once the threshold is met, the whole invoice is reportable. A pure materials supplier — a lumber yard, a fixtures supplier, a concrete plant — with no services component is not a T5018 subcontractor at all, regardless of total spend with that vendor over the period.
Dual-role payees. When the same individual or entity appears in both the payroll system and the accounts payable subledger as a paid subcontractor, the streams are split before the T5018 compile. Employment income lands on the T4 with regular CPP, EI, and tax deductions; subcontract income lands on the T5018 (or on T4A-NR for a non-resident performing the subcontract work in Canada). The cross-reference happens during the compile, not after — pull the payroll roster alongside the working spreadsheet and verify that no payee on the T5018 working file is also drawing employment income for the same role. The most common error is reporting the gross subcontract figure on the T5018 and forgetting that the same person also took $40,000 of employment income through payroll for site supervision; both belong on their respective slips, separately.
Non-resident subcontractors. Non-resident payees stay on the parallel T4A-NR workflow with Regulation 105 withholding — pulled out at the residency-status filter rather than at the compile end. A clean filter at residency keeps the T5018 working file from carrying payees who should never have been on it.
Record retention. CRA expects supporting subcontractor invoices, payment records, the working spreadsheet that produced box 22 figures, and the filed return itself to be retained for six years from the end of the year to which they relate. Storage in electronic form is fine; the CRA electronic record-keeping rules for retained subcontractor invoices cover the format, accessibility, and integrity requirements. The working spreadsheet built during the compile is part of the audit file, not a throwaway artifact — name it with the reporting period and the filing date and store it alongside the source invoices and the filed return.
Slip vs Columnar Listing: Choosing the Filing Format
CRA accepts T5018 reporting in two formats, and the choice between them is operational. The first option is the individual T5018 slip — one slip per subcontractor, carrying the filer's identification, the recipient's name and address, the recipient's business number or SIN, the reporting period, and the box 22 gross total. The second option is a columnar printout (commonly called the listing) showing the same information for all subcontractors in a single document, one row per subcontractor.
Both meet CRA's filing requirement. Most third-party guidance assumes per-slip filing and walks the reader through the slip form; the listing alternative is documented on canada.ca but rarely surfaced. For filers with many subcontractors, the listing is the format that actually scales.
The per-slip option is suited to filers with a small number of subcontractors — three, five, ten — where preparing one slip each is fast and where the slip form's structured layout makes review straightforward. Each slip is a discrete document, easy to file, easy to amend if a figure changes.
The columnar listing is one document with one row per subcontractor, carrying the same data points: payee legal name, payee BN or SIN, payee address, reporting period, box 22 gross total. Filers who built the working spreadsheet during the compile step are most of the way there already — the listing is the working spreadsheet condensed to the CRA-required fields, with the reconciliation columns (GST/HST portion, PST/QST portion, count of invoices, notes) stripped out. For a contractor with 25, 50, or 100 subcontractors, the listing eliminates the per-slip data entry that would otherwise consume an afternoon and replaces it with a single file ready for submission.
The break-point in practice falls around 10 or more subcontractors, though it shifts based on how clean the working spreadsheet is. A filer with 8 subcontractors and a tidy working file can produce a listing in less time than 8 slips; a filer with 15 subcontractors and a messy working file may still find the slip form helpful as a structural check on each entry. The choice is not regulated — pick the format that produces a defensible filing in the least time, given the working file in front of you.
One requirement applies to both formats: the filing is accompanied by a T5018 Summary document that totals the box 22 figures across all slips or all listing rows. Line 82 of the Summary equals the sum of the box 22 amounts in the filing.
Filing the Return: Summary, Submission Methods, Deadlines, and Penalties
The T5018 Summary is the cover document for the filing. Whether the underlying slips are individual T5018 slips or a columnar listing, the Summary identifies the filer (legal name, account number, reporting period start and end), 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 — get this number right and CRA's matching service has a clean reconciliation; get it wrong and the filing comes back for correction.
CRA accepts three submission methods.
Paper filing — the printed slips or listing plus the printed Summary, mailed to the address on the form. Paper is allowed for filers below the electronic-filing threshold, and remains the right choice for filers with one or two slips and no preference for digital channels.
CRA Internet File Transfer (IFT) — a structured .xml file uploaded through CRA's secure portal, generated by payroll or accounting software that supports the T5018 .xml schema. IFT is the path most mid-size filers take because it produces a machine-readable filing that posts to the filer's CRA account immediately and avoids paper handling at both ends. If your accounting software produces a CRA-compatible .xml export, this is usually the cleanest method.
CRA Web Forms — a browser-based form on the CRA portal where the filer keys slip data directly into the interface. Web Forms suits filers with a handful of slips and no payroll software that produces an .xml export. The data is entered once on the CRA side, the slips are produced and filed in the same workflow, and copies are downloadable for the filer's records.
Match the method to the filer's situation: paper for very small filings or filers without electronic preference; Web Forms for a few slips with no software pipeline; IFT for filings produced from payroll or accounting software, or for any filer above the electronic-filing threshold.
The electronic-filing threshold is six. CRA mandates electronic filing for any filer producing six or more information slips of a single type in a calendar year, for filings on or after January 1, 2024. Paper filing above that threshold attracts a separate non-electronic-filing penalty on top of any other late-filing penalty. A construction contractor with seven or more T5018 slips is filing electronically — IFT or Web Forms — full stop.
The deadline. 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 a fixed calendar date.
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. The penalty schedule on the T5018 is calibrated against that backdrop — late filing is treated as an information-reporting failure, separate from any tax owing, because the missing data trail is itself the issue.
The late-filing penalty. $100 minimum, scaling daily by the number of slips and the number of days late, with a maximum of $7,500 per return at the highest slip-count and days-late tier. CRA's penalty grid scales the daily rate by slip count: filings with one to five slips face the minimum tier; filings with 51 to 500 slips face a higher daily rate; filings with 2,501 to 10,000 slips face the top daily rate. The non-electronic-filing penalty for paper filings above the six-slip electronic threshold is separate, starting at $125 for six to ten slips and rising with the slip count.
Three Pitfalls That Catch Construction Filers
Net-of-tax in box 22 instead of gross. The default instinct from GST/HST returns, T4A box 048, and most other CRA filings is to use the net-of-tax figure. Box 22 is the exception — it reports the tax-inclusive total, including GST/HST and PST/QST. A working spreadsheet sourced from a vendor expense report rather than from invoices is the most common way the wrong figure ends up on the slip.
T4A box 048 filed for a Canadian-resident construction subcontractor when the 50% test is met. When the business clears the 50% construction-income threshold, T5018 is the right slip for construction subcontract payments and T4A box 048 is the wrong slip. T4A box 048 only re-enters the picture for non-construction subcontract fees, or for businesses that fail the 50% test entirely. Filing both slips for the same payment is duplicate reporting; filing the T4A alone when T5018 is required is non-compliance.
T4A-NR forgotten for a non-resident subcontractor performing services in Canada. T5018 covers Canadian-resident subcontractors only. A non-resident performing subcontract services in Canada triggers T4A-NR reporting and Regulation 105 withholding (15% federal, plus 9% additional in Quebec) at the time of payment. A filer focused only on the T5018 working file can miss the non-resident subcontractor entirely — they are not on the T5018, the T4A-NR was never started, and the withholding was never deducted. Catch this at the compile by filtering the working file against the residency status of each payee before any aggregation begins.
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.
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.
Match HVAC Supplier Invoices to Purchase Orders
AP workflow for matching HVAC supplier invoices to purchase orders and delivery records — partial deliveries, part numbers, freight, and Canadian GST/HST.
How to Calculate GST/HST on Canadian Invoices
Learn the formulas for adding or backing out GST/HST on Canadian invoices. Includes BC/PST, Quebec QST, place-of-supply, and rounding checks.