The invoice you send lands in Xero as an approved invoice
Xero is where the money is accounted for and BillNotch is where the hours came from, and keeping the two in step is normally a monthly job somebody dreads. Connect them once and the invoice you already decided to send writes itself into your ledger — the same number, the same dates, the same lines — and tells BillNotch when the client has paid.
ACCREC · authorised · account code 200 by default
What is different about the Xero side
It arrives approved, not as a draft
The invoice is created as an authorised accounts-receivable invoice, because you already made the decision to send it. There is no second approval step waiting for you in Xero.
You choose the sales account
Every line posts to one account code, defaulting to 200 and editable per connection in Settings. If your revenue lives somewhere else in your chart, change it once and every future invoice follows.
The contact is matched by name
BillNotch searches your Xero contacts for the client’s exact name and creates one if it finds nothing. Rename a client on one side only and you will end up with two contacts, so keep the names in step.
You get a link back
Xero returns the online invoice URL and BillNotch stores it against the invoice, so the ledger copy is one click away from the BillNotch one.
How you connect it
Settings → Integrations, Connect on the Xero row. Xero asks for access to your transactions and contacts, plus offline access so the connection survives without you signing in again, and hands you back to Settings. Set the sales account code if 200 is not where your revenue belongs, and leave Push sent invoices on.
Xero rotates its refresh token on a sliding window, so BillNotch stores the new one before it does anything else with a refreshed session. A connection that genuinely goes stale is marked revoked in Settings with a Reconnect button, rather than failing quietly for a month.
What crosses, field by field
The invoice number, the issue date, the due date, the currency, and one Xero line item per BillNotch line carrying the description, the hours as quantity and the rate as unit amount. Money is held as whole cents on the BillNotch side and converted per value rather than accumulated, so nothing drifts by a penny across a long invoice.
Tax does not cross. Every line is sent with a tax type of NONE, which means a BillNotch invoice carrying a tax rate will show its pre-tax total in Xero. That is deliberate rather than unfinished: Xero knows your tax registrations and rates and BillNotch does not, and a sync that guesses at tax is worse than one that declines to.
How paid status comes back
BillNotch asks Xero for invoices modified since it last looked, and when the amount due on a tracked invoice reaches zero it moves that invoice from sent to paid. If nothing has changed Xero says so and the cursor stays put, so a quiet week costs nothing and does not mark a healthy connection as broken.
The check happens when you open the invoices list, no more than once every fifteen minutes, or immediately when you press Sync now. There are no webhooks and this is not live: if you need to know the second a client pays, the payment link on the invoice itself is the faster path.
Sending the same invoice twice
It cannot produce two invoices in Xero. A claim is taken locally against the invoice and the connection before anything is sent, and the request carries an idempotency key derived from the invoice’s own identifier rather than its number — two invoices sharing a number would otherwise be collapsed into one on Xero’s side, which is the more dangerous failure of the two. If the push errors, the claim is released so a later attempt starts clean.
What it will not do
It does not touch bills, purchase orders, expenses, bank feeds, manual journals or tracking categories, and it does not create credit notes. It will not update a Xero invoice after the fact: edit or void in BillNotch and the Xero copy stays as it was, so a cancelled invoice has to be cancelled in both places. Nothing edited in Xero flows back except the amount due. Disconnecting removes the link on the BillNotch side but does not revoke the app inside Xero, which you can do from your Xero connected-apps screen.
And it will not pick your Xero organisation for you, split lines across account codes, or push time entries as billable time. It sends finished invoices and reads whether they are settled.
Common questions
- Which Xero organisation does it connect to?
- The first one your account authorises. There is no organisation picker, so if you manage several Xero organisations, connect from an account whose first organisation is the one you want.
- Does it push tax?
- No. Every line is sent with a tax type of NONE, and the tax amount on a BillNotch invoice is not carried across. On a taxed invoice the Xero total will be the pre-tax total, and tax is yours to apply in Xero.
- What does BillNotch read back from Xero?
- One thing: whether the amount due has reached zero. When it has, the invoice moves from sent to paid in BillNotch. No other field is read, and nothing you change in Xero flows back.
- Can I sync invoices I sent before connecting?
- No. The push is triggered by the act of sending, so it only ever applies to invoices sent after the connection exists. Historical invoices stay where they are and there is no backfill.
One less thing to reconcile
A 14-day trial, no card, and no data leaves BillNotch until you send an invoice. If you keep your books elsewhere, the QuickBooks Online sync is the same shape with its own quirks; how invoicing works covers what BillNotch does before Xero ever sees it, and BillNotch for consultants is the case this was built for.
Start tracking free