Use cases

Procurement agents: from RFQ to purchase order

How buyer and supplier agents could run the RFQ, quote, purchase order and acknowledgment cycle that X12, EDIFACT, cXML and email carry today.

How it works today

Procurement runs on three kinds of channel, and most companies use all three.

EDI for contracted trade. Once a buyer and supplier have agreed terms and set up a trading partnership, orders move as X12 transaction sets in North America. The buyer’s ERP sends an 850 Purchase Order. The supplier answers with an 855 Purchase Order Acknowledgment, sends an 856 Ship Notice/Manifest when goods leave, and bills with an 810 Invoice. Changes go back and forth as an 860 (buyer-initiated change) and an 865 (seller-initiated change or acknowledgment). X12 also defines an 840 Request for Quotation and an 843 Response to Request for Quotation. Outside North America the same cycle uses UN/EDIFACT messages such as ORDERS, ORDRSP, ORDCHG and DESADV, with REQOTE to ask suppliers for price, delivery schedule and conditions.

Procurement suites for catalogue buying. cXML, whose reference guide reached version 1.2.071 in August 2026, carries the catalogue flow between procurement applications and suppliers. The buyer’s system sends a PunchOutSetupRequest, the requisitioner shops on the supplier’s site, and the cart comes back as a PunchOutOrderMessage. The order itself is an OrderRequest, followed by ConfirmationRequest, ShipNoticeRequest and InvoiceDetailRequest. cXML also defines QuoteRequest and QuoteMessage for sourcing events. SAP’s Open Catalog Interface (OCI) does the same catalogue round trip for SAP systems: the user opens an external catalogue and the selected items return as HTML form fields that SAP maps to its own fields. In Peppol markets, the post-award specifications cover Order Only, Ordering, Order Agreement, Despatch Advice, Catalogue and Punch Out.

Email for everything else. Where no structured channel exists between the two companies, a request for quotation travels as an email with a drawing or spreadsheet attached. Replies come back as PDFs, someone rekeys them into a comparison sheet, the buyer awards, and the purchase order leaves the ERP as a PDF. Clarifications, partial confirmations and date changes follow by email and phone.

The legal weight of each step matters. In US sales of goods between merchants, UCC 2-207 says an acknowledgment can operate as an acceptance even when it states additional or different terms. Additional terms become part of the contract unless the offer limited acceptance to its own terms, they materially alter it, or the buyer objects in time. So an 855 that quietly changes a ship date or a price is a contract event. In US federal buying, FAR 13.004 says a quotation is not an offer: the government’s order is the offer, and the contract forms when the supplier accepts, in writing, by furnishing the supplies, or by substantial performance.

The agent-to-agent version

Illustrative. A buyer’s sourcing agent sends a request for quotation to a supplier’s sales agent over A2A, using A2A v1.0 shapes:

{
  "jsonrpc": "2.0",
  "id": "rfq-7731",
  "method": "SendMessage",
  "params": {
    "message": {
      "messageId": "msg-rfq-7731-01",
      "role": "ROLE_USER",
      "parts": [
        { "text": "Request for quotation: 400 machined brackets to drawing BRK-220 rev C." },
        {
          "data": {
            "rfqId": "RFQ-7731",
            "lines": [
              { "line": 1, "partNumber": "BRK-220", "revision": "C", "quantity": 400, "unit": "EA" }
            ],
            "needBy": "2026-11-16",
            "shipTo": "Plant 3, Hamilton ON",
            "quoteDueBy": "2026-10-05T17:00:00-04:00"
          },
          "mediaType": "application/json"
        },
        {
          "url": "https://files.buyer.example/rfq/RFQ-7731/BRK-220-revC.pdf",
          "filename": "BRK-220-revC.pdf",
          "mediaType": "application/pdf"
        }
      ]
    }
  }
}

The rest of the cycle, as steps:

  1. The supplier’s agent creates a task and moves it to TASK_STATE_INPUT_REQUIRED to ask whether a tolerance on the drawing can be relaxed. The buyer’s agent answers on the same taskId.
  2. The supplier’s agent completes the task with a quote artifact: unit price, lead time, and a validity date.
  3. The buyer’s agent compares quotes, gets its buyer’s approval, and sends a purchase order as a new task. The message lists the quote task in referenceTaskIds, so the order points at the exact quote it accepts.
  4. The supplier’s agent acknowledges. If it can ship only 300 units by the need-by date, it says so as structured data, the same information an 855 with a changed line would carry.
  5. Ship notice and invoice follow on the channel the two companies already use, or on the same A2A connection.

What has to be true

Identity. EDI partners exchange identifiers during onboarding, and cXML requests carry a Credential with a domain such as a network ID or DUNS number, plus a shared secret. Agents need the same certainty. The supplier’s agent should present a Signed Agent Card (A2A section 8.4), authenticate with mutual TLS or OAuth client credentials, and map to a supplier record the buyer already holds. A quote or order from an agent that merely claims to be a known supplier is the business email compromise problem in a new channel.

Authority. An RFQ commits nobody. A purchase order does. The buyer’s agent needs a limit it cannot exceed without approval, and the supplier’s agent needs clear rules on what it may accept, reprice or reschedule. A2A gives a place to ask for more authority, TASK_STATE_AUTH_REQUIRED, but section 7.6.4 leaves the credential’s scope, format and revocation to implementations or extensions.

Record. Because UCC 2-207 turns on what each side actually sent, both sides need the same copy of the quote, the order and the acknowledgment, with timestamps. Orders also need duplicate protection. The A2A specification says agents may use messageId to detect duplicates. A retried purchase order must never become two orders, so tie the message to the buyer’s PO number and reject repeats.

Shared meaning. A2A does not define business schemas. Two companies must agree on the fields, either by mapping to X12 850 and 855 or cXML OrderRequest semantics, or by publishing an A2A extension. An agent can also attach the EDI document itself as a file part with the RFC 1767 media type application/EDI-X12.

Where Emissar fits

  • Front Door (Open to design partners): a hosted A2A endpoint in front of a supplier’s quoting and order systems, passing structured RFQs and orders to what the supplier already runs.
  • Verify (In development): checks that the calling agent’s signing key belongs to the buyer or supplier on file before anyone prices or ships.
  • Mandate (Spec in progress): a proposal for binding a purchasing limit to the buyer’s agent, so a supplier can check it before accepting an order.
  • Ledger (Spec in progress): a signed receipt of each quote, order and acknowledgment that both sides can retrieve.
  • Handoff (In development): routes partial acknowledgments and other exceptions to a buyer or planner with the exchange attached.

Open questions

  • Will trading communities publish shared A2A extensions for quote and order payloads, or will every pair map fields privately, as with EDI implementation guides?
  • When both sides use agents, which messages count as offer and acceptance? The parties’ trading agreement should say. The buyer and seller agents page covers how electronic-agent laws treat contracts that software forms.
  • How should a supplier’s agent treat RFQs from agents it has never seen? Answering every request invites price scraping. Refusing all of them loses new buyers.
  • Should agent traffic carry the X12 or EDIFACT document, or replace it? Carrying it keeps existing validation. Replacing it needs the shared schemas above.

Questions

Does an agent-to-agent RFQ replace EDI?
Not for established trading pairs. X12 and EDIFACT already carry contracted orders well. Agents help most where no structured channel exists, which is where email and spreadsheets fill the gap today, and at the edges of EDI flows, such as clarifications and exceptions.
Can an X12 or EDIFACT document travel inside an A2A message?
Yes. A file part can carry the interchange with the media types RFC 1767 defines, application/EDI-X12 or application/EDIFACT. A2A moves the bytes; both sides still need the usual EDI implementation agreement to interpret them.

Sources

  1. X12 Transaction Sets (840, 843, 850, 855, 856, 860, 865, 810) (accessed )
  2. UN/EDIFACT D.23A: ORDERS message (accessed )
  3. UN/EDIFACT D.23A: REQOTE message (accessed )
  4. UN/EDIFACT D.23A: Message Type Directory (accessed )
  5. cXML Reference Guide, version 1.2.071 (14 August 2026) (accessed )
  6. SAP Help Portal: Catalog Interface (OCI, Open Catalog Interface) (accessed )
  7. Peppol BIS version 3 (post-award specifications) (accessed )
  8. Uniform Commercial Code 2-207: Additional Terms in Acceptance or Confirmation (accessed )
  9. FAR 13.004: Legal effect of quotations (accessed )
  10. RFC 1767: MIME Encapsulation of EDI Objects (accessed )
  11. FBI: Business Email Compromise (accessed )
  12. A2A Protocol Specification (sections 3.3.1, 3.4.3, 7.6.4 and 8.4) (accessed )
  13. A2A protocol definition (a2a.proto): Message, Part, Task, Artifact (accessed )