Flowie
Conformità · 🇧🇪 Belgio

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.

⚠️ Cosa è cambiato — HERMES dismesso il 2025-12-31

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

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.

DataEventoFonte
2024-02-06Il Belgio adotta la legge sulla fatturazione elettronica B2B (Loi du 6 février 2024).Loi du 6 février 2024 (Moniteur belge)
2024-07Il 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-01L'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-31Si chiude la finestra di sola consultazione di HERMES. Piattaforma completamente offline.Portale HERMES · avviso ufficiale

Cronologia 2017 → 2028

DataChiCosa
2017-01-01Tutte le imprese BEB2G federale via Mercurius (attivo, ancora in vigore).
2024-02-06LegislatoriLoi du 6 février 2024 promulgata (obbligo B2B).
2025-12-31FPS FinancePercorso di invio HERMES dismesso.
2026-01-01Transazioni imponibili B2B nazionaliFatturazione elettronica strutturata obbligatoria su Peppol BIS 3.0 (BE-CIUS).
2026-03-31FPS FinanceSi chiude la finestra di consultazione di HERMES.
2028-01-01 indicativoTutto il B2BControllo 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):

Campi obbligatori per le fatture belghe

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:

PaeseL'aggiornamento del ciclo di vita emetteReport di conformità
🇫🇷 Francialifecycle.updated + compliance.reported (PPF)Sì — Flowie effettua il report a PPF
🇮🇹 Italialifecycle.updated + compliance.reported (SDI)Sì — Flowie effettua il report a SDI
🇧🇪 Belgiosolo lifecycle.updatedNo — 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 regoleCosa controllaDove 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 IVANumero 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.
La convalida è passata dal regolatore al momento dell'invio
Prima della dismissione di HERMES, i fallimenti dello schematron sulle fatture belghe emergevano come webhook differiti 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 testareCome
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 MercuriusDestinatario 9925:BE-mercurius-99999. Stessa forma di risposta di un destinatario privato.
Destinatario irraggiungibileDestinatario 0208:TEST_AP_FAIL → webhook document.failed con RECIPIENT_UNREACHABLE.
Rifiuto in convalidaInvia 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:

PrimaOra
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 webhookRimuovi il ramo. compliance.reported viene emesso solo per FR (PPF) e IT (SDI).
Impostare settings.autoCompliance.HERMES su un'azienda BECampo accettato ma senza effetto; rimuovilo al prossimo aggiornamento della configurazione.
Filtrare GET /v1/compliance/reports?platform=HERMESRestituisce solo righe storiche. Le nuove fatture BE non aggiungeranno righe qui.
Gestione dei rifiuti su HER-001 / HER-002 / HER-007Sposta 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_URLHERMES_REPORT_TOKEN — l'adattatore corrispondente è stato eliminato. Lasciare le variabili impostate è innocuo ma inutilizzato.

Riferimenti

Fonti primarie (governo belga & regolatore UE):

Analisi di settore (conferma indipendente della tempistica di dismissione):