Sequential invoice numbering is generally the standard practice in several countries, largely because it is almost always mandated by local tax legislation. However, sequential invoice numbering reveals how many invoices you have issued so far, which, especially at lower volumes for small businesses, can give away too much information.

For instance, in Spain, invoices must be numbered consecutively within each series. Separate series or prefixes are permitted provided there are reasons to justify them, and they are even mandatory for certain documents like rectifying invoices.

Part of the motivation for sequential invoice numbering requirements comes from tax authorities trying to fight tax evasion, omissions, additions or other changes to the invoicing ledger. However, with the introduction of more modern tax evasion countermeasures like Veri*factu in Spain, sequential numbering is becoming less important.

With Verifactu, each invoice issued contains a hash of the previous one, regardless of whether the previous invoice was issued in the same series or not (the only exception is for invoices issued by separate invoicing applications, which most small businesses don't use). Since this integrity check is cross-series, the non-tampering argument becomes less relevant for businesses issuing under Verifactu.

FiscalRail is introducing customer-specific invoice prefixes to allow you to issue invoices which are only sequentially numbered within the same customer. When this option is enabled (it works at the account level), each customer will only be ever to know how many invoices have been issued to them, because the counters will be customer specific.

Comparison of codes assigned to invoices under account and customer-level invoicing.
Account numbering Customer numbering
Customer A's first invoice INV-0001 INV-A-0001
Customer A's second invoice INV-0002 INV-A-0002
Customer B's first invoice INV-0003 INV-B-0001
Customer A's third invoice INV-0004 INV-A-0003
Credit note issued to customer A CN-0001 CN-A-0001
Customer B's second invoice INV-0005 INV-B-0002
Credit note issued to customer B CN-0002 CN-B-0001
Customer-less invoice INV-0006 INV-0001

In the example above, customer numbering produces five effective series: INV-A, CN-A, INV-B, CN-B and the customerless INV.

FiscalRail's API remains the same:

  • You still only define high-level invoice series for regular invoices, credit notes or any custom series you need to introduce.
  • FiscalRail takes care of appending the customer's prefix before generating the next invoice number.
  • Customer prefixes are generated automatically by FiscalRail, but you can set custom ones on customer creation and change them before issuing the first invoice.
  • Customer-less invoices remain using your account's global counter.
  • Concurrency and durability guarantees, as well as Veri*factu integrity remain the same.
  • Customer-specific invoice numbering can be enabled or disabled at any time.

In Spain, there is no explicit limit on the number of series that can be created (and under customer numbering in FiscalRail, the tax authority would probably consider that you are using 5 series), but each series does need to have a business justification. Account-wide numbering remains the default for Spanish accounts. Before enabling customer-specific numbering, confirm with your tax adviser that separate customer series are appropriate and sufficiently justified for your business.

You can get started with customer-level invoicing numbering today by turning it on in the dashboard or through the API. It will apply to all invoices going forward and you can turn it off at any time.

This article, like all FiscalRail documentation, is not tax advice. Consult your tax professional.