Extend trade credit to B2B buyers with configurable payment terms (Net 7โ90), real-time balance tracking, and automated overdue management. Supports both company-level and individual user credit accounts. Fully HPOS-compatible โ works with both classic post-based orders and WooCommerce High-Performance Order Storage.
Set a currency limit per company. Orders are blocked or flagged when the limit is reached. Override per-company or set a global default for new accounts.
Six configurable payment terms. Set a global default or override per company. Payment due date is calculated and stored on each order automatically.
Every order placed charges the balance. Every payment recorded restores it. Live utilisation percentage visible on both admin and customer My Account dashboards.
Configurable reminders at 7, 14, 30 days. Optional interest charges. Block new orders when past due. Admin dashboard shows all overdue accounts at a glance.
Charges, payments, manual credits, refunds โ all timestamped and auditable. Filter by date range, transaction type, or order. Export to CSV.
All credit data is stored using WooCommerce's HPOS-compatible order meta API. Works identically on both classic post-based orders and the new high-performance order storage.
Set credit limits per individual user (not just per company). Useful for freelancers and sole traders who don't belong to a company structure. User credit and company credit can coexist.
Credit is tracked in your base currency with exchange rate stored on each order. Prevents currency conversion errors when customers order in different currencies.
When enabled, non-company users can apply for a credit account from My Account. Applications are reviewed in a dedicated admin panel. Eligibility criteria, max request limits, and approval emails are all configurable.
Every change to a credit account is logged โ limit adjustments, status changes, manual transactions, and account closures. View the full history per account in the Activity Log tab.
Go to WholesaleNode โ Settings โ Features and confirm Company Credit & Net Terms is toggled on.
Go to Settings โ Credit Settings. Set default payment terms (Net 30 is common), overdue behaviour (block orders or just warn), and which customer roles can see the Company Credit gateway at checkout.
Go to WholesaleNode โ Company Accounts โ Add Company. Fill in company name and contact details. This is the account that holds the credit balance.
On the company record, go to the Credit tab. Enter the credit limit (e.g. $5,000) and choose this company's payment terms. This overrides the global default.
Still on the company record, go to Members and add the customer's WordPress user accounts. Everyone assigned to this company shares the credit balance.
Log in as one of the assigned users and go to checkout. "Company Credit" should appear as a payment option showing available balance. Place a test order and verify the balance updates.
When the customer pays, go to Company Account โ Credit โ Add Transaction. Select Payment, enter the amount and a reference note. The balance restores immediately.
Acme Builders has a $10,000 credit limit with Net 30 terms. Their three purchasing agents all share this balance.
Orders above $2,000 shouldn't charge the credit account automatically โ you want to review them first.
A German customer orders in EUR but your credit accounts are tracked in USD.
A freelance architect orders regularly and you want to give them a personal credit line without creating a company for them.
| Setting | What it does | Default |
|---|---|---|
Default Credit Limit | Starting limit for new company accounts. Set 0 to require manual setup per company before credit is available. | $0 |
Default Payment Terms | Net 7 / 14 / 30 / 45 / 60 / 90 days. Applied globally but overridable per company. | Net 30 |
Block When Overdue | Prevent new orders when any balance is past its due date. Shows a clear message at checkout. | Off |
Enable Interest | Charge interest on overdue balances. Set the rate and period (daily, weekly, monthly). Interest appears as a transaction in the audit log. | Off |
Require Approval Above | Orders above this amount need admin approval before credit is charged. Set to 0 to disable. | None |
Allow Negative Credit | Let orders proceed even when they would exceed the credit limit. Set a negative cap to limit how far over the limit they can go. | Off |
Eligible Roles | Which user roles see the Company Credit payment option at checkout. | All logged-in |
PO Number Field | Add a PO number input to checkout for credit orders. Stored on the order as HPOS-compatible meta. | Off |
Allow Credit Applications | Enable the self-service credit application form in My Account for non-company users. Applications appear in the admin Applications tab for review. | Off |
Max Requestable Credit Limit | Optionally cap the maximum credit limit a customer can submit in their application. Set to 0 for no cap. Admins can approve any amount regardless of this cap. | $0 (no cap) |
Application Eligibility Criteria | Optional conditions (minimum orders, spend, account age, user group) a user must meet before the application form is shown to them. Acts as a hard gate on the frontend form only. | Off |
Go to Settings โ Payment Credit โ Applications and toggle on Allow Credit Applications from My Account. Optionally set a maximum requestable amount and eligibility criteria.
An eligible user visits My Account โ Payment Credit. They see the application form and submit their requested credit limit, payment terms preference, and an optional reason.
An email is sent to the admin (or the address configured in Credit Notifications) with the application details and a direct link to review it.
Go to Payment Credit โ Applications. Pending applications are listed with the customer's details and requested values. The admin can adjust the credit limit and terms before approving.
Click Approve (with the final credit limit and terms) or Reject (with an optional note). Both actions immediately send an email to the customer. Approval instantly activates their credit account and redirects them to their balance view in My Account.
The module adds a "Company Credit" option to WooCommerce checkout. Eligible users select it and the order total is deducted from their company's available credit balance instantly. No actual card processing โ it's an internal ledger. The order is stored with the credit amount, exchange rate, and payment due date as HPOS-compatible order meta.
Yes โ fully. All order meta (credit amount, exchange rate, payment due date, PO number) uses $order->update_meta_data() and $order->get_meta() throughout. The admin order list column showing credit status works on both the classic shop_order posts screen and the HPOS wc-orders screen via separate hooks registered for each.
Checkout is blocked with a clear message showing current balance and limit. If you've enabled "Allow Negative Credit," orders can proceed up to a configurable negative cap. If you've set "Require Approval Above," orders near the limit route to admin approval instead of blocking outright.
Yes. Go to Company Account โ Credit โ Add Transaction โ Payment. Enter the amount and a reference note (e.g. bank transfer ref). The balance updates immediately and the transaction appears in the auditable history. You can also record partial payments if the customer paid less than the full balance.
The following meta keys are stored on each order placed with Company Credit:
_woob2b_company_id โ the company account ID (used for balance lookups)_woob2b_credit_base_amount โ amount charged in your base currency_woob2b_credit_exchange_rate โ rate at time of order (for multi-currency accuracy)_woob2b_payment_due_date โ calculated due date based on payment terms (Y-m-d format)_woob2b_po_number โ customer-entered PO number (if PO number field is enabled)All are stored and read using WC_Order methods, making them fully HPOS-compatible.
Yes โ enable Allow Credit Applications from My Account in Settings โ Payment Credit โ Applications. Non-company users will see an application form under My Account โ Payment Credit. They submit a requested credit limit, preferred payment terms, and an optional reason. The admin reviews and approves or rejects from the Applications tab in the Payment Credit admin panel. On approval the credit account is activated immediately and the customer is notified by email. Company members cannot apply โ their credit is managed at the company level.
Yes. Set the Maximum Requestable Credit Limit in Settings โ Payment Credit โ Applications. When set, customers cannot submit an application for more than that amount. The form enforces it client-side and the server validates it too. Admins can always approve a different (higher or lower) amount when processing the application regardless of this cap.
Yes, via the woob2b_credit_charged action hook. It fires after every successful credit charge with the order ID, amount, and company ID as parameters. Use it to push to QuickBooks, Xero, or any webhook-based system. See the Hooks & Filters reference for code examples.