Dear Laci,
Thank you for the version numbers.
First, VM 3.0.18 is quite old and there have been some security fixes since. I would recommend updating to the latest version of VM 3.2.12 and Joomla 3.8.3.
Having said that, the jumps in the numbers cannot be explained by old versions of VM.
I have looked again at the code and though about possible scenarios, where either the function that generates the order numbers is called twice (this could only be the case if VirtueMart is creating the same order twice) or the counter configuration is wrongly parsed with an increment of 2 instead of 1 (as the order number format is always the same, I see no reason why PHP should for some orders wrongly extract the counter patterm from the format).
What is your exact configurtion of the ordernumber plugin? Do you use custom variables to override the ordernumber_format? Or do you use a custom increment in the counter (e.g. [#/10:3])?
To figure out why the counter jumps, I think the most promising approach is to look at all orders where the counter jumped and figure out what sets them off from all other orders. Some ideas:
1. Where these orders at more or less the same time as the preceeding or next order (i.e. a so-called race condition might have happened, where one order increased the counter while the other tried to do it at the same time)
2. Are the order with the jumps always from registered users? Do you have some special handling of certain joomla user groups or VM shopper groups?
3. Do you have any other plugins installed that might mess with the order at the time it is created (e.g. a One-Page checkout plugin, a third-party invoice plugin, etc.)?
If you feel comfortable giving a stranger like me access to your Joomla/VM backend, I can offer to take a look myself. In that case, please send access credentials to office@open-tools.net. Otherwise, we'll try to figure it out by some more questions like the above.
Best regards,
Reinhold