Configuration

The format

One field, with {number} standing in for the counter value:

TokenBecomes
{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:

ResetCounter buckets
Neverone, forever
Every year2026, 2027, …
Every month2026-08, 2026-09, …
Every day2026-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

SettingDefaultWhy you would change it
Number orders as they completeonOff leaves live checkouts alone; Abacus stays available for backfills and console work
If a number cannot be allocatedkeep Commerce's referenceSet to fail only if a wrong-format number is worse than a stuck cart — see Usage
Lock timeout5sRaise it on a store with heavy simultaneous checkouts
Reclaim after60 minMust be longer than your slowest payment flow
Backfill batch size100The default the Backfill form opens with, and the bound for a console run with no --limit
Log allocationsoffOn 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.