The person filling the basket cannot buy it
A buyer has selected the correct products, but the order still cannot proceed. They can prepare purchases for their branch, while someone at headquarters must approve spending. Treating this as a failed consumer checkout sends the team towards the wrong solution. The missing part is an authority model.
Shopify's business commerce model separates companies, company locations and contacts rather than treating the whole relationship as an individual customer. Its developer overview describes that structure. The broader design lesson is to establish who acts for which organisation before choosing the storefront experience.
The difficult questions appear before payment: whose prices apply, which address may receive goods, who can change the basket, and what exactly an approval permits. A discount field cannot answer them.
Make the buying context explicit
Consider a hypothetical distributor serving a customer with separate regional offices. A contact may buy for several offices, each with its own catalogue and delivery arrangements. The selected organisation and location should be visible throughout the purchase, especially when the buyer switches context.
A saved basket belongs to that context. Reopening it after switching companies must not silently retain privileged prices or an unavailable delivery destination. The same boundary applies to exports, order history and reorder buttons. These secondary screens are easy to miss because the main checkout looks correct.
Describe permissions as actions: prepare a request, submit it, approve it, place an order, change an address or manage colleagues. Job titles are useful display labels, but they are a poor substitute for explicit authority. A manager in one customer organisation may have narrower purchasing powers than an assistant in another.
Approval must refer to something stable
An approval should identify the proposal that was reviewed. If the basket changes afterwards, decide which changes invalidate the decision. Substituting a product, changing a delivery destination or increasing the total can alter the meaning of the original request.
For a hypothetical approval flow, keep the submitted proposal separate from its editable draft. Show the approver the products, applicable prices, destination and payment arrangement together. Preserve a readable record of the decision so support does not have to reconstruct it from emails.
Approval is not necessarily stock reservation, price protection or payment authorisation. Those are separate commitments. The interface should state which commitments exist and recheck the others when the order is placed. Otherwise a reassuring approved badge becomes a promise the fulfilment system never made.
Pricing needs a moment of commitment
Account pricing creates an awkward question when a saved basket outlives an agreement. Should the order use the old price, refresh it automatically or require renewed approval? There is no universal answer. The commercial policy must choose, and the system must expose the consequence.
A quote can carry an explicit validity condition. An ordinary basket can remain provisional. Mixing them creates disputes because the customer sees familiar products and assumes the previous amount still stands.
Separate the person buying, the organisation billed and the place receiving goods in the order record. This gives operations a clear basis for resolving a delivery or invoice problem. It also avoids forcing every unusual arrangement into a free-text checkout note.
Walk a purchase through the organisation this week
Take a real purchasing scenario and describe it without interface screenshots. Name the preparer, approver, payer and receiver. Write down the buying context and the precise point at which price and availability become commitments.
Then change the proposal after approval, revoke the buyer's access and reopen an old basket. The resulting decisions form a useful implementation brief. A storefront is ready for business buyers when those transitions have deliberate answers, not merely when company names fit in the address form.
