This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.



Simvoicing (short for Simple Invoicing) is a really simple way to create simple invoices in WordPress. It allows you to create clients, storing invoice to details and link them to invoices. Each invoice can have multiple rows of services/products and each invoice can have a set tax (or VAT) rate and a specific currency.

Invoices are outputted in WordPress by the plugin and should work with any theme. There is an included shortcode which allows you to output an archive list of invoices.


If you would like to contrubite to this plugin, development happens over on the Github repository. Feel free to get involved there and submit issues, requests, bugs etc. via a Pull Request –


  • Simvoicing settings screen.
  • Add invoice screen
  • Add client screen


  1. Upload the plugin files to the /wp-content/plugins/ directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress
  3. Visit the plugins settings page under the Invoicing menu item to add your settings.


How do I add my company details to an invoice?

This is all handled in the plugins settings page. In the WordPress admin area you will notice that with the plugin active you have a new top level menu named Invoicing. In here is a settings page where you can add and save settings such as company name, address, contact email as well as your bank account details which appear on the invoice for clients to make payments too.

Can I prefix my invoice IDs with something custom?

Yes in the settings page for the plugin you can add a prefix for all invoices. By default all invoices take the form of {year}-{post_id}. You can also customise this further by taking advantage of the wpminv_get_invoice_reference filter. For example you could remove the year using the following code in your themes functions.php or better still your own plugin.

function wpmark_new_invoice_reference( $invoice_id ) {

    /* get the invoice preifx */
    $prefix = wpminv_get_setting( 'invoice_prefix', '' );

    return $preifx . '-' . $invoice_id;

add_filter( 'wpminv_get_invoice_reference', 'wpmark_new_invoice_reference' );
How do I output the invoices archive?

You can output a list of all the invoices stored on the system, which is split into Month by Month using the built in shortcode. Simple add the [simvoicing_archive] shortcode to any page or post to output this archive.

How do I customise the plugins output?

The plugin is built in a very extensible way and there are a number of hooks and filters which developers can make use of to either unhook or remove plugin functionality and output or add additional functionality and/or output. Take a look at the source code for do_action and apply_filters as these mark the parts that are extensible.

Also the plugin is built with a templating overide system, meaning simply by including certain files into your own theme you overirde the plugins template outputs, meaning you can customise to your hearts content!

In the root folder of the plugin you will find a templates folder. If you want to replace any of these template you can simply copy the file in question and place it in a folder in your themes root named wpminv/ and it will be used instead. You must keep the same path within that folder as the plugin. So to replace the content-header template you would place it in your theme in the following location: wpminv/parts/content-header.php.

Why are all the functions prefixed with wpminv?

Originally I was going to call the plugin WP Mark Invoicing, but decided against it half way through and did change the function names etc.

Contributors & Developers

“Simvoicing” is open source software. The following people have contributed to this plugin.


Translate “Simvoicing” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Initial plugin release.