Flowie
Conformità · 🇫🇷 Francia

Generatore UBL — ogni caso di business francese, come documento eseguibile

La riforma fornisce un elenco di situazioni di business che una fattura può codificare — i cas d'usage della XP Z12-014 — e una tabella di campi. Quello che non fornisce è una fattura conforme per ciascuna. Così, la prima volta che costruite una fattura di acconto, una fattura ceduta in factoring o un'autofattura, scoprite se avete fatto bene nel momento in cui viene respinta.

Questa pagina colma quel vuoto. Scegliete una situazione di business, leggete che cosa succede davvero e perché la riforma la tratta come un caso a sé, e portate via l'XML UBL 2.1 conforme a EN 16931 e l'esatta chiamata POST /v1/documents/send che lo produce. 59 scenari, che coprono tutti i 45 cas d'usage numerati più i nove fondamentali di cui ogni integrazione francese ha bisogno dal primo giorno.

59scenari
45cas d'usage coperti
UBL 2.1sintassi EN 16931
FNFE v1.3.0schematron validati

Perché un generatore e non solo un elenco di campi

Una fattura elettronica francese non è un unico documento con qualche opzione. Gli stessi 10.000 € di lavoro producono un documento materialmente diverso a seconda che si tratti di un acconto, di una fattura finale che scomputa quell'acconto, di un'autofattura, di una fattura ceduta a un factor o di una fattura di subappalto in inversione contabile — codice tipo diverso, cadre de facturation diverso, parti diverse, categoria IVA diversa, ciclo di vita diverso. Ognuna di queste scelte ha una conseguenza giuridica, e ognuna ha una regola che vi respinge se sbagliate.

Tre errori ricorrono più di tutti, e tutti e tre sono decisioni di business prima che tecniche:

Documento sbagliato, dati giusti

Un acconto inviato come fattura ordinaria (tipo 380 invece di 386) dichiara l'IVA nel periodo sbagliato e duplica i ricavi quando arriva la fattura finale. Vedi il caso 20.

Parti giuste, ruoli sbagliati

Quando entra in gioco un factor, un terzo pagatore o un mandatario alla fatturazione, spostarlo nel blocco venditore o acquirente sposta con sé la debenza dell'IVA. Il beneficiario del pagamento è una parte a sé, e non per caso. Vedi il caso 10.

Menzioni legali assenti

La regola BR-FR-05 impone tre menzioni legali su ogni fattura francese. La maggior parte degli ERP costruiti su EN 16931 altrove le omette tutte e tre, e tutte le fatture falliscono. Vedi il caso base.

Come usarlo

  1. Trovate la vostra situazione. Filtrate per tema, o cercate quello che state davvero facendo — «acconto», «factoring», «autofatturazione», «inversione contabile», «Riunione».
  2. Leggete la descrizione di business. Che cosa succede, perché la riforma se ne occupa, che cosa va storto e quali campi lo veicolano. Se quella sezione non corrisponde alla vostra situazione, avete il caso sbagliato — continuate a cercare prima di scrivere codice.
  3. Prendete gli artefatti. L'XML UBL contro cui validare e la richiesta di invio da lanciare. Entrambi sono già conformi: un diff con il vostro output è l'elenco esatto di ciò che vi manca.
Questi esempi sono verificati, non semplicemente dichiarati
Ogni scenario di questa pagina è stato passato agli schematron ufficiali FNFE XP Z12-012 v1.3.0 — XSD, poi le regole del profilo EN 16931, poi le regole francesi BR-FR — oltre ai controlli di campo complementari del CIUS-FR. Passano tutti, tranne uno che fallisce di proposito, perché uno scontrino B2C non è una fattura elettronica.

Il generatore

Le tue parti e le tue righe — la parte della riforma viene dedotta e spiegata: il codice tipo, il cadre de facturation, l'esigibilità dell'IVA, la categoria IVA con il motivo di esenzione e le tre menzioni legali obbligatorie in Francia. Nove fatture francesi su dieci sono questa, non uno dei 45 casi numerati.

Venditore — tu

Acquirente — il tuo cliente

Che cosa hai venduto
DescrizioneQtàPrezzo unitario VAT %Natura
La fattura

Il cadre de facturation — il campo più «di business» della fattura

Ogni fattura elettronica francese dichiara di che tipo di operazione si tratta, in un solo codice (BT-23, veicolato da cbc:ProfileID). La prima lettera indica Beni, Servizi o Misto; la cifra indica la situazione. È la risposta della riforma stessa alla domanda «che cosa sto guardando?», e determina quali regole si applicano — motivo per cui il generatore lo imposta per scenario invece di mettere tutto a S1.

CodiceChe cosa significa in termini di business
Caricamento…

Fonte: BR-FR-08. Inviare una fattura senza cadre, o con un cadre che contraddice l'esigibilità dell'IVA (BT-8), è lo scarto silenzioso che colloca l'IVA nel periodo sbagliato su entrambi i lati.

I tipi di fattura — e perché «basta mandare 380» non funziona

La Francia accetta un elenco chiuso di tipi documento (BT-3, BR-FR-04). Qualunque altro codice UNTDID 1001 viene respinto. L'elenco è breve ma portante: è ciò che dice a tutta la catena a valle che un documento è un acconto, un'autofattura, una fattura ceduta o una rettifica — prima ancora che qualcuno legga un importo.

CodiceDi che cosa si tratta
Caricamento…

Le tre menzioni che ogni fattura francese deve riportare

La regola BR-FR-05 impone almeno tre note, ciascuna qualificata da un codice soggetto (BT-21), su ogni fattura francese. Sono menzioni legali del Code de commerce, non formattazione — e sono la prima causa di fallimento di una fattura peraltro corretta secondo EN 16931, perché gli ERP costruiti per altri mercati non hanno alcun campo per veicolarle.

<cbc:Note>#PMT#Indemnité forfaitaire pour frais de recouvrement en cas de retard de paiement : 40 EUR (art. L441-10 du Code de commerce).</cbc:Note>
<cbc:Note>#PMD#Pénalités de retard : trois fois le taux d'intérêt légal, exigibles le jour suivant la date d'échéance.</cbc:Note>
<cbc:Note>#AAB#Escompte pour paiement anticipé : néant.</cbc:Note>
<cbc:Note>#BAR#B2B</cbc:Note>

In UBL il codice soggetto e il testo condividono un unico cbc:Note, con il codice veicolato da un prefisso #CODE#. La quarta nota qui sopra non è richiesta da BR-FR-05 ma conta altrettanto: BAR dichiara su quale lato della riforma si collochi il documento (BR-FR-20).

Codice soggettoChe cosa veicola
Caricamento…

IVA — le categorie accettate in Francia e quando l'imposta diventa esigibile

La Francia restringe l'elenco delle categorie IVA di EN 16931 (BR-FR-15) e fissa le aliquote accettate (BR-FR-16). Ogni categoria diversa da S e Z richiede una motivazione e un codice VATEX — una fattura che non addebita IVA senza dire perché viene respinta, e giustamente: la motivazione è ciò che rende l'esenzione difendibile in verifica.

CategoriaQuando si usaCodice VATEX tipico
SOperazione imponibile ad aliquota ordinaria o ridotta — 20 %, 10 %, 5,5 % o 2,1 %.
AEInversione contabile — l'IVA è dovuta dal committente. Subappalti edili e gran parte dei servizi B2B ricevuti dall'estero.VATEX-FR-AE
EEsente — regime di franchigia, esenzioni sanitarie e formative, regime del margine, anticipazioni in nome e per conto.VATEX-FR-FRANCHISE, VATEX-EU-79-C
KCessione intracomunitaria — beni che lasciano la Francia verso un altro Stato membro.VATEX-EU-IC
GEsportazione fuori UE — inclusi i DROM, che sono fuori dal territorio IVA dell'Unione.VATEX-EU-G
OFuori campo IVA. Molto vincolata: non può coesistere con altre categorie sulla stessa fattura (BR-O-11) e vieta la partita IVA del venditore (BR-O-02).VATEX-EU-O

Quando l'IVA diventa esigibile (BT-8)

Questo singolo codice determina in quale periodo di liquidazione finisce la fattura, per entrambe le parti. I beni sono imponibili alla consegna; i servizi all'incasso, salvo che il venditore abbia optato per la TVA sur les débits. Sbagliarlo non fa fallire la validazione — colloca semplicemente l'IVA nel mese sbagliato.

CodiceSignificato
Caricamento…

Usarlo dall'API

Lo stesso referenziale è servito dall'API, così potete collegarlo alla vostra suite di test invece di copiare XML da un browser. Il referenziale e il generatore non richiedono alcuna chiave API — sono funzioni pure, senza accesso ai dati di nessuno.

Elencare tutti i casi di business

curl https://back.flowie.ink/exchange/v1/tools/fr/ubl/scenarios

Filtrate con ?theme=, ?family=, ?channel=e-reporting, ?case=20, oppure cercate nelle descrizioni di business con ?q=factoring.

Generare un caso con le vostre parti

curl -X POST https://back.flowie.ink/exchange/v1/tools/fr/ubl/generate \
  -H "Content-Type: application/json" \
  -d '{
    "scenarioId": "uc-21-final-after-deposit",
    "number": "FA-2027-0042",
    "issueDate": "2027-03-01",
    "seller": { "name": "Ma Société SAS", "siret": "55210055400013" },
    "buyer":  { "name": "Mon Client SA",  "siret": "39158000400021" }
  }'

La risposta contiene la descrizione di business, il modello di fattura, l'XML UBL, i totali calcolati e il corpo POST /v1/documents/send che la invia. Gli schemi degli identificativi restano fissi: una sovrascrittura non può mai produrre una parte il cui SIRET e SIREN si contraddicono (BR-FR-09).

Generare e validare in una sola chiamata

curl -X POST https://back.flowie.ink/exchange/v1/tools/fr/ubl/generate-and-validate \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{ "scenarioId": "uc-10-factoring" }'

Questa richiede una chiave, perché chiama il servizio di schematron per vostro conto. Usatela come risposta di riferimento quando il vostro output per lo stesso caso viene respinto: generate lo scenario, validate entrambi, confrontate. Per validare una fattura che avete costruito voi, usate POST /v1/documents/validate.

Che cosa significa «valido» qui

Ogni documento generato attraversa gli stessi quattro cancelli di una fattura reale:

  1. XSD — è strutturalmente una fattura UBL 2.1? UBL è tipizzato per sequenza: un elemento nell'ordine sbagliato fallisce qui, prima che venga eseguita una sola regola di business.
  2. Schematron del profilo EN 16931 — i totali tornano (BR-CO-*), ogni riga esente dà una motivazione, ogni ripartizione IVA è coerente?
  3. Regole BR-FR — lo strato francese: le menzioni legali, gli elenchi chiusi di codici tipo e di cadres, la coerenza SIRET/SIREN, le aliquote IVA accettate.
  4. Controlli di campo CIUS-FR — i campi che la Francia rende legalmente obbligatori mentre EN 16931 li lascia facoltativi: il codice di esigibilità, la data di scadenza, forma giuridica e capitale sociale del venditore, SIREN e indirizzo di instradamento dell'acquirente.
Uno scenario fallisce di proposito
Lo scontrino di ristorante B2C (uc-28-restaurant-receipts) non supera la validazione come fattura elettronica, e non può: un consumatore non ha né SIREN né indirizzo di instradamento, due dati che la Francia rende legalmente obbligatori su una fattura elettronica. Una vendita B2C appartiene all'e-reporting — trasmettete dati di transazione alla DGFiP, non scambiate una fattura strutturata. Il generatore produce comunque il documento, perché è quella registrazione ad alimentare il vostro e-reporting; si limita a segnalare validatesAsEInvoice: false invece di fingere. Confondere i due canali è l'errore strutturale più frequente nelle implementazioni francesi.

Che cosa il generatore non fa

Riferimenti