Articles

B2B ordering for AI agents: trade accounts, price lists and POs

Usually fixed by: E-commerce platform admin

B2B ordering has its own machinery: trade accounts, customer-specific price lists, quick order by SKU, quotes, purchase order numbers and approvals. Here's how to make each of those steps something an AI agent can follow for a business buyer, and where it should stop and hand back.

How B2B buying looks to an agent

Picture a facilities manager who asks an assistant: "Find a supplier for 200 nitrile gloves in size L, delivered to our Leeds site by Friday, and check whether we already have a trade account." The agent has to do three different jobs:

  • Research in public. Which suppliers stock the item, what the specification is, roughly what it costs, how fast they deliver and how to open an account.
  • Act inside an account. See the buyer's own price, add items by SKU, enter a purchase order number, and send the order for approval.
  • Hand back. Sign-in, approval and payment usually belong to people, not the agent.

The first job happens on your public pages, and if an agent can't see your catalog, you may not make the shortlist. This guide is about the second and third jobs: what an agent meets once the buyer has an account, and where it should hand back.

  1. Research Catalog, specifications, list prices, delivery
  2. Sign in The buyer logs in; the agent continues
  3. Build the order Quick order by SKU, or a saved list
  4. Add a PO number A labeled field at checkout
  5. Approve A named person approves, in text the agent can relay
A B2B order with an agent. The research happens in public; the rest happens in the buyer's account, with people approving.

Trade accounts and price lists

What to keep public is the first decision, and our agent readiness guide for B2B e-commerce covers it: catalog, specifications, a price signal, ordering rules and how to open an account in public, with each customer's own terms behind sign-in. For where to draw that line, see login walls and gated content. This guide picks up at the account itself.

Opening a trade account. The application is often the first form a buyer's agent meets. Label every field, say which documents you'll ask for (a company registration number, a tax ID) and how long approval takes. After submitting, show the status in text: "Application received. We'll reply by email within two business days." An agent can start the application and hand the verification back to the buyer, as long as it can tell what happened.

Showing a buyer's own price. Once the buyer signs in, the agent needs to tell which price applies to them. Show it as text, next to the list price, and say why it differs:

supply.harbor.example/products/nitrile-gloves-l (signed in)

Nitrile gloves, size L, box of 100 SKU NG-200-L

List price £42.00 Same as the public page

Your price £38.50 (Trade price list B), excluding VAT Which price, and why, in text

10+ boxes: £36.00 each Quantity break as text

A trade price an agent can report. The buyer's price, the price list it comes from, the tax basis and the quantity break are all written out.
  • Say whether prices include tax. "Excluding VAT" or "plus sales tax" next to every trade price, so an agent doesn't compare your net price with another supplier's gross one.
  • Put quantity breaks in a table, not only in a tooltip or the cart.
  • Keep the cart and checkout on the buyer's price list. If a contract price doesn't apply to an item, say so on the line, so the agent can flag it to the buyer.
  • Keep customer-specific prices out of public pages and public structured data. The public Offer markup should carry your list price. schema.org also has eligibleCustomerType and eligibleQuantity for who a price is for and the quantities it applies to, but not every service that reads structured data uses them, so say the same things in the page text. For identifiers, see product identifiers (GTIN, MPN, SKU).

Quick order and reorder

B2B buyers often know exactly what they want: a list of SKUs and quantities. Quick order forms and reorder lists are made for this, and they suit agents well, as long as they're built from ordinary form controls.

supply.harbor.example/quick-order

Quick order

SKU NG-200-L Quantity 40 Labeled fields

Added: Nitrile gloves, size L, box of 100 × 40 Confirmed in text

NG-200-XL: Not found. Did you mean NG-200-L? Error the agent can act on

Add all to cart

A quick order form an agent can use. Labeled fields, the product name in the confirmation, and errors written as text.
  • Label every SKU and quantity field. "SKU, line 1" and "Quantity, line 1", not empty boxes in a grid. See buttons, links and forms agents can use.
  • Echo the product name back. After an SKU is entered, show what it is. The agent can then check it has the right item before ordering.
  • Write errors as text next to the line. "Not found", "Sold in boxes of 100" or "Minimum order 5 boxes". See error messages AI agents can understand.
  • Offer paste or upload as an extra, not the only way. A CSV upload is handy for people, but a form an agent can fill line by line is more dependable.
  • Make reorder lists real lists. Saved lists and past orders with a named "Add all to cart" button, and a note when a price or stock has changed. See order tracking, returns and reorders.

Quotes, purchase orders and approvals

Quotes. A request-for-quote form is a lead form, so the advice in sign-up, booking and lead forms AI agents can finish applies: labeled fields, no CAPTCHA on every submission, and a confirmation that says what happens next and when. Once you send a quote, give it its own page with a reference, the line items, the expiry date and a named "Accept quote" or "Convert to order" button. An agent can then check the quote and the person can accept it.

Purchase order numbers. Many buyers can't order without one. Put a labeled "Purchase order number" field at checkout, say whether it's required, and show the number on the order confirmation and invoice. It's how the buyer's finance team, and their agent, will match the order later.

Approvals. Many B2B accounts route orders above a limit to a manager. That's a place where an agent should stop, and the site should tell it so plainly:

  • Say in text when an order needs approval: "Orders over £500 need approval. This order will be sent to Priya Shah."
  • After submitting, show the status: "Waiting for approval. Reference PO-4471."
  • Give the approver a clear page with the order details and named "Approve" and "Reject" buttons, so their own assistant can help them too.

Delegated access for agents is early

Today, an agent working inside a trade account usually does so in the buyer's own signed-in browser session. The buyer signs in; the agent carries on. That works, but the site can't tell what the agent may do, and the agent has whatever access the person has.

The better model is delegated access: the buyer grants an agent limited permission, such as "can build orders and add PO numbers, can't approve or change payment details", without sharing a password. OAuth 2.0 is the long-standing standard for this kind of limited, revocable access, and the Model Context Protocol's authorization specification builds on OAuth so that MCP clients can make requests to restricted servers "on behalf of resource owners".

Support for this in commerce platforms is early. If you're thinking about it, see MCP and WebMCP, and ask your platform:

  1. Can a buyer grant an AI agent access to their account without sharing a password?
  2. Can that access be limited, for example to building orders but not approving them?
  3. Are orders built by agents marked, so we can see them and support them?
  4. Can a buyer or an admin revoke an agent's access at any time?

What AgentScore checks

AgentScore reads public pages only. It never signs in or submits a form, so it can't test anything in this guide that happens inside a trade account. What it does cover is the research step: whether AI assistants can open your product pages ("AI agents can open your product, pricing and cart pages"), whether those pages give a price and stock in structured data and in the HTML ("Product pages give price and stock in a form agents can read" and "Prices are in the page HTML"), and whether checkout needs an account ("Shoppers can check out without an account"). A trade-only checkout that sends everyone to sign in fails that last check. Our B2B guide explains how to read these results for a trade-only site.

For the ordering steps, set up Ghost Agent tests in the Ghost Agent Lab app, such as finding a product by its SKU and reaching your quote form or checkout. Ghost Agents use only the test data you supply and always stop before paying.

Where to start

  1. Open your site signed out. Can a stranger see your catalog, a price of some kind and how to open an account? If not, start with our B2B guide.
  2. Sign in as a test buyer. Check that your price, the price list it comes from and the tax basis are written as text.
  3. Check the quick order form. Every field labeled, the product name echoed back, errors written as text.
  4. Label the purchase order field and show the number on confirmations and invoices.
  5. Make approvals say what's happening, in text, at each step.
  6. Ask your platform the delegated access questions above, and note the answers for next year's plan.
← All articles Test your site with AgentScore →

Can AI agents finish the job on your site?

Ghost Agents work through your journeys from a plain-English goal, with a step-by-step replay of where they got stuck. Included in every plan, with a 30-day trial.