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:

  1. Go to Plugins > Add New Plugin.
  2. Select Upload Plugin.
  3. Choose the plugin ZIP file.
  4. Select Install Now.
  5. Activate WDOnline Invoice Payment for WooCommerce.
  6. 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:

  1. Global defaults for logged-in customers
  2. User-role settings for groups such as wholesale customers
  3. 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:

  1. Keep global invoice eligibility disabled.
  2. Create or select an approved B2B customer role.
  3. Enable invoice payment for that role.
  4. Assign approved customers to the role.
  5. 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:

  1. Go to Users in WordPress.
  2. Edit the customer.
  3. Find the Invoice payment section.
  4. Choose whether invoice payment is inherited, enabled or disabled.
  5. Enter custom payment terms or leave them blank to inherit the default.
  6. Enter a custom credit limit or leave it blank to inherit the default.
  7. Select the appropriate overdue policy.
  8. 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.


PayPal
Support with PayPal or card


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

  1. Invoice gateway settings
    Alt text: Configuring a WooCommerce invoice payment gateway
  2. Role-based payment terms
    Alt text: Setting B2B payment terms by WooCommerce customer role
  3. Customer credit settings
    Alt text: Setting a WooCommerce invoice credit limit for a customer
  4. Invoice order management panel
    Alt text: Managing invoice status and due dates in WooCommerce
  5. Customer invoice account page
    Alt text: WooCommerce customer invoice history and available credit
  6. Invoice dashboard overview
    Alt text: WooCommerce outstanding and overdue invoice overview