Free tool · CSV + Excel · Nothing uploaded

Free Invoice Number Generator — with gap and duplicate check

Set a numbering scheme (prefix, year or client token, digits, start), get the next numbers as a list, CSV or Excel file with the matching formula, then paste or import your existing invoice list to see duplicates, missing numbers, off-format lines and software length limits. The scheme can then be used by our free invoice generators, which number each new invoice with it.
1 · Numbering scheme
Tokens: {YYYY} {YYYYMM} {CLIENT} — one series per year or per client.
Preview: INV-… · 10 numbers
#Invoice number
1INV-0001
2INV-0002
3INV-0003
4INV-0004
5INV-0005
6INV-0006
7INV-0007
8INV-0008
9INV-0009
10INV-0010
2 · Software fit
Checked against the longest number in the list: INV-0001
  • QuickBooks Online — OK: 8 of 21 characters source
  • QuickBooks Online — Duplicate numbers are only accepted when the request explicitly allows them (include=allowduplicatedocnum). source
  • Xero — OK: 8 of 255 characters source
3 · Check an existing invoice list

Nothing leaves your browser. The invoice list is read in memory and never saved; only the numbering scheme is kept in this browser when you click "Use this scheme".

What the other invoice number generators don't do

Producing INV-001, INV-002, INV-003 is easy, and the free generator we could read before building this one stops there: a prefix, a starting number, some zero padding, a list to copy. That generator, Waffle Invoice's, states it plainly — it "cannot verify uniqueness against your records".

That is the part that actually goes wrong in a real business. Two people issue the same number, a voided invoice leaves a hole, someone types INV-42 instead of INV-0042, and the accounting software rejects a number that is one character too long. This tool reads your existing invoice list, finds those problems, and continues the series from where it really ends, so the next number cannot collide with one you already used.

The numbering rules, with sources

Each limit below is checked live in the Software fit panel of the tool, with the same source link next to it. Sources were read on October 11, 2026.

Software or ruleWhat it saysSource
QuickBooks OnlineInvoice DocNumber: maximum of 21 characters. With custom transaction numbers off, QuickBooks generates the number by incrementing the last one by 1. A duplicate number is accepted only when the request explicitly allows it.Read
XeroInvoiceNumber: unique alphanumeric code, auto-generated from the organisation's invoice settings when missing; maximum length 255.Read
FreshBooksWhen no number is sent, FreshBooks increments the previous one ("0005" becomes "0006", "000D" becomes "000E"); a number already in use is refused. No maximum length is documented — enter the one your account shows.Read
Stripe InvoicingCustomer-level (a prefix per customer) or account-level (one prefix) numbering. Prefixes must be between 1 and 12 uppercase letters or numbers; the full number is unique in the account (Stripe's example: 586A2E-0139).Read
United Kingdom — VAT Notice 700, §16.3.1"A sequential number based on one or more series which uniquely identifies the document."Read
European Union — Directive 2006/112/EC, art. 226(2)"A sequential number, based on one or more series, which uniquely identifies the invoice."Read
United States — IRS Publication 583Lists invoices as supporting documents to keep and does not prescribe a numbering format.Read

How the sequence check works

Paste a column of invoice numbers, or import the CSV or Excel export from QuickBooks, Xero, FreshBooks, Wave or your own spreadsheet. The file is read by your browser, in memory; nothing is uploaded and the list is never saved.

Each number is split into a prefix, a counter and a suffix. Lines that share a prefix and a digit width form a series — INV- with four digits, 2026- with three — so a register that uses one series per year or per client is read as several series, not as one broken list. Within each series the tool lists duplicates, the missing numbers between the lowest and the highest, and the lines that follow no series at all.

If you include a date column, the tool also flags numbers that go up while the date goes down, which usually means an invoice was numbered out of turn. When a yearly series restarts in January, the continuation does the same.

Use these numbers in a real invoice

Click "Use this scheme in our invoice generators" and the scheme is saved in this browser. The next invoice you open in any of our six free generators — standard, hourly, freelance, proforma, commercial or construction — is numbered with it, and the counter moves on from there.

If you prefer a spreadsheet, the Excel download carries a Formula column that rebuilds each number from its row, so the list keeps going when you drag it down. Free invoice templates are in the invoice hub and the free invoice tracker spreadsheet.

Who this is for

Small businesses and freelancers setting up invoice numbering for the first time, bookkeepers cleaning up a client's register before it goes into QuickBooks or Xero, and anyone moving from one invoicing tool to another who needs the new series to start where the old one ended.

Keep the paper trail

Record what you bill

This tool checks numbers; it does not keep your invoices. To record what you bill, our Bookkeeping for Small Business template has an Income sheet (date, client, category, amount, paid or not) that feeds a month-by-month cash-basis P&L, a Tax Dashboard and a CPA Export sheet — in Excel and Google Sheets.

See the Bookkeeping template — $19

Frequently asked questions

Should my first invoice number be 1001 instead of 1?

IRS Publication 583 lists invoices as records to keep and does not prescribe a numbering format, so starting higher is a presentation choice. What matters is that each number is used once and the series runs in order, which is what the sequence check verifies.

Can I restart invoice numbers every year?

Yes. Both the UK VAT Notice 700 and EU Directive 2006/112/EC describe a sequential number "based on one or more series", which allows one series per year or per client. Use the {YYYY} token and tick the yearly restart; the check reads each year as its own series.

What should I do about a gap after a voided invoice?

Do not reuse the number. The UK and EU texts ask for a sequential number that uniquely identifies the invoice, and reusing a number would break that. This tool never proposes a missing number again — the continuation always starts after the highest one — and lists the gaps so you can note why each one exists.

How long can an invoice number be in QuickBooks Online?

21 characters for the DocNumber field, per the QuickBooks Online Accounting API. Through that API, QuickBooks rejects a duplicate number unless the request explicitly allows it. The Software fit panel checks the longest number in your list against that limit.

What about Xero, FreshBooks and Stripe?

Xero allows up to 255 characters. FreshBooks documents no maximum length, so enter the limit your account shows. Stripe limits the prefix to 1 to 12 uppercase letters or numbers and keeps the full number unique in the account. Each rule is linked to its source in the tool.

Why is there no random invoice number option?

Because a random number is not sequential and cannot be guaranteed unique, which is the opposite of what the UK and EU rules describe. Waffle Invoice's generator, which offers one, says itself that it "cannot verify uniqueness against your records".

More free tools & templates