Xero integration
Agency invoicing that syncs to Xero
Handl builds the invoice from your milestones, hours and retainers. Xero stays your books. Invoices and payments sync both ways, so nothing gets typed twice.
Free for 7 days, then flat plans from $29/mo.
What syncs
What syncs between Handl and Xero
Three things, and that's the whole list. Each one is switched on in the Xero settings inside Handl, and each one does exactly what it says.
Invoices go to Xero
Handl creates the invoice in Xero as a sales invoice with the same number, dates, currency, line items, quantities, rates, discounts and tax. Change it in Handl later and the same Xero invoice updates, no duplicate.
When
You pick the timing: when the invoice is sent, when payment is received, or only when you hit Sync. New invoices land as Authorised, or as Draft if you'd rather review them in Xero first.
Payments go to Xero
When a Handl invoice is paid in full, Handl records the payment against that invoice in Xero, in the bank account you chose.
When
Right after the invoice is marked paid. Payment sync is off until you switch it on and pick a bank account, so Xero never gets a payment you didn't set up.
Payments in Xero come back to Handl
If your bookkeeper records a payment against the invoice in Xero, Handl picks it up and records it on the Handl invoice. The invoice shows as paid and the reminders stop. A part-payment is recorded as a part-payment.
When
Handl checks Xero every hour for payments on invoices that are still open. This runs when payment sync is on.
Division of labour
What stays where
Handl does
- Scope and milestones
- Time and retainers
- Drafting the invoice
- Payment reminders
- The client portal
Xero does
- Chart of accounts
- Bank feeds
- BAS and tax returns
- Reporting
- Payroll
Handl isn't your accounting system and doesn't pretend to be.
Setup
How to connect Handl to Xero
It takes a couple of minutes. You need to be an owner, admin or project manager in Handl, and someone who can authorise apps on your Xero organisation.
Have these ready in Xero
- A revenue account in your chart of accounts. Handl posts invoice lines to the first one it finds.
- If you charge GST or other tax: an active tax rate in Xero that can be used on revenue and matches the rate on your Handl invoices (10% GST on Income, for example).
- The bank account you want payments recorded against.
Step 1: Open Integrations in Handl
In Handl go to Settings, then Automation, then Integrations. The Accounting card has Xero and QuickBooks on it.
Step 2: Click Connect on the Xero card
A Xero window opens. If you already have QuickBooks connected, disconnect it first. Handl connects to one accounting system at a time.
Step 3: Sign in to Xero and allow access
Choose the Xero organisation you want to connect and click Allow access. Handl asks to read and write invoices and contacts, record payments, read your accounts and tax rates, and stay connected until you disconnect it.
When the window closes, the Xero card in Handl shows Connected.
Step 4: Choose when invoices sync
On the Xero card, click Settings. Under Sync invoices to Xero pick Manual, When sent, or When payment received. Under Xero invoice status pick Authorised, or Draft if you want to review each invoice in Xero before it hits your books.
Step 5: Turn on payment sync and pick the bank account
Switch on Sync payments to Xero, then choose the bank account payments should be recorded against. Handl only offers your active bank accounts.
The picker shows each account's currency and account number on a second line, and marks the one that receives your Handl payments. That's there because Stripe clearing accounts tend to be near-identical (Stripe AUD, Stripe AUD 1, Stripe AUD 2), and Xero rejects a payment if the account's currency doesn't match the invoice's. Pick the account your Stripe feed lands in, in the same currency as your invoices.
Step 6: Match your clients to Xero contacts
The first time an invoice for a client syncs, Handl looks for a Xero contact with exactly the same name. No exact match? The invoice shows Needs mapping. Click it, then Choose customer to link an existing contact, or Create the client in Xero from the same box.
Handl remembers the match for next time.
Step 7: Catch up older paid invoices (optional)
Turning on payment sync only covers payments from now on. For invoices that were already paid, use Check for unsynced payments in the same settings. It shows you what it would send and waits for your OK.
That's it. If the connection ever drops, the Xero card shows a Reconnect button. Use that instead of disconnecting.
Time in, books out
Works alongside your time tracker
Hours go into Handl from the tracker your team already uses, Handl builds the invoice, and Xero gets the result. They're all listed on the integrations page.
Harvest
Tracked hours sync into Handl and land on the next hourly invoice, which then syncs to Xero.
Toggl
Toggl entries flow into Handl, onto the invoice, and across to Xero without an export in between.
Clockify
Clockify hours come into Handl and ride the same invoice path to Xero.
Hubstaff
Hubstaff time lands in Handl first, then goes to Xero on the invoice.
Frequently asked questions
Does Handl replace Xero?
What do I need in Xero before I connect?
Do invoices arrive as drafts?
What happens if I edit the invoice in Xero?
Does it handle GST?
Do payments from Stripe reconcile?
What if a bookkeeper records the payment in Xero first?
What if I disconnect?
Which plans include it?
Does it work with my Xero organisation?
Can you help me set it up?
Free tools
Take something with you
Try it on a real invoice
Connect Xero and send one across.
7-day free trial on every plan, from $29/mo. Connect Xero, send an invoice, and watch it land in your books.
Start your 7-day free trial