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. If an invoice is being pushed at that moment, 1pm lets it finish first, and switching organisation works the same way.
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 belongs to the organisation you chose it from, so switching to a different one clears the sales account, payment account and tax types, and turns Push automatically off. Choose them for the new organisation before you push. Reconnecting to the same organisation keeps everything as it was.
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 only bank transfers or cash is right to pick their bank.
Account for payments you record by hand (optional): a second account, for a bank transfer, cash, cheque or any other payment you record yourself. Pick the bank account that money arrives in. Each of those payments then sits in the same account as its bank statement line, and Xero offers it as a match when you reconcile. Card payments taken online through 1pm keep posting to the payment account. Leave it on Same as the payment account and every payment posts to one account. Choose the payment account first: 1pm won't save this one on its own. With both set, the sync console and the Xero card on each invoice name the account each payment posts to. Reconciling 1pm payments in Xero covers the steps on the Xero side.
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.
Changing the mapping applies to invoices sent to Xero from then on. An invoice already in Xero keeps the account and tax codes it went across with, even when you later edit it in 1pm and it updates in Xero, so your past invoices stay where your books have them. A tax rate that invoice didn't have before (a line you added) uses the current mapping.
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 an invoice that hasn't been pushed, Not in Xero yet for a payment on an invoice that's already across, Waiting for one held back with a reason (usually a Draft invoice not yet approved in Xero), and In Xero once it's across.
Each row carries what you'd otherwise open the invoice to check against Xero:
- The issue date, due date, who it's billed to, and the event with its date. When the invoice is billed to a company, the company comes first with the person in brackets, because Xero files the invoice under the company name.
- Whether it's a deposit, progress payment, balance or extras invoice, which explains several invoices on one event, and the invoice's reference if it has one.
- The total, the tax included in it, and either Paid in full or the amount paid and the amount still due.
- For each payment: the date, the method, the amount, and the reference it carries in Xero, which is the one to match against your bank line. For a card payment that's the Stripe payment id. A payment made on an event confirmation is labelled with what it paid: "Deposit, Card", "Progress payment, Card" or "Balance, Bank transfer".
Hover over an In Xero badge to see the date that invoice or payment was sent.
An invoice marked paid with no payment recorded says so on its row. Xero receives the invoice but no payment, because there isn't one to send. Record the payment on the invoice and it goes across on the next push.
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.
- Send payment appears on a row that's already in Xero when a payment on it hasn't been sent yet, usually one you recorded after the invoice went across. It creates that payment in Xero against the invoice already there. With more than one to send, the button counts them: Send 2 payments.
- Re-check appears on a row that's already in Xero when there is no payment ready to send. 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 invoice (or clicking the invoice number) opens the invoice in 1pm in a new tab, so the console keeps its place. It's the quick way to check an invoice's payments, or to record one you haven't entered yet before you push. The invoice page also shows a Back to Xero sync link that returns you to the same card in the console, and it stays there while you record payments or make edits.
- 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 row that still has something to send 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. The common case is a payment you've already entered in Xero, or reconciled there from the bank feed: record it in 1pm so the invoice shows as paid, then mark the row handled so 1pm doesn't send the payment a second time. If a push runs first, nothing is duplicated: 1pm checks what Xero shows as still owing before it sends a payment, and one that is more than that amount isn't sent. The payment shows Failed with the reason, for example "Xero already shows this invoice as paid in full", and Mark handled clears 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. A handled row leaves the list straight away. To bring it back, click Show pushed, find the row, and click Un-handle.
- 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.
Checking one invoice from its own page
You don't have to find an invoice on the console to know where it stands. While your account is connected to Xero, every invoice page carries a Xero card at the bottom of the page, under the invoice's status and details. It shows the same badge the console does (Not synced, In Xero, Changed, Failed or Handled), the organisation you're connected to, and the date and time the invoice last went across. A failed push prints its reason there, and each payment on the invoice is listed with its own badge.
If you disconnect Xero, an invoice that already went across keeps its card. It shows when the invoice was last sent, which organisation it went to, and a link to open it in Xero. Invoices that never reached Xero show no card until you connect again.
The card also covers the two cases the console's main list leaves out. A draft says it hasn't been sent to Xero and when it will be. An invoice you voided or moved back to draft after it went across shows Still in Xero, because Xero still counts it as owing.
Open in Xero opens the Xero copy in a new tab, and Open sync console takes you to that invoice's row. The card only reports: pushing, re-checking and marking as handled all happen on the console.
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.
The same goes for an invoice you push from its row. Once it's fully across, its badge turns green to show In Xero, and a moment later the row fades off the list. If a payment on it is still waiting, or the push failed, the row stays so you can see why. With Show pushed on, every row stays where it is.
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 Send payment is what sends it.
To find one invoice, type in Search invoices above the list. It looks at the invoice number (yours and the one Xero gave it), the bill-to company and client name, the booking name, the invoice reference and each payment's reference. Type more than one word to narrow it down: every word has to appear somewhere on the invoice, in any order. A search covers every sent or paid invoice, including the ones already in Xero, so you don't need Show pushed on first. Clear search takes you back to the list.
A row badged In Xero that is still listed says why in a line under the invoice. "1 payment on this invoice isn't in Xero yet" means Send payment creates that payment in Xero. If you've already entered or reconciled it there, click Mark handled instead. "Saved in 1pm after it last synced" means Re-check compares the invoice with the Xero copy and sends any difference; if there is none, nothing is sent and the row drops off the list.
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. If you also mapped an account for payments you record by hand, those go there and online card payments go to the payment account. 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.
Money paid past the deposit needs the balance invoice to sit on. If a client pays the balance before you have raised that invoice, the console shows a warning above the list naming each booking and the amount not yet invoiced. Open the booking's Billing page and click Raise balance invoice, and the payment appears here on the new invoice. See deposit and balance invoices.
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.
- Sample data stays out. The sample invoice and its payment never go to Xero, and they are not listed on the sync console.
- 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.
- Recording payments and taking card payments covers recording the payments that follow the invoice across.
- Reconciling 1pm payments in Xero covers matching those payments to your bank statement lines in Xero.