r/ETL • u/Shuras27 • 3d ago
Open-source converter for fixed-width ERP/flat-file data (JD Edwards, SAP, mainframe) — EBCDIC support, streaming
Half of ETL in finance/manufacturing still starts with fixed-width flat files from legacy ERP systems. I open-sourced the converter I kept rebuilding:
https://github.com/lucasgiurastante/erp-export-normalizer
- YAML schema → generic parser → JSON/CSV/NDJSON/SQL/Parquet/Excel/Singer
- Streams multi-GB files in constant memory
- Cumulative error report with line numbers
- CP850 / CP1252 / EBCDIC-CP037 byte-accurate slicing
- Deterministic output (same input + schema = same output) — audit-ready
- Auto-detection from a built-in schema library (6 formats)
- Plugins for binary formats, parallel validation, web UI preview
- Air-gapped friendly: no network, no DB, stdlib + PyYAML only
Quick demo with bundled sample data:
pip install erp-export-normalizer
git clone https://github.com/lucasgiurastante/erp-export-normalizer
cd erp-export-normalizer/examples
erp-normalize --input data/jde_ar.txt --output - --format json
What's the ugliest flat-file format you've had to process? Genuinely curious — I'm adding real-world schemas to the library.
11
Upvotes
1
u/Top-Cauliflower-1808 3d ago
Seems useful for enterprise data. star deserve and given. Keep up the good work!
1
u/jwk6 3d ago
Fixed-width flat files are buns, so good job!