Pre-allocate N invoice numbers from a locked series so the mobile device can emit invoices offline with correct numbering.
count sequential numbers off the series counter and hands back one reservation token per slot. The caller mobile device carries these tokens in local storage and spends them when creating invoices offline.
When the device later syncs the drafts with POST /invoices, it includes reservation_token in the body — the backend uses the reservation’s pre-allocated number_idx instead of incrementing the counter again. This keeps invoice numbers gapless even across long offline periods.
series_not_locked_to_device.status = 'expired' but does not renumber downstream invoices.