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.

Custom spec

Select a loop, segment or element to edit it.

Changes since you opened the spec

    The spec as an OpenAPI 3 schema with x-openedi-* extensions. Edit it here or in the Structure tab, then select Update. Generate classes
    The ediFabric .NET template, generated from the saved OpenEDI JSON.
    The intermediary model ediFabric Native loads with set_map.

    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.

    1. Copy the standard spec. In the X12 004010 transactions, open 850 and select Customize in Spec Builder.
    2. Name it. Enter a new name, for example acme_x12_850, and select Create and edit. The copy opens in the Structure tab.
    3. Change it. Select the CUR segment, set Usage to Mandatory, and select Apply change.
    4. 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.

    Frequently asked questions

    The free key, unless you add your own. Select API key in the menu and paste the serial key from your ediFabric account. The key is saved in a cookie shared by edifabric.com and EdiNation, so you add it once for both.

    If you added your own key, specs are saved to your subscription. Otherwise they are saved to the public free subscription, where other users can see them. Don't put confidential information in a spec unless you use your own key.

    No. Customize in Spec Builder makes a separate copy under a new name. The standard specs in the EDI Spec Library can't be edited.

    All specs are in OpenEDI, an open format for EDI specifications based on the schema object in OpenAPI 3. It is open source under the MIT license. The ediFabric .NET and ediFabric Native tabs are generated from it.

    The name is probably already in use, or starts with EdiNation or EdiFabric, which are reserved for the standard specs. Choose a name that isn't in the list of custom specs, or delete the existing spec if it is yours, and upload it again.

    Select the spec in the list and select Delete, next to Update above the structure. It is removed from the subscription and can no longer be used.