Gap-free Numbering
Tax invoices must be numbered in a consecutive series with no gaps. DocForge guarantees this by construction.
Why gaps matter
A missing invoice number looks like a deleted invoice. Tax rules require a consecutive, gap-free series precisely so the sequence itself is evidence that nothing was quietly removed.
How allocation works
Each number is allocated under a file lock, which serialises allocation: only one invoice can claim a number at a time, so two invoices created at the same instant can never collide or skip. The number and the invoice commit together, so a failed render does not consume a number.
Void keeps the number
You cannot delete an invoice — you void it. A voided invoice keeps its number, clearly marked void, and stays in the series. The number is never reissued. The result is a register that explains itself: every number present, the void ones saying exactly why.
Why it helps: you can hand the invoice register to an auditor without a covering note — there are no gaps to justify and no collisions to reconcile.