Quick answer
Record contractor payments in Xero as supplier bills against a contact set up for that contractor: bill arrives, gets coded to a contractor expense account with the tax rate the contractor is entitled to charge, is approved, paid, and reconciled. Jurisdictional layers sit on top of that base: the UK’s CIS deducts tax from construction payments via Xero’s built-in CIS support, the US edition tracks payments for 1099 reporting, and a few schemes route contractors through payroll instead.
The base pattern: contractor as supplier
An independent contractor is a supplier of services, and the supplier bill workflow fits unchanged: their invoice becomes a bill, coded and approved, paid on terms, matched from the feed. Three setup choices upgrade the pattern from workable to audit-ready. Give contractors their own expense account (subcontractors, or contract services) rather than sharing salaries or a generic services account, because filings and reviews treat contracted labour as its own category. Store the contractor’s tax registration details on the contact, since their registration status controls the tax rate their bills may carry. And for regular contractors on retainer, a repeating bill with draft status handles the monthly rhythm while leaving the amount editable.
Withholding schemes
Several jurisdictions require the payer to deduct tax from contractor payments and remit it to the authority. The UK’s Construction Industry Scheme is the deepest Xero support: enable CIS in the UK edition, record each subcontractor’s verification and rate on their contact, and Xero computes the deduction per bill, splits the net payable from the amount owed to HMRC, and generates the monthly CIS return and the payment statements subcontractors need. Elsewhere the mechanics vary: some schemes are handled through payroll products, and where no native support exists, the deduction is recorded by splitting the bill payment between the contractor and a withholding liability account, with a manual journal only if the split cannot be expressed on the payment itself. Whatever the scheme, the invariant is that the expense is the gross amount, the contractor receives the net, and the difference is a liability until remitted.
Contractors through payroll
Xero’s payroll editions can carry contractors where local practice demands it: the US edition tracks contractor payments for 1099 forms, and paying a contractor through a pay run puts them alongside employees in the payment file while keeping their amounts out of wages. Treat this as the exception with a reason, not a convenience. Running contractors through payroll without a scheme requiring it blurs exactly the employee-contractor line that status disputes turn on, and unwinding misclassified history is expensive. The question of whether someone is genuinely a contractor is a legal test in every jurisdiction; the ledger should reflect the answer, not decide it.
Tax on contractor invoices
The contractor’s registration status governs the tax rate. Registered contractors charge GST or VAT you generally recover as input tax; unregistered ones charge none, and their bills belong on a no-tax rate. Two coding errors dominate in practice: standard-rating an unregistered contractor’s bill, claiming credits that were never charged, and reverse-charge cases in cross-border contracting where the overseas contractor’s untaxed invoice still creates a local tax obligation for you. Both are the sort of line-level checks worth building into a review step before bills post; see recording GST and VAT in Xero for the wider coding discipline.
Common mistakes
- Contractor payments coded into salaries and wages, misstating both employment costs and the filings built on them.
- Paying contractors from bank codings with no bill, leaving year-end payee reporting to archaeology.
- CIS deductions calculated outside Xero and pasted in, drifting from the return Xero generates.
- Input tax claimed on unregistered contractors’ bills.
- Missing contractor tax identifiers discovered the week reports are due; collect them at onboarding.
Software that helps
- Xero’s CIS and 1099 features cover the two most common statutory layers natively.
- ExpenseFlow captures contractor invoices as they arrive, extracts amounts and tax, applies the correct treatment, and routes each bill through approval into Xero, so payee-level history builds itself from clean documents.
- Payroll platforms carry contractors where a scheme genuinely requires payroll handling.
Related guides
The underlying flow is recording supplier bills in Xero; the payroll boundary is drawn in recording payroll in Xero. Concepts: CIS, IR35, PAYG.
From ExpenseFlow
Expense coding on autopilot
ExpenseFlow reads every receipt, assigns the right tax treatment and account code, and syncs to Xero or QuickBooks Online once you approve.