EDI
The EDI node enables you to work with Electronic Data Interchange (EDI) messages directly within your Splice workflows. It supports parsing, creation, and format conversion for both X12 and EDIFACT standards, along with built-in transaction monitoring, control number management, and acknowledgment tracking — giving you the capabilities of a traditional VAN system inside your workflow automation platform.
Overview
The EDI node is essential when you need to:
- Parse inbound EDI messages - Convert X12 or EDIFACT messages into structured data for processing in your workflows
- Create outbound EDI messages - Build properly formatted EDI documents from workflow data for transmission to trading partners
- Convert between formats - Transform between EDI and other representations in either direction
- Track EDI transactions - Monitor the full lifecycle of EDI messages from creation through acknowledgment
- Manage control numbers - Automatically generate unique, sequential control numbers per trading partner
- Handle acknowledgments - Correlate 997/999 functional acknowledgments back to their originating transactions
Configuration
Action
Select the operation to perform:
- Read Message - Parse an inbound EDI message (X12 or EDIFACT) for use in your workflow
- Create Message - Build a new outbound EDI message from workflow data for a specific transaction set
Input File
Specify the source EDI file or data to process:
- File reference - Path to a file stored in the workflow's temporary storage
- Raw content - Pass EDI or content directly from a previous workflow step
Transaction Set (Create Message only)
When creating a new EDI message, select the transaction set type:
| Transaction Set | Description |
|---|---|
| 210 | Motor Carrier Freight Details and Invoice |
| 214 | Shipment Status Message - Transportation carrier shipment tracking updates |
| 300 | Reservation Booking Request |
| 410 | Rail Carrier Freight Details and Invoice |
| 990 | Response to Load Tender - Accept or decline a load tender (204) |
| 997 | Functional Acknowledgment - Confirms receipt and validation of an EDI transmission |
We are continuously expanding our supported message formats. If you need a transaction set not listed above, reach out to our team and we'll work with you to add it.
Trading Partner
Associate the EDI transaction with a configured trading partner. This enables:
- Automatic control number generation scoped to the partner relationship
- Transaction monitoring and lifecycle tracking
- Acknowledgment correlation
- Business document correlation (e.g., linking a 990 response to a 204 tender)
EDI Monitoring
When EDI monitoring is enabled for your tenant, the node automatically:
- Generates unique ISA, GS, and ST control numbers per trading partner
- Emits tracking events to the monitoring system
- Archives EDI payloads for compliance retention
- Sets acknowledgment expectations based on partner configuration
Example Usage & Common Use Cases
Inbound Carrier Tracking Updates
Receive and process inbound 214 shipment status messages from carriers:
Action: Read Message
Input: {{data.ediFile}}
Trading Partner: {{data.partnerId}}
Output: Parsed shipment status with tracking details, status codes, and reference numbers
Outbound Shipment Status
Build and send a 214 shipment status update to a trading partner:
Action: Create Message
Transaction Set: 214
Trading Partner: {{data.partnerId}}
Shipment ID: {{data.shipmentId}}
SCAC: {{data.scacCode}}
Status Code: D1
Reference (BOL): {{data.bolNumber}}
Output: Formatted X12 214 message ready for transmission
Functional Acknowledgment
Acknowledge receipt of an inbound EDI transmission:
Action: Create Message
Transaction Set: 997
Trading Partner: {{data.partnerId}}
Referenced ISA Control: {{data.isaControlNumber}}
Referenced GS Control: {{data.gsControlNumber}}
Acknowledgment Status: A
Output: 997 acknowledgment message confirming accepted transaction
Freight Invoice Processing
Parse inbound 210 freight invoices for automated AP processing:
Action: Read Message
Input: {{data.ediFile}}
Trading Partner: {{data.partnerId}}
Output: Structured invoice data with charges, references, and shipment details
Load Tender Response
Respond to a 204 load tender request with acceptance or declination:
Action: Create Message
Transaction Set: 990
Trading Partner: {{data.partnerId}}
Tender Reference: {{data.loadNumber}}
Response Status: Accept
Output: 990 response message linked to the originating 204 tender
International Partner Integration
Process EDIFACT messages from international trading partners:
Action: Read Message
Input: {{data.edifactFile}}
Output: Parsed EDIFACT content structured for workflow processing
EDI Monitoring & Transaction Tracking
Transaction Lifecycle
Whith Splice EDI monitoring, every EDI transaction is tracked through its full lifecycle:
Outbound messages:
CREATED → TRANSMITTED → DELIVERED → COMPLETED
↘ FAILED
Acknowledgment tracking:
NOT_EXPECTED (no 997 expected)
PENDING → ACCEPTED
→ ACCEPTED_WITH_ERRORS
→ REJECTED
→ TIMEOUT
Control Number Management
The EDI node automatically manages control numbers per trading partner relationship:
- ISA Control Numbers - 9-digit interchange control numbers (000000001–999999999)
- GS Control Numbers - 6-digit functional group control numbers
- ST Control Numbers - 4-digit transaction set control numbers
Control numbers are atomically incremented and automatically roll over when they reach their maximum value. This ensures uniqueness as required by the EDI specification and prevents the duplicate control number rejections that occur with timestamp-based approaches.
Business Document Correlation
The monitoring system automatically links related business documents:
- 204 → 990: Load tender requests are correlated with their accept/decline responses
- 204 → 824: Application advice documents are linked to their originating transactions
- Correlation uses business references extracted from B2, B2A, and N9 segments
Acknowledgment Correlation
Inbound 997/999 functional acknowledgments are automatically matched to their originating outbound transactions using ISA control numbers. When an acknowledgment is received:
- The original transaction's acknowledgment status is updated
- Error details from AK5 segments are parsed and stored
- Alerts are generated for rejections or timeouts
Alert Workflows
EDI monitoring events can trigger Splice workflows, enabling automated exception handling. Configure an EDI Alert Trigger node to respond to:
| Alert Type | Severity | Description |
|---|---|---|
| ACK_REJECTED | ERROR | A 997/999 acknowledgment rejected the outbound transaction |
| ACK_TIMEOUT | WARNING | Expected acknowledgment was not received within the configured timeout |
| TRANSMISSION_FAILED | CRITICAL | EDI document failed to transmit to the trading partner |
| BUSINESS_REJECTED | ERROR | A business response (e.g., 990) declined the originating request |
| BUSINESS_ACCEPTED | INFO | A business response accepted the originating request |
Example Alert Workflow
[EDI Alert Trigger: ACK_REJECTED] → [If: Severity = ERROR] → [Send Email: Notify Operations] → [HTTP Request: Create Jira Ticket]
Alert trigger configuration supports filtering by:
- Trading partner - All partners or a specific partner
- Alert types - Select which alert conditions to respond to
- Transaction types - Filter by EDI transaction set (214, 204, etc.)
- Minimum severity - INFO, WARNING, ERROR, or CRITICAL
- Business references - Filter by SCAC code or other business fields
Best Practices
Message Creation
- Use trading partner configuration - Always associate messages with a configured trading partner to enable control number management and monitoring
- Validate parameters - Use an If node or Code node to validate required fields before creating EDI messages
- Handle all transaction sets - When processing inbound EDI, account for batched interchanges that may contain multiple transaction sets
Control Numbers & Compliance
- Enable monitoring for production - Control number management prevents duplicate rejections that occur with timestamp-based approaches at scale
- Configure acknowledgment timeouts - Set appropriate timeout windows per trading partner based on their typical response times
- Leverage archive storage - EDI payloads are automatically archived in storage for an extended retention period
Error Handling
- Set up alert workflows - Create workflows triggered by EDI alerts to automatically handle rejections, timeouts, and transmission failures
- Monitor alert metrics - Watch alarms for alert processing or workflow invocation failures
- Use the If node for status checks - After parsing, check acknowledgment status codes to branch your workflow logic
Performance
- One transaction per interchange - Outbound messages use one ST/SE transaction set per interchange for simpler operations and atomic messaging
- Inbound batch handling - The parser handles batched inbound interchanges and creates individual tracking records per ST/SE segment
Common Patterns
Inbound EDI Processing
Receive, parse, track, and process inbound EDI messages:
[AS2/FTP Receive] → [EDI: X12 to JSON] → [If: Transaction Type] → [Business Logic] → [EDI: Create 997] → [AS2/FTP Send]
Outbound EDI Generation
Build and transmit EDI messages with full tracking:
[Webhook Trigger] → [Code: Map Data] → [EDI: Create 214] → [FTP Send]
Acknowledgment Loop
Automatically acknowledge inbound transactions:
[EDI: Parse Inbound] → [Code: Validate Content] → [EDI: Create 997 (Accept/Reject)] → [AS2 Send]
Exception Handling
Respond to EDI failures with automated workflows:
[EDI Alert: ACK_TIMEOUT] → [HTTP Request: Check Partner Status] → [If: Partner Down] → [Send Email: Escalate] / [EDI: Retransmit]
Troubleshooting
Common Issues
- Parse failures - Verify that the input file contains valid X12 or EDIFACT formatting. Use the Code node to inspect raw file contents if needed
- Missing acknowledgments - Check that the trading partner's
expects_functional_acksetting is enabled and theack_timeout_minutesvalue is appropriate - Correlation failures - Business correlation requires matching reference numbers in B2/B2A/N9 segments. Verify that both the outbound and inbound transactions contain consistent reference values
Debugging Tips
- Check parsed output - After an X12 conversion, inspect the full output to verify all segments were correctly parsed
- Review monitoring events - Check the EDI transaction list in the monitoring UI to see the lifecycle status of each transaction
- Test with known-good files - Use sample EDI files to verify your workflow configuration before connecting to live trading partner feeds
Error Codes Reference
When processing 997/999 functional acknowledgments, the following AK5 status codes indicate the acknowledgment result:
| Code | Value | Meaning |
|---|---|---|
| AK501 | A | Accepted |
| AK501 | E | Accepted But Errors Were Noted |
| AK501 | R | Rejected |
| AK502 | 1-6 | Functional Group Error (Not Supported, Version Error, Trailer Missing, etc.) |
| AK503 | 1-7 | Transaction Set Error (Not Supported, Trailer Missing, Control Number Mismatch, etc.) |