Xero · Workflow

How to Record Contra Entries in Xero (2026 Guide)

Recording contra entries in Xero: offset a customer invoice against a supplier bill using a contra clearing account, with journal-free steps and checks.

By ExpenseFlow team
· 27 July 2026

Quick answer

Xero records a contra entry through a clearing account rather than a special transaction type. Create a contra clearing account (bank type, no feed), then record a payment on the sales invoice into that account and a payment on the supplier bill out of it, same amount, same date. Both documents show as paid to the extent of the offset, the clearing account nets to zero, and only the remaining difference is settled through the real bank.

When contra entries come up

Any relationship where the same party sits on both sides of your ledger: the marketing agency you supply services to that also bills you for ad spend, the landlord you invoice for maintenance work, franchise arrangements, and intercompany trading between commonly owned entities. Without a contra mechanism, both sides carry inflated accounts receivable and accounts payable, chase payments that will never be made in full, and reconcile transfers that cross in the mail. One agreed offset replaces all of that with a single net settlement.

Setting up the clearing account

Once per organisation:

  1. In the chart of accounts, add a new account named something like Contra Clearing.
  2. Make it a bank account type without connecting any feed (or a current asset that accepts payments). Bank type keeps it visible on the dashboard where a non-zero balance stands out.
  3. Leave it out of your reporting groups for cash; it is plumbing, not money.

A dedicated account matters because the test of a completed contra is that this account returns to exactly zero. Reusing a general suspense account buries that signal.

Recording the offset

Suppose the customer-supplier owes you 5,000 on an invoice and you owe them 3,000 on a bill, and both sides have agreed to net.

  1. Open the sales invoice and record a payment of 3,000, paid into Contra Clearing, dated the agreed offset date, referenced “Contra vs bill [number]”.
  2. Open the bill and record a payment of 3,000, paid from Contra Clearing, same date, referenced against the invoice.
  3. Check Contra Clearing shows zero.
  4. The invoice remains open for the 2,000 difference, which the counterparty pays through the bank and you match from the feed as a normal customer payment.

Where several invoices and bills net in one agreement, record one clearing payment per document; the account still zeroes if the two sides tally. No manual journal is needed, and avoiding journals here is the point: payments on the documents keep receivables, payables, and the contact history accurate, where a journal against the AR and AP control accounts would bypass the documents entirely and leave them looking unpaid.

Checks before and after

Before recording, confirm the counterparty has agreed the same documents and amounts; a contra one side records and the other does not produces mismatched statements and a dispute at the worst time. After recording, three quick verifications: the clearing account is at zero, both contact activity screens show the offset payments, and aged reports now carry only the net remainder. For intercompany contras, record the mirror entries in both Xero organisations on the same date so consolidation eliminates cleanly.

Common mistakes

  • Journaling directly against the accounts receivable and payable control accounts, which settles the balances but leaves the actual invoice and bill open forever.
  • Clearing account left with a residual balance because the two payment amounts differed by a rounding difference or a missed document.
  • Offsetting without written agreement, then unwinding it when the counterparty pays in full anyway.
  • Netting against a counterparty entering insolvency without checking that set-off rights apply.
  • Using contra offsets to hide disputed amounts; a disputed bill belongs in dispute, not netted quietly against your invoice.

Software that helps

  • Xero’s clearing account pattern needs no add-ons; discipline about zero balances does the work.
  • ExpenseFlow keeps the payable side of contra relationships clean: the counterparty’s bills are captured, coded, approved, and posted to Xero with documents attached, so the amounts you agree to offset are grounded in verified bills rather than statement guesses.
  • Group reporting tools handle recurring intercompany netting at scale, but each entity’s Xero still records its side as above.

The documents being offset are covered in recording invoices in Xero and recording supplier bills in Xero. For when a journal genuinely is the right tool, see recording journal entries in Xero. Glossary: contra account.

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

What is a contra entry in bookkeeping?

An offset between amounts a business owes and is owed, settled without money moving. The classic case is a trading partner who is both customer and supplier: instead of each paying the other in full, the smaller balance is netted against the larger and only the difference changes hands.

Does Xero have a built-in contra feature?

Not as a single button. The supported pattern is a contra clearing account: a bank-type or current asset account through which you record a payment on the invoice and an equal payment on the bill, dated the same day. Both documents close and the clearing account returns to zero.

What account type should the contra clearing account be?

Add it as a bank account with no feed, or a current asset that allows payments. Bank type is the common choice because both invoices and bills can record payments against it directly, and a zero balance after each offset is easy to eyeball on the dashboard.

Do both parties need to agree a contra offset?

Yes, commercially. Netting changes what each side actually pays, so agree the offset amount and date in writing before recording it. Legally, netting rights can matter in insolvency; if a counterparty is in difficulty, take advice before offsetting rather than after.

Does a contra entry change GST or VAT?

No. The tax was reported by the invoice and the bill when they were raised. The contra only settles the balances, like a payment does. If the underlying documents were wrong, fix them with credit notes; the contra step itself is tax-neutral.

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