How To Let Wholesale Customers Pay Via Invoice

Wholesale customers often pay on credit terms rather than upfront at checkout. Instead of entering card details, they expect to place an order and receive an invoice to settle within an agreed period, such as net 30 or net 60.

WooCommerce does not include an invoice payment option by default. Invoice Gateway for WooCommerce is a free plugin built by the Wholesale Suite team that adds a dedicated invoice payment method to your store, with built-in options to restrict it to wholesale customers only and block customers with outstanding invoices from placing new orders. For more advanced credit management, Wholesale Payments adds payment terms, dollar credit limits, and Stripe-powered invoicing.

Prerequisites

  • WooCommerce installed and active.
  • Invoice Gateway for WooCommerce installed and activated. This free plugin is available from WordPress.org.
  • Optional: WooCommerce Wholesale Prices Premium if you want to restrict payment gateways per wholesale role using the WWPP gateway mapping.

Step 1: Install Invoice Gateway for WooCommerce

  1. In your WordPress dashboard, go to Plugins → Add New Plugin.
  2. Search for Invoice Gateway for WooCommerce.
  3. Click Install Now, then Activate.
WordPress plugin directory search results showing Invoice Gateway for WooCommerce plugin with Install Now button
Plugins → Add New Plugin: Invoice Gateway for WooCommerce in search results

Step 2: Enable the invoice payment gateway

After activation, the invoice payment method is registered in WooCommerce but must be enabled before customers see it at checkout.

  1. Go to WooCommerce → Settings → Payments.
  2. Find Invoice Payment in the list and toggle it on.
  3. Click Manage to configure the gateway title, description, and instructions shown to customers at checkout and on the thank-you page.
  4. Click Save changes.
WooCommerce Payments settings screen showing Invoice Payment gateway with its enable toggle switched on
WooCommerce → Settings → Payments: Invoice Payment gateway enabled

Step 3: Restrict the invoice gateway to wholesale customers

By default, an enabled gateway is visible to all customers. To limit the invoice option to wholesale customers only, use one of the two approaches below.

Option A: Use the built-in Invoice Gateway restrictions

Invoice Gateway for WooCommerce includes a built-in restrictions section that lets you limit the gateway to specific user roles without any additional plugins.

  1. Go to WooCommerce → Settings → Invoice Gateway → Restrictions.
  2. Enable the Enable Restrictions. This is the master toggle and must be on before any of the rules below take effect.
  3. In the Allowed Roles field, select your wholesale customer role or roles. When at least one role is selected, guests are blocked automatically.
  4. Click Save changes.
Invoice Gateway Restrictions settings page with Enable Restrictions checked and wholesale customer role selected in Allowed Roles
WooCommerce → Settings → Invoice Gateway → Restrictions: Allowed Roles set to a wholesale customer role

The Restrictions section also includes these optional rules:

  • Block When An Unpaid Invoice Exists: hides the gateway from customers who already have at least one unpaid invoice order.
  • Maximum Unpaid Invoices: hides the gateway once a customer reaches a set number of unpaid invoice orders. Leave blank or set to 0 for no limit.
  • Minimum Order Amount: hides the gateway when the cart total falls below this amount.
  • Maximum Order Amount: hides the gateway when the cart total exceeds this amount.
  • Restriction Message: the message shown on the classic checkout when the gateway is hidden by one of the rules above. Leave blank to use the default message.

Option B: Use WooCommerce Wholesale Prices Premium gateway mapping

If you use WooCommerce Wholesale Prices Premium, you can map specific payment gateways to specific wholesale roles. Only the gateways assigned to a role are shown to customers in that role at checkout. Roles with no mapping see all enabled gateways.

  1. Go to Wholesale → Settings → Wholesale Prices → Payment Gateway.
  2. In the Wholesale Role / Payment Gateway section, click Add Mapping.
  3. Select the wholesale role from the Wholesale Role dropdown.
  4. In the Payment Gateways field, select Invoice Payment along with any other gateways this role should see. You can add multiple gateways to a single role mapping.
  5. Click Save Mapping.
WWPP Payment Gateway settings with a wholesale role mapped to the Invoice Payment gateway
Wholesale → Settings → Wholesale Prices → Payment Gateway: Wholesale Role / Payment Gateway mapping

For a full walkthrough of payment gateway mapping, see How to restrict wholesale customers to use particular payment gateways.

Enabling purchase order numbers

Invoice Gateway for WooCommerce includes an optional purchase order number field at checkout. When enabled, customers can enter a PO number that is recorded on the order and included in order emails.

  1. Go to WooCommerce → Settings → Invoice Gateway.
  2. Enable Enable Purchase Order Number.
  3. Optionally enable Require Purchase Order Number to make the field mandatory before the order can be placed.
  4. Click Save changes.

Alternative: Wholesale Payments for advanced invoicing

Wholesale Payments is a premium plugin that extends invoice management beyond what Invoice Gateway for WooCommerce provides. It adds support for payment terms (Net X days stamped on orders), deferred payment schedules, dollar credit limits, overdue-based restrictions, and automatic Stripe-powered invoicing. For setup and configuration, see the Wholesale Payments getting started guide.

Troubleshooting

The invoice payment option is not showing for wholesale customers at checkout

Check that the gateway is enabled at WooCommerce → Settings → Payments. If you are using Option A, also verify that Enable Restrictions is turned on at WooCommerce → Settings → Invoice Gateway → Restrictions and that your wholesale role appears under Allowed Roles. If Block When An Unpaid Invoice Exists or Maximum Unpaid Invoices is set, the gateway may be hidden because the customer already has outstanding invoice orders.

Frequently asked questions

Does Invoice Gateway for WooCommerce work without Wholesale Suite?

Yes. The plugin is free and works as a standalone WooCommerce payment gateway. Wholesale Suite is not required. WooCommerce Wholesale Prices Premium is only needed if you want to use the WWPP payment gateway mapping approach described in Option B above.

What order status do invoice orders receive?

By default, invoice orders are placed into Processing status. You can change this via the Default Order Status setting at WooCommerce → Settings → Invoice Gateway. Once you confirm payment has been received, mark the order as Completed in the same way as any other WooCommerce order.

Can I record an invoice number on the order?

Yes. After generating an invoice in your accounting system, you can log the invoice number directly on the order in WooCommerce. When the order is marked as Complete, the invoice number is included in the order complete and customer invoice emails.

Will retail customers see the invoice payment option?

By default, any enabled gateway is visible to all customers. To limit it to wholesale customers only, enable the built-in restrictions (Option A) and set Allowed Roles to your wholesale role. Alternatively, use the WWPP payment gateway mapping (Option B) to assign the Invoice Payment gateway to specific wholesale roles.

What is the difference between the Invoice Gateway restrictions and the WWPP payment gateway mapping?

The Invoice Gateway built-in restrictions (Option A) control gateway visibility based on user role, unpaid invoice count, and cart amount. They are included in the free plugin and work without any Wholesale Suite product. The WWPP payment gateway mapping (Option B) is part of WooCommerce Wholesale Prices Premium and lets you assign different sets of payment gateways to different wholesale roles. For a simple “wholesale customers only” setup, Option A is sufficient. Option B is more appropriate when different wholesale tiers need access to different gateways.

Does the invoice gateway work with the WooCommerce block checkout?

Yes. Invoice Gateway for WooCommerce is compatible with both the classic WooCommerce checkout and the block-based checkout.

Can customers pay outstanding invoice orders online?

Yes. Enable Enable Pay Now Button in WooCommerce → Settings → Invoice Gateway. This adds a Pay Now button to On-hold and Invoice customer emails so customers can pay outstanding orders online through your other enabled payment gateways. The Invoice Payment method itself is hidden on the order-pay page.

What if I need dollar credit limits or overdue-based restrictions?

Dollar credit limits and overdue-based restrictions are not part of Invoice Gateway for WooCommerce. These features are available in Wholesale Payments.

Does the invoice gateway work with the Wholesale Order Form?

Yes. Invoice Payment is a standard WooCommerce payment gateway and works with any compatible checkout flow, including WooCommerce Wholesale Order Form.

Does Invoice Gateway for WooCommerce support payment terms?

Yes, in a basic form. Enable Enable Payment Terms and set Payment Terms (days) in WooCommerce → Settings → Invoice Gateway to stamp a payment due date on invoice orders and receive an email notification when an order becomes overdue. For more sophisticated payment terms management, see Wholesale Payments.

Help & support

We have a dedicated support team for Wholesale Suite who knows our products, WooCommerce, and the industry very well. You’re welcome to make use of their expertise at any time, worldwide.

If you are an existing customer please go to the support ticket request form and send us a message.

If you are a free plugin user, please send us a support request on the forum. We actively monitor the WordPress.org support forums for the free plugin and help our users there as best as we can.

Was this article helpful?

Related Articles

Complete Your Purchase