Xero + BTCPay Server

Accept Bitcoin on Xero Invoices with BTCPay Server

Bitcoin payments on your Xero invoices with no processor in the money flow and no percentage taken out

Register now and get 3 invoices for free → See How It Works

First month free • No credit card required • Cancel anytime

Xero serves around 5 million customers across more than 180 countries, and it leads cloud accounting in New Zealand, Australia and the United Kingdom. Its invoice payment options come from connected services rather than from Xero itself: Stripe for cards, Apple Pay and Google Pay, GoCardless for direct debit, plus regional alternatives from the app store. Every one of them moves bank money. A client who wants to pay in Bitcoin falls outside the whole arrangement.

For most Xero businesses the practical answer has been a crypto processor, which trades one intermediary for another. BTCPay Server exists because a group of merchants wanted neither. It is free and open source, charges no processing or subscription fees, and never asks a merchant for identification. Payments go straight from the customer to a wallet whose keys you hold. The catch has always been that BTCPay Server is software you run, which puts it out of reach of the average accountant or agency owner.

PayInBTC.me closes both gaps at once. It connects your Xero account, read-only through Xero's standard OAuth authorisation, to a BTCPay Server instance you run yourself or one we host for you. Your invoices carry a Bitcoin option next to whatever else you already offer, the amount is calculated at the live rate when the client opens it, and the Bitcoin arrives in your own wallet. Nothing about how you invoice in Xero changes.

Why Xero and BTCPay Server work together

Xero's app ecosystem stops where bank money stops

Xero's app store is the largest in cloud accounting, with well over a thousand integrations covering payroll, inventory, expenses and payments. The payment apps all terminate at a bank account, because that is what card networks and direct debit schemes settle into. Lightning payments have sat on Xero's own product ideas forum as an open request rather than a shipped feature. BTCPay Server is the piece that handles the Bitcoin side, and PayInBTC.me is the connector that makes the two speak to each other.

Read-only on one side, your keys on the other

PayInBTC.me reads invoice number, amount and currency from Xero so the payment page shows the correct total. It cannot write to your ledger, edit an invoice, or touch your chart of accounts. On the Bitcoin side, BTCPay Server is non-custodial by design: the payment moves from your customer to the wallet connected to your instance, with no processor holding funds in between. Neither PayInBTC.me nor BTCPay Server takes custody at any point, which is a different security position from a crypto gateway that receives on your behalf and pays out later.

Two flat costs instead of a percentage

BTCPay Server has no processing fee and no subscription fee. Only the Bitcoin network fee applies, and Lightning payments carry a fee measured in a few sats. PayInBTC.me charges 1,500 sats per invoice on pay-per-use, or 2,500 sats a month for unlimited invoices. Neither cost scales with the size of the invoice. For a Xero user sending four-figure and five-figure invoices, that structure is the whole argument: a 2.9% card rate on a £10,000 invoice is £290, while the same invoice paid in Bitcoin costs the same flat handful of sats as a £200 one.

Cross-border invoicing, where Xero users lose the most

A London consultancy billing a client in Singapore, or an Auckland studio billing one in California, currently chooses between an international card rate with an FX markup on top, or a wire transfer that costs the client a fee and costs you three working days. Bitcoin does not distinguish between a domestic payment and an international one. A Lightning payment settles in seconds on a Sunday evening for the same cost as it would on a Tuesday morning, whichever countries the two parties sit in.

Self-hosting is optional, self-custody is not

Running BTCPay Server yourself means a VPS or a machine at the office, a Bitcoin node, and the maintenance that comes with both. If that suits you, connect your instance and PayInBTC.me works with it as it is. If it does not, our hosted BTCPay add-on runs the server for you at 2,500 sats a month or 25,000 sats a year, with monitoring and daily backups, while the wallet keys stay yours. You give up the server administration, not the custody.

How the integration works

Setup takes about five minutes and needs no crypto knowledge beyond having a wallet to receive to. Once connected, the flow runs on its own for every invoice you enable it on.

1

Connect Xero and BTCPay Server

Sign in to PayInBTC.me and authorise Xero through its standard OAuth flow, which shares no password and grants read access only. Then point PayInBTC.me at your BTCPay Server instance, either your own or the one we host for you, using an API key generated in BTCPay.
2

Add the Bitcoin link to an invoice

A 'Pay with Bitcoin' link is placed on the Xero invoices you choose. Your invoice template, branding, numbering and payment terms stay exactly as they are, and the link sits alongside whatever other payment services you already offer.
3

Your client chooses to pay in Bitcoin

When the client clicks the link, PayInBTC.me fetches the invoice total from Xero, converts it to BTC at that moment's rate, and hands the payment to your BTCPay Server checkout, which shows a QR code and an invoice timer.
4

Payment settles to your wallet

The client pays from any Bitcoin wallet, over the Lightning Network for near-instant settlement or on-chain for larger amounts. BTCPay Server passes the payment straight to the wallet connected to your instance. No third party holds it on the way.
5

You reconcile in Xero

PayInBTC.me emails you when the payment clears, and BTCPay Server records it in your own instance. You then mark the invoice as paid in Xero yourself, because the connection is read-only. Automatic reconciliation is on the roadmap and is not available today.

What Xero businesses get from this pairing

Payments that arrive under your own keys

BTCPay Server is non-custodial. The Bitcoin moves from your client to a wallet you control, with no processor account sitting in between and no payout schedule to wait on. Nothing can be frozen or reversed after it has settled.

No percentage of the invoice

BTCPay Server charges no processing or subscription fee. PayInBTC.me charges a flat sats amount per invoice or per month. The cost of accepting a payment stops being a function of how large the invoice is.

No KYC on the payment side

BTCPay Server does not ask merchants for identification, because there is no company receiving funds on your behalf. Your own tax and accounting obligations in your jurisdiction are unchanged, and the payments still belong in your Xero books.

Open source you can inspect

BTCPay Server's code is public and its plugin and API architecture is documented, which matters if your business or your auditor wants to know exactly what handles the money. There is no closed processor whose terms can change under you.

Same cost domestic or international

A Bitcoin payment from a client in Sydney costs the same as one from a client in Manchester. For Xero's heavily cross-border user base, that removes the international card premium and the FX spread from the equation.

Your Xero setup stays untouched

The integration adds a payment link and reads invoice data. It does not alter your templates, your tracking categories, your bank feeds, or your reconciliation routine in Xero.

What it costs on a typical Xero invoice

Take a £2,500 invoice from a UK consultancy to an overseas client. Here is roughly how the payment cost compares across three methods.

Method Cost on a £2,500 invoice Notes
International card payment £81 to £85 Around 3.25% plus a fixed fee for non-UK cards on common UK processing rates, before any FX markup
International bank transfer £10 to £30 Wire fees on one or both sides, plus two to three working days and a manual match in Xero
Bitcoin via PayInBTC.me and BTCPay Server About £1.20 Flat 1,500 sats per invoice on pay-per-use, no BTCPay processing fee, plus a network fee of a few sats over Lightning

On this invoice the difference between a card payment and a Bitcoin payment is roughly £80. Because both the BTCPay Server fee and the PayInBTC.me fee are flat, that gap grows with every pound you add to the invoice rather than staying proportional.

Who this fits

UK, Australian and New Zealand consultancies billing abroad

Firms already running their books in Xero and sending four-figure invoices across borders, where international card rates and FX spreads take a visible bite out of each payment and settlement takes days.

Businesses that want to hold Bitcoin, not receive a fiat payout

Owners keeping part of their revenue in Bitcoin. A custodial gateway that converts and pays out to a bank account defeats the purpose. BTCPay Server delivers the Bitcoin itself, to a wallet only they can spend from.

Technically confident owners who already run their own infrastructure

People comfortable with a VPS and a Bitcoin node who want their payment stack to be open source and inspectable. They connect their existing BTCPay Server instance and keep Xero for the accounting.

Accountants and bookkeepers advising Bitcoin-holding clients

Practices fielding questions about accepting Bitcoin for clients on Xero, who need an answer that keeps invoices, records and audit trail in the accounting system rather than in a separate crypto dashboard.

Getting started

You need a Xero account and a BTCPay Server instance. If you do not want to run the server, the hosted add-on gives you one without the administration.

  1. Set up BTCPay Server, either self-hosted on your own machine or VPS, or through the PayInBTC.me hosted add-on, then connect the wallet you want payments to settle to.
  2. Register at payinbtc.me, authorise Xero through OAuth, and add your BTCPay Server URL and API key.
  3. Enable the Bitcoin payment link on the invoices you want to offer it on, then send one to yourself as a test before using it with a client.

The first month is free, so you can run real invoices through the setup before deciding whether it stays. Full setup instructions for both sides are at docs.payinbtc.me.

Frequently Asked Questions

Does this change how I create invoices in Xero?

No. You invoice in Xero exactly as you do now. PayInBTC.me adds a 'Pay with Bitcoin' link to the invoices you choose and reads the invoice details to build the payment. Your templates, numbering, payment terms and accounting entries stay as they are.

Do I have to run my own BTCPay Server?

No. If you already run an instance, connect it and PayInBTC.me works with it as it is. If you would rather not manage a server, the PayInBTC.me hosted BTCPay add-on runs one for you at 2,500 sats a month or 25,000 sats a year, with monitoring and daily backups. The wallet keys remain yours in either case.

Does the payment go over Lightning or on-chain?

Both are available. BTCPay Server supports Lightning for near-instant settlement on everyday amounts and on-chain Bitcoin for larger invoices where confirmation time matters less than the fee. Your client picks at the checkout, from the methods your instance has enabled.

Where does the Bitcoin end up?

In the wallet connected to your BTCPay Server instance, which only you hold the keys to. Settlement is non-custodial from end to end: PayInBTC.me reads your Xero invoice data and passes the payment through, and BTCPay Server routes it to your wallet. Neither one ever holds your funds.

Do I need to understand Bitcoin to use this?

Not for the payment flow. Setup takes about five minutes and your client handles the Bitcoin side when they pay. You do need a wallet to receive to, and if you self-host BTCPay Server you take on the usual responsibilities of running a server and backing up a wallet. The hosted add-on covers the server side for you.

Will Xero mark the invoice as paid automatically?

Not yet. PayInBTC.me has read-only access to Xero and does not write back to it, so you mark the invoice as paid yourself after the confirmation email arrives. Automatic reconciliation is on the roadmap. Until then the payment record sits in your BTCPay Server instance and the email, both of which support the manual entry.

What does it cost per invoice?

PayInBTC.me charges a flat 1,500 sats per invoice on pay-per-use, or 2,500 sats a month for unlimited invoices, or 25,000 sats a year. The first month is free, with three free invoices on pay-per-use. BTCPay Server itself charges no processing or subscription fee, so beyond the Bitcoin network fee there is nothing else taken from the payment.

Can I use this outside the UK, Australia and New Zealand?

Yes. Xero is used in more than 180 countries and BTCPay Server is software rather than a licensed payment service, so there are no country restrictions on either side of the connection or on PayInBTC.me. Your own local rules on accepting and reporting Bitcoin still apply, so check them with your accountant before you start invoicing this way.

More questions? See our full FAQ →

Start today—risk free

Add Bitcoin to Your Xero Invoices with BTCPay Server

Keep Xero. Keep your workflow. Just add Bitcoin payments via BTCPay Server.

No credit card required. First 3 invoices free. Cancel anytime.

Register now and get 3 invoices for free →

Questions? Talk to our team