From what I understand so far, the Order ID is used on the invoice as an invoice number.
The problem is that when an order is deleted, the sequence of invoices is broken and you'll end up with a gap in your invoice numbering. I can tell for other countries, but in the Netherlands one of the basic rules is invoice numbering should be sequential. Tax officers frown upon deviations.
Also in situations where one is migrating from one shop (like me, from prestashop) to NopCommerce you don't want to break the sequence.
Furthermore, invoice numbers are sometimes preceeded with the current year i.e. '2014020'
Therefore I would like to suggest the following CFR:
1. Add a field 'InvoiceNumber' to the Order table
2. Create a changable setting that allows for changing the upcoming invoice number.
Having a seperate invoice number is key for using Nop as Invoice platform.
Order number is not the same as Invoice number. Order date is not the same as invoice date.
An invoice can only be created only when order is complete and with his own invoice date. These are legal rules in EU.
Maybe I missed it, but is this now included as a standard feature in Nop?
if not, can you please add this
Is there any progress on this? These regulations do apply in Belgium to and at this moment i cannot get this right because in some cases the sequantial numbering is broken..
@undersiege89 i have done this for one of my client. i have manged another parallel table where i track invoice number incremental for every month. i have update this number by picking order completed event and replace default nopCommerce invoice number with this number
Certainly the option you propose is valid to have a separate invoice generated sometime after an order is prepared ready for shipment.
But the actual requirement as detailed sounds like this is a misinterpretation of the law.
Ideally there should be a website with the information somewhere so a regular person can understand the specific requirements.
What I read so far does not indicate the exact requirements as detailed in this thread.
Of course there needs to be an increasing sequence number
But the idea that you can never have a cancelled (refunded - not paid) invoice (number) in the sequence does not seem correct.
So in this case I don’t know what a separate invoice and order could do to help
Just because the ‘order’ is paid does not change anything.
Someone creates an order then you are ready to supply the products, someone manually creates a separate invoice with a different number to the order. Later there is an issue after the invoice is created - say the products cannot be supplied or damaged in transit or whatever.
Maybe the products provided do not match the order or the customer does not like them and you provide refunds in this case.
One option is the invoice is cancelled in the accounting system and the customer is provided with a refund. So then you are left esentailly in the same situation , having a non-sequential sequence of paid invoice numbers.
If the law says required you need to record that cancelled invoice somewhere
then it is the same as having a cancelled order number recorded somewhere
Anyway this is how it works in other parts of the world maybe it is different there.
Regardless, what ever is required can easily be fixed with a plugin :)