Universal Commerce Protocol · extension
B2B purchasing
com.chatcommerce360.shopping.b2b version 2026-09-24 extends dev.ucp.shopping.checkout and dev.ucp.shopping.order (UCP 2026-08-25 or later) with what a business buyer's purchasing process needs and a consumer checkout doesn't carry.
Fields
One b2b object on checkout and order responses. Amounts are minor units.
po_number: the buyer's purchase-order number. Platforms may send it on create and update checkout (1-64 printable characters); it is echoed and carried onto the order.cost_center: the cost center or department the purchase is charged to. Same rules aspo_number.tax_exemption: set by the business.appliedis true when the buyer's exemption certificate covers this purchase; tax totals already reflect it.approval: set by the business from the buyer organization's approval policy. On checkout:not_required,required(the total is overthreshold) orpending(placed, awaiting approval), pluson_complete. On the order:pending,approvedorrejectedwith the number of approvals anddecided_at.
{
"b2b": {
"po_number": "PO-7731",
"cost_center": "CC-ICU-2",
"tax_exemption": {
"applied": true,
"certificate": { "number": "TX-RESALE-0042", "kind": "resale", "region": "TX" }
},
"approval": {
"status": "required",
"threshold": 500000,
"required_approvals": 2,
"on_complete": "pending_approval"
}
}
}Approval behavior
When approval is required, on_complete says what Complete Checkout does, per the business's policy: pending_approval places the order and returns a completed checkout whose order awaits approval (the order webhook reports the decision); escalate returns requires_escalation with a continue_url so a person submits the order on the storefront. The policy applies whether or not a platform negotiates this extension; the extension makes it visible.
Discovery and negotiation
Businesses declare the extension in their profile; platforms that want the fields declare the same version. Its fields are read and returned only when the extension is in the negotiated intersection.
"com.chatcommerce360.shopping.b2b": [{
"version": "2026-09-24",
"spec": "https://chatcommerce360.com/ucp/specification/b2b",
"schema": "https://chatcommerce360.com/ucp/schemas/shopping/b2b.json",
"extends": ["dev.ucp.shopping.checkout", "dev.ucp.shopping.order"]
}]Schema
JSON Schema (2020-12), composed onto the UCP base schemas with allOf under $defs["dev.ucp.shopping.checkout"] and $defs["dev.ucp.shopping.order"]: https://chatcommerce360.com/ucp/schemas/shopping/b2b.json