Welcome to The Open Tools Company!
We are providing Open Source Software Tools and Plugins for several open source platforms:
VirtueMart and Joomla: Ordernumber, Shipping by Rules, Downloads for Sales and more... |
|
WooCommerce: Advanced Order Numbers, Advanced Shipping by Rules |
Magento: Advanced Order Numbers |
Community Builder and Joomla: User groups field plugin |
Proposal for a general API for third-party WooCommerce invoice numbering plugins
While WooCommerce provides a standard way for third-party plugins to generate nice order numbers via the filter
woocommerce_order_number($orderid, $order)
it does not provide any invoicing solution. There are several third-party invoicing plugins available, each of which implement their own numbering schemes with their own settings. And each of them stores the invoice numbers for an order differently, so switching to another invoicing plugin is not possible without loosing all invoice numbers for existing orders.
Furthermore, most invoice plugins only allow simple running counters with a prefix and a postfix as invoice numbers, possibly with a yearly reset. Our OpenTools "Advanced Order Numbers for WooCommerce" plugin, however, allows for much more flexible numbers, like monthly numbers (like 2016-02-0001) or even per-country numbers (like 2016-DE-0001, 2016-US-0001, etc.).
We therefore propose a general API for invoice numbering plugins that invoice plugins can call to allow third-party plugins provide more flexible invoice numbers.
Possible Use Cases
- Dedicated numbering plugins like our OpenTools Advanced Ordernumbers plugin, or the WooCommerce Sequential Ordernumbers Pro plugin
- Interfacing plugins that connect WooCommerce to an external bookeeping system, which would make sure invoices for in-shop purchases and online purchases use the same sequential invoice numbering, while invoices for online purchases are still created by WooCommerce.
- Payment providers that generate their own invoice numbers, but don't actually issue a PDF invoice and leave that up to the webshop.
Read more: Proposal for a general API for third-party WooCommerce invoice numbering plugins
Tutorial: Automatic updates for paid VirtueMart and WordPress extensions
Introduction
Both big CMS systems, WordPress and Joomla, have an automated plugin update mechanism, which informs site admins about new versions of the installed extensions and lets the admin install those new versions. Also, in both systems, this extension update mechanism works very well for freely available extensions (WP relies on releases on wordpress.org/plugins, while Joomla uses XML files with update information that can be placed anywhere on the internet). However, paid extensions are not very well supported by either CMS out of the box.
We at Open Tools develop and distribute both free and paid extensions, so we had to set up a proper update system also for paid extensions for WordPress and for Joomla. In this article, we will show how automatic updates can easily be added to paid extensions that need some kind of log in or access key or download password.
Parts of this Tutorial
The setup of the automatic update system consists of three parts:
- The update server: A simple php script that returns the update information in XML or JSON format.
- Implementing automatic updates for commercial WordPress plugins
- Implementing automatic updates for commercial Joomla/VirtueMart plugins
Read more: Tutorial: Automatic updates for paid VirtueMart and WordPress extensions
Tutorial: Providing Custom Views in VirtueMart using vmextended Plugins
In this tutorial, I will show how a plugin of type vmextended can be used to add your own custom view to the VirtueMart backend. As an example, we will implement a view that generates a simple tax report (for each tax rate we will show the amount of taxes charged in the selected period). In the first step, the view will not offer any configuration settings. The example contains no copyright and license statements to make it easier to read. You should add them yourself if you build upon this example. The example plugin developed here is released under the GPL v3+.
The full code for the example in this tutorial can be downloaded HERE (plg_vmextended_taxreport_v0.1.zip, 22kB).
The view will have the internal name "taxreport" and will be implemented as a Joomla plugin of type vmextended and its files are located in plugins/vmextended/taxreport. The view will be displayed in the backend when the URL administrator/index.php?option=com_virtuemart&view=taxreport is called.
Read more: Tutorial: Providing Custom Views in VirtueMart using vmextended Plugins