Utilities
Generate sequential, dated or prefixed invoice numbers from a pattern you define, and copy a whole batch at once.
Overview
This free invoice number generator builds numbers from a pattern you control. Choose a scheme, set where the sequence starts and how many digits it is padded to, and take the next number or a whole batch.
It also tells you when a pattern will go wrong. A scheme that can produce the same number twice — restarting each January without the year in the number, or a date with no sequence attached — is a problem that stays hidden until someone examines the books, by which point every number has been issued and none of them can be changed.
Numbering is one of the few decisions in a small business that is genuinely difficult to undo. You can rename a product, redesign an invoice or move accounting software, but the numbers you have already sent to clients are fixed. Ten minutes on the scheme now is worth more than it sounds.
Nothing you type is uploaded. Numbers are generated in your browser, so no record of your scheme, your client codes or your volume leaves the page.
Step by step
Start from one of the schemes or write your own, using {SEQ} for the sequence and {YYYY}, {YY}, {MM} or {DD} for the date.
Pick the first number and how many digits it is padded to, so the numbers keep the same shape as the sequence grows.
Take just the next number, or generate a run and copy the whole list at once.
Background
An invoice number identifies one invoice, uniquely, forever. That is the whole requirement, and everything else follows from it. Most VAT and sales-tax regimes go further and ask that numbering be sequential and unbroken, because a continuous sequence is what demonstrates that the set is complete — that no invoice has been issued and later removed.
This is why gaps matter more than they appear to. A missing number is exactly what a removed invoice leaves behind, so a gap invites the question of what used to be there. The correct way to cancel an invoice is not to delete it but to issue a credit note against it: the sequence stays intact, and the correction is part of the record rather than a hole in it.
Uniqueness is where most schemes actually fail, and almost always for the same reason. Restarting the sequence at 1 each year is normal and sensible — but only if the year is part of the number. Restart INV-001 every January and you have two invoices called INV-001, two years apart, both live in your records and in your clients' records. Payment references stop matching, and reconciliation becomes guesswork.
The shape of the number matters less legally and more practically. Padding the sequence to a fixed width keeps numbers sorting correctly in folders, spreadsheets and accounting software — INV-9 sorts after INV-10 in every system that sorts as text, and once you pass the padding you chose, the format changes partway through a year. Similarly, invoice numbers become filenames and get typed into bank payment references, so characters like slashes and colons cause avoidable trouble downstream.
Reference
Almost every scheme in use is some combination of these parts. The right one is the simplest that stays unique at the volume you actually expect — extra components add length and reading effort without making a number any harder to duplicate.
The sequence
The running count, and the only part that must be there. It is what makes each number unique and what makes the set demonstrably complete. Everything else is context wrapped around it.
Required
Zero padding
Fixed width, so 007 sorts before 010. Choose enough digits for the volume before the sequence resets — three covers 999 invoices, and four is a safe default. Passing the width you chose changes the shape of the number partway through.
Required
A year
Essential if you restart the sequence annually, and useful even if you do not, because it makes an invoice number self-dating. Four digits are unambiguous; two are shorter and read fine in context.
Optional
A month or date
Useful for high-volume billing and unnecessary below that. It makes numbers longer and harder to read aloud, and it does nothing for uniqueness that the sequence is not already doing.
Optional
A prefix
INV, a client code, or an entity code where you invoice from more than one business. Keep it short: the number gets typed into bank references and read out on the phone more often than you would expect.
Optional
The separator
A dash is the safest. Slashes are common in some countries and break filenames; spaces get lost when the number is copied; nothing at all makes long numbers hard to read. Whichever you pick, use it consistently.
Optional
The starting number
There is no rule requiring you to start at 1, and no rule against it. Starting higher is common so that early invoices do not advertise how new the business is. What matters is that it never moves backwards afterwards.
Optional
Overall length
Every character is one more to mistype in a payment reference. If a scheme is longer than about a dozen characters, it is usually carrying information that belongs on the invoice rather than in its number.
Optional
Who it helps
The scheme chosen on invoice one is usually still in place at invoice five hundred, and by then it cannot be changed without leaving a visible seam. Picking something that survives growth takes a couple of minutes at exactly the moment it is easiest to do.
Migrating to accounting software means carrying an existing sequence across without colliding or leaving a gap. Knowing where the old numbering ended and generating the continuation is the step that gets skipped and then causes reconciliation problems.
Sequential, unbroken numbering is an explicit requirement in a great many tax regimes rather than a convention. Where invoices cross borders, the numbering has to satisfy whichever rules apply, which makes a defensible scheme worth more than a memorable one.
Reconciliation is far quicker when numbers sort correctly and gaps are real signals rather than side effects of a padding change. A client with a coherent scheme is a client whose year end takes less time.
The temptation is a separate sequence per client, and it is worth resisting. A client code in the prefix with one running sequence gives the same at-a-glance identification while keeping a single series that can be shown to be complete.
Records get lost, software gets cancelled, and the question becomes what number comes next. Generating a batch from the highest number you can find is safer than guessing, and continuing forward never creates a duplicate.
Do it properly
This is the single most common way numbering breaks. Restarting at 1 every January without a year in the number produces duplicates a year apart, in your records and your clients'. INV-2026-001 costs nothing and cannot collide.
Choose the width for the volume you expect before the sequence resets, not the volume you have now. Numbers that outgrow their padding change shape partway through and stop sorting correctly everywhere they are stored.
A number, once issued, belongs to that invoice permanently — including for an invoice that was cancelled. Reusing it means two documents share an identifier, which is worse than a gap and much harder to explain.
Deleting an invoice leaves a gap and destroys the record of what happened. A credit note against the original keeps the sequence unbroken and puts the correction on the record, which is what an auditor is looking for.
Parallel series make completeness almost impossible to demonstrate and confuse most accounting software. Where you need the client visible, put a code in the prefix and keep a single running number underneath.
The number ends up in a bank payment reference, entered by someone with no stake in getting it right. Every extra character is another chance for a payment to arrive that you cannot match to an invoice.
Numbering only works if the next person follows it — including you, next January. A single line recording the pattern and where the sequence stands is enough, and it is what stops a scheme quietly drifting.
Avoid these
Restarting at 1 each year without the year in the number
Add {YYYY} or {YY} to the pattern. Without it you end up with two invoices called INV-001 twelve months apart, both live, both referenced by clients, and no way to tell them apart on a bank statement.
Deleting an invoice that was issued in error
Issue a credit note against it instead. The gap left by a deletion is what an audit looks for, because it is what a removed invoice leaves behind — and the absence is far harder to explain than the mistake would have been.
Using random or non-sequential numbers
Use a running sequence. Random identifiers cannot demonstrate a complete set, which is the main reason invoice numbering is regulated at all, and they make your own records much harder to search.
Padding to three digits and then issuing a thousand invoices
Pick the width for your expected volume before the sequence resets. Once numbers outgrow their padding the format changes partway through, sorting breaks, and any spreadsheet built on the old shape needs redoing.
Running a separate sequence for every client
Keep one sequence and put the client code in the prefix. Parallel series make it very difficult to show that no invoice is missing, and most accounting systems are not built to track more than one.
Putting slashes or colons in the number
Use a dash. Invoice numbers become filenames and bank payment references, and those characters are illegal in one and stripped by the other — which turns an incoming payment into one nobody can match.
Changing the scheme partway through a year
Change it at a period boundary if you must change it at all, and record where the old scheme stopped. A mid-year switch produces a sequence that looks broken to anyone reading it later, including your future self.
FAQ
The Invoice Number Generator is at the top of this page — free, no signup, nothing uploaded.
Guides
Articles that go deeper than this page has room for.