Home / 

Prepare for your first EDI integration on Stedi

Learn EDI integration basics, including what to prepare before configuring your first integration on Stedi.

What is an EDI integration?

An EDI integration handles everything required to reliably exchange business data with your trading partners. A typical EDI integration has the following components.

  • Transmit data: You will exchange data with trading partners. Typically, you do this through secure SFTP or AS2 connections.
  • Translate data: EDI is likely incompatible with your internal business systems. You need to translate business data to and from EDI into a format like JSON or CSV.
  • Validate data: You and your partners likely have EDI implementation guides that define the requirements for each transaction set. An EDI integration should be able to validate incoming and outgoing data to ensure it matches these partner-specific requirements.
  • Transform data schemas: Incoming data may not match the schema you need for internal systems. For example, a partner may format addresses with the city and country in a single field, while your system requires them to be separate fields. Your EDI integration should be able to transform data into and out of custom schemas.
  • Connect data to your internal or third-party systems: EDI solutions must integrate with your internal systems and tools. For example, you may need to send processed data to multiple internal systems or forward errors to internal alerting systems.
  • Monitor data flow: You need to be able to view incoming and outgoing data to quickly identify and diagnose issues. Real-time visibility also lets you derive business insights from your EDI. For example, you may want to understand how long it typically takes from receiving a purchase order to when an order leaves the warehouse.

Preparing for EDI integrations

Before configuring a new EDI integration, gather the following information.

Transaction sets, EDI specifications, and sample files
List the types of transactions you need to send and receive, such as Purchase Orders, Invoices, or Ship Notices. Then, contact your trading partner to get the EDI specifications and sample files for each transaction set. For each type of transaction, determine whether 997 Functional Acknowledgments are required. This process can be confusing. If you're new to EDI, we can help you decipher partner specifications and requirements. We also recommend reviewing the following resources:
  • Our EDI Guide Catalog has interactive implementation guides for popular trading partners. You can import any public guide into your Stedi account for free and use it for your integration.
  • Our EDI Essentials documentation contains a primer on EDI specification structure and data types.
Internal data schemas

Create an up-to-date description of your internal data model. Many integrations require transforming JSON into a custom shape for internal or third-party systems to ingest. For example, you may need to map two separate address fields in an incoming Purchase Order to a single field for your internal APIs. To generate EDI, you may need to first transform data from your internal system into an EDI-like JSON.

Data exchange protocols

Know which protocol you will use to exchange data with trading partners. Most partners prefer to use either SFTP or AS2. You can set up SFTP and AS2 connections through Stedi.

Building an integration on Stedi

After you gather the requirements, you can begin building your integration. On Stedi, this involves two primary steps: configuring your partnership settings in Stedi Core and then using Stedi Functions to complete the end-to-end integration.

Configure partnerships in Core

Stedi Core is bi-directional, translating inbound EDI to JSON and generating outbound EDI from JSON. Core allows you to configure any EDI relationship with your trading partners and provides complete visibility into your transactions.

Configuring Core requires providing details about your trading partners and the EDI transaction sets you plan to exchange with them:

  • Profiles: Represents trading entities, each with a unique ISA identity (ISA qualifier + ISA identifier) for you or your trading partner. Core uses profile information to fill the sender and receiver information for each EDI document.
  • Partnerships: A unique pair of profiles that establishes a relationship between you (local profile) and a trading partner (remote profile). Partnerships describe aspects of the EDI relationship between the two participating profiles, including:
    • Transaction Settings: The EDI transaction sets you intend to exchange within a partnership and how you want Stedi to process them. Using a Stedi guide, you can customize translation for each transaction. Stedi automatically uses its baseline X12 specification to ingest EDI documents if you don't specify a guide.
    • Control Numbers: Control numbers uniquely identify the Interchanges and Groups included in an EDI document sent from the local profile within the partnership.
    • Connections: If you don’t already have a secure way to exchange data with your trading partners, we recommend using Stedi SFTP or Stedi AS2.

Complete your integration with Functions

After you configure Core, you need to connect your integration to your internal or third-party systems.

Core emits events as it receives, validates, translates, and generates data. For example, Stedi emits an event when it receives a new file or successfully processes a transaction set. You can use Stedi Functions to run custom code in response to Core events and send data to external endpoints. For example, you may want to automatically forward inbound EDI files to an API, an ERP system, or a data store. You can also use the following features with functions to help you further customize and extend your EDI integration:
  • Mappings: Stedi Mappings lets you transform the JSON output from Stedi Core into an internal shape or transform internal data into the JSON shapes required to generate EDI.
  • Buckets: Stedi Buckets provides unlimited file storage.
  • Stash: Stedi Stash is a key-value store. You can use Stash to configure where you want to send data and even manage data feeds, like inventory or price catalogs.

Testing your integration

Before your go-live date, we recommend that you test your integration using the following guidance.

  • Observability and Monitoring: Integrate with third-party logging and monitoring systems, test your ability to read and write from Stedi buckets, and test possible failure cases.
  • Partner Connectivity: Share AS2 or STFP credentials with your trading partners, and validate connectivity with test files.
  • Internal Connectivity: Test the data flow from Stedi to your internal systems (inbound EDI flow) and from your internal systems to Stedi (outbound EDI flow).
  • End-to-End Tests: Starting from your business data, generate and send test files to your trading partner. Ingest test files from your trading partner and verify the incoming data into your system matches the expected values.

Get started

Each EDI implementation is different. Contact customer engineering for hands-on support designing your first integration. Our team has decades of EDI experience and can help you decipher your partner’s requirements, configure Core, implement custom functionality for your use case, and more.
Learn more about configuring Stedi Core.
What is an EDI integration?Preparing for EDI integrationsBuilding an integration on StediTesting your integrationGet started


Have an idea for something we could improve? Page not clear? We love feedback - send us a message.


Build EDI integrations fast, without being an EDI expert

Start building
  1. Twitter
  2. GitHub
Backed by
AdditionBloomberg BetaFirst RoundStripeUSV
Customer AgreementService TermsPrivacy Notice

Stedi is a registered trademark of Stedi, Inc. All names, logos, and brands of third parties listed on our site are trademarks of their respective owners (including “X12”, which is a trademark of X12 Incorporated). Stedi, Inc. and its products and services are not endorsed by, sponsored by, or affiliated with these third parties. Our use of these names, logos, and brands is for identification purposes only, and does not imply any such endorsement, sponsorship, or affiliation.