Xero · Workflow

How to Record Contractor Payments in Xero (2026 Guide)

Recording contractor payments in Xero: bills versus payroll, withholding schemes like CIS, tax coding on contractor invoices, and year-end reporting.

By ExpenseFlow team
· 27 July 2026

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.

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.

Questions, answered

Common questions

Do contractor payments go through bills or payroll in Xero?

Default to bills: an independent contractor invoices you, the invoice becomes a bill, and payment reconciles like any supplier. Payroll enters only where your jurisdiction pulls contractors into payroll-like handling, such as US 1099 tracking in Xero's US edition or withholding schemes that deduct tax from payments.

How does Xero handle CIS for UK construction contractors?

Xero's UK edition has CIS built in: mark the contact as a subcontractor with their verified rate, and Xero calculates the deduction on each bill, tracks what you owe HMRC, and produces the monthly return and payment statements. The gross amount, deduction, and net payable are all recorded from the one bill.

What tax rate applies to a contractor's invoice?

Whatever the contractor legitimately charged. A GST or VAT registered contractor charges tax you can usually recover; an unregistered one must not charge tax, and their bills should carry a no-tax rate. Coding an unregistered contractor's bill at the standard rate claims input tax that was never charged, which tax authorities specifically look for.

How do I keep contractor costs separate from wages?

Post contractor bills to a dedicated subcontractor or contractor expense account, not the salaries account. Employment costs and contracted services are different lines for accounts, different boxes on tax filings, and different questions in an employment-status review, so the ledger should keep them apart from day one.

What records do year-end contractor reports need?

A payee-level record of what each contractor was paid in the period, plus their tax identifiers, and in withholding schemes what was deducted. If every payment ran through bills against a properly set up contact, the reports assemble from contact transaction history; the painful version is reconstructing it from bank lines.

Keep exploring

Run this workflow without the manual entry

ExpenseFlow connects directly to your accounting platform, so receipts, bills, and expense reports land in the right place with the right coding.

Start free trial