EDICOM services, interfaces, formats, API specifications, and connectivity.
Last updated: 2026-03-01
| Attribute |
Value |
| Partner |
EDICOM |
| Role |
E-invoicing platform provider |
| Website |
https://edicomgroup.com |
| Contract Status |
In Progress |
| Primary Contact |
TBD |
| Technical Contact |
TBD |
| Service |
Description |
Status |
| E-invoice transmission |
Send invoices to customers/governments |
Pending |
| Format transformation |
Convert UCF to country-specific formats |
Pending |
| Government compliance |
Submit to tax authorities (MyInvois, Chorus Pro, Peppol) |
Pending |
| Clearance handling |
Malaysia MyInvois -- submit, receive ID+QR callback |
Pending |
| AP reception |
Receive supplier invoices, forward to middleware |
Pending |
| Archiving |
Legal archival (if required) |
TBD |
| # |
Interface |
Protocol |
Auth |
Direction |
Data Format |
| 1 |
AR submission |
REST API (HTTPS) |
Basic Auth (base64) |
Middleware -> EDICOM |
UCF JSON + embedded PDF (base64) |
| 2 |
Delivery callback |
Webhook (HTTPS) |
HMAC-SHA256 + IP whitelist |
EDICOM -> Middleware (via APIM) |
JSON {transactionId, status, deliveredAt} |
| 3 |
Clearance callback (MY) |
Webhook (HTTPS) |
HMAC-SHA256 + IP whitelist |
EDICOM -> Middleware (via APIM) |
JSON {governmentId, qrCode, validatedAt} |
| 4 |
AP inbound |
REST API (HTTPS) |
HMAC-SHA256 |
EDICOM -> Middleware (via APIM) |
UCF JSON + embedded PDF (base64) |
| 5 |
Clearance writeback |
REST API (HTTPS) |
Bearer token |
Middleware -> ERP |
JSON {governmentId, qrCode} |
| 6 |
AP to COR360/OpenText |
SFTP file drop |
SSH key (Key Vault) |
Middleware → AP tool |
JSON + PDF files |
| 6b |
AP to Basware |
Email (SMTP) |
Authenticated SMTP |
Middleware → Basware mailbox |
PDF + UCF as attachments |
| 7 |
AP to ERP direct |
REST API (HTTPS) |
Bearer token |
Middleware → ERP |
UCF JSON + PDF |
| 8 |
Supplier refresh |
TBD (see DEC-009) |
TBD |
External source -> Middleware |
Data set (nightly) |
Source of truth: Architecture Reference -- Architecture Rule #12 and DEC-008.
Intercompany routing is conditional — based on mandated_network and lta_required flags:
| Destination |
EDICOM? |
Reason |
| Belgium |
Yes |
Peppol network is legally mandated (mandated_network = YES) |
| France |
Yes |
PA platform is legally mandated (mandated_network = YES) + e-Reporting to PPF |
| Germany |
No (unless LTA) |
Network not mandated — middleware delivers directly |
| Malaysia |
Clearance only |
EDICOM for MyInvois clearance (Phase 1), then middleware delivers directly (Phase 2) |
See Country Rules for the full routing matrix.
All ERPs push invoices in the Universal Chart Format (UCF). EDICOM transforms UCF to the country-specific format.
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:chart:einvoice:ucf:1.0">
<Header>
<InvoiceNumber>INV-2026-001234</InvoiceNumber>
<InvoiceDate>2026-01-26</InvoiceDate>
<InvoiceType>380</InvoiceType> <!-- 380=Invoice, 381=Credit Note -->
<Currency>EUR</Currency>
<Country>DE</Country>
<TransportMethod>XRECHNUNG</TransportMethod> <!-- DE format routing -->
</Header>
<Seller>
<Name>Chart Industries Germany GmbH</Name>
<TaxId>DE123456789</TaxId>
<Address>...</Address>
</Seller>
<Buyer>
<Name>Customer Name</Name>
<TaxId>DE987654321</TaxId>
<PeppolId>0088:DE987654321</PeppolId> <!-- if Peppol registered -->
</Buyer>
<Lines>
<Line number="1">
<Description>Product A</Description>
<Quantity>10</Quantity>
<UnitPrice>100.00</UnitPrice>
<LineAmount>1000.00</LineAmount>
<VatRate>19.00</VatRate>
<VatAmount>190.00</VatAmount>
</Line>
</Lines>
<Totals>
<NetAmount>1000.00</NetAmount>
<VatAmount>190.00</VatAmount>
<GrossAmount>1190.00</GrossAmount>
</Totals>
<Pdf>
<Embedded>true</Embedded>
<Hash>sha256:abc123...</Hash>
<Content>base64-encoded-pdf...</Content>
</Pdf>
</Invoice>
EDICOM transforms UCF to country-specific output formats:
| Country |
Output Format |
Schema |
Network |
Notes |
| Malaysia |
MyInvois JSON/XML |
LHDN schema |
MyInvois API |
Phase 1: JSON only (no PDF). Phase 2: JSON + PDF |
| Germany |
XRechnung (CII or UBL 2.1) |
EN 16931 |
Peppol eDelivery (AS4) |
FormatRouter: XRechnung vs ZUGFeRD based on customer |
| France |
Factur-X (PDF/A-3 + embedded CII XML) |
EN 16931 + Factur-X |
Chorus Pro PA |
PDF is the container; XML is embedded inside it |
| Belgium |
Peppol BIS 3.0 (UBL 2.1) |
EN 16931 |
Peppol eDelivery (AS4) |
Standard Peppol format |
| Element |
Value |
| Format |
UCF JSON (EDICOM normalises inbound invoices) |
| PDF |
Embedded base64 in JSON payload |
| File naming (SFTP) |
{taxid}_{supplierid}_{timestamp}.xml |
| Delivery to middleware |
REST API (POST /api/ap/invoice) via APIM |
| Delivery to AP tools |
SFTP file drop (COR360, OpenText), email (Basware), or REST API (ERP direct) |
{
"transactionId": "EDI-2026-000001",
"chartInvoiceId": "INV-2026-001234",
"status": "VALIDATED",
"governmentId": "LHDN-2026-0000001",
"qrCode": "base64...",
"validatedAt": "2026-01-26T10:30:00Z"
}
X-EDICOM-Signature: hmac-sha256=abc123...
X-EDICOM-Timestamp: 2026-01-26T10:30:00Z
{
"transactionId": "EDI-2026-000001",
"chartInvoiceId": "INV-2026-001234",
"status": "REJECTED",
"rejectionCode": "INVALID_TAX_ID",
"reason": "Tax ID not registered with LHDN"
}
| Attribute |
Value |
| Government System |
MyInvois (LHDN) |
| Model |
Clearance (Single) |
| ID Type |
Government Invoice ID + QR Code |
| Response Time |
Near real-time |
| EDICOM Status |
Not configured |
| Attribute |
Value |
| Government System |
Chorus Pro (PPF) |
| Model |
Exchange + Reporting |
| Reporting |
Copy to tax authority (simultaneous with customer delivery) |
| EDICOM Status |
Not configured |
| Attribute |
Value |
| Format |
XRechnung (CII/UBL) or ZUGFeRD |
| Model |
Private Exchange |
| Network |
Peppol eDelivery (AS4) |
| EDICOM Status |
Not configured |
| Attribute |
Value |
| Format |
Peppol BIS 3.0 (UBL 2.1) |
| Model |
Private Exchange |
| Network |
Peppol eDelivery (AS4) |
| EDICOM Status |
Not configured |
| Attribute |
Value |
| Type |
Site-to-site IPsec |
| Encryption |
AES-256 |
| Key Exchange |
DH Group 20 |
| Authentication |
Pre-shared key (PSK) |
| IKE Version |
IKEv2 |
| EDICOM IP |
91.103.52.240 |
| Direction |
Bidirectional (Chart Middleware <-> EDICOM) |
| Interface |
Auth Method |
| AR submission (outbound) |
Basic Auth (base64 over TLS) |
| Callbacks (inbound) |
HMAC-SHA256 signature + IP whitelist |
| AP inbound |
HMAC-SHA256 via APIM |
| Dashboard |
Windows Auth / Azure AD |
All inbound EDICOM traffic routes through Chart's Azure APIM:
- Subscription key validation
- Rate limiting
- TLS termination
- Request logging
| Endpoint |
Method |
Purpose |
Auth |
/api/ar/invoice |
POST |
Receive AR invoice from ERP |
Internal |
/api/ar/invoice/clearance-complete |
POST |
Receive cleared invoice for Phase 2 (MY) |
Internal |
/api/ap/invoice |
POST |
Receive AP invoice from EDICOM |
HMAC |
/api/edicom/callback |
POST |
Delivery status callback |
HMAC |
/api/edicom/callback/clearance |
POST |
Clearance callback (MY) -- ID+QR |
HMAC |
/api/ar/status/{id} |
GET |
Get invoice status |
Internal |
/api/ar/retry/{id} |
POST |
Manual retry |
Internal |
/api/admin/dashboard |
GET |
Dashboard KPIs |
Internal |
/api/admin/invoices |
GET |
Invoice search |
Internal |
/api/health |
GET |
Health check |
None |
| Parameter |
Value |
| Retry intervals |
30s -> 2m -> 10m -> 1h -> 4h (max 5 retries) |
| Circuit breaker |
5 errors in 30s -> OPEN for 60s |
| Half-open |
1 test request after 60s |
| Max retries exceeded |
Status → DLQ |
| # |
Task |
Owner |
Status |
| 1 |
Sign contract |
Procurement |
IN PROGRESS |
| 2 |
Receive API documentation |
EDICOM |
NOT STARTED |
| 3 |
Setup test environment |
EDICOM |
NOT STARTED |
| 4 |
Technical kickoff meeting |
Tino / EDICOM |
NOT STARTED |
| 5 |
Define callback format |
EDICOM |
NOT STARTED |
| 6 |
Define file naming conventions |
EDICOM / IT |
NOT STARTED |
| 7 |
Configure Malaysia |
EDICOM |
NOT STARTED |
| 8 |
Configure France |
EDICOM |
NOT STARTED |
| 9 |
Configure Germany |
EDICOM |
NOT STARTED |
| 10 |
Configure Belgium |
EDICOM |
NOT STARTED |
| # |
Question |
Answer |
Status |
| 1 |
What is the callback format for clearance (ID+QR)? |
TBD |
OPEN |
| 2 |
How is the clearance callback authenticated? |
TBD |
OPEN |
| 3 |
What is the expected response time for Malaysia clearance? |
TBD |
OPEN |
| 4 |
Can EDICOM provide sandbox for all Phase 1 countries? |
TBD |
OPEN |
| 5 |
What error codes should we handle? |
TBD |
OPEN |
| 6 |
Does EDICOM support PDF embedding in XML? |
TBD |
OPEN |
| 7 |
What is the file naming convention for AP SFTP? |
TBD |
OPEN |
| 8 |
How does EDICOM handle government rejections? |
TBD |
OPEN |
| Document |
Location |
| EDICOM REST Integration Guide (Colombia) |
Chart documents/EDICOM/Miscellaneous/ |
| Colombia Setup Test Script |
Chart documents/EDICOM/Miscellaneous/ |
| Countries List |
Chart documents/Docs/Countries List_EDICOM.xlsx |
See Architecture Reference for the canonical EDICOM interface table and architecture rules.