A free EDI input plugin for Apache Hop, developed by BerryWorks Software. It reads X12 and EDIFACT messages and emits rows that Hop pipelines can process. Model-based loop detection uses BerryWorks YAML EdiModels.
Version 0.1.0 is a preview release. This repository contains public release information and downloads; the development source is maintained separately.
- Apache Hop 2.19.0
- Java 21 or later
The preview is available through the BerryWorks EDI repository. Import it once to make the plugin appear in your Hop Marketplace; it is not included in Hop's default catalog. This workflow was verified with Hop 2.19.0 and release 0.1.0.
-
Open Tools → Marketplace and select the Repositories tab.
-
Click Import from URL… and paste:
https://raw.githubusercontent.com/BerryWorksSoftware/hop-edi/main/hop-marketplace-repo.yaml -
Review the import preview: repository BerryWorks EDI, a GitHub release download template, a catalog URL under this repository, and one plugin. Confirm the import. Apache Repository can remain primary.
-
Select Plugins, click Refresh, and search for
BerryWorks. -
Select BerryWorks EDI Input, version 0.1.0, and click Install.
-
After Hop confirms installation, close Marketplace and restart Hop.
-
In a pipeline, find EDI Input under BerryWorks EDI and configure it as described below.
If the status is Present on disk, Hop has found a manually installed copy.
To test a fresh Marketplace installation, stop Hop, remove the installed
plugins/transforms/hop-edi-plugin/ folder, restart Hop, and follow the install
steps above. Also remove the legacy plugins/transforms/hop-transform-sample/
folder if present. These are folders in the Hop installation.
Download hop-edi-plugin-0.1.0.zip and its SHA-256 checksum from the
0.1.0 preview release.
- Stop the Hop GUI and any other Hop processes using the installation.
- If upgrading, remove
plugins/transforms/hop-edi-plugin/from the Hop installation. Also remove the legacyplugins/transforms/hop-transform-sample/folder if present. Do not retain old plugin or framework JARs. - Extract the ZIP into the Hop installation root, the folder containing
hop-gui.shorhop-gui.batand thepluginsdirectory. - Restart Hop. In a pipeline, find EDI Input under BerryWorks EDI.
Both installation methods install the plugin JAR at
plugins/transforms/hop-edi-plugin/hop-edi-plugin.jar and the models in its
models subfolder.
Set EDI filename to your input file and Models directory to the absolute path of the bundled models folder in your Hop installation:
plugins/transforms/hop-edi-plugin/models/
The preview includes these models:
| Standard | Message | Version | Model file |
|---|---|---|---|
| X12 | 850 Purchase Order | 004010 | 850-004010.yaml |
| EDIFACT | ORDERS Purchase Order | D96A | ORDERS-D96A.yaml |
Alternatively, copy the YAML files into your project's edi-models directory;
the transform's default Models directory is ${PROJECT_HOME}/edi-models.
Use only one model for each message type and version in the selected folder.
A matching model is required for model-based loop detection. Example pipelines
and EDI input files are not bundled.
Try the X12 purchase order Quick Start: turn a sample 850 into line-detail and order-summary CSVs, calculate its merchandise value, and flag a high-value order for review.
HL7 development and the admission Quick Start now have a separate home in the BerryWorks HL7 plugin repository. The EDI plugin's 0.1.0 preview does not support HL7.
The transform emits ENVELOPE, SEGMENT, LOOP_START, LOOP_END, and COMPOSITE
rows. Composite rows identify their owning row using parent_sequence_number
and element_position.
Recoverable parser errors are logged and parsing continues; fatal errors fail the transform. This preview performs parsing, not full EDI compliance validation. Trailer values are reconstructed.
Repeated elements, which appear on rare occasions with later X12 releases, are not supported in this preview. TRADACOMS is not included in this preview. HL7 is being developed as a separate plugin.
The distribution contains the Hop integration plugin, the unchanged public BerryWorks EDIReader parser, a reduced and obfuscated proprietary BerryWorks EDI Framework runtime, SnakeYAML, ESD resources, and the two YAML models.
The Hop-derived plugin code is covered by Apache License 2.0. EDIReader and
third-party components retain their own licenses. The proprietary framework is
licensed for use with this Hop plugin; its bundled terms prohibit redistribution.
See NOTICE.txt and the licenses directory inside the installed plugin for
component notices and license terms.
Report preview issues through this repository's issue tracker. Include your Hop and Java versions, the error message, and a small reproducible example with sensitive information removed.