How to Offer Invoice Payments in WooCommerce
Many business customers expect to place an order now and pay later by invoice. Standard online payment methods such as cards and digital wallets are convenient for consumers, but they do not always fit established B2B purchasing agreements.
Offering invoice payments can make your WooCommerce store more useful to wholesale customers, companies, institutions and other approved account holders. However, a simple “pay later” option is not enough. You also need control over customer eligibility, payment terms, credit exposure and overdue invoices.
In this guide, you will learn how to offer invoice payments in WooCommerce with WDOnline Invoice Payment for WooCommerce, a free plugin designed for B2B stores and other businesses that sell on account.
What is an invoice payment method in WooCommerce?
An invoice payment method allows a customer to complete checkout without paying immediately. The store processes the order and the customer pays the invoice according to agreed payment terms, such as 14, 30 or 60 days.
This arrangement is also described as:
- payment on account
- pay by invoice
- net payment terms
- trade credit
- B2B credit payment
- purchase on account
Unlike an instant online payment, invoice payment creates financial exposure for the seller. It should therefore normally be available only to approved customers and combined with clear credit controls.
When should you offer invoice payments?
Invoice payment is particularly useful for:
- wholesale and B2B stores
- established business customers
- public institutions and organisations
- customers with negotiated payment agreements
- companies that require an invoice before making payment
- repeat buyers who purchase on account
It may not be suitable as an unrestricted payment method for every visitor. Guest customers and unknown buyers have not been approved for credit, and allowing them to pay later can increase financial risk.
A controlled setup lets trusted customers use invoice payment while other customers continue to use the store’s normal payment gateways.
Why basic “pay later” is not enough
A practical WooCommerce invoice-payment system should answer several questions:
- Which customers may use invoice payment?
- How many days does each customer have to pay?
- How much unpaid credit may the customer use?
- Should customers with overdue invoices be allowed to place new orders?
- Where can staff see unpaid and overdue balances?
- How can customers access their invoice history and PDF invoices?
Without these controls, several unpaid orders can accumulate before anyone notices that the customer has exceeded the intended credit level.
How to add invoice payments to WooCommerce
The following method uses the free WDOnline Invoice Payment for WooCommerce plugin.
Step 1: Install the invoice payment plugin
Visit the WDOnline Invoice Payment for WooCommerce plugin page to download the plugin or follow the available WordPress.org link.
In your WordPress dashboard:
- Go to Plugins > Add New Plugin.
- Select Upload Plugin.
- Choose the plugin ZIP file.
- Select Install Now.
- Activate WDOnline Invoice Payment for WooCommerce.
- Go to WD Online > WDOnline Invoice Payment for WooCommerce.
The plugin works independently and does not require a separate WD Online core plugin.
Step 2: Enable the payment gateway
Open the Gateway tab and enable Enable invoice payment.
Configure the checkout title and description shown to eligible customers. The {days} placeholder can be used to display the customer’s payment term dynamically.
For example:
Invoice – {days} days
A customer with 30-day terms will see Invoice – 30 days at checkout.
You can also choose the WooCommerce order status assigned after checkout:
- Processing
- On hold
- Pending payment
The normal WooCommerce order status and the invoice status are separate. An order can be processing while the invoice is still unpaid.
Suggested screenshot: The invoice-payment gateway settings.
Step 3: Set the default payment terms
Enter the default number of days customers have to pay. Common examples are 14, 30 or 60 days.
The payment term is calculated from the invoice date rather than the order date. If an order is placed on March 1, invoiced on March 5 and has 30-day terms, its due date will be April 4.
This is useful when the invoice is issued after the order has been packed, shipped or completed.
Step 4: Decide who can pay by invoice
Invoice payment can be controlled at three levels:
- Global defaults for logged-in customers
- User-role settings for groups such as wholesale customers
- Individual customer settings for special agreements
Individual customer settings take priority over role settings, while role settings take priority over the global defaults.
For most B2B stores, a safe starting point is:
- Keep global invoice eligibility disabled.
- Create or select an approved B2B customer role.
- Enable invoice payment for that role.
- Assign approved customers to the role.
- Use individual settings only for exceptions.
This prevents invoice payment from becoming available automatically to every registered customer.
Step 5: Configure customer credit limits
A credit limit defines the maximum unpaid invoice exposure allowed for a customer.
The available credit is calculated as:
Credit limit − open invoice balance = available credit
For example, a customer has:
| Item | Amount |
|---|---|
| Credit limit | $10,000 |
| Open invoice balance | $7,500 |
| Available credit | $2,500 |
If the customer attempts to place a new $3,000 invoice order, invoice payment can be removed from checkout because the order would exceed the remaining credit.
Open invoice orders count toward the exposure even if an invoice number or invoice date has not yet been assigned. This helps prevent a customer from placing several orders that collectively exceed the limit.
Enter 0 if a customer or role should have unlimited invoice credit.
Suggested screenshot: Customer payment terms and credit-limit settings.
Step 6: Configure overdue-invoice controls
Enable overdue blocking if customers with overdue invoice orders should be prevented from using invoice payment for new purchases.
You can also define a grace period. If an invoice is due on October 1 and the grace period is three days, it will be treated as overdue after October 4.
The overdue policy can be defined globally, by user role or for an individual customer. This gives you room to handle trusted customers differently when a specific agreement requires it.
Step 7: Test the checkout
Create a test customer and verify the complete purchasing flow before making invoice payment available to real customers.
Check that:
- invoice payment is visible only to eligible, logged-in customers
- the correct payment term appears at checkout
- customers without access cannot select the gateway
- orders exceeding the available credit are blocked
- overdue customers follow the configured policy
- virtual-only orders follow the selected setting
- the correct WooCommerce order status is assigned
- checkout emails and order details contain the intended instructions
The plugin validates credit rules again when the order is submitted. Even so, testing the visible checkout experience is essential.
Assigning different terms to customer roles
Not every customer needs the same agreement. You might use:
| Customer group | Payment terms | Credit limit |
|---|---|---|
| New B2B customers | 14 days | $2,500 |
| Established wholesale customers | 30 days | $10,000 |
| Key accounts | 60 days | $50,000 |
Role defaults let you configure invoice access, payment terms, credit limits and overdue policies for each WordPress or WooCommerce user role.
The plugin can also create customer roles by copying permissions from an existing role. For a typical B2B account, copying the standard WooCommerce Customer role is a sensible starting point.
Creating customer-specific invoice agreements
Individual settings are useful when one customer has negotiated conditions that differ from their role.
To configure a customer:
- Go to Users in WordPress.
- Edit the customer.
- Find the Invoice payment section.
- Choose whether invoice payment is inherited, enabled or disabled.
- Enter custom payment terms or leave them blank to inherit the default.
- Enter a custom credit limit or leave it blank to inherit the default.
- Select the appropriate overdue policy.
- Update the user.
For example, wholesale customers may normally receive 30-day terms, while one specific customer receives 60 days. The individual setting overrides the role setting without affecting anyone else.
Managing invoice orders
Orders placed using the payment gateway include an Invoice payment panel in the WooCommerce order editor.
Store administrators can manage:
- payment terms saved on the order
- invoice number
- invoice date
- calculated due date
- invoice status
- payment date
- external PDF invoice
The customer’s resolved payment terms are saved when the order is placed. Changing the customer’s current account settings later will not change the agreement attached to an existing order.
Invoice statuses are managed independently and can include:
- Not invoiced
- Invoiced
- Paid
- Overdue
This separation makes it possible to track financial status without changing the operational WooCommerce order status.
Uploading PDF invoices securely
The plugin does not generate accounting invoices. If invoices are created in an external accounting or invoicing system, the completed PDF can be uploaded to the corresponding WooCommerce order.
Uploaded PDFs:
- are stored privately
- are not added to the public WordPress Media Library
- do not use a public media URL
- require authorisation before download
- are available to authorised administrators and the customer who owns the order
Customers can access the document from their WooCommerce account after logging in. The maximum PDF file size is 10 MB.
This lets you keep using your preferred accounting software while making the final invoice conveniently available through WooCommerce.
Giving customers an invoice overview
When the customer-account feature is enabled, WooCommerce My Account receives a dedicated Invoice payments section.
Depending on your display settings, customers can view:
- current payment terms
- open invoice balance
- credit limit
- available invoice credit
- overdue balance
- invoice order history
- invoice number and date
- due date and payment status
- secure PDF invoice downloads
The credit limit and available credit can be hidden from the account page without disabling the underlying credit control.
Customers can continue to view historical invoice orders even if their permission to place new invoice orders is later removed.
Suggested screenshot: The Invoice payments section in WooCommerce My Account.
Monitoring outstanding and overdue invoices
The plugin includes an invoice-order overview and an optional WordPress dashboard widget.
The order overview makes it easier to find invoice orders, inspect their status and open the corresponding WooCommerce order.
The dashboard overview can show information such as:
- invoice sales and order count
- number of invoice customers
- average invoice order value
- paid invoices and average payment time
- outstanding invoice balance
- overdue balance
- invoices due within the next seven days
- largest and top invoice customers
These tools do not replace accounting software, but they provide useful operational visibility inside WooCommerce.
Invoice payments versus bank transfer
WooCommerce invoice payment and direct bank transfer may appear similar because neither necessarily collects money during checkout. They serve different purposes.
| Invoice payment | Direct bank transfer |
|---|---|
| Intended for approved account customers | Can be offered as a general offline gateway |
| Supports customer-specific payment terms | Usually uses the same instructions for everyone |
| Can enforce credit limits | Does not normally track customer credit exposure |
| Can block customers with overdue invoices | Does not normally include overdue-account rules |
| Provides invoice-oriented account history | Primarily records the selected payment method |
Use invoice payment when customers are purchasing on agreed credit terms. Use bank transfer when the customer should normally transfer the money before the order proceeds.
Best practices for offering invoice payments
Approve customers before granting credit
Invoice payment should normally be enabled only after the customer has been reviewed and accepted for payment on account.
Start with conservative credit limits
Use realistic limits based on customer history and your tolerance for unpaid exposure. Limits can be increased later.
Use roles for standard agreements
Roles make common terms easier to maintain. Reserve individual overrides for genuine exceptions.
Block or review overdue accounts
Decide how overdue invoices affect new orders, and apply the policy consistently. A grace period can prevent minor timing differences from blocking an otherwise reliable customer immediately.
Keep invoice statuses updated
Credit calculations depend on accurate order and invoice information. Mark invoices as paid and record refunds or cancellations promptly.
Test with every checkout type you use
Test both Classic Checkout and Checkout Blocks if your store or staging environment uses them. Also test themes and plugins that modify payment methods or checkout totals.
Explain the terms clearly
Show the customer’s payment term at checkout and include clear instructions in order confirmations and relevant emails.
Frequently asked questions
Can WooCommerce accept invoice payments?
Yes. An invoice payment gateway can allow approved customers to complete checkout without paying immediately. A specialised plugin adds customer eligibility, payment terms and credit controls that are not provided by a basic offline payment option.
Can I offer invoice payment only to selected customers?
Yes. WDOnline Invoice Payment for WooCommerce can control access globally, by user role or for an individual customer. Individual settings take priority over role and global defaults.
Do customers need an account?
Yes. Customers must be logged in because the plugin needs their account to determine eligibility, payment terms, available credit and overdue status. Guest customers cannot use invoice payment.
Can different customers have different payment terms?
Yes. You can define global terms, role-specific terms and individual customer terms, such as 14, 30 or 60 days.
Can I set a credit limit for each customer?
Yes. Credit limits can be configured globally, by role or individually. Open unpaid invoice orders reduce the customer’s available credit.
Can overdue customers be prevented from paying by invoice?
Yes. The payment method can be blocked when a customer has overdue invoice orders. You can also configure a grace period and customer- or role-specific exceptions.
Does the plugin create accounting invoices?
No. It manages invoice-payment conditions and invoice information in WooCommerce, but it does not generate accounting invoices. PDFs created by an external invoicing system can be uploaded securely to the relevant order.
Can customers download invoice PDFs?
Yes. When the PDF and customer-account features are enabled, the customer can download authorised invoice PDFs from WooCommerce My Account after logging in.
Does it support WooCommerce Checkout Blocks and HPOS?
Yes. The plugin supports WooCommerce Checkout Blocks, Classic Checkout, High-Performance Order Storage and legacy order storage.
Is the plugin free?
Yes. WDOnline Invoice Payment for WooCommerce is available as a free plugin.
Add controlled invoice payments to WooCommerce
Invoice payment can make your store far more convenient for established B2B customers—but it should be implemented with clear approval rules, payment terms and credit controls.
Download WDOnline Invoice Payment for WooCommerce to offer payment on account while controlling eligibility, credit exposure and overdue orders.
The plugin is free and is maintained with compatibility updates, improvements and new features.
About WD Online
WD Online develops free plugins for WordPress and WooCommerce. The plugins focus on practical store-management needs, straightforward configuration and features inspired by real-world use.
Explore all free WordPress and WooCommerce plugins from WD Online.
If a WD Online plugin saves you time, you can support its continued development through
Support WD Online
Our plugins are free. If you find them useful, you can support continued development. You decide the amount yourself and we see any amount as recognition that our plugin helps others.
Internal linking suggestions for the editor
Add these links where they are contextually relevant:
- Link WDOnline Invoice Payment for WooCommerce to
https://wdonline.dk/wdonline-invoice-payment-for-woocommerce/. - Link free WordPress and WooCommerce plugins to
https://wdonline.dk/plugins/. - Link WD Online to
https://wdonline.dk/. - Link the plugin page back to this guide using anchor text such as how to offer invoice payments in WooCommerce.
- From the future wholesale-pricing guide, link to the sections about customer roles and payment terms.
- From future B2B WooCommerce articles, link to the sections about credit limits and overdue invoices.
- Add a contextual link from this article to the future How to Add Wholesale Pricing to WooCommerce guide.
Suggested images and alt text
- Invoice gateway settings
Alt text:Configuring a WooCommerce invoice payment gateway - Role-based payment terms
Alt text:Setting B2B payment terms by WooCommerce customer role - Customer credit settings
Alt text:Setting a WooCommerce invoice credit limit for a customer - Invoice order management panel
Alt text:Managing invoice status and due dates in WooCommerce - Customer invoice account page
Alt text:WooCommerce customer invoice history and available credit - Invoice dashboard overview
Alt text:WooCommerce outstanding and overdue invoice overview


Leave A Comment