Connecting Mucka to QuickBooks Online means your clients, invoices and customer payments flow straight into QuickBooks. No more typing the same numbers twice into two systems. Mucka stays the place you raise an invoice; QuickBooks is where your bookkeeper sees it land seconds later.
Private beta — opt-in via your owner on request. The full sales-side sync is live: contacts, invoices, payments, payment-paid back-sync, voids with credit memo or unlink choice, "ask Mucka what's outstanding" engine tools, hourly retry cron.
Before invoices start syncing you need to pick a default income account, tax code and bank account using the Map accounts button on the QuickBooks panel. Contacts sync the moment you connect; invoices and payments flow as soon as mapping is saved.
Connect your QuickBooks company
Head to Settings → Integrations → QuickBooks and tap Connect QuickBooks.
Intuit asks you to sign in and pick which company you want to link. Approve the permissions Mucka asks for:
- Accounting — so Mucka can push your clients, invoices and payments
- Your name and email — so Mucka can show "connected by ryan@ryansplumbing.co.uk" on the panel
Approve and Intuit bounces you back to Mucka with a "Connected" confirmation.
Already have clients in QuickBooks? Bring them in
Coming to Mucka with an established QuickBooks company? Tap Import from QuickBooks on the panel to pull your existing customers (and, if you want, their invoice history) into Mucka — matched against your Mucka clients first so nothing is duplicated. Full walkthrough: Import your existing clients.
One QuickBooks company per Mucka workspace
If you run multiple businesses through separate QBO companies, you need a separate Mucka workspace for each. Mucka pins each workspace to one QuickBooks company 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 QuickBooks Customers in a few seconds. Mapped fields:
- DisplayName (residential = first + last; commercial = company name)
- CompanyName for commercial clients
- GivenName / FamilyName for residential
- PrimaryEmailAddr (uses the client's email, falling back to company email)
- PrimaryPhone
- BillAddr (address + postcode, country GB)
- Notes carries
mucka:<client_id>so an operator can trace QBO records back to Mucka
Update a client in Mucka and the changes flow through to QuickBooks too.
Invoices. When you raise an invoice in Mucka, it lands in QuickBooks with line items, reference number, due date and tax all carried across. Mucka creates a single Service Item ("Mucka Service") in your QBO catalogue on first push and uses it for every line — the line description carries the actual text.
Customer payments. Recording a payment against an invoice in Mucka pushes a matching Payment into QuickBooks linked to the same invoice. If your customer pays you directly through QuickBooks (bank feed, Stripe etc.), QuickBooks pings Mucka and the invoice ticks over to Paid automatically — no double entry.
Voids. Voiding a draft or unpaid invoice in Mucka flips the QuickBooks invoice to Voided. Voiding a sent invoice that's already partly or fully paid in QuickBooks pops up a choice (coming in the next release): Issue a matching credit memo in QuickBooks (recommended — Mucka creates a credit for the same amount and links it to the original so the QBO balance zeros out), or Just unlink — leave QuickBooks alone (the QBO invoice stays exactly as it is, you reconcile it manually).
Map accounts — pick your defaults
Tap Map accounts on the QuickBooks panel and choose:
- Default income account — where invoice income lands in your QuickBooks chart of accounts (often "Sales", but plumbers and gas engineers often split into "Boiler Service", "Installations" etc.)
- Default payment bank account — where customer payments are deposited (your QBO bank feed account)
- Default tax code — applied to every invoice line on push. 20.0% S is the usual UK pick; zero-rated or domestic reverse charge accounts pick their matching code
- Class (optional) — tag every invoice line with a QuickBooks Class, useful for splitting reporting by engineer or service type. QBO orgs that haven't enabled Class tracking won't see this option
Save the mapping and any invoices that were waiting (raised in Mucka after you connected but before mapping was complete) push to QuickBooks straight away in the background.
The sheet also has an Also push the last 90 days of invoices to QuickBooks on save tick. Leave it on if you've just connected QuickBooks 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 QuickBooks to catch up.
Sync invoices now does the same for invoices created in the last 90 days that don't have a QuickBooks link yet — handy if QuickBooks 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 QuickBooks, 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 Intuit's API limits.
Permission needed to connect
Only people with the manage billing permission can connect or disconnect QuickBooks. Engineers see the connection state on the panel ("QuickBooks 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 QuickBooks in.
Disconnect
The Disconnect QuickBooks button revokes Mucka's access on Intuit's side and stops any new contacts, invoices or payments from flowing across. Existing records that have already pushed stay in QuickBooks as accounting records — QBO 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 QuickBooks badges from Mucka clients and invoices. Leave it ticked unless you specifically want Mucka to keep showing the old "synced to QuickBooks" markers on entities whose QuickBooks link is no longer active. The QuickBooks side is untouched either way.
Sandbox vs production
During the private beta, your Mucka workspace points at the QuickBooks environment that matches whichever Mucka deployment you're using. Production Mucka talks to your real QuickBooks Online company. Dev / preview Mucka talks to QuickBooks sandbox companies (Intuit's free test orgs), so you can experiment with the integration without touching your real books. The panel shows a small Sandbox tag when you're on a sandbox connection, so you always know which one you're seeing.
Troubleshooting
"Connection expired" — QuickBooks sessions time out if Mucka hasn't pushed anything in 100 days. Tap Reconnect on the panel and approve again; Mucka catches up on anything missed during the gap.
"Access revoked" — happens when somebody on the QBO side removes Mucka from connected apps (Settings → Account and Settings → My Apps in QuickBooks). Same fix: tap Reconnect.
A client didn't sync — Mucka shows the last sync error on the QuickBooks panel. Tap Sync contacts now to retry. If a client has a bad email format QBO rejects, fix the email on the client record and the next push goes through.
Automatic retry — Mucka catches up on its own
Mucka runs a quiet retry sweep every hour (at ten-to). If anything failed to push to QuickBooks in the previous hour — bad timing, QBO 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 QuickBooks
Once QuickBooks is connected, you can ask Mucka about your accounting position in plain English. Mucka pulls the numbers live from QBO and reads them back. Example asks:
- "What's outstanding in QuickBooks?" — lists open invoices, oldest first
- "Anything over 90 days overdue in QBO?" — pulls aged receivables and reads the worst offenders
- "Who owes me money on QuickBooks?" — same, ranked by amount
- "What was my month in QBO?" / "How did Q1 look?" — pulls the Profit & Loss for the period
- "Push that invoice to QuickBooks" — when an invoice didn't sync automatically (rare) or you want a retry, Mucka stages a one-tap approval card
- "Draft that quote as a QuickBooks invoice" — turns an accepted quote into a draft invoice in both Mucka and QBO, ready for your bookkeeper to finalise
Same trust model as everywhere else in Mucka: query tools fire instantly; push tools always wait for a one-tap confirmation. Mucka never pushes data to QuickBooks without explicit owner approval.
Already on Xero?
You can have both QuickBooks AND Xero connected to the same Mucka workspace at the same time. Every Mucka client / invoice / payment then fans out to both providers, useful if you're mid-migration from one to the other. The panel shows a small amber heads-up when both are connected so you remember the duplication. Disconnect one if you're settled on the other.