If you run an e-commerce store, chances are you’ve encountered the problem of keeping track of orders. You need to know exactly what you sell, who your customers are, and when you should pay them. Fortunately, there is an answer for this: a WooCommerce invoice gateway.
It’s a given that a good payment gateway is essential for any e-commerce business. After all, the gateway will handle your store’s credit card and banking transactions. While some payment gateways come equipped with features for e-commerce businesses, others require more time to configure.
Fortunately, we have the right tricks up in our sleeves! In this article, we’ll discuss how you can make a WooCommerce invoice getaway in 30 seconds. We’ll also walk you through the best WooCommerce extension that will make it easier for you. Let’s get into it!
Why You Should Consider A WooCommerce Invoice Gateway
You might want an invoice payment gateway for your WooCommerce store for several reasons. It might be as simple as offering your customers better payment terms so they don’t have to pay cash immediately.
You may even run a business that only invoices customers. In this 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 free plugin we created, which is 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 can 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 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 just a process of renaming one of the existing 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:
- Log in to your WordPress dashboard.
- Navigate to WooCommerce->Settings
- Click on the “Checkout” tab at the top of the page.
- You will see a table at the bottom of this page with all your installed Payment Gateways. Click on the “Cash On Delivery” one:
5. Once you’ve clicked on the “Cash On Delivery” payment gateway, you will see its settings page.
You might also like to adjust the description to let your customers know what they can expect.
6. Finished! Click ‘Save Changes,’ and you’re good to go! 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.
In Wholesale Prices Premium one of our most popular features is the ability to control what payment gateways your wholesale customers are allowed to use.
You hide your invoice gateway from retail customers and make it visible for wholesale customers by keeping the gateway disabled. You do that by not checking the payment gateway’s first checkbox on the settings page.
This then results in your normal customers being unable 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).
If you sell on the WooCommerce e-commerce platform and use invoices to collect a payment, then you’re probably wondering how to create an invoice gateway. This technical solution allows customers to pay with a credit card, debit card, or bank account.
Fortunately, setting up your WooCommerce invoice gateway is easy with the right tools. It can initially seem intimidating, but once you get the hang of it, creating your invoice gateways will be a breeze. And in this tutorial, we showed you how to create one in 30 seconds or less!
Do you have any questions about creating your first WooCommerce invoice gateway? Let us know in the comment box down below, or send us a message!
24 thoughts on “How To Make A WooCommerce Invoice Gateway (In 30 Seconds)”
Very interesting and ALMOST what I need. I deal with a lot of sporting clubs and there members. While I offer to invoice clubs, I get COD from their members (yes COD, people like to tap their card when the good are delivered).
What I would also like is to be able to do is add each member by their club, so I can offer coupons to selected clubs and their members. Can your product do this?
Do you offers special pricing to each group of customers? If so then you could create a wholesale role per user group. Using the Invoice Gateway you could do this COD (or you can just use the COD gateway method). The orders get placed online, they pay when they get there and you just go back in and hit completed.
Any further questions I definitely suggest contacting our pre-sales team.
Howdy from Brisbane!
Awesome article, great that Wholesale Prices Premium support this without the need for extra plugins. I have implemented the above on one of our sites – works flawlessly
I have changed the COD text to invoice and added this to specific wholesale roles.
When the payment gateway Invoice is disabled it doesn’t appear for the specific wholesales roles above. When it is enabled it appears for everyone. I can’t figure what I have missed – can anyone help?
Give the Invoice Payment Gateway for WooCommerce plugin a try, it’s a free one we made for this purpose.
You’ll need to also check the KB article about restricting payment gateway.
Hope this helps!
I have two questions:
1- Can we set different pricing for different roles and they just only be able to see their granted price?
2- How do you import prices per roles? since I have 4000 products in my store, is there any convenient way
to upload prices per role such as importing a CSV file?
Yes, you can load different pricing for different roles. Please check the features list here for a full rundown and the KB article here for how it works specifically.
And yep, we support importing wholesale pricing via CSV. You can use the built-in WooCommerce CSV import/export tool in core. We’re compatible :) You can also use other tools like WP ALl Import if you wish.
Hope this helps!
When will you be doing an update on the invoice gateway plugin to make sure it is compatible with the latest version of Woocommerce
Hey Doug, we have it slated for some love very soon, stay tuned!
Hey Josh, great article! I´m about to open an e-commerce store where I will dropship from different art producers from Mexico. Since all of the products vary greatly in size, shape and weight, shipping will be tremendously difficult to calculate beforehand. As I want to achieve the max number of conversions, I thought about solving it with either of these strategies:
Option 1) I found it will be easier to show customers the Subtotal for their shopping cart and then letting them know they´ll get an invoice for the subtotal PLUS shipping once we confirm the shipping costs of the final package. Hence, they´ll receive an invoice through e-mail which they´ll pay if they agree on the total costs
Option 2) Charging customers for the products during checkout and later sending them an invoice for the shipping costs only, but obviously leaving a note during Checkout mentioning that the subtotal is only the product price and that the Shipping cost will be charged later on.
I am really stuck in choosing which one would be better for my conversions and although it might seem obvious I am a bit mentally blocked on the subject. If you could suggest something I would really appreciate it. Thanks a lot, cheers from Mexico!
You’ll probably find that option 2 would be better for your conversion rates.
It would be even better though if you can estimate the shipping costs accurately and charge them on the spot. It will be a bit more work for you specifying product weights/cubic dimensions etc but it will more than make up for the labour with the increase sales. You’ll then be able to give them the option of paying on the spot.
Best of luck!
Josh, thank you so much for your response. I’ll do the effort of calculating the costs beforehand even if it’s arduous. Keep up the great work, definitely looking forward to installing your Wholesale plugin in a few weeks. Cheers!
Looks good, but big huge warning on the page for compatibility.
Are you attacking that thing soon? :)
Hey Jason, planning a small update on that plugin soon, but it hasn’t been updated because it is still compatible and frankly a pretty simple plugin, so not much to do to it. It was well coded originally and hasn’t needed updating.
As always though, test thoroughly :)
We only want to provide Invoice payment options for a few of our Wholesale customer. Is there a way to limit access to specific customers?
Hey Tim, yes you can, see this article:
I’m searching for pay later solution for wholesale customers.
My client’s site sell veggies both for retailers and wholesale customers. Her first requirement was being able to select multiple products and visit the shopping cart just upon payment. I saw this is one of your features already, good.
The wholesale customers enter member section and buys the products in boxes so I thought to make different products altogether, simple solution but here comes the complications. Each wholesale customer has different price agreement depending on quantities, so I thought maybe they can get a personal coupon to get their discount, and when I thought I got away with it she said “some of the customers will pay their orders on the spot and get discount and some will pay periodically, get an automatic shipping certificate, and have their summed bill sent to them on the end of the month, for example.
My clients payment gateway is already connected to her invoice and accountant so all payments are automated, does this plugin help automating the “pay later” customers?
Hi Yinon, the invoice gateway would let her customers that are on credit terms process an order without paying. If you’re using Wholesale Suite as well for the wholesale side you’ll be able to restrict this payment gateway to a particular wholesale user role (or roles) so that other users can’t select it. Hope this helps!
Is there a way to give credit limits to different customers? For example $1,000 limit of a customer using NET 15.
The Invoice Gateway is a pretty simplistic plugin for allowing the customers to checkout and then you manage the invoicing process outside of Woo. For specific limits and terms you might need to look at a wholesale payment gateway solution (there’s a few around that do this) or manage it separately via your Xero/Quickbooks etc.
Hope this helps point you in the right direction.
I absolutely love your plugin! They only thing that I would need is to make the “PO Number” required. I have it so only my wholesale customers can use the invoice option but we require that they provide a PO number. I have tried several different filter options to achieve this with no luck. Is this something that you would consider adding as an option or can you tell me how to hook into it to achieve what I am looking for? Thanks again!
Thanks for the comment. At the moment there isn’t a filter on this field as its loaded onto the page dynamically. There’s a possibility that it might be filterable via WooCommerce itself as they are ultimately the one adding it to the page.
In the meantime, I’m going to raise this up as a dev ticket. We’ll see if we can add it as a feature or at least via a filter with some custom code. Keep an eye on the plugin’s next release :)
Is there a way to limit invoice payment per product.
Say I have normal ‘retail’ products and ‘bulk buy’ products.
Is it possible to have the pay by invoice option available for ‘bulk buy’ products only
You should definitely look at the payment gateway restrictions stuff in Wholesale Suite. If you’re dealing with wholesale customers you’ll be able to restrict this method to just wholesale:
There’s also this handy video which we just put out: