Xero cannot export your repeating invoices. The Repeating tab lists the templates on screen, but there is no Export button, no report that includes them, and no CSV round-trip. The invoices a template has already generated export like any other invoice; the templates themselves — the thing that decides what gets billed next month — do not.
That gap shows up the moment somebody asks a simple question: what are we billing every month, to whom, at what price? This guide covers the three ways to answer it, from free and fiddly to one click.
Why there is no export
A repeating invoice in Xero is a template, not a transaction. Xero’s reports are built on transactions — invoices that exist, with dates and amounts that have hit the ledger. A template has neither until it runs, so it falls outside every standard report: Aged Receivables, Income by Contact, Sales by Item and the rest all start counting only once an invoice has been created.
The request to change this has been open on Xero’s product ideas board for years, alongside the related one for a report of repeating invoices. Neither has a roadmap commitment.
What people actually need the list for
The export is rarely the goal. It is the first step of one of these:
| Job | What the list must include |
|---|---|
| Annual price review | Every line with its current unit price, so the rise can be worked out and checked |
| Monthly recurring revenue figure | Amount per line and schedule, so weekly, monthly and annual templates can be normalised |
| Audit or sign-off | Customer, reference, account code and tax rate per line |
| Cleaning up the book | Next run date and end date, to find templates that have stopped or should have |
| Customer letters | Customer name with old and new price, ready for a mail merge |
Keep the job in mind when choosing a method below. A list of template names answers none of these; you need the lines.
Method 1: copy it by hand
- In Xero, go to Business → Invoices → Repeating.
- Open each template and copy the contact, reference, schedule, and every line’s description, quantity, unit price, account and tax rate into a spreadsheet.
It costs nothing and works for a dozen templates. Beyond that it is slow and error-prone in exactly the column that matters — unit price — and the list is out of date the moment anyone edits a template.
Method 2: pull it from the Xero API
Xero’s accounting API does expose repeating invoices, read-only. A developer — or a patient accountant — can fetch them without writing an application:
- Sign in to Xero’s API Explorer at developer.xero.com with the organisation’s login.
- Choose the Accounting API and the GET RepeatingInvoices endpoint.
- Run it. The response is every template with its schedule and line items.
- Convert the response to CSV with any JSON-to-CSV converter and open it in Excel.
This is accurate and free. Its costs are elsewhere:
- The output is nested. Each template holds an array of line items, so the converter either gives you one row per template with the lines crammed into a cell, or one row per line with the template details repeated. You will be reshaping it either way.
- Contacts come as IDs and names, schedules as codes. A schedule reads as a period and
a unit (
1,MONTHLY) rather than “Monthly”, and you work out annual value yourself. - It is a snapshot. Repeat the whole procedure every time you need a current list.
Integration tools that sync Xero into Google Sheets or Excel automate the same API call, usually on a paid plan. They save the clicking; you still build the report.
Method 3: export it from Invoice X
Invoice X is built around the repeating invoice book, so the list is where it starts. Connect Xero and every repeating sales invoice template loads into one table, one row per line. The Export button on that table downloads it as a CSV with these columns:
| Column | Notes |
|---|---|
| Customer, Reference | As set on the template |
| Description | The line description |
| Quantity, Current unit | The price Xero will bill next |
| Current amount | Quantity × unit |
| Change %, New unit, New amount | Blank movement until you stage a price change |
| New per year | The line’s annual value, normalised from its schedule |
| Account, Tax | GL code and tax rate |
| Schedule, Next run, Ends | e.g. “Every month”, the next scheduled date, and the end date if any |
A Currency column is added automatically when the book bills in more than one currency, and the file opens in Excel with currency symbols and dashes intact.
Two things make it more useful than a raw API dump:
- It exports what is on screen. Search by customer, description or account, or set a minimum and maximum unit price, and the CSV contains only those lines — “every line coded to 200-Sales under $100” is one filter, not a pivot table.
- It carries the proposed price next to the current one. Stage a 5% rise and the export becomes the sign-off file: current price, new price, percentage and annual effect on every line, before anything is written back to Xero.
The report Xero doesn’t have
If the question is what will the book bill over the next year rather than what is in it, the line list is the wrong shape. The repeating-income forecast walks every template forward from its next run date and totals each month — grouped by GL account, by customer or by currency, over 12, 24 or 36 months — and exports to CSV as well. It is the repeating invoices report people go looking for in Xero’s report list and don’t find.
Turning the export into a monthly recurring revenue figure
Whichever method you use, one step trips people up: templates bill on different schedules, so you cannot sum the amount column. Normalise first.
| Schedule | Monthly equivalent | Annual equivalent |
|---|---|---|
| Every week | amount × 52 ÷ 12 | amount × 52 |
| Every 2 weeks | amount × 26 ÷ 12 | amount × 26 |
| Every month | amount | amount × 12 |
| Every 3 months | amount ÷ 3 | amount × 4 |
| Every 12 months | amount ÷ 12 | amount |
Exclude templates whose end date has passed — they can still sit on the Repeating tab but will not bill again. The Invoice X export does the normalisation for you in the New per year column; with the other methods, add it as a formula column before you total anything.
Common questions
Can I import repeating invoices back into Xero from a CSV?
No. Xero imports ordinary invoices from CSV but not repeating templates, and its API has no update call for a repeating invoice — only create and delete. That is why editing the exported spreadsheet does not change anything in Xero. Invoice X writes changes back by rebuilding each template safely: create the replacement, verify it, then retire the original.
Does the export include repeating bills?
Not in Invoice X, which works on sales invoices (ACCREC) only. The API method in Method 2 returns bills as well, flagged with a type of ACCPAY.
Can I see which templates use a particular item?
Not from within Xero — templates hold a copy of each line, not a link to the item, which is also why changing an item’s price doesn’t update repeating invoices. In an exported list, filter the description column. In Invoice X, type the item’s description into the search box.
Is my Xero data stored?
Invoice X reads your repeating invoices through Xero’s standard OAuth connection to show and export them. The security page sets out what is held and for how long.
What does it cost?
One plan at $29 USD a month for up to five users. You can explore the table, the export and the forecast on built-in sample data before connecting Xero.