QuickBooks and Xero via Zapier
Keito’s native Xero and QuickBooks Online integrations are part of the Business plan. On the Solo and Pro plans you can still keep your accounting software up to date with Keito by connecting both through Zapier, which is available on every Keito plan. This page shows how, what it covers, and where the native integrations go further.
Note: Zapier moves data one Zap run at a time and does not link Keito and your accounting records afterwards. Test every Zap with a test client and a small invoice before enabling it for real clients.
Requirements
- A Keito workspace on any plan, connected to Zapier as described in the Zapier integration overview.
- A QuickBooks Online or Xero account connected to Zapier through Zapier’s own QuickBooks Online or Xero app.
- A Zapier plan that allows multi-step Zaps and Filter steps. Check Zapier’s pricing for task limits and app availability.
- Customers or contacts in the accounting app named the same as your Keito clients, or a Find or Create step in the Zap to create them.
What You Can Automate
| Keito event | Accounting result | QuickBooks Online steps | Xero steps |
|---|---|---|---|
An invoice is issued (state becomes open) |
An invoice with the same number, dates, and lines | Find or Create Customer, Find Invoice, Create Invoice | Find or Create Contact, Find Invoice, Create Sales Invoice |
An invoice is paid in Keito (state becomes paid) |
A payment applied to that invoice | Find Invoice, Create Payment | Find Invoice, Create Payment |
| A client is created | A customer or contact | Find or Create Customer | Create/Update Contact |
| A customer is created in accounting | A Keito client | New Customer trigger, then Keito Find or Create Client | New Contact trigger, then Keito Find or Create Client |
| An expense is recorded in Keito | An expense or bank transaction | Create Expense | Create Bank Transaction |
Everything below the table uses the step names shown in Zapier’s QuickBooks Online and Xero apps at the time of writing; the Zap editor is the final reference.
Copy Issued Invoices To Accounting
Trigger on the invoice becoming open, not on creation: a new Keito invoice is a draft with a placeholder DRAFT- number, and the final number is assigned when it is sent.
- Keito → Updated Invoice. Optionally limit it to one client.
- Filter by Zapier. Only continue if
Stateexactly matchesopen. - Find or create the customer. QuickBooks: Find or Create Customer with
Client Name. Xero: Find or Create Contact withClient Name. Map the result into the invoice step so the customer never has to exist first. - Guard against duplicates. Updated Invoice fires again when an open invoice is edited, so look the invoice up first: QuickBooks Find Invoice by invoice number, or Xero Find Invoice by number, with the option to continue when nothing is found. Add a Filter that only continues when the search found nothing.
- Create the invoice. QuickBooks: Create Invoice with the customer,
Numberas the invoice number,Issue Date,Due Date,Currency, and the line items. Xero: Create Sales Invoice with the contact,Numberas the invoice number or reference, dates, and line items; set the status (draft or approved) and the account code the step asks for. - Map the line items from Keito’s
Line Itemsgroup:Description,Quantity,Unit Price. Keito’sKind(service or product) andProject IDcan go into the item or description fields.
Tax. Keito applies tax as invoice-level percentages with a taxed flag on each line, while QuickBooks and Xero want a tax code or tax type per line. Choose the default tax code or tax type in the accounting step. If some lines are untaxed, add a Paths by Zapier split on the Keito Taxed flag, or send the invoice total as a single line when you only need the totals to match.
Discounts and second tax. A Keito discount or second tax rate is not a line, so add it as its own line in the accounting step or leave it to be entered by hand.
Credit lines. A Keito line with Effect credit reduces the total; send it as a negative line or a discount line according to the accounting app’s rules.
Record Keito Payments In Accounting
When a Keito invoice is marked paid (a recorded payment, a Stripe payment, or a manual status change), apply the payment to the accounting invoice you created earlier.
- Keito → Updated Invoice.
- Filter by Zapier. Only continue if
Stateexactly matchespaid. - Find the accounting invoice. QuickBooks Find Invoice or Xero Find Invoice by Keito’s
Number. - Apply the payment. QuickBooks Create Payment, linked to the found invoice, with
AmountandPaid At. Xero Create Payment against the found invoice with the amount, the payment date, and the bank account the step asks for.
Keito’s paid state means the invoice is fully paid; partial payments and the payment method are not exposed to Zapier. Use Amount as the payment amount and check the first few payments in your accounting software.
Record Accounting Payments In Keito
There is no Zapier step to record a payment in Keito, so a payment entered in QuickBooks or Xero does not mark the Keito invoice paid automatically. You can:
- Record the payment in Keito and let the Zap above copy it to accounting, so Keito is the source of truth for payment status.
- Use a QuickBooks New Payment or Xero New Payment trigger to notify your team (Slack, email) that an invoice needs marking paid in Keito.
- Use the Business plan’s native integration, which reconciles payments from QuickBooks Online every two hours and keeps Xero payment status aligned.
Keep Customers And Clients Aligned
- Keito → New Client, then QuickBooks Find or Create Customer or Xero Create/Update Contact, mapping
Name,Address, andCurrency. - The other direction: QuickBooks New Customer or Xero New Contact, then Keito → Find or Create Client with the customer name, so a client created in accounting exists in Keito before you invoice it.
Matching is by name in both directions, so keep client names identical in both systems.
Native Integration Or Zapier?
| Native Xero or QuickBooks (Business plan) | Zapier (any plan) | |
|---|---|---|
| Invoice copy | One click or automatic per invoice, with sync status on the invoice | A Zap per invoice transition, tracked in Zap history |
| Customers | Created or linked from Keito clients, with import for QuickBooks | Find or Create by name in each Zap |
| Tax and accounts | Default tax codes, revenue accounts, items, classes, and tracking categories configured once | Chosen in each Zap step; per-line tax needs Paths |
| Invoice numbering | Keito numbering can align with Xero | Keito number copied as the accounting number or reference |
| Payments | QuickBooks reconciliation every two hours; Xero payment status kept aligned; optional payment copying | Keito paid state copied to accounting; nothing flows back |
| Retries and errors | Stored on each invoice and retried from Keito | Zapier retries and Zap history |
| Time and expenses | QuickBooks time activity and expense sync where enabled | Time and expense triggers into any accounting step you map |
| Cost | Included in Business | Zapier tasks per run; QuickBooks Online and Xero availability depends on your Zapier plan |
If you invoice a handful of clients a month, the Zapier route keeps your books current with a few Zaps. If you rely on payment status flowing back into Keito, per-line tax handling, or many invoices, the native integration on the Business plan removes the manual reconciliation. Plans and prices are on the pricing page.
Limits To Plan For
- Polling. Zapier checks Keito on your plan’s schedule, so an invoice reaches accounting minutes after it is sent, not instantly.
- Duplicates. Without the Find Invoice guard, an edit to an open invoice creates a second accounting invoice. Keep the guard in every invoice Zap.
- Numbers must be unique. QuickBooks and Xero reject or renumber a duplicate invoice number depending on their settings; keep Keito as the numbering source or use the accounting number and store Keito’s number in the reference field.
- Currency. Map Keito’s
Currencywhen the accounting company uses multi-currency; otherwise invoice in the company currency only. - Voided or closed invoices. Keito’s
voidedandclosedstates are visible to Updated Invoice, but voiding in accounting is a separate step (QuickBooks Void Invoice); add it only if you need it. - Edits after copying. Line changes in Keito after the invoice was copied do not update the accounting invoice unless you add an Update Invoice or Update Sales Invoice Zap keyed on the invoice number.
Troubleshooting
| Issue | What to check |
|---|---|
| The invoice Zap never runs | The Filter uses State exactly open; Updated Invoice must be the trigger, not New Invoice, because a new invoice is a draft. |
| Two accounting invoices for one Keito invoice | The Find Invoice guard is missing, or the Filter after it continues when an invoice was found. |
| Customer not found | Names differ between Keito and accounting; use Find or Create Customer or Contact and map the Keito client name. |
| Tax totals differ | The accounting step applies a different tax code than Keito’s percentage; adjust the default tax code or split lines with Paths. |
| Payment applied to the wrong invoice | Find Invoice matched by date or reference instead of number; map Keito’s Number and check the search’s match field. |
| Payment does not appear in Keito | Expected: Zapier cannot record payments in Keito. Record it in Keito or use the Business plan’s native sync. |
Need help mapping a specific workflow? Contact us with the Zap steps you have in mind.