Sending invoices to Xero
If you keep your books in Xero, 1pm can send your invoices and their payments straight across, so you raise an invoice once and your accountant sees it without anyone rekeying figures. The sync is one way: 1pm pushes to Xero, Xero never pushes back. Your event, your line items, and your payments stay authoritative in 1pm; Xero gets a faithful copy for the books.
This article covers connecting your Xero organisation, mapping your accounts and tax rates, pushing invoices by hand or automatically, and how payments follow.
Connecting Xero
Go to Account and open the Xero page (there's also a card for it on your Billing hub, and a link in the header of the Invoices list). Click Connect with Xero and you're taken to Xero to sign in and authorise. If you look after more than one organisation in Xero, you'll be asked which one to link. Pick it and you're brought back to 1pm, connected.
You can disconnect at any time from the same page. That stops any further syncing; nothing already in Xero is touched.
You can also switch to a different organisation from the same page. 1pm keeps track of what it has sent to each organisation separately. After a switch, the sync console shows your invoices as not yet in the new organisation, ready to push, and switching back shows the first organisation's invoices exactly as they were. Your account mapping stays as it is, so check it points at accounts that exist in the new organisation before you push.
Mapping your accounts and tax
Before the first invoice can go across, 1pm needs to know where things belong in your chart of accounts. On the Xero page you'll set:
Sales account: the revenue account every invoice line is posted to (for example "Sales" or "Event income"). All the lines on a 1pm invoice go to this one account.
Payment account: where payments are recorded when they sync. Xero accepts a payment against any account with "Enable payments to this account" ticked, not only bank accounts, so the picker lists your banks first and any clearing or contra accounts under their own group.
If you take card payments, pick a clearing account rather than your real bank account. Card money reaches your bank as a batched, fee-netted Stripe payout, so a discrete 1pm payment posted straight to the bank has nothing to match and the Xero balance drifts above your actual statement. 1pm warns you inline if you pick a bank account while card payments are live. It stays a warning rather than a block, because an account taking bank transfers or cash is right to pick their bank.
Tax rates: each tax rate you use in 1pm is matched to the equivalent Xero tax type (your GST or sales-tax rate). Anything untaxed in 1pm is sent as no tax. A service charge goes across as its own line at your default rate; a gratuity goes across untaxed.
Map these once and they're remembered. If you add a new tax rate in 1pm later, come back and point it at the right Xero tax type. Until you do, an invoice with a line on that rate isn't sent, and the sync console names the rate; it never goes across as untaxed. A rate you archive in 1pm stays on the list, marked Archived, for as long as invoices you've issued still use it.
Who numbers the invoices
By default the 1pm invoice number goes across and becomes the Xero invoice number. That is what you want if 1pm is the only place invoices are raised: one number, one document, and a re-push updates the invoice already there rather than creating a second one.
It is the wrong default if you also raise invoices directly in Xero. Two independent sequences eventually land on the same number, and Xero refuses the collision.
Let Xero number the invoices, on the Xero settings page, fixes that. With it on, an invoice is pushed with no number and Xero assigns the next one from its own sequence. Your 1pm number still travels: it goes at the front of the invoice's Reference in Xero, which is how you match the two up afterwards.
Either way, using Forget and pushing again creates the invoice in Xero afresh rather than updating the one already there. With Xero numbering it arrives under a new number, so void or delete the first one in Xero if you don't want both. With 1pm numbering, Xero refuses it while an invoice with that number exists, so void or delete that one first.
Draft or Authorised
There's one setting that decides how invoices land in Xero: push status.
- Draft (the default) drops each invoice into Xero as a draft for you to review and approve there. Safe and reversible: nothing is posted to your accounts until you approve it in Xero.
- Authorised sends invoices straight through as approved and ready.
The choice matters for payments. A payment can only attach to an approved Xero invoice. So if you're on Draft and a payment comes in, 1pm holds that payment until the invoice is approved in Xero, and tells you that's why it's waiting. Approve the invoice in Xero, then re-check it from the sync console (below) and the payment follows.
Pushing invoices
You've two ways to get invoices across.
By hand, from the sync console. Open the Xero console (linked from the Invoices header and the Billing card). It lists your invoices with their sync state. Push one with the button on its row, or use Push all to send everything outstanding in one go. A bulk push paces itself to stay within Xero's rate limits, so a large batch takes a little while; you don't need to babysit it.
Automatically, on send or payment. If you'd rather not think about it, turn on auto-push on the Xero page (it's off by default). With it on, an invoice is queued for Xero the moment you send it to a client or record a payment against it, in the background, off to one side of whatever you were doing. The console then becomes an exceptions board: instead of a to-do list of things to push, it's a short list of anything that didn't go across cleanly, flagged with a count so you can see at a glance whether anything needs a look.
Either way the push is idempotent: sending the same invoice twice updates the existing one in Xero rather than creating a duplicate.
Reading the sync console
The console looks busier than it is. Each invoice is one row, with its payments listed underneath, and the badge in the Xero column tells you where things stand:
- Not synced: hasn't been pushed yet. This is the normal starting state.
- In Xero: pushed successfully, and unchanged since.
- Changed: it synced, then someone edited it in 1pm. Xero has the old figures until you re-push.
- Failed: the last push was refused, and the reason is printed on the row (an unmapped tax rate and a currency Xero doesn't have are the common ones).
- Handled: parked. It won't push and doesn't count as needing attention.
Payments carry their own badges: Will sync with invoice for a payment queued behind its invoice, Waiting for one held back with a reason (usually a Draft invoice not yet approved in Xero), and In Xero once it's across.
The buttons on each row change with the state, which is where most of the head-scratching happens. Here's what each one actually does:
- Push appears on a row that isn't in Xero yet. It sends the invoice and its payments across.
- Re-push update appears on a Changed row. It sends your 1pm edits across, updating the invoice already in Xero rather than creating a second one.
- Re-check appears on a row that's already in Xero and unchanged. It runs the sync again for that invoice: 1pm confirms the invoice is still there and pushes across any payments still waiting. Its everyday job is the Draft workflow: a payment against a Draft invoice waits until you approve the invoice in Xero, and Re-check is how you tell 1pm "I've approved it, send the payment now". It never creates duplicates, so clicking it out of curiosity is completely safe.
- Open in Xero appears on any row 1pm holds a Xero id for. It opens that invoice in Xero in a new tab, so "In Xero" is something you can check rather than take our word for. If you're signed in to more than one Xero organisation, Xero asks which one before showing you the invoice.
- Forget appears on any row 1pm holds a Xero id for. It clears 1pm's record that the invoice synced, so the row goes back to Not synced and can be pushed afresh. Nothing in Xero is touched. Reach for it when the sync record has gone stale: the invoice was deleted in Xero, or it synced to an organisation you no longer use, so Push keeps failing against an id that no longer exists. A confirmation explains what a re-push will do before anything happens: it creates the invoice afresh, so void or delete the one already in Xero first.
- Mark handled parks a stuck or not-yet-synced row so it stops counting as needing attention. Use it when you've sorted the invoice out directly in Xero and don't want 1pm to push it. 1pm stops sending the invoice and any payment on it that isn't in Xero yet. A payment you record afterwards still goes to the Xero invoice, as long as that invoice is in Xero. Un-handle reopens the row later if you change your mind.
- Push all at the top sends everything with something still to cross as one background batch: invoices not yet in Xero, edits to invoices already there, and payments still waiting. Invoices with nothing new are skipped, so it's safe to use even with a mixed list.
Why the list is shorter than your invoice count
The console hides invoices that are fully across with nothing left to send, because within a few weeks of use those are almost all of them. The line above the list tells you how many are hidden, and Show pushed brings them back.
An invoice stays on the list, or comes back to it, when there is still something to do with it: it hasn't been pushed, the last push failed, it's been edited since it synced, or a payment on it hasn't crossed yet. A payment recorded after the invoice went across is the common one, and Re-check is what sends it.
Older invoices, synced before we started recording which version of each invoice Xero holds, can sit on the list without anything obviously wrong with them. Click Re-check once on each and they settle for good.
The two amber sections that sometimes appear below the table, Left behind in Xero and Withdrawn in 1pm, still live in Xero, are covered in their own sections below. Their Mark as handled buttons work the same way: they clear the entry from the list once you've dealt with it in Xero, and change nothing in your ledger.
How payments follow
Once an invoice is in Xero and approved, its payments sync to the payment account you mapped, whether you recorded them by hand in 1pm or they arrived through an online card payment. That holds even when Xero has refused an edit to the invoice (Xero won't change an invoice it has been paid against): the edit shows as failed on the console, and the payments still cross. The amount, date, and running balance match what 1pm shows. As covered above, a payment against a still-draft Xero invoice waits until that invoice is approved.
A payment is never rewritten after it syncs. This matters when a client pays in instalments. If a deposit of $1,000 arrives as $400 now and $600 next week, that's two payments in 1pm and two payment lines in Xero, not one line that grows. Each is dated when the money actually arrived, which is what you want when the two fall in different months, and it means a payment already in your books is never quietly restated behind your back.
The same holds for a deposit paid against an event confirmation. The money is recorded on the confirmation, and 1pm mirrors it onto the deposit or balance invoice so your books see an invoice rather than a confirmation (confirmations don't sync). Pay the deposit in stages and you get a payment line per stage.
If you delete or correct a payment
Deleting a payment in 1pm does not delete it in Xero. That's deliberate. The sync is one way, and reaching into your accounts to remove a posted payment is not something 1pm should do without you: it may already be reconciled against a bank line, and in some jurisdictions it's part of a filed return.
So the money stays in your Xero until you deal with it there. What 1pm does instead is tell you. Any payment in this state appears on the Xero console under Left behind in Xero, with the date it was sent and its Xero payment id so you can find it. Reverse or delete it in Xero, then click Mark as handled to clear it from the list.
You'll see entries here after two things:
- You deleted a receipt in 1pm that had already synced.
- A deposit on a confirmation was corrected downwards, for example a payment recorded in error and then removed, which reduces what 1pm mirrors onto the invoice.
If the list is empty, your two sets of books agree on what's been received. It's worth a glance before you reconcile.
What syncs, and what doesn't
Worth knowing where the edges are:
- What goes across: your sales invoices, itemised line by line, with tax, and their payments.
- Who the invoice is to. The Xero contact is the client's company when the invoice is billed to one, otherwise the person's name, otherwise their email address. Xero matches contacts by name, so every invoice for the same company lands on one Xero contact.
- One way only. Changes you make in Xero don't come back to 1pm. Keep 1pm as your source of truth for the invoice and let Xero mirror it, rather than editing the same invoice in both places.
- Invoices update in place, payments don't. Edit an invoice's figures in 1pm and re-push, and the same Xero invoice is updated. Payments work the other way round: they're only ever added, and a deletion is surfaced for you rather than applied. See "If you delete or correct a payment" above.
- Not yet included: quotes, event confirmations, and credit notes stay in 1pm for now. Only issued invoices sync.
- Edits after a push do go across. Re-point an invoice at a different bill-to contact, change its issue or due date, its reference or its terms, and a re-push carries the change. It is not only the money that travels.
Which currency the invoice is booked in
Invoices go to Xero in the currency 1pm priced them in, not in your Xero organisation's base currency.
That matters if the two differ. An invoice sent in a currency your Xero organisation does not have set up is refused, and the reason appears on the sync console. That is the right outcome: a named failure you can see beats a silent re-denomination into the wrong currency inside your books, which is what an invoice with no currency on it would get.
The Xero settings page puts both currencies side by side so you can see whether they agree, and warns you when they do not. If they should match, change yours under Setting your account currency. If they genuinely differ, add the currency to your Xero organisation and the invoices go through.
Withdrawn in 1pm, still live in Xero
Voiding an unpaid invoice in 1pm, moving it back to draft, or deleting it are all supported corrections. None of them voids the invoice sitting in your Xero ledger, and 1pm will never void anything in your books for you.
Left alone, that is a real problem rather than a tidiness one: the receivable stays live in Xero and your client stays chaseable for money you have already written off.
So the sync console carries a Withdrawn in 1pm, still live in Xero section listing exactly those invoices. Void or credit them in Xero, then mark each as handled. An invoice back in draft that you send again updates the Xero copy and leaves the list on its own.
If something doesn't go across
The sync console is where problems surface. An invoice that failed to push shows why on its row, and a failed count appears on the Sync to Xero button so you're not relying on remembering to check. Common causes are a tax rate that hasn't been mapped yet, or a payment waiting on a Draft invoice you haven't approved in Xero. Fix the cause, then push or re-check that invoice from the console.
Related articles
- Quotes and invoices covers raising and sending the invoice that then syncs.
- Getting paid: payments and online card payments covers recording the payments that follow the invoice across.