Home / 


Stedi Core is the starting point to build an end-to-end EDI integration on Stedi.

Core is bi-directional, translating inbound EDI to JSON and generating outbound EDI from JSON—for any of the 300+ transaction sets across every X12 version release. Core allows you to configure any EDI relationship with your trading partners and provides complete visibility into your transactions.

During operations, Core emits rich events that you can consume to build your business integrations. Core accepts data in other formats, including CSV, JSON, and XML, so you can drive integrations from a central hub.

Use cases

Core addresses the following EDI use cases:

  • Monitor and analyze EDI transactions: View transaction activity across all your partnerships. Inspect raw EDI files to troubleshoot issues. Use a business identifier, like a PO number, to locate specific transactions and find related transactions.
  • Build an end-to-end EDI system: Configure Core to send and receive EDI data with any trading partner. Then, integrate Stedi with your systems and applications to create an end-to-end EDI flow.

Enable Core

Core has a monthly fee plus usage-based pricing for processed data.

To enable Core:

  1. Go to your Stedi account and select Core in the Products menu.
  2. Click Enable Core.

How Core Works

Core allows you to configure every aspect of your EDI integrations, including trading partner identity details, what transaction sets you want to exchange, and how you want to send and receive business data. Once configured, Core automatically detects new EDI files and converts them into validated JSON payloads.

Core emits a rich set of events that you can use to route data and events to your business systems. You can use Core’s Generate API to build and deliver complex EDI documents to your trading partners.


You can configure the following settings within Core:

  • 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 identify the sender and receiver 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. Core automatically uses its baseline X12 specification to ingest EDI documents if you don't specify a guide.
    • Connections: Define how you want to send and receive EDI documents, with native support for SFTP.
    • Control Numbers: Control numbers uniquely identify the Interchanges and Functional Groups included in an EDI document sent from the local profile within the partnership.
Visit Profiles and partnerships for complete details.

Inbound processing flow

When Core detects a new EDI file in a configured connection, it automatically performs the following actions:

  1. Confirms that the information in the transaction set ISA headers matches the connection's partnership definition. If not, Stedi displays an error, and you can retry after creating the required configuration.
  2. Identifies all available transaction sets in the file and retrieves the associated guides, if specified in the partnership definition.
  3. Validates the incoming files either against the specified guide or the generic X12 base specification for the transaction set.
  4. Translates the EDI into EDI-like JSON that follows the schema of the transaction set.
  5. Persists a copy of the original EDI and the EDI-like JSON within its archive.
  6. Displays the transaction set data in the UI for inspection.
  7. Emits several events: one file.processed for the file, one functional_group.processed for each functional group, and one transaction.processed for each transaction set found within the file. Visit Events for details.
Core can also handle non-EDI formats like CSV, JSON, and XML. When a non-EDI file arrives, Core skips most of the EDI processing steps. Instead, Stedi displays the file in the UI and emits only a file.processed event that contains a summary of the data type.

Outbound processing flow

When you use Core's Generate API or SDK to write EDI files, Core performs the following actions:

  1. Determines whether the information in the JSON payload matches existing profiles and whether those profiles have a partnership defined. If not, Stedi displays an error, and you can retry after creating the required configuration.
  2. Translates the JSON into an EDI document, according to the transaction settings defined in the associated partnership.
  3. Persists a copy of the JSON payload and resulting EDI file in its archive.
  4. Loads the associated connection configuration.
  5. Delivers the EDI file to the destination specified in the connection configuration.
  6. Displays the transaction set data in the UI for inspection after successful delivery.
  7. Emits multiple events: one file.processed for the file, one functional_group.processed for each functional group, and one transaction.processed for each transaction set found within the file. Visit Events for details.
Refer to Generating EDI for details about writing EDI with Core. To learn more about how Core handles delivery failures, visit Failures and retries.

How Core handles invalid data

Stedi only marks an incoming file as successfully processed when all the individual transaction sets within the file are valid against either the base X12 specification or the guide (if specified). If one transaction set is invalid, Stedi flags the entire file as failed.

For example, if a file contained 100 transactions and 1 was invalid, Stedi would not process the 99 valid transaction sets until the single validation issue was addressed.

Visit Failures and retries for details.

Integrating with external systems

Stedi emits events throughout processing. After you configure Core, you can use these events to automate an end-to-end EDI integration. Visit Consuming events with Stedi functions for details.

Ingesting data from existing EDI systems

You can configure Core to allow bulk ingestion of the EDI documents flowing into and out of another EDI platform. This can allow you to gain additional operational insights into your existing EDI system and use Stedi Guides for validation.

To get started, replicate your EDI data flow from the existing system to the Core ingest bucket. You can do this with the Stedi Buckets SDK or a single SFTP user configuration. Once configured, Core begins detecting and processing all incoming documents in real time.

As data arrives, you can build up profiles and partnerships to facilitate processing, allowing you to quickly build the required configuration for your production data flow and start to leverage other Stedi features.

Use casesEnable CoreHow Core Works


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.