Syncing Your Sales to Xero
Your sales, in your books โ automatically. Set it up once, and stop exporting spreadsheets.
This guide is about sales โ your revenue flowing into Xero as invoices. (Purchases and supplier bills aren't synced yet.)
Time: ~15 minutes ย ยทย You'll need: admin access to Twine POS, and your Xero login.
Before you start
- You're an admin in Twine POS.
- You have a Xero account you can sign in to and authorise.
- Everything you sell is sorted into accounting groups (Food, Beverages, โฆ) โ the buckets your revenue reports under. Groups apply across the board: menu items, product variants, add-ons, and fees like BCRS. No groups yet? Set them up under Finance โ Accounting Groups (
/admin/finance/accounting-groups).
Part 1 ยท Set up your books
Finance โ Settings (/admin/finance/settings). This part is provider-agnostic โ true whether you use Xero, QuickBooks, or Sage. Set it once and forget it.
Choose how sales are grouped
Under Sync Configuration:
- Sync mode โ Aggregate rolls a period's sales into one summary invoice (right for most businesses). Individual sends one invoice per order. Choose Aggregate if unsure. (Either way, B2B invoice orders are never rolled into the summary โ they always sync as their own invoice.)
- Group invoices by โ split invoices per location, channel, both, or neither. Most venues group by location โ one invoice per site keeps each set of books clean.
- Reference format โ what each invoice is named in Xero.
{tenant} {location}: {date}reads as "Fumiglia Qala: 25 Jun 2026." Placeholders:{tenant}{location}{channel}{date}.
Batch invoices by Z-report
Under Z-Report Invoicing:
- Invoice per Z-report โ on by default, and the right call. Each Z-report (your end-of-day fiscal close) becomes one clean invoice in Xero. Leave it on. (Turning it off batches by calendar day instead โ emergency use only.)
- Z-report reference format โ what each of those invoices is named in Xero.
Z{z} {printer} {location}: {date}. Placeholders:{z}{printer}{location}{date}.
Keep your VAT honest
Under Accounting Groups, leave Require VAT rate matching on. It stops a 7% item landing in an 18% bucket. Turn it off only if your accountant tells you to.
Match the fiscal printer (if you use one)
Under Fiscal Reconciliation, Require fiscal reconciliation blocks a sync until your fiscal printer totals match the period. If you run a fiscal printer, keep this on โ it's your guarantee that Xero agrees with the taxman.
When you're set, hit Save Settings.
Part 2 ยท Connect Xero
Integrations โ Xero (/admin/integrations/xero).
- Click Connect to Xero.
- Sign in to Xero and authorise Twine POS.
- You'll land back here, now showing your Xero organisation and a token expiry date.
That's the whole connection.
Part 3 ยท Point your numbers at the right accounts
Integrations โ Xero. This is the one part worth your accountant's eyes.
Now connected, Twine POS can read your Xero chart of accounts. First, the shape of what you're building โ every invoice Twine POS creates in Xero has four parts:
- a contact โ who the invoice is billed to
- line items โ what sold, each landing in a revenue account
- the payment โ how those items were paid, landing in a bank account
- a reference โ the invoice's name (set back in Part 1)
Your mappings fill in the first three. Three things to set:
1. Sales โ revenue accounts
Under Account Code Mappings โ Add Mapping, map each accounting group to a Xero revenue account.
| Accounting group | Xero account |
|---|---|
| Food | 4000 โ Food Sales |
| Beverages | 4010 โ Beverage Sales |
Repeat for every group you sell under.
2. Payments โ bank accounts
Under Payment Method Mappings โ Add Mapping, map each payment method to where the money lands in Xero.
| Payment method | Xero account |
|---|---|
| Cash | 1025 โ Cash on Hand |
| Viva Wallet | 1000 โ Business Bank Account |
3. Tips, discounts & shipping
Under Account Codes, set the accounts for tips, discounts, and shipping. Product revenue is already handled by your accounting-group mappings above โ these three are the extras.
The fine print (for your bookkeeper)
- Tax type override โ each Xero account uses its own tax rate by default. Override per mapping only when you need a specific Xero tax type, e.g.
ZERORATEDOUTPUT. - Invoice contact โ the Xero contact every invoice is billed to (often a single Sales Control contact). Set a default; override per segment if you set those up in Part 1.
- Segments โ every mapping can target a specific segment rule. Leave it on Default unless you're running multiple identities.
Part 4 ยท Turn it on
Integrations โ Xero โ Sync Settings.
- Failure notification email โ where we alert you if a sync ever fails. Use an address someone actually reads.
- Flip Enable Xero Sync on. (It stays locked until your mappings are complete โ that's the warning you'll see if it won't move.)
- Save Settings.
Done. Twine POS now pushes to Xero every cycle, on its own.
Check it's working
Integrations โ Xero โ Sync History lists every push โ invoices and payments โ with a status.
- Synced โ it's in Xero.
- Failed โ it needs attention. The row tells you why, and we've emailed you.
Open any row for the full detail.
When something's off
| What you see | What to do |
|---|---|
| Token Expired | Your Xero authorisation lapsed. Connect to Xero again. Ten seconds. |
| Sync won't turn on | You have unmapped items. Fill the "missing" mappings in Part 3. |
| A row says Failed | Open it for the reason โ usually a new payment method or accounting group with no mapping yet. Add the mapping; it retries automatically. |
| Numbers don't match the taxman | Confirm Require fiscal reconciliation is on (Part 1). |
That's it. Your books keep themselves now.