Invoice numbers should be unique enough to identify each document and consistent enough that you can keep using the system as your business grows.
Simple sequential numbering
A straightforward approach is INV-001, INV-002, INV-003 and so on. It is easy to maintain and does not require you to encode lots of information into the number.
Year-based numbering
You can include the year, such as INV-2026-001. This can make filing and searching easier when you have invoices across multiple years.
Client or project codes
For businesses with many clients or projects, a format such as ACME-2026-014 can add useful context. Keep the format predictable and avoid making numbers unnecessarily long.
What to avoid
Do not casually reuse an old invoice number. Avoid changing the numbering pattern every few invoices, and keep a record of cancelled or voided invoices so your records explain gaps.
Example workflow
Start the year at INV-2026-001, issue the next available number for each new invoice, and keep the same number when correcting or reissuing the document according to your record-keeping process.
Keep invoice numbers separate from payment status
An invoice number identifies the invoice. It does not need to encode whether the invoice is paid, overdue, or partially paid. Track payment status separately.
Use the invoice generator
Enter your own invoice number directly into ToolAlto's invoice generator and create a printable invoice.
/tools/invoice-generator
Invoice Numbering FAQ
Should invoice numbers be sequential?
A sequential system is simple and easy to maintain, but the exact format depends on your record-keeping needs and any applicable local requirements.
Can I use letters in an invoice number?
Yes. Prefixes, year codes, client codes, and other letters can be useful if the resulting format stays consistent and easy to read.
Can I skip an invoice number?
If a number is unused, keep a record explaining the gap rather than quietly reusing or deleting numbers from your accounting history.
/articles/freelance-invoice-template/
undefined
Use the related ToolAlto utility to turn the information above into a practical next step.
Open the related ToolAlto tool →undefined
undefined
undefined
undefined
undefined
undefined
undefined