Skip to content

Plan a B2B order portal: prices, units and approval

Plan customer permissions, carton prices and approvals using an example order with a clear handover to the ERP.

Lena Fischer2 min read
Tablet displaying a headphone product card and three selection rows, with green and teal accents.

Before designing the order portal, establish which company a person buys for, which unit a price covers and when an order may proceed. These rules need to remain consistent through the handover to the ERP.

A worked order example

All identifiers, prices and thresholds here are fictional. The approval threshold is an internal example rule, not a legal requirement. The calculations exclude tax and delivery.

Item

Example setting

Customer account

C-10, separate from C-20

Product

B-6: one carton contains 6 units

Price for C-10

18 EUR net per carton

Price for C-20

21 EUR net per carton; 2 cartons = 42 EUR net goods value

Basket

2 cartons = 12 units = 36 EUR net goods value

Approval

A net goods value of 500 EUR or more requires an authorised approver.

For 28 cartons, the net goods value is 504 EUR. This order needs the additional approval. Show the carton quantity and contained unit count together; an unlabelled quantity field can turn two cartons into two individual items.

Keep company, location and person separate

The buyer at C-10 can create a draft. Another authorised person approves orders above the threshold. Delivery locations belong to the relevant company account. A shared login for all employees makes it harder to revoke one person's access.

B2B catalogues can define customer-specific products and prices; Shopify's documentation provides a product example. Test whether the selected system actually supports the company and location relationships you need.

Hiding a link does not protect another account. The server must check permissions on every request, as OWASP recommends. If a C-10 test user changes a customer identifier to C-20, neither that customer's prices nor addresses should become visible. Use separate test accounts for these checks.

Distinguish submission from ERP acknowledgement

One possible flow is: current price checked → draft → approval if needed → transfer pending → acknowledged by the ERP with an order ID. In this example, a change to quantity or price after approval triggers a new check. The point at which an order is legally accepted must also match your actual terms of business.

When the ERP is unavailable, the transaction stays open. Example message: “Your order is waiting to be transferred. No order confirmation is available yet.” Show the order ID only after processing has been acknowledged. Repeated transfers must be recognised as the same transaction to prevent a second order.

Checks before introduction

Verify that two cartons appear as 12 units and 36 EUR. Then test 28 cartons: transfer must wait for the required approval. Test access to C-20, a price change after approval and a lost ERP connection. Each check needs a visible, understandable status.

This defines the first release: customer permissions, price units, approval and traceable ERP transfer. You can then assess extra search filters or promotions with the ordering rules already settled.

Sources

Written by

  • Lena FischerEditor for E-CommerceLena Fischer looks after the e-commerce articles at ASES. She writes about shop systems and how they connect to other applications, and explains the technical processes behind online retail.

Follow ASES

Read more

All articles

E-Commerce with ASES

Online shops, marketplaces and B2B portals