Advanced Ordernumbers for VirtueMart

IMPORTANT ANNOUNCEMENT: Plugin development ceased, all plugins made available freely (GPL)

With great sadness we have to announce that we are ceasing development of all our VirtueMart, WooCommerce and Joomla plugins. Effective immediately, all our plugins -- even those that were paid downloads -- are made available for free from our homepage (GPL license still applies), but we cannot and will not provide any support anymore.

It has been a great pleasure to be part of the thriving development communities of VirtueMart as well as WooCommerce. However, during the last year it became painstakingly clear that in addition to a full-time job, a young family and several other time-consuming hobbies at professional level (like being a professional singer) the plugin development and the support that it requires is not sustainable and is taking its toll. It has been an honor, but it is now time to say good bye!



The forum is in read only mode.
Welcome, Guest
Username: Password: Remember me
  • Page:
  • 1


Order / Invoice Numbering manipulation. PLS Help ! 09 Nov 2017 11:33 #1

  • its4yougr
  • its4yougr's Avatar Topic Author
Hello to all
At the website here mynoesis.gr (Eshop: mynoesis.gr/paketa-mathimaton/paketa-kathigiton) I have created using views a printed invoice with data from the pecific company. There I am using instead of the invoice number the order number. This solution doesn't work correctly under Greek Tax law.
According to Greek Tax Law I need to have consecutive invoice numbering only for the paid orders.
1. Customer A makes a purchase (confirmed order - paid through paypal or any online payment method) and gets an invoice # 009
2. Customer B makes a purchase (non-confirmed - bank transfer) and the invoice number becomes 010
3. Customer C makes a purchase (confirmed - paid through paypal or any online payment method) and gets an invoice# 011

In the above example according to Greek Tax Law we should have for Customer A invoice# 009 and for Customer C invoice# 010 and not 011.

At the end if Customer B makes the bank transfer and we change the order status to confirmed, (after Customer C pays for his purchase), he should get invoice# 011 and not invoice# 010. That number should be assigned to Customer C anyway since he paid first ! ! !

Now I saw that the plugin ADVANCED ORDERNUMBERS PLUGIN FOR VIRTUEMART 2.X AND 3.X can manipulate order numbering which then I can use for my invoices.

My question is if the ADVANCED ORDERNUMBERS PLUGIN FOR VIRTUEMART 2.X AND 3.X will be able to manipulate the orders numbering as described in the above example.

Thank you in advance

Order / Invoice Numbering manipulation. PLS Help ! 10 Nov 2017 16:52 #2

  • its4yougr
  • its4yougr's Avatar Topic Author
No one had the same or a similar problem which will be able to solve with the ADVANCED ORDERNUMBERS PLUGIN FOR VIRTUEMART 2.X AND 3.X ?


Order / Invoice Numbering manipulation. PLS Help ! 11 Nov 2017 16:41 #3

Dear George,
In Virtuemart, the invoice number is generated when the invoice is actually created. The only way to have invoice numbers increase only when an order is actually paid is to create the invoice at the time the order is paid. In Virtuemart there is a setting for which statuses an invoice should be generated. You can use this to create the invoice only when an order is actually paid. As you describe the bank transfer case as "non-confirmed", I assume that you use the "confirmed by shopper" status to indicate that you are still waiting for the bank transfer to complete, and the "Confirmed" status to indicate successful payment (via PayPal or finalized bank transfer).

In that case, you need to configure VirtueMart to generate an invoice only for status "Confirmed", but not for status "Confirmed by Shopper". In your second example, customer B will then not get an invoice when the order is posted. Instead the invoice (and thus the invoice number) is generated only when you manually set the status from "Confirmed by Shopper" to "Confirmed".

Please note that this is a setting of the VirtueMart core code and is not done by our plugin. VM itself is responsible for determining when an invoice is generated. It will then ask our plugin for the invoice number to be generated.

Best regards,
  • Page:
  • 1