There are several reasons why you might want an Invoice payment gateway for your WooCommerce store.
It might be as simple as being able to offer your customers better payment terms so they don’t have to pay cash right away.
You may even run a business that only invoices customers, in which case, you currently have no option within WooCommerce to do that and communicate this option with your online customers.
Whatever your reason is, this guide will take you through how to quickly create an Invoice payment gateway for WooCommerce in two ways.
Method #1: Use Invoice Gateway for WooCommerce (Free Plugin)
The easiest and most efficient way to create an invoice gateway in WooCommerce is by using a little free plugin we created, aptly called Invoice Gateway for WooCommerce.
Download the plugin (search via your Plugins->Add New menu or upload it manually) and you’ll be given a new payment gateway option.
This lets you easily enable a payment option called “Invoice” which allows the order to go through and puts the order in processing status.
You then invoice your customer manually (via your accounting software usually).
Once paid, record the invoice number in the order in the new Invoice Number field, then mark the order Completed and your customer will get the usual email from WooCommerce which now also includes the invoice ID.
It also has the ability to record Purchase Order numbers on the checkout which can be very handy for wholesale orders.
Method #2: Create An Invoice Payment Gateway Using Cash On Delivery (Without A Plugin)
Creating a really basic “Invoice” gateway is easy and you can do it yourself without the help of a plugin.
There’s no code involved and it’s basically just a process of renaming one of the existing un-used payment gateways.
Typically on most WooCommerce sites, you won’t be using the “Cash On Delivery” payment gateway. This is a bit of an antiquated relic and I’m not sure why it’s even in the core of WooCommerce. Thankfully it is because we can use it for our Invoice gateway instead.
Follow these steps:
Step #1: Login to your WordPress dashboard
Step #2: Navigate to WooCommerce->Settings
Step #3: Click on the “Checkout” tab at the top of the page
Step #4: Down the bottom of this page, you will see a table with all your installed Payment Gateways. Click on the “Cash On Delivery” one:
Step #5: Once you’ve clicked on the “Cash On Delivery” payment gateway you will see the settings page for it.
Rename the Title of the gateway to “Invoice” or similar:
You might also like to adjust the description to let your customers know what they can expect.
Here’s how it looks on the front end:
Want to hide your new Invoice Gateway from retail customers but show it to wholesale customers?
One of the biggest reasons we came across this method of building an Invoice Gateway for WooCommerce was that our Wholesale Prices plugin users wanted a way to provide an invoice gateway to their wholesale customers, but only make it visible for wholesale users and not regular customers.
The way you hide your invoice gateway from retail customers and make it visible for wholesale customers is by keeping the gateway disabled.
You do that by not checking the first checkbox on the settings page for the payment gateway.
This then results in your normal customers not being able to see it (because it’s disabled) and your wholesale customers being able to see and use it (because Wholesale Prices Premium enabled it for those users).