Exception flow and escalation matrix
When something goes wrong — and something always does — you need to know who to call, within what delay, and how to close the loop.
Problem
An EDI integration produces, in operations, several incident categories:
- The message fails syntactic validation.
- The partner returns a CONTRL/997 rejection.
- The partner returns a negative ORDRSP/855.
- No ACK arrives within the contractual SLA.
- A send sits in DLQ after exhausting retries.
- A partner certificate expires in 30 days.
- Volume received from a partner is abnormally low (statistical anomaly).
Without an explicit matrix, each incident is handled by oral convention or by habit, and ends up in the inbox of an EDI operator who wakes up on Monday with 400 errors and no prioritisation. The business impact is heavy: unsent invoices, lost orders, late payments.
Forces
- Asymmetric consequences. A 997 syntax rejection on a catalogue message does not hit the same impact as a missing MDN on a B2G invoice — one wants a weekly ticket, the other wants an immediate alert.
- Multiple stakeholders. Depending on the incident, escalation targets EDI ops, security (certs), procurement or sales (orders), finance (invoices), or the partner directly.
- SLA diversity. A strategic partner has tighter thresholds than a long-tail partner. The matrix must parameterise per partner.
- Cost of false alerts. Too many alerts are ignored. A coherent filter, calibrated thresholds, and self-closing mechanisms when the incident resolves on its own are required.
Solution: classify then escalate
Hohpe & Woolf's Invalid Message Channel (2003) sets the base: dedicate a separate queue to invalid messages, with a human at the end. The exception flow pattern extends this in EDI:
- Classify each incident by axis (technical vs business), severity (warning, error, critical), and origin (internal, partner).
- Bind each class to a recipient and an escalation delay: EDI ops (1h), partner manager (4h), business (24h), management (48h).
- Define closing actions: manual retry, sender-side fix, partner escalation, documented abandonment.
- Measure MTTR (Mean Time To Resolution) per class, to calibrate over time.
Escalation matrix
| Incident | Severity | First recipient | Escalation delay | Expected action |
|---|---|---|---|---|
| IN syntax validation — failed | Error | Partner sender | 2h business | Sender-side fix, resend under new reference |
| CONTRL/997 received — action 7 (rejection) | Error | EDI ops | 2h business | Root-cause analysis, mapping or partner fix |
| ORDRSP/855 received — full business rejection | Error | Procurement | 4h business | Business call: resend or abandon the order |
| ORDRSP/855 received — partial rejection | Warning | Procurement | 8h business | Business validation of delta accepted vs sent |
| MDN/Receipt missing within partner SLA | Warning → Error if 2× SLA | EDI ops then partner manager | SLA + 30 min | Check partner state, retry, escalate if KO |
| Send in DLQ — max-attempts reached | Critical | EDI ops + partner manager | 1h | Manual triage, replay or documented abandonment |
| Partner certificate — expires in 30 days | Warning | Security | 5 business days | Request new certificate from partner |
| Partner certificate — expires in 7 days | Error | Security + EDI ops | 24h | Urgent escalation, plan the rollover |
| Received volume — ‑50% over 7 rolling days | Warning | Partner manager | 24h | Verify: partner outage, end of season, commercial loss? |
| Partner circuit breaker — Open > 30 min | Critical | EDI ops + partner | Immediate | Diagnosis, customer comms if required |
SLA and per-partner thresholds
The matrix above is a generic default. In practice each partner has a profile:
- Walmart expects a 997 within 1 hour on every 856 ASN and imposes penalties on late 997s. The threshold must tighten on this flow.
- Automotive OEM on OFTP2, DELJIT files are critical — a missing EERP impacts a JIT line. Alert threshold is in minutes, not hours.
- PEPPOL eDelivery, the Access Point must acknowledge within 5 minutes by network rule. Beyond that, AS4 reception awareness triggers retries.
The matrix × partner profile coupling lives in a config file (YAML or a DB table) parameterising thresholds, recipients and delays — versioned and auditable like code.
Operations console — the other half of the pattern
The matrix is worthless without an operations UI. A good EDI console offers:
- Sorted view by severity and escalation delay. Criticals on top, Warnings below.
- Drill-down on a send. See the three ACK levels (cf. the Acknowledgements pattern), retry history, payload content (with access control).
- One-click actions. Replay, mark abandoned with reason, manually escalate to a different recipient.
- Persistent annotations. Each incident carries an audit-logged comment thread — who did what when, for audits.
- Export to ticketing. A Critical must generate a Jira/ServiceNow ticket without copy-paste.
Anti-patterns
- A single "Error" class. Everything is Error, no one can prioritise. Eventually everything is ignored.
- Email to
edi-ops@…. A shared mailbox with no structure. No SLA, no tracking, no review. - No automatic closure. A partner that recovers does not trigger closure of open alerts — operators chase already-resolved incidents.
- No per-partner thresholds. The generic threshold hides real incidents on critical flows and creates noise on secondary ones.
- Alert = escalation. Conflating an ops alert with a management escalation. An ops alert is a queue signal, not a major incident — the matrix must distinguish.
Related patterns
- Acknowledgements — the source of "missing ACK" and "negative ACK" incidents.
- Retry & backoff — the DLQ is the main entry point of the exception flow.
- Idempotency — a manual replay from the console needs the same key.
- Canonical model — canonical invalidation is one of the incident types to classify.
Sources
- Hohpe G., Woolf B. — Enterprise Integration Patterns, Invalid Message Channel, Dead Letter Channel, Detour. enterpriseintegrationpatterns.com — Invalid Message Channel
- Google SRE Book, chapter Monitoring Distributed Systems. The Symptoms vs Causes distinction and the Four Golden Signals, transposable to EDI flows. sre.google/sre-book/monitoring-distributed-systems
- Walmart Supplier Center — 997 Penalties. Public reference for the partner SLA: ACK within 1h or penalty. supplier.walmart.com/edi
- OpenPEPPOL — Reception Awareness. Network-wide mechanism for detecting missing MDNs in AS4.