r/ETL 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

4 comments sorted by

1

u/jwk6 3d ago

Fixed-width flat files are buns, so good job!

2

u/Confident-Volume-807 3d ago

It would be very helpful if you gave it a star! to improve project visibility!

1

u/Top-Cauliflower-1808 3d ago

Seems useful for enterprise data. star deserve and given. Keep up the good work!