Number formats
Receipt numbers are built from a template you control, made up of a prefix, a postfix, and a zero-padded sequence number. You set:
- A custom prefix and/or postfix (for example, an org code or a fund abbreviation).
- The sequence padding width (1–10 digits), so counters read as
000042instead of42. - The starting number the sequence begins from.
- The increment between consecutive numbers (normally 1).
You can preview exactly what the next number will look like before it’s ever used, from Organization Settings.
Reset cadence (yearly/monthly/daily)
The sequence counter can reset on a schedule:
- Yearly — the counter starts over at the beginning of each calendar year (the default).
- Monthly — resets every month.
- Daily — resets every day.
- Never — the counter runs continuously with no reset.
Each reset period keeps its own independent count, so a yearly reset means 2026’s receipts and 2027’s receipts both start from your configured starting number without colliding.
If you need to reset the counter outside its normal schedule — for example, to correct a numbering mistake — only organization owners can do this, and it requires explicit confirmation before it takes effect. Treat it carefully: it changes what the next generated number will be for every user in the organization.
Using imported numbers
If your organization already has receipt numbers from a previous system, you can preserve them instead of renumbering. When imported numbers are allowed, a valid, unique, non-empty number carried in your import data is used as-is instead of generating a new one. The service also recognizes common imported-number patterns (like YYYY-NNNNNN) and advances your live sequence counter past the imported values automatically, so newly generated numbers won’t collide with the imported ones.
Guarantees
Every generated number is sequential within its reset period and collision-safe: before a number is handed out, it’s checked against existing receipts for your organization. Normal generation locks the sequence counter atomically per organization and period, so two receipts generated at the same moment never end up with the same number.
Corrections made through Cancel & Replace don’t go through this numbering sequence at all: a replacement receipt carries the original receipt’s number with a -rev1 suffix appended (-rev2 if that replacement is itself corrected, and so on), so no sequence number is consumed or reused.
Test runs don’t draw from this sequence either. A test receipt is numbered from a separate test counter using the same template, prefix, padding, and reset schedule, and the result always starts with TEST-. Resetting the live counter never touches the test counter, and discarding test data never touches the live one.