Belgio — Peppol puro dal 2026-01-01
Il Belgio non gestisce alcun hub regolatore centrale per la fatturazione elettronica B2B. La consegna Peppol è l'evento di conformità. Flowie è un Access Point Peppol registrato (ID nazionale be:flowie) — direttamente, oppure tramite un partner locale specializzato dove è richiesta una presenza nel paese — e il tuo stack non necessita di un'integrazione di reporting separata.
Se in precedenza avevi collegato il reporter di conformità HERMES di Flowie o filtravi i webhook compliance.reported su platform == "HERMES", quel percorso non esiste più. Il Servizio Pubblico Federale Finanze belga (FPS Finance / SPF Finances) ha chiuso HERMES il 2025-12-31 dopo che la revisione del Business Experts Group del luglio 2024 ha concluso che il mercato privato degli Access Point Peppol era abbastanza maturo da rendere superfluo il ponte governativo temporaneo. L'accesso in sola consultazione è scaduto il 2026-03-31.
D'ora in poi: invia le fatture belghe su Peppol con il profilo BE-CIUS, punto. Per il BE non viene emesso alcun evento compliance.reported. Vedi la sezione Migrazione più avanti per le modifiche al codice esatte.
In sintesi
- Il Belgio usa il modello Peppol a 4 angoli — nessun hub centrale per il B2B.
- Obbligo B2B in vigore dal 2026-01-01: fatture strutturate in Peppol BIS Billing 3.0 con il profilo BE-CIUS, scambiate da angolo ad angolo su Peppol.
- Il B2G passa ancora attraverso Mercurius (l'hub federale del settore pubblico), obbligatorio dal 2017.
- HERMES non c'è più (dismesso il 2025-12-31). Le fatture belghe non hanno alcun report di conformità lato piattaforma — lo scambio Peppol è la conformità.
- Flowie pubblica automaticamente le aziende belghe sull'SMP Peppol. Imposta
settings.autoCompliance.BE = falseper disattivare l'opzione.
Cosa è cambiato — la dismissione di HERMES
HERMES era un ponte gratuito, gestito dal governo dal FPS Finance, che consentiva alle piccole imprese di inviare fatture strutturate agli acquirenti del settore pubblico (e, nella sua iterazione successiva, doveva fungere da hub di reporting B2B). È sempre stato presentato come un ponte temporaneo in attesa della maturazione del mercato privato degli Access Point Peppol.
| Data | Evento | Fonte |
|---|---|---|
| 2024-02-06 | Il Belgio adotta la legge sulla fatturazione elettronica B2B (Loi du 6 février 2024). | Loi du 6 février 2024 (Moniteur belge) |
| 2024-07 | Il Business Experts Group rivaluta HERMES e ne raccomanda la dismissione — il mercato privato degli AP Peppol è ritenuto maturo. | efacture.belgium.be (FPS Finance) |
| 2026-01-01 | L'obbligo B2B entra in vigore: tutte le transazioni imponibili B2B nazionali devono usare la fatturazione elettronica strutturata su Peppol. | OpenPeppol · Belgium |
| Fine 2025 (secondo FPS Finance) | Percorso di invio HERMES dismesso. | Portale HERMES · avviso ufficiale |
| 2026-03-31 | Si chiude la finestra di sola consultazione di HERMES. Piattaforma completamente offline. | Portale HERMES · avviso ufficiale |
Cronologia 2017 → 2028
| Data | Chi | Cosa |
|---|---|---|
| 2017-01-01 | Tutte le imprese BE | B2G federale via Mercurius (attivo, ancora in vigore). |
| 2024-02-06 | Legislatori | Loi du 6 février 2024 promulgata (obbligo B2B). |
| 2025-12-31 | FPS Finance | Percorso di invio HERMES dismesso. |
| 2026-01-01 | Transazioni imponibili B2B nazionali | Fatturazione elettronica strutturata obbligatoria su Peppol BIS 3.0 (BE-CIUS). |
| 2026-03-31 | FPS Finance | Si chiude la finestra di consultazione di HERMES. |
| 2028-01-01 indicativo | Tutto il B2B | Controllo continuo delle transazioni (CTC) secondo la tempistica EU ViDA. Implementazione belga definitiva da definire; ci si aspetta un reporting quasi in tempo reale dei dati di intestazione della fattura a FPS Finance. |
Il modello Peppol a 4 angoli
A differenza del PPF francese o dell'SDI italiano, il Belgio non instrada le fatture attraverso un regolatore centrale. Ogni impresa si collega a un Access Point Peppol (Flowie è uno di questi) e le fatture viaggiano da angolo ad angolo:
┌─────────────┐ ┌────────────┐ ┌──────────────┐ ┌────────────────┐
│ Sender ERP │ →→→ │ Sender AP │ →→ │ Recipient AP │ →→ │ Recipient ERP │
│ │ │ (Flowie) │ │ (any Peppol) │ │ │
└─────────────┘ └────────────┘ └──────────────┘ └────────────────┘
↓
[discovers recipient via SMP]
Non c'è alcun ramo parallelo verso un hub regolatore. La traccia di conformità che conservi è la tua: lo stato Message Level Status (MLS) Peppol che ricevi indietro dall'AP destinatario, gli eventi di ciclo di vita che registri in Flowie e il tuo sistema contabile. Questa è la pista di controllo se mai venissi sottoposto a verifica da FPS Finance.
Profilo BE-CIUS — cosa è specifico del Belgio
Il Belgio usa Peppol BIS Billing 3.0 con una Core Invoice Usage Specification (CIUS) che aggiunge questi vincoli oltre al core europeo (EN 16931):
- Il numero BTW è obbligatorio sia per il venditore che per l'acquirente in tutti i casi B2B (regola BE BIS
BR-BE-01). - La comunicazione strutturata OGM-VCS sui pagamenti deve seguire il formato
+++NNN/NNNN/NNNNN+++quando presente, con checksum mod-97 valido. - PDF leggibile incorporato consentito tramite
document.attachments[]per i flussi di lavoro di contabilità fornitori. Opzionale, ma ampiamente atteso. - Le categorie esenti IVA devono fare riferimento all'articolo BTW (ad esempio categoria di codice
"E"con"Article 39 BTW"nel motivo di esenzione). - La categoria IVA
K(cessione intracomunitaria) viene rifiutata quando sia il venditore sia l'acquirente sono belgi — la transazione è nazionale, non intra-UE.
Campi obbligatori per le fatture belghe
-
seller.vatNumberobbligatorio
Formato
BE0123456789(10 cifre dopoBE). Flowie convalida rispetto al registro KBO/BCE alla creazione dell'azienda. -
buyer.vatNumberobbligatorio per il B2B
Stesso formato. Per il B2C, ometti
buyer.vatNumbere Flowie salta le regole BE-BIS per il B2B. -
payment.referencestringopzionale, convalidato se presente
Se usato, deve essere in formato OGM-VCS. Flowie convalida la cifra di controllo mod-97 e rifiuta con
BR-BE-02in caso di checksum errato. -
document.lines[].vatCategoryobbligatorio
Categorie Peppol standard (
S,Z,E,AE,K,G,O,L,M); il BE rifiutaKse entrambe le parti sono BE. -
document.noteopzionale
Per il B2G, indica qui il riferimento del contratto del settore pubblico.
Mercurius — hub federale B2G
Mercurius è l'unico hub lato regolatore belga ancora in scope. Per gli acquirenti pubblici belgi federali, regionali e locali, il destinatario è sempre Mercurius. L'ID Peppol ha questo aspetto:
9925:BE-mercurius-<OVO-number>
Cerca il numero OVO di qualsiasi ente pubblico nel portale Mercurius, oppure interroga la directory di Flowie:
curl https://back.p2p-flowie.com/exchange/v1/directory/search?country=BE&naceCodes=8411 \
-H "Authorization: Bearer $FLOWIE_KEY"
Inviare una fattura belga — end-to-end
Lo stesso POST /v1/documents/send funziona per il BE; non c'è nulla in più da collegare rispetto a un invio Peppol generico. Flowie applica la convalida BE-CIUS quando entrambi i numeri IVA iniziano con BE:
curl -X POST https://back.p2p-flowie.com/exchange/v1/documents/send \
-H "Authorization: Bearer $FLOWIE_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: inv-be-2026-0451" \
-d '{
"type": "invoice",
"from": "comp_be_acme",
"to": "0208:0123456789",
"document": {
"number": "INV-2026-0451",
"issueDate": "2026-04-30",
"dueDate": "2026-05-30",
"currency": "EUR",
"buyer": { "vatNumber": "BE0987654321" },
"lines": [{
"description": "Consulting — April 2026",
"quantity": 10, "unit": "hours",
"unitPrice": 150.00,
"vatCategory": "S", "vatRate": 21
}],
"payment": {
"reference": "+++123/4567/89000+++",
"iban": "BE68 5390 0754 7034"
}
}
}'
Risposta: un webhook document.sent viene emesso quando l'AP destinatario conferma la ricezione. Non seguirà alcun evento compliance.reported — ora è intenzionale.
Ciclo di vita delle fatture belghe
Puoi comunque chiamare POST /v1/documents/{id}/lifecycle sulle fatture belghe per registrare approved, rejected, paid, ecc. — Flowie mantiene la pista di controllo ed emette i webhook lifecycle.updated. La differenza rispetto a Francia/Italia:
| Paese | L'aggiornamento del ciclo di vita emette | Report di conformità |
|---|---|---|
| 🇫🇷 Francia | lifecycle.updated + compliance.reported (PPF) | Sì — Flowie effettua il report a PPF |
| 🇮🇹 Italia | lifecycle.updated + compliance.reported (SDI) | Sì — Flowie effettua il report a SDI |
| 🇧🇪 Belgio | solo lifecycle.updated | No — la consegna Peppol è la conformità |
Se i tuoi percorsi di codice si diramano su compliance.reported per il Belgio, considera l'assenza di quell'evento come il segnale di successo — il completamento dell'aggiornamento del ciclo di vita è l'unica cosa di cui hai bisogno.
Errori di convalida
La convalida BE-CIUS viene eseguita in Flowie prima che la fattura lasci l'access point. I codici che vedi provengono dagli artefatti standard del validatore Peppol BIS Billing 3.0 (regole di business EN 16931 + lo schematron BE-CIUS). L'insieme completo di regole è ampio — la tabella sottostante evidenzia le regole che la maggior parte delle integrazioni BE incontra.
| Famiglia di regole | Cosa controlla | Dove emerge |
|---|---|---|
BR-CO-* | Totali incrociati EN 16931: i netti di riga, i totali del documento e le ripartizioni IVA devono quadrare. | 422 Unprocessable Entity su POST /v1/documents/send o /validate. Controlla error.details[] per il codice della regola fallita e l'XPath in errore. |
BR-BE-* | Aggiunte BE-CIUS: BTW obbligatorio sulle parti B2B, checksum della comunicazione strutturata OGM-VCS, categorie IVA ammesse. | Idem — 422 sincrono. I nomi specifici dei codici dipendono dalla versione dello schematron BE-CIUS distribuita da Flowie; il corpo della risposta riporta sempre il codice della regola, la descrizione leggibile e l'XPath. |
| Ricerca IVA | Numero BTW del venditore / acquirente attivo in KBO/BCE. | Intercettato a POST /v1/companies (creazione dell'azienda) — le IVA errate non raggiungono mai il percorso di invio. |
MERC-* | Accettazione B2G Mercurius — numero OVO riconosciuto, schema accettato. | Webhook document.failed con errorCode impostato, dopo il salto di consegna Peppol. |
compliance.reported.failed. Oggi gli stessi controlli vengono eseguiti localmente prima che la fattura lasci Flowie — i fallimenti sono 422 sulla risposta sincrona di POST /v1/documents/send, con il codice della regola del validatore in error.details[].code. Feedback più rapido, senza colla aggiuntiva per la gestione degli eventi.
Testare la tua integrazione belga
Usa l'host sandbox con una chiave flw_test_…. Due test riproducibili coprono i casi a cui tiene la maggior parte degli integratori:
| Cosa vuoi testare | Come |
|---|---|
| Percorso felice BE (B2B) | IVA mittente BE0000000001, destinatario 0208:TEST_OK, entrambe le IVA popolate. I webhook document.sent + document.delivered vengono emessi; nessun compliance.reported. |
| Invio B2G Mercurius | Destinatario 9925:BE-mercurius-99999. Stessa forma di risposta di un destinatario privato. |
| Destinatario irraggiungibile | Destinatario 0208:TEST_AP_FAIL → webhook document.failed con RECIPIENT_UNREACHABLE. |
| Rifiuto in convalida | Invia con un UBL deliberatamente rotto (ad esempio totali di riga non corrispondenti) → 422 sulla risposta sincrona. Il codice esatto della regola proviene dallo schematron BE-CIUS e varia in base alla versione del validatore. |
Per test negativi esaustivi del validatore, usa POST /v1/documents/validate — esegue ogni regola BE-CIUS e restituisce l'intero error.details[] senza tentare la consegna Peppol.
Migrazione: HERMES → Peppol
Se il tuo stack presumeva che Flowie avrebbe effettuato automaticamente il report delle fatture belghe a HERMES, ecco il diff:
| Prima | Ora |
|---|---|
Ascoltare compliance.reported con data.platform == "HERMES" | Rimuovi il listener per il BE. L'evento non viene più emesso. |
Diramare su data.platform == "HERMES" nel router dei webhook | Rimuovi il ramo. compliance.reported viene emesso solo per FR (PPF) e IT (SDI). |
Impostare settings.autoCompliance.HERMES su un'azienda BE | Campo accettato ma senza effetto; rimuovilo al prossimo aggiornamento della configurazione. |
Filtrare GET /v1/compliance/reports?platform=HERMES | Restituisce solo righe storiche. Le nuove fatture BE non aggiungeranno righe qui. |
Gestione dei rifiuti su HER-001 / HER-002 / HER-007 | Sposta la gestione dei rifiuti equivalente sulla risposta sincrona 422 di POST /v1/documents/send. Leggi error.details[].code (regola dello schematron BE-CIUS) e error.details[].xpath (dove nell'UBL ha fallito). |
La tabella compliance_reports stessa conserva le righe storiche di HERMES per il controllo — non vengono mai eliminate, semplicemente smettono di essere create.
FAQ
Devo registrarmi a qualcosa di nuovo?
No. Flowie pubblica automaticamente le aziende BE sull'SMP Peppol (la stessa registrazione che ti consentiva già di inviare fatture Peppol ovunque in Europa). Non c'è alcun successore di HERMES.
Posso continuare a usare fatture cartacee per il B2C?
Sì. L'obbligo del 2026-01-01 riguarda solo il B2B. Il B2C rimane in formato libero fino a nuovo avviso.
E l'esenzione per le PMI?
Nessuna esenzione — l'obbligo copre tutte le transazioni imponibili B2B indipendentemente dalla dimensione dell'azienda, cosa insolita per l'Europa. Pianifica di conseguenza.
Il PDF incorporato in BLOB è obbligatorio?
No, è opzionale. Ma molti destinatari preferiscono comunque una resa leggibile per la contabilità fornitori. Flowie lo genera automaticamente quando invii JSON.
E il CTC (controllo continuo delle transazioni) nel 2028?
Il governo federale ha segnalato l'intenzione di allinearsi alla tempistica EU ViDA (CTC entro il 2028) ma non esiste ancora alcuna normativa belga concreta. Quando arriverà, Flowie la esporrà di nuovo come un ramo lato regolatore — stessa forma di PPF/SDI oggi. Lo annunceremo nella cronologia.
Avevo HERMES_REPORT_URL nel mio ambiente. E adesso?
Puoi rimuoverla. Flowie non legge più HERMES_REPORT_URL né HERMES_REPORT_TOKEN — l'adattatore corrispondente è stato eliminato. Lasciare le variabili impostate è innocuo ma inutilizzato.
Riferimenti
Fonti primarie (governo belga & regolatore UE):
- efacture.belgium.be — portale ufficiale belga per la fatturazione elettronica (
belgium.be); ambito dell'obbligo B2B del 2026-01-01, esenzioni, FAQ per i contribuenti. - Loi du 6 février 2024 — testo completo della legge belga sulla fatturazione elettronica (NUMAC
2024001635), come pubblicata sul Moniteur belge il 2024-02-20. Modifica il Codice IVA e il Codice delle imposte sui redditi 1992. - eJustice · voce ufficiale del Moniteur belge — versione governativa belga autorevole della legge.
- Portale HERMES — portale ufficiale che riporta l'avviso di dismissione di FPS Finance (accesso in sola consultazione chiuso il 2026-03-31).
- Commissione UE · eInvoicing in Belgium — pagina di riferimento paneuropea; base giuridica, ambito dell'obbligo, profilo Peppol BIS.
- OpenPeppol · profilo paese Belgio — fatti Peppol autorevoli mantenuti da OpenPeppol AISBL.
- Portale Mercurius — hub federale B2G gestito da FPS BOSA.
- KBO / BCE — registro belga dei numeri IVA (FPS Economy).
Analisi di settore (conferma indipendente della tempistica di dismissione):
- Sovos · Belgium Sunsets Hermes — aggiornamento normativo del fornitore.
- Banqup · Belgium retires the HERMES platform — analisi del fornitore sulla decisione di dismissione.