Purchase Order Payment
$19.00

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.

20
Bundled languages — B2B goes global
18
Admin settings — your rules, enforced automatically
2x
PO validation — client side and server side
$0
Custom dev required to run two buyer types on one store

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

A Joomla-powered IT reseller sells hardware and software licenses to commercial accounts. Their Fortune 500 clients use Ariba — every order needs an Ariba-generated PO number before procurement will release payment. They configure Purchase Order as a payment method, require it for the "Enterprise Account" user group, and set a $500 minimum subtotal. Retail and SMB buyers check out with cards and never see the PO field. Enterprise account managers log in, build their cart, enter their Ariba PO number, and submit. The order parks in "Awaiting PO Confirmation" status. The AR team reconciles against the invoice when payment clears. Zero phone calls. Zero manual order creation. The PO number is visible on every screen the whole time.

A Joomla ecommerce store sells educational and office supplies to government buyers in the continental US. School districts and city procurement offices are legally required to use purchase orders — a credit card payment at a government agency can trigger an audit. The store enables Purchase Order with a US geozone restriction, a $100 minimum, and requires it for the "Government Account" group. Procurement officers log in, build their cart, enter their department PO number at checkout, and submit. The order goes to Pending. The store's government sales coordinator reviews and confirms — with the PO number visible in the order admin view throughout. No separate portal. No custom development. No spreadsheet.

A manufacturer of industrial cleaning products runs one Joomla site for both their dealer network and direct consumers. Dealers need NET-30 terms. Retail buyers pay by card. They configure Purchase Order as required for the "Dealer" group, with a $250 minimum and a $75,000 maximum. Orders above $75,000 route to the account manager. A 1.5% surcharge named "NET-30 Financing Fee" offsets carry cost. Retail visitors never see the PO option. When a dealer submits a large order with their PO number, the order history records it — visible to warehouse staff, the account manager, and the AR team — all from standard J2Commerce order management. No hybrid setup. No bolt-on systems. Same store.

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)


  • Developer J2Commerce
  • Extension Type Payment
  • J2Commerce Version 6.x
  • Joomla Version 6.x
Language Translations
Arabic UnitagArabic Unitag
Chinese, TraditionalChinese, Traditional
DanishDanish
DutchDutch
EnglishEnglish
English, USAEnglish, USA
FinnishFinnish
FrenchFrench
GermanGerman
GreekGreek
HebrewHebrew
ItalianItalian
JapaneseJapanese
Norwegian BokmålNorwegian Bokmål
Persian FarsiPersian Farsi
PolishPolish
Portuguese, BrazilPortuguese, Brazil
Portuguese, PortugalPortuguese, Portugal
RussianRussian
SpanishSpanish
SwedishSwedish
TurkishTurkish

Fix 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
One Store. Two Buyer Types. Zero Custom Code.
Credit Policy Enforced. Automatically.

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
The PO Number. Where Your Team Actually Needs It.

Stay Updated

Subscribe for free and be the first to know about the latest features, updates, and new additions.