Skip to main content
StateSet EDI is a multi-tenant X12 and EDIFACT gateway. It receives trading-partner documents over any common transport, strictly validates and translates them into StateSet VES events, acknowledges every functional group with a 997 (and every malformed interchange with a TA1), generates outbound order-lifecycle documents from StateSet-shaped JSON, and confirms delivery back to the partner — tracked, retried, and reconciled. It is built on the same stack as the Sync Server: Rust, axum, tokio, serde, reqwest (rustls), tracing, and Prometheus.
Every endpoint the engine serves has a generated reference page with a live playground under the EDI API tab — 116 operations, built from the OpenAPI document edi.stateset.com publishes.

Highlights

Five transports

HTTP API, file/VAN directory drop, native SFTP client, AS2 (signed and encrypted, with MDN receipts), and AS1 (EDI over email).

Confirmed delivery

Outbound AS2 is tracked, MDN-confirmed, retried with exponential backoff, and dead-lettered with an alert on failure.

Strict, certifiable

One inbound endpoint auto-detects the syntax — X12 answers with a 997, EDIFACT with a CONTRL. Envelope validation, per-partner implementation guides, exact-decimal money, and replay-proof event IDs.

Retail-ready

40+ packaged retailer connectors and UCC-128 / SSCC-18 label generation.
Additionally:
  • Multi-tenant, with a WorkOS-SSO operator dashboard.
  • HA-ready — every coordination store shares through Postgres.
  • Operational alerting to Slack-compatible webhooks and email.
  • MCP server exposing 117 agent-callable tools.

Document flow

The same pipeline — dedup, validate, translate, queue, acknowledge — runs behind every transport, so a partner can move between transports without any code changes. Sending a document is one call. The body is the typed Invoice810 object; the response is the wire-ready X12 interchange itself (Content-Type: application/edi-x12), with the ISA/GS/ST control numbers in its envelope — the same numbers GET /v1/lifecycle/{reference} reconciles against later:
Response (application/edi-x12)
Keep isa_control_number against your own invoice record. It is the only handle that ties a partner’s 997 — and any later chargeback — back to what you sent, and control numbers wrap, so the pairing is only unambiguous if you store it at send time.

Beyond the wire

The gateway does more than move documents. It also covers the operational surface that EDI programs actually run on:

Next steps

Quickstart

Run the gateway and process your first 850.

Transaction sets

Every supported X12 set and its direction.

Transports

HTTP, file/VAN, SFTP, AS2, and AS1.

MCP server

Drive EDI flows from Claude with 117 tools.
Last modified on August 31, 2026