Free EDI Spec Builder for SEF & OpenEDI
Create custom EDI specs for your trading partners. Select a custom spec on the left or import an OpenEDI or SEF file, change it in the Structure tab, and select Update. To start from a standard spec, open it in the EDI Spec Library and select Customize in Spec Builder.
The spec definitions in the EDI Spec Builder and the EDI Spec Library, including their OpenEDI, C# and ediFabric Native files, are part of ediFabric and are copyright EDI Fabric Limited, like the rest of the product. Their use is subject to the ediFabric license agreement.
Select a custom spec on the left, or import one.
Import an OpenEDI JSON or SEF file, try one of the samples, or copy a standard spec from the EDI Spec Library.
Changes since you opened the spec
Generate classes in Python, Java, Node.js, Go, Rust or C
ediFabric Native returns each transaction as JSON, with the property names of your OpenEDI spec. To work with that JSON as typed objects, download the OpenEDI JSON, generate classes from it in your language, and deserialize the JSON into the message class. Serialize the objects back to JSON to build EDI with ediFabric Native. The classes keep the loops, segments, lengths and code lists, but not the EDI data formats, so validate files with ediFabric Native. Read more in Generate a class from OpenEDI.
Python: datamodel-code-generator. Node.js: openapi-typescript. Java, Go, Rust and C: OpenAPI Generator.
Build custom EDI specs and partner-specific formats
Trading partners often change the standard: a segment becomes mandatory, a code list gets shorter, a loop repeats fewer times. The EDI Spec Builder lets you create custom EDI specs, copy standard ones under your own name, and import SEF files. Every spec is stored as OpenEDI JSON and can be used straight away to parse and validate EDI files in EdiNation, ediFabric Native and ediFabric Cloud.
- Copy a standard spec from the EDI Spec Library with Customize in Spec Builder, under a new name. The standard spec doesn't change.
- Import OpenEDI JSON or SEF files (Standard Exchange Format), which are converted to OpenEDI.
- Edit your custom specs in the Structure tab or the OpenEDI JSON tab: add, delete, move or copy loops, any order groups, segments, composites and data elements, and change element formats, for example from a code list to AN. Then update or delete them.
- Download them as OpenEDI, as an ediFabric .NET C# template, or as an ediFabric Native model.
- Copy the model name and use it to parse and validate files against your spec.
How to create a partner-specific EDI spec
For example, suppose a partner requires the CUR segment at the top level of the X12 4010 850 purchase order, where the standard makes it optional.
- Copy the standard spec. In the X12 004010 transactions, open 850 and select Customize in Spec Builder.
- Name it. Enter a new name, for example
acme_x12_850, and select Create and edit. The copy opens in the Structure tab. - Change it. Select the CUR segment, set Usage to Mandatory, and select Apply change.
- Save it. Select Update. The model is ready to use straight away.
You can also download a spec as OpenEDI JSON, rename the file, and import it with the Import button; the file name becomes the model name.
Model naming rules
Model names must be unique. Start with a letter, then use letters, numbers, dots and underscores. Names starting with "EdiNation" or "EdiFabric" are reserved for the standard specs. Prefix the name with your company or project, for example acme_x12_850, so it doesn't clash with other users' models.
Import a SEF file
Select Import and choose a file with the .sef extension. The spec is converted to OpenEDI and shown like any other model. Read how to migrate from SEF to OpenEDI for the SEF features that are supported.
Use your custom spec
Custom specs are not applied automatically. Select Copy name, then paste the name in the custom model box next to the Parse button in the EdiNation X12 Local Editor or X12 JSON Converter. Every file you parse or validate will then use your spec.
ediFabric Native and ediFabric Cloud use the same OpenEDI models, so you can validate partner files in your own application against the spec you built here. Read about the OpenEDI format and using custom EDI models in ediFabric.