Building a dealer portal on Shopify B2B: carrying Exact prices and credit limits across
In wholesale every customer has their own price, payment term and limit. Here is a practical way to carry those conditions from the ERP into the portal.
Wholesale is fundamentally different from retail. In retail there is one price list and everyone sees the same number. In wholesale, price depends on the customer, the volume, the agreement and sometimes the season. That complexity is already modelled in your ERP — the problem is carrying it into the storefront.
Company and location structure
Shopify B2B groups customers under a company and gives each company one or more locations. The debtor account in Exact maps onto that structure. The critical question is which field you match on: the account code is the reliable key, not the email address — a single company often has several buyers.
Carrying price lists across
Customer-specific pricing in Exact is usually held in one of two ways: a price list assignment, or a customer-item specific price. Shopify B2B catalogs are the equivalent construct. Each Exact price list becomes a Shopify catalog and is assigned to the relevant companies.
- Price list changes should be captured via webhook
- One-off customer-specific prices need their own catalog
- Quantity breaks are modelled with volume pricing
- Price updates arrive in bulk, so queue management is essential
Credit limits and payment terms
This is the most delicate part of a B2B integration. The dealer's outstanding balance and credit limit in Exact must be checked at the moment the order is placed. An order that breaches the limit should either be blocked or held in an approval-pending state.
Deferring the credit check until after the order is placed does nothing except hand your sales team a cancellation to process.
In practice the soundest approach is to read the balance from Exact in real time and validate it at checkout. A cached balance will miss payments received earlier the same day.
The order flow
When a dealer places an order the flow runs as follows: the Shopify order is created, the integration turns it into a sales order in Exact, links it to the correct debtor account, writes the agreed prices per line and takes the payment term from the account record. When the goods ship, the information returning from Exact is processed as a fulfillment in Shopify and the dealer sees the tracking number in the portal.
The quick order screen
Wholesale buyers don't browse a storefront; they usually have a list in hand and want to order quickly. Screens for pasting SKUs into a bulk cart, reordering from order history and saving favourites move the conversion needle far more than retail-style design does.
