Configuration
The format
One field, with {number} standing in for the counter value:
| Token | Becomes |
|---|---|
{number} | The counter value, zero-padded to the width you set |
{yyyy} {yy} | Year — 2026, 26 |
{mm} {m} | Month — 08, 8 |
{dd} {d} | Day — 04, 4 |
{store} | The store's handle |
{site} | The order's site handle |
Anything else in the field is written through literally, so INV-{yyyy}-{number} gives you
INV-2026-01042.
The dates are the order's dates, not today's — which is what makes a backfill of a two-year-old order land in the right year.
A format without {number} is refused, and so is an unknown token: a typo like {yyy} would
otherwise be written through literally onto every invoice you print.
Counters and resets
A scheme's counter is not a single number. It is one counter per reset period, so "reset every month" actually means something:
| Reset | Counter buckets |
|---|---|
| Never | one, forever |
| Every year | 2026, 2027, … |
| Every month | 2026-08, 2026-09, … |
| Every day | 2026-08-18, 2026-08-19, … |
If you reset, put a date token in the format. {number} alone with a monthly reset produces 1
in January and 1 again in February — Abacus will step past the collision rather than issue a
duplicate, but the sequence will not be what you meant.
Skip lists (Pro)
A scheme can reserve numbers it must never issue — individual values, ranges, or both:
13
100-199
666
Allocation steps over anything on the list. Useful when a range is already committed to an external accounting system, or when a number is unlucky in your market.
Settings
| Setting | Default | Why you would change it |
|---|---|---|
| Number orders as they complete | on | Off leaves live checkouts alone; Abacus stays available for backfills and console work |
| If a number cannot be allocated | keep Commerce's reference | Set to fail only if a wrong-format number is worse than a stuck cart — see Usage |
| Lock timeout | 5s | Raise it on a store with heavy simultaneous checkouts |
| Reclaim after | 60 min | Must be longer than your slowest payment flow |
| Backfill batch size | 100 | The default the Backfill form opens with, and the bound for a console run with no --limit |
| Log allocations | off | On while setting up; noisy afterwards |
Permissions
- Manage numbering schemes — the Schemes section
- View allocated numbers — the ledger and the order-screen panel
- Renumber existing orders — Backfill
What Abacus does not touch
order.number — the 32-character cart hash Commerce uses to identify a cart in URLs and cookies.
It is a security token, not a customer-facing number, and rewriting it would break carts. Abacus
only ever writes order.reference.