Skip to main content

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 SetDescription
210Motor Carrier Freight Details and Invoice
214Shipment Status Message - Transportation carrier shipment tracking updates
300Reservation Booking Request
410Rail Carrier Freight Details and Invoice
990Response to Load Tender - Accept or decline a load tender (204)
997Functional Acknowledgment - Confirms receipt and validation of an EDI transmission
Growing Format Support

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:

  1. Generates unique ISA, GS, and ST control numbers per trading partner
  2. Emits tracking events to the monitoring system
  3. Archives EDI payloads for compliance retention
  4. 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:

  1. The original transaction's acknowledgment status is updated
  2. Error details from AK5 segments are parsed and stored
  3. 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 TypeSeverityDescription
ACK_REJECTEDERRORA 997/999 acknowledgment rejected the outbound transaction
ACK_TIMEOUTWARNINGExpected acknowledgment was not received within the configured timeout
TRANSMISSION_FAILEDCRITICALEDI document failed to transmit to the trading partner
BUSINESS_REJECTEDERRORA business response (e.g., 990) declined the originating request
BUSINESS_ACCEPTEDINFOA 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_ack setting is enabled and the ack_timeout_minutes value 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:

CodeValueMeaning
AK501AAccepted
AK501EAccepted But Errors Were Noted
AK501RRejected
AK5021-6Functional Group Error (Not Supported, Version Error, Trailer Missing, etc.)
AK5031-7Transaction Set Error (Not Supported, Trailer Missing, Control Number Mismatch, etc.)