Your B2B Buyers Have a PO Number. Does Your Checkout Have a Field for It?
Purchase Order Payment for J2Commerce gives wholesale dealers, government buyers, and institutional accounts a proper B2B checkout — PO field, user-group gating, NET terms surcharges, geozone limits, and order size gates. Without a single line of custom code.
Everything a B2B Checkout Needs. Nothing It Doesn't.
Twenty verified features. One focused plugin. A Joomla ecommerce checkout that finally speaks the language of institutional and wholesale buyers.
PO Number Field at Checkout
A labeled PO number field appears when a buyer selects this payment method. Required or optional — your choice. Inline validation keeps the submit button locked until the field is filled. No phone call required to collect a PO number.
User-Group Gating
Require a PO from your wholesale accounts. Let retail shoppers check out normally without ever seeing the field. Same store. Same checkout page. Two completely different experiences — driven by Joomla user groups you already have.
NET Terms Surcharge
Add a percentage fee, a flat fee, or both to PO orders. Name it whatever your B2B buyers expect to see. Assign a tax class. Recover your NET-30 carry cost without touching your catalog prices.
Geozone Restriction
Limit PO checkout to specific countries or regions. US-only NET terms? Configure a geozone and save. International buyers see appropriate payment methods automatically. No one gets confused by an option that doesn't apply to them.
Minimum and Maximum Subtotal Gates
Set a floor — orders below it go to card. Set a ceiling — orders above it route to your account manager. Both limits enforce your credit policy automatically, before the payment option even appears at checkout.
Order Status Routing That Cascades
Confirmed PO orders route through J2Commerce's core order management. Email notifications fire. Order history is written — PO number included. Inventory decrements. Digital downloads unlock. Seven things happen from one confirmation. Nothing falls through the cracks.
PO Number in the Admin — Always Visible
Your AR team opens the order. The PO number is right there on the payment info panel. The buyer checks their order summary. Their PO is confirmed on screen. No notes field required. No "where's the PO for order 8841?" email to sales.
Four Custom Message Hooks
Write your own on-selection message, before-submit instruction, post-success confirmation, and error text. Own every touchpoint in the PO checkout flow. Tell your B2B buyers exactly what to expect and what happens next.
20 Languages, 2 Frameworks
American English, British English, French, German, Spanish, Dutch, Italian, Japanese, Portuguese, Russian, and 10 more — all bundled. Bootstrap 5 and UIkit 3 subtemplates render correctly in either storefront framework.
Real-World Use Cases
Your Biggest Accounts Don't Pay With a Credit Card.
They have a PO number, an AP department, and a procurement workflow that your checkout has been ignoring. PO field. User-group gating. Subtotal limits. Surcharges. Geozone restriction. Clean order routing. Everything your B2B Joomla ecommerce store needs to stop losing institutional accounts to a competitor who said yes to the purchase order. Yeah. We built that.
Translated In The Following Languages
Arabic Unitag (ar-AA), Chinese, Traditional (zh-TW), Danish (da-DK), Dutch (nl-NL), English (en-GB), English, USA (en-US), Finnish (fi-FI), French (fr-FR), German (de-DE), Greek (el-GR), Hebrew (he-IL), Italian (it-IT), Japanese (ja-JP), Norwegian Bokmål (nb-NO), Persian Farsi (fa-IR), Polish (pl-PL), Portuguese, Brazil (pt-BR), Portuguese, Portugal (pt-PT), Russian (ru-RU), Spanish (es-ES), Swedish (sv-SE), Turkish (tr-TR)
License Information
An active license entitles you to updates, downloads, and support for the duration of the license period. You may continue using this plugin indefinitely without an active license; however, support, updates, and downloads will not be available while your license is inactive.
- Developer J2Commerce
- Extension Type Payment
- J2Commerce Version 6.x
- Joomla Version 6.x
Arabic Unitag
Chinese, Traditional
Danish
Dutch
English
English, USA
Finnish
French
German
Greek
Hebrew
Italian
Japanese
Norwegian Bokmål
Persian Farsi
Polish
Portuguese, Brazil
Portuguese, Portugal
Russian
Spanish
Swedish
TurkishFix Fix: show a translated Display Name placeholder instead of the raw language key
Update Requires Joomla 6.x + J2Commerce 6.x
Fix Taxprofile field type Linux casing in 4 plugin manifests
Update Orderstatus field-type case for Linux
Update Pluginsubtemplate field-type case for Linux
New Feature Accept B2B purchase orders at checkout with a PO number field
New Feature Require a PO number only for selected Joomla user groups
New Feature Surcharge engine — percentage, fixed, or both, with taxable tax class
New Feature Geozone restriction limits PO checkout to chosen countries/zones
New Feature Minimum and maximum order subtotal gates per payment method
New Feature Configurable confirmed order status via core order status workflow
New Feature Show PO number on the order summary and admin payment-info panel
New Feature Custom thank-you article and on-selection/before/after/error messages
New Feature Custom place-order button text and field help text
New Feature Bootstrap 5 and UIkit subtemplate variants
New Feature Ships in 20 languages
Improvement Native Joomla 6 MVC, namespaced extension, vanilla ES6 checkout JS
Update Requires Joomla 6.x + J2Commerce 6.x
One Store. Two Buyer Types. Zero Custom Code.
Most B2B Joomla stores are also B2C stores. Your dealer network buys alongside retail customers on the same site. If you put a mandatory PO field in the checkout for everyone, retail shoppers bounce. If you remove card payment for B2B buyers, retail revenue dies. The user-group gating feature resolves this without any compromise — your wholesale and institutional accounts see the required PO field, retail shoppers never do, and it all runs on Joomla user groups you already manage.
- Configure PO requirement per Joomla user group
- Retail and wholesale on the same checkout — two different experiences
- Guests always excluded from PO requirement — no checkout blocking for visitors
- Field can show (not require) for optional-PO buyer types
Credit Policy Enforced. Automatically.
Your credit terms are not "PO accepted on any order for any buyer anywhere in the world at any order size." You have rules — minimum order amounts that justify NET terms, maximum amounts that require a phone call, geographic limits on who qualifies. The Purchase Order plugin enforces those rules before the payment option even displays. Buyers only see PO checkout when their order, their location, and their account type all qualify.
- Minimum subtotal — small orders stay on card
- Maximum subtotal — large orders route to account management
- Geozone restriction — NET terms for the right markets only
- All three can run simultaneously — your policy, your rules
The PO Number. Where Your Team Actually Needs It.
When an AR team member opens an order, the PO number is on the payment info panel. When a buyer checks their order confirmation, their PO number is confirmed on screen. The PO is stored in order metadata for reporting and in the order detail for immediate display — no joins, no custom queries, no digging. And when the order status changes, the PO number travels with it into the order history, so every status transition is auditable.
- PO number visible in the admin order detail panel
- PO number confirmed on buyer's order summary screen
- PO recorded in order history alongside every status change
- Available for reporting — no custom queries required
You may also be interested in these products
Stay Updated
Subscribe for free and be the first to know about the latest features, updates, and new additions.