I did some research on the constraints for invoice sequences for Germany, here are my results. I found basically two legal texts applying to the topic:
- Umsatzsteuergesetz (UStG) § 14 Ausstellung von Rechnungen
The interesting part should be
(4) Eine Rechnung muss folgende Angaben enthalten:
<…>
- eine fortlaufende Nummer mit einer oder mehreren Zahlenreihen, die zur Identifizierung der Rechnung vom Rechnungsaussteller einmalig vergeben wird (Rechnungsnummer),
- Umsatzsteueranwendungserlass (UStAE 2010 14.5. (Zu § 14 UStG (§§ 31 bis 34 UStDV))
This decree is in principle the implementing regulation for the law in 1).
especially interesting in original language (I can provide translations by Google if it is not possible to use the discuss feature for parts of messages):
(10) 1Durch die fortlaufende Nummer (Rechnungsnummer) soll sichergestellt werden, dass die vom Unternehmer erstellte Rechnung einmalig ist. 2Bei der Erstellung der Rechnungsnummer ist es zulässig, eine oder mehrere Zahlen- oder Buchstabenreihen zu verwenden. 3Auch eine Kombination von Ziffern mit Buchstaben ist möglich. 4Eine lückenlose Abfolge der ausgestellten Rechnungsnummern ist nicht zwingend. 5Es ist auch zulässig, im Rahmen eines weltweiten Abrechnungssystems verschiedener, in unterschiedlichen Ländern angesiedelter Konzerngesellschaften nur einen fortlaufenden Nummernkreis zu verwenden.
(11) 1Bei der Erstellung der Rechnungsnummer bleibt es dem Rechnungsaussteller überlassen, wie viele und welche separaten Nummernkreise geschaffen werden, in denen eine Rechnungsnummer jeweils einmalig vergeben wird. 2Dabei sind Nummernkreise für zeitlich, geographisch oder organisatorisch abgegrenzte Bereiche zulässig, z. B. für Zeiträume (Monate, Wochen, Tage), verschiedene Filialen, Betriebsstätten einschließlich Organgesellschaften oder Bestandsobjekte. 3Die einzelnen Nummernkreise müssen dabei nicht zwingend lückenlos sein. 4Es muss jedoch gewährleistet sein (z. B. durch Vergabe einer bestimmten Klassifizierung für einen Nummernkreis), dass die jeweilige Rechnung leicht und eindeutig dem jeweiligen Nummernkreis zugeordnet werden kann und die Rechnungsnummer einmalig ist.
In summary this says that the purpose of the invoice sequence is to provide uniqueness. It even says that the sequence has not obligatory to be consecutively numbered. And most notably there is no constraint to follow invoice or accounting dates.
We (MBSolutions) try nevertheless to have consecutively numbered invoices. If an invoice sequence was not used (e.g. given back by a rollback) we document that gap to provide complete track to be on the safe side.
The actual constraint to forbid the usage of the same invoice sequence for earlier invoice dates thus doesn’t meet IMO the requirements for Germany. Of course I would like to hear from other german colleagues their view on the topic and how they handle it.
As Tryton aims to be a generic solution I propose to remove the constraint in the base module (account_invoice) and put it in localization modules where it applies. AFAIS this would at least serve the Spanish and German case.