Get 3 months free on any plan. Use code EARLYBIRD at signup.Claim offer
All articles
·3 min read

Why Xero needs a billing layer

Xero is excellent accounting software. But if you run a SaaS business with subscriptions, it needs something more.

Xero is one of the best accounting platforms available for small and mid-sized businesses. It handles invoicing, bank reconciliation, reporting, and tax in a way that most accountants and bookkeepers are comfortable with. For a SaaS business getting started, it is a sensible choice.

The problem shows up the moment you have more than a handful of subscribers and someone changes their plan mid-month.

Where Xero stops

Xero is built around transactions, not subscriptions. You can create a repeating invoice, but it has no concept of a billing cycle, a plan tier, or a mid-cycle change. If a customer upgrades on the 15th of a 30-day month, Xero cannot tell you what they owe for the remaining 15 days. You have to work that out yourself.

At a small scale, this is annoying. At any meaningful scale, it becomes a real operational problem. Teams end up with a spreadsheet to track proration, another to track which customers are on which plan, and someone who owns both of those sheets and has to update them every time something changes.

The spreadsheet becomes load-bearing infrastructure. Nobody wants to touch it, and it is always slightly out of date.

Why the alternatives do not fit

The obvious answer is to use a dedicated billing platform. Stripe Billing, Chargebee, Recurly, and others all handle subscriptions well. But they come with a significant trade-off: they want to own the invoicing too.

For a business that runs on Xero, that is a problem. Moving invoicing out of Xero means your accounting records are split across two systems. Your accountant is working in Xero, but the subscription revenue is in the billing platform. Reconciliation becomes a job in itself.

The other option is to use one of these platforms and sync invoices back to Xero automatically. Some do offer this, but the sync is often partial, requires configuration to get right, and adds another point of failure. You are paying for a billing platform and still doing work to make Xero usable.

What a billing layer actually does

A billing layer sits between your customers and Xero. It handles the subscription logic: what plans exist, what each customer is on, when their billing cycle runs, and how to calculate a charge when something changes mid-cycle.

The invoicing stays in Xero. When a billing event happens, the layer calculates the correct amount and pushes an invoice directly to Xero. Your accountant still works in the same place. Your revenue reports are still there. Nothing moves.

This is the design behind Saasybill. It is not trying to replace Xero or add a parallel invoicing system. It handles the subscription logic that Xero does not have and keeps Xero as the source of truth for everything financial.

When it matters most

You might not need this at five customers. But by the time you have 30 or 40 subscribers, with a mix of plan types and regular mid-cycle changes, the overhead of managing it manually is real. The spreadsheet is already there, and someone is already spending time on it every week.

The billing layer removes that overhead. Proration is calculated automatically. Invoices are pushed to Xero without manual input. The subscription state is always accurate, in one place, and not owned by a single person who knows how the spreadsheet works.

Xero remains what it is best at: accounting. Saasybill is the billing layer that handles what Xero can't.

Try Saasybill

Subscription billing and Xero sync, without the spreadsheets.

Start free trial