edifact-mapper
Bidirectional EDIFACT to BO4E conversion for the German energy market.
Installation
Data Setup
The mapping engine requires pre-built data bundles. Download them with the CLI:
# Fetch a specific format version
# Or all available versions
# List locally available bundles
Data is stored in ~/.edifact/data/ by default. Override with $EDIFACT_DATA_DIR.
Usage
High-Level API
use ;
let mapper = from_data_dir.unwrap;
// Get a conversion service for tree assembly
let service = mapper.conversion_service.unwrap;
// Get a mapping engine for a specific PID
let engine = mapper.engine.unwrap;
Mid-Level Access
use ;
let mapper = from_data_dir.unwrap;
let service = mapper.conversion_service.unwrap;
let tree = service.convert_to_assembled_tree.unwrap;
Standalone Parser
If you only need EDIFACT parsing without BO4E mapping:
use EdifactStreamParser;
Environment Variables
| Variable | Default | Description |
|---|---|---|
EDIFACT_DATA_DIR |
~/.edifact/data/ |
Data bundle directory |
GITHUB_TOKEN |
— | GitHub token for private repo access (or use --token) |
Supported Message Types
UTILMD (Strom/Gas), MSCONS, ORDERS, ORDRSP, REMADV, COMDIS, ORDCHG, PRICAT, IFTSTA, UTILTS, INVOIC, INSRPT, PARTIN, APERAK, CONTRL
Format Versions
FV2504, FV2510, FV2604
License
MIT