Looking for documentation? Take a look on our wiki

Main Menu

VM2 ordernumber plugin: Customize order and invoice numbers

Started by reinhold, December 16, 2012, 15:00:27 PM

Previous topic - Next topic


Dear all,

This is the support forum for my VirtueMart 2 ordernumber plugin:

This is a Virtuemart 2 plugin that allows the shop owner to change the format of the order numbers, order passwords and invoice numbers. The running counter of the orders and invoices can be configured to use separate counters for different time periods.

By default, Virtuemart 2 creates order numbers like b6ee03, where the first four letters/digits are randomly generated and only the last digits are a running order number. Similarly, the order password will be like p_57ad1 and the invoice numbers will look like 12111323602, where the first six digits indicate the date, the next three digits are seemingly random (actually, they are the first few digits of the md5 hash created from the order number and order status), and only the final number(s) are a running count.

In many countries, tax laws require invoices to be successively numbered, with an optional fixed prefix (different prefixes for different purposes are allowed), but a random part in the invoice number is a big NO-NO.

The solution is this plugin: It allows you to define the format of the order number, order password and invoice number in the plugin settings.

If you have questions about the plugin (that are not yet answered in the FAQ on the plugin's homepage) or encounter problems, you can either send my an email ( or post your questions here.

Best regards,


Thanks a lot, at last someone that notices that VM2 invoice numbers are ILEGAL to use in many countries.

Is not a big problem with the order numbers, you can use any number there but invoices as you say need a prefix and correlative numbers.



I realize that this is an old thread but I now have the same issue. I am ok with the VM invoice number generation but I don't want the random part in it. In which file may I find the logic of invoice number generation? I am guessing that all I need to do is comment out the part that generates the random sequence. Right?