# Connect Xero

Source: https://help.mucka.ai/integrations/connect-xero
Category: Integrations
Last updated: 2026-09-08

> Connect Mucka to Xero — your contacts, invoices and customer payments push across automatically.

Connecting Mucka to Xero means your clients, invoices and customer payments flow straight into Xero — no more typing the same numbers twice into two systems. Mucka stays the place you raise an invoice; Xero is where your bookkeeper sees it land seconds later.

**Heads up:** before invoices start syncing you need to pick a default revenue account and a default tax rate using the **Map accounts** button on the Xero panel. That's it — two picks. Contacts sync the moment you connect; invoices flow as soon as mapping is saved.

## Connect your Xero org

Head to [**Settings → Connections → Integrations → Xero**](/settings/connections/integrations?sub=xero) and tap **Connect Xero**.

Xero asks you to sign in and pick which organisation (org) you want to link. Approve the permissions Mucka asks for:

- **Accounting contacts, invoices, payments and settings** — so Mucka can push your clients in and (soon) your invoices
- **Your email address** — so Mucka can show "connected by ryan@ryansplumbing.co.uk" on the panel

Approve and Xero bounces you back to Mucka with a "Connected" confirmation.

## Already have clients in Xero? Bring them in

If you're coming to Mucka with an established Xero org, you don't have to re-type your contacts. Tap **Import from Xero** on the panel to pull your existing clients (and, if you want, their invoice history) straight into Mucka — matched against your Mucka clients first so nothing is duplicated. Full walkthrough: [**Import your existing clients**](/help/integrations/import-existing-clients).

## One Xero org per Mucka workspace

If you run multiple businesses through separate Xero orgs, you need a separate Mucka workspace for each. Mucka pins each workspace to one Xero org so the right contacts and invoices land in the right place.

## What flows across automatically

**Contacts.** Every client you create in Mucka — through the app, voice, WhatsApp or the CSV importer — is pushed into Xero contacts in a few seconds. Mapped fields:

- **Name** (residential = first + last; commercial = company name)
- **Email** (uses the client's email, falling back to company email)
- **Phone** (primary phone goes in as Default)
- **Address and postcode**
- **VAT number** (if set, appears as Tax Number in Xero)

Update a client in Mucka and the changes flow through to Xero too.

**Invoices.** When you raise an invoice in Mucka, it lands in Xero as a draft (Mucka draft) or authorised invoice (anything sent). Line items, reference number, due date and tax all carry across. Edit the invoice in Mucka and the Xero side updates next time the engine syncs.

**Invoice numbers.** Mucka's numbering wins, on purpose. Your customer already has a PDF with INV-001 on it, so letting Xero rename the invoice afterwards would leave the copy in their inbox disagreeing with your accounts. Mucka sends its own number over and Xero uses it.

If you've been trading on Xero for years, you don't want Mucka starting again at 1. When you open **Map accounts** it reads what your last Xero invoice was numbered and offers to carry straight on: *"Your last invoice in Xero was INV-0432. Mucka can pick up at INV-0433."* One tap and you've got one unbroken run of numbers across both. Ignore it and Mucka carries on with its own numbering, and you can change it later in [**Settings → Business → Workspace**](/settings/business/workspaces).

This matters for more than tidiness. Xero refuses an invoice number it has already used, so a Mucka invoice numbered INV-001 won't go across if an old Xero one already has that number. If that happens, the Xero panel tells you which invoice it was and what to do.

Open any invoice and you'll see, next to the status, whether it has reached your accounts: **In Xero** once it's across, or **Not in Xero yet** if it hasn't. On the rare occasion Xero numbered it something else, that chip tells you what: **In Xero as INV-0433**. That usually only happens on an invoice raised before you connected.

**Customer payments.** If your customer pays you directly through Xero (bank feed, Stripe etc.), Xero pings Mucka and the invoice ticks over to Paid automatically — no double entry, no setup. Going the other way, a payment you record in Mucka can also push into Xero against the same invoice, but only if you've set a payment bank account in the mapping — see below. Most people leave that blank and reconcile in Xero instead.

**Voids.** Voiding a draft invoice in Mucka removes the draft from Xero. Voiding a sent invoice that's already authorised in Xero pops up a choice on the void dialog: **Issue a matching credit note in Xero** (recommended — Mucka creates a credit for the same amount and allocates it against the original so the Xero balance zeros out), or **Just unlink — leave Xero alone** (the Xero invoice stays exactly as it is, you reconcile it manually).

## Map accounts — pick your defaults

Tap **Map accounts** on the Xero panel and choose:

- **Default revenue account** — where invoice income lands in your chart of accounts (often "200 Sales", but plumbers split into 200 Boiler Service, 201 Installations etc.)
- **Default tax rate** — applied to every invoice line on push. 20% (VAT on Income) is the usual UK pick; zero-rated or flat-rate accounts pick their matching code
- **Payment bank account (optional)** — see below. Pick your business current account here
- **Card payments go to (optional)** — a separate account for card takings, because card money arrives as one payout later rather than job by job
- **Tracking (optional)** — tag every invoice line with a Xero tracking option, useful for splitting reporting by engineer or service type

Save the mapping and any invoices that were waiting (raised in Mucka after you connected but before mapping was complete) push to Xero straight away in the background.

### The payment bank account

The **Payment bank account** dropdown lists the bank accounts on your Xero organisation. Pick the one your customers' money actually goes into — usually your business current account.

Mucka asks you to say which way you want it, and it only asks once. Either pick an account, or tick **I match payments off my bank feed in Xero**. Tick that and everything still works exactly as it does now: your invoices sync, the money lands in your bank feed, and you match it in Xero the way you always have. Mucka won't mention it again.

Pick an account if you'd rather Mucka wrote the payment into Xero for you the moment you record it in Mucka — saving you the reconcile.

If the dropdown is empty, it means we can't see a bank account on your Xero organisation at all. Add one in Xero — **Accounting → Chart of accounts → Add Bank Account** — and it'll be in the list next time you open **Map accounts**. You don't need to tick anything on the account, and there is no **Enable payments to this account** box on a bank account in Xero. If we ever told you there was, that was our mistake.

Either way, the other direction always works: when a customer pays you through Xero, Xero tells Mucka and the invoice ticks over to Paid on its own. That needs no mapping at all.

If you leave it blank and then take a payment in Mucka — a card payment on a job, or marking an invoice paid — Mucka will tell you. The invoice itself says **In Xero, payment isn't**, with the amount, and your Xero panel in Settings totals up anything waiting. Neither is a fault to fix: it's there so that leaving the box empty is a decision you made rather than one that was made for you. Carry on matching them off your bank feed and you can ignore both.

### Card payments usually want their own account

Once you've picked a payment bank account, a second box appears: **Card payments go to**. Leave it on **Same account as above** and nothing changes.

It's worth setting if you take card as well as bank transfer, because the two arrive differently. A bank transfer really does land in your account, so it turns up in your feed and matches off against the payment one for one. Card money doesn't: it goes to the card company and comes back days later as a single payout covering several jobs, with the fees taken off. If every card payment has already been written into your current account, your books count that money once as the payments and again as the payout, and you're unpicking it by hand.

The usual answer is a holding account in Xero (often called Undeposited Funds, or one you set up per card provider). Card payments go in there, and when the payout lands you move it across in one go, fees and all. Bank transfers carry on going straight to your current account.

Set it up in Xero at **Accounting → Chart of accounts**. If you make it a bank account (**Add Bank Account**), it appears in the **Card payments go to** list straight away. If you'd rather it were a plain current-asset account, open it, tick **Enable payments to this account**, and save — that tick is what makes a non-bank account usable for payments, and it's the only place you'll see it.

If you only take bank transfers, ignore this box.

The sheet also has an **Also push the last 90 days of invoices to Xero on save** tick. Leave it on if you've just connected Xero and want your existing invoices in there too. Untick if you're mid-year and don't want a flood — only invoices raised from your save onwards will sync, and you can use **Sync invoices now** later to pull older ones across if you change your mind.

## "Sync contacts now" + "Sync invoices now" — manual backfills

If you've got hundreds of clients in Mucka already, the first connect pushes them all across in the background. You can re-trigger the same sweep from the panel any time using **Sync contacts now** — useful if you've imported a big CSV and want to nudge Xero to catch up.

**Sync invoices now** does the same for invoices created in the last 90 days that don't have a Xero link yet — handy if Xero was down or your mapping was incomplete when an invoice was raised. It only enables once mapping is set; until then the button is greyed out.

Mucka skips records that are already in Xero, so you can tap either Sync button without worrying about duplicates. Both are rate-limited to one tap every 30 seconds per workspace, so a stuck finger can't blow through Xero's API limits.

## Automatic retry — Mucka catches up on its own

Mucka runs a quiet retry sweep every hour (at quarter-to). If anything failed to push to Xero in the previous hour — bad timing, Xero hiccup, network blip — the sweep retries the last 24 hours of contacts and invoices for any connection still showing an error. Most of the time you'll never notice the failure happened; you only ever need to tap Sync now manually for big imports.

## Ask Mucka about Xero — voice and chat

Once Xero's connected, you can ask Mucka questions about your accounting position in plain English. Mucka pulls the numbers live from Xero and reads them back. Example asks:

- "What's outstanding in Xero?" — lists invoices still owing, oldest first
- "Anything over 90 days overdue?" — pulls aged receivables and reads the worst offenders
- "Who owes me money?" — same as above, ranked by amount
- "What was my month?" / "How did Q1 look?" — pulls the Profit & Loss for the period
- "Push that invoice to Xero" — when an invoice didn't sync automatically (rare) or you want to force a retry, Mucka stages a one-tap approval card
- "Draft that quote as a Xero invoice" — turns an accepted quote into a draft invoice in both Mucka and Xero, ready for your bookkeeper to finalise

The query tools fire instantly; the push tools always wait for a one-tap confirmation in the app — Mucka never sends data to Xero (or money around) without an explicit owner approval.

## Permission needed to connect

Only people with the **manage billing** permission can connect or disconnect Xero. Engineers see the connection state on the panel ("Xero is connected to Ryan's Plumbing Ltd") but can't change it.

This is the same rule as the rest of the billing tab — the people who can change your subscription are the ones who can wire Xero in.

## Disconnect

The **Disconnect Xero** button revokes Mucka's access on Xero's side and stops any new contacts, invoices or payments from flowing across. Existing records that have already pushed stay in Xero as accounting records — Xero doesn't allow Mucka to delete those (and you wouldn't want it to — they're your audit trail).

The disconnect sheet offers a default-on tick: **Also clear the Xero badges from Mucka clients and invoices**. Leave it ticked unless you specifically want Mucka to keep showing the old "synced to Xero" markers on entities whose Xero link is no longer active. The Xero side is untouched either way.

## Troubleshooting

**"Connection expired"** — Xero sessions time out after a long pause. Tap **Reconnect** on the panel and approve again; Mucka catches up on anything missed during the gap.

**"Access revoked"** — happens when somebody on the Xero side removes Mucka from connected apps. Same fix: tap Reconnect.

**"Needs reconnect"** — the panel shows this when Xero starts refusing Mucka outright, which usually means the Mucka connection has been removed at the Xero end (often by whoever tidies up connected apps). It is not something that fixes itself with time, so Mucka stops retrying and tells you instead of quietly falling behind. Tap **Reconnect** and approve again; nothing is lost, and Mucka catches up on anything that happened while the connection was down.

**"Your plan doesn't include Xero sync"** — accounts sync is part of the paid plans. On the free tier the connection stays put and your invoices keep building up in Mucka, but nothing is sent to Xero until you're on a paid plan. Nothing is lost: everything raised in the meantime goes across once you upgrade.

**A client didn't sync** — Mucka shows the last sync error on the Xero panel. Tap **Sync contacts now** to retry. If a client has a bad email format Xero rejects, fix the email on the client record and the next push goes through.

## What's coming next

- **More providers** — QuickBooks, Sage and FreeAgent will follow Xero. Same patterns; tap Connect, pick mapping, done.
- **Subcontractor bills + CIS** — pay subbies in Mucka, push to Xero as bills with the right CIS deduction (riding with the Subcontractor skill)

Watch for the next release notes — you don't need to do anything to opt in, the engine extends as we ship each phase.
