Facturae 3.2.x — format XML officiel espagnol
Facturae est le format XML officiel de la facture electronique espagnole, publie par le Ministerio para la Transformacion Digital y de la Funcion Publica. Compagnon historique du B2G via FACe depuis 2015, il reste la syntaxe pivot du futur mandat B2B Crea y Crece et coexiste avec UBL et CII via la CIUS Espagne EN 16931.
Historique des versions Facturae
Facturae a ete cree en 2007 par le Ministerio de Industria espagnol en collaboration avec l'AEAT, pour formaliser le format XML de la facture electronique deja en usage chez certains grands comptes (Telefonica, Iberdrola). Les versions successives reflttent l'extension du perimetre et l'alignement progressif avec EN 16931 :
- 1.0 (2003) et 2.x (2005-2007) — versions historiques deprecated, plus utilisees a partir de 2015.
- 3.0 (2008) — premiere version XSD modulaire, adoptee pour les tests pilotes B2G.
- 3.1 (2009) — ajout du bloc Items detaille (description, quantite, prix unitaire), ouverture aux factures B2C grand public.
- 3.2 (2010) — refonte signature XAdES, ajout AdministrativeCentres pour identifier les Directorios Comunes (DIR3) cote acheteur public. Premier deploiement FACe.
- 3.2.1 (2012) — corrections XSD, ajout codes RoleTypeCode (01 Service contable, 02 Service gestion, 03 Office de cloture, ...).
- 3.2.2 (2014) — version courante. Ajout du bloc PaymentInKind (paiement en nature), extension de la liste des taxes (IGIC, IPSI, Recargo de equivalencia), alignement conditionnel CEN PC 434 EN 16931.
Structure XSD
Le XSD Facturae 3.2.2 organise une facture en quatre blocs principaux :
- FileHeader — en-tete du fichier : version du schema, modalite (I individuel, B batch), type d'emetteur (EM emetteur, RE receptor en cas d'auto-facturation), lot (BatchIdentifier, montants totaux).
- Parties — vendeur (SellerParty) et acheteur (BuyerParty), avec TaxIdentification (NIF), LegalEntity (raison sociale) ou Individual, et AddressInSpain ou OverseasAddress. Le bloc AdministrativeCentres permet d'attacher les codes DIR3 du circuit administratif B2G.
- Invoices — une ou plusieurs factures (Invoice), chacune avec InvoiceHeader (numero, serie, type, classe), InvoiceIssueData (date, devise, langue), TaxesOutputs (TVA facturee), InvoiceTotals (totaux), Items (lignes).
- ds:Signature — bloc XAdES-Bes-Long enveloppe dans le XML, signant l'integralite du document a l'exception de lui-meme (transformation enveloped-signature).
<?xml version="1.0" encoding="UTF-8"?>
<fe:Facturae xmlns:fe="http://www.facturae.es/Facturae/2014/v3.2.2/Facturae"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<FileHeader>
<SchemaVersion>3.2.2</SchemaVersion>
<Modality>I</Modality>
<InvoiceIssuerType>EM</InvoiceIssuerType>
<Batch>
<BatchIdentifier>B12345678F-2026-0042</BatchIdentifier>
<InvoicesCount>1</InvoicesCount>
<TotalInvoicesAmount>
<TotalAmount>1210.00</TotalAmount>
</TotalInvoicesAmount>
<TotalOutstandingAmount>
<TotalAmount>1210.00</TotalAmount>
</TotalOutstandingAmount>
<TotalExecutableAmount>
<TotalAmount>1210.00</TotalAmount>
</TotalExecutableAmount>
<InvoiceCurrencyCode>EUR</InvoiceCurrencyCode>
</Batch>
</FileHeader>
<Parties>
<SellerParty>
<TaxIdentification>
<PersonTypeCode>J</PersonTypeCode>
<ResidenceTypeCode>R</ResidenceTypeCode>
<TaxIdentificationNumber>B12345678</TaxIdentificationNumber>
</TaxIdentification>
<LegalEntity>
<CorporateName>Atelier Iberica SL</CorporateName>
<AddressInSpain>
<Address>Calle Mayor 12</Address>
<PostCode>28013</PostCode>
<Town>Madrid</Town>
<Province>Madrid</Province>
<CountryCode>ESP</CountryCode>
</AddressInSpain>
</LegalEntity>
</SellerParty>
<BuyerParty>
<TaxIdentification>
<PersonTypeCode>J</PersonTypeCode>
<ResidenceTypeCode>R</ResidenceTypeCode>
<TaxIdentificationNumber>B87654321</TaxIdentificationNumber>
</TaxIdentification>
<AdministrativeCentres>
<AdministrativeCentre>
<CentreCode>L01280796</CentreCode>
<RoleTypeCode>01</RoleTypeCode>
<Name>Ayuntamiento de Madrid - Oficina Contabilidad</Name>
</AdministrativeCentre>
</AdministrativeCentres>
<LegalEntity>
<CorporateName>Ayuntamiento de Madrid</CorporateName>
<AddressInSpain>
<Address>Plaza de la Villa 5</Address>
<PostCode>28005</PostCode>
<Town>Madrid</Town>
<Province>Madrid</Province>
<CountryCode>ESP</CountryCode>
</AddressInSpain>
</LegalEntity>
</BuyerParty>
</Parties>
<Invoices>
<Invoice>
<InvoiceHeader>
<InvoiceNumber>F-2026-0042</InvoiceNumber>
<InvoiceSeriesCode>2026</InvoiceSeriesCode>
<InvoiceDocumentType>FC</InvoiceDocumentType>
<InvoiceClass>OO</InvoiceClass>
</InvoiceHeader>
<InvoiceIssueData>
<IssueDate>2026-04-15</IssueDate>
<InvoiceCurrencyCode>EUR</InvoiceCurrencyCode>
<TaxCurrencyCode>EUR</TaxCurrencyCode>
<LanguageName>es</LanguageName>
</InvoiceIssueData>
<TaxesOutputs>
<Tax>
<TaxTypeCode>01</TaxTypeCode>
<TaxRate>21.00</TaxRate>
<TaxableBase>
<TotalAmount>1000.00</TotalAmount>
</TaxableBase>
<TaxAmount>
<TotalAmount>210.00</TotalAmount>
</TaxAmount>
</Tax>
</TaxesOutputs>
<InvoiceTotals>
<TotalGrossAmount>1000.00</TotalGrossAmount>
<TotalGeneralDiscounts>0.00</TotalGeneralDiscounts>
<TotalGrossAmountBeforeTaxes>1000.00</TotalGrossAmountBeforeTaxes>
<TotalTaxOutputs>210.00</TotalTaxOutputs>
<InvoiceTotal>1210.00</InvoiceTotal>
<TotalOutstandingAmount>1210.00</TotalOutstandingAmount>
<TotalExecutableAmount>1210.00</TotalExecutableAmount>
</InvoiceTotals>
<Items>
<InvoiceLine>
<ItemDescription>Servicio de consultoria 2026 Q1</ItemDescription>
<Quantity>1</Quantity>
<UnitPriceWithoutTax>1000.00</UnitPriceWithoutTax>
<TotalCost>1000.00</TotalCost>
<GrossAmount>1000.00</GrossAmount>
</InvoiceLine>
</Items>
</Invoice>
</Invoices>
<ds:Signature Id="Signature1">
<!-- XAdES-Bes-Long: KeyInfo + SignedProperties + Timestamp + RevocationValues -->
</ds:Signature>
</fe:Facturae> Signature XAdES-Bes-Long obligatoire
La signature electronique est obligatoire pour tout Facturae transmis via FACe. Le profil retenu par defaut est XAdES-Bes-Long (XML Advanced Electronic Signature - Basic Electronic Signature - Long), defini par l'ETSI TS 101 903 v1.4.2 :
- Reference au certificat : X509Data avec X509Certificate complet en base64 + SigningCertificate (digest SHA-256 du certificat).
- Horodatage qualifie : SignatureTimeStamp produit par une TSA (Time-Stamping Authority) qualifiee eIDAS — typique : FNMT-RCM, Camerfirma, ANCERT.
- Chaine de certificats validee : CertificateValues et RevocationValues incluant les CRL ou OCSP responses des autorites racines.
- Politique de signature implicite : Policy Identifier vide (XAdES-EPES non obligatoire pour Facturae).
<!-- Squelette XAdES-Bes-Long enveloppe dans le Facturae -->
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature1">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
<ds:Reference Id="ref-1" URI="">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<ds:DigestValue>9C1185A5C5E9FC54...</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>...</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>MIIDXTCCAkWgAwI...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<ds:Object>
<xades:QualifyingProperties xmlns:xades="http://uri.etsi.org/01903/v1.3.2#">
<xades:SignedProperties>
<xades:SignedSignatureProperties>
<xades:SigningTime>2026-04-15T09:32:14+02:00</xades:SigningTime>
<xades:SigningCertificate>
<xades:Cert>
<xades:CertDigest>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<ds:DigestValue>D85AB6...</ds:DigestValue>
</xades:CertDigest>
</xades:Cert>
</xades:SigningCertificate>
</xades:SignedSignatureProperties>
</xades:SignedProperties>
<xades:UnsignedProperties>
<xades:UnsignedSignatureProperties>
<xades:SignatureTimeStamp>
<xades:EncapsulatedTimeStamp>MIIH...</xades:EncapsulatedTimeStamp>
</xades:SignatureTimeStamp>
<xades:CertificateValues>
<xades:EncapsulatedX509Certificate>MIIDXT...</xades:EncapsulatedX509Certificate>
</xades:CertificateValues>
<xades:RevocationValues>
<xades:CRLValues>
<xades:EncapsulatedCRLValue>MIIBvjCB...</xades:EncapsulatedCRLValue>
</xades:CRLValues>
</xades:RevocationValues>
</xades:UnsignedSignatureProperties>
</xades:UnsignedProperties>
</xades:QualifyingProperties>
</ds:Object>
</ds:Signature> CIUS Espagne et alignement EN 16931
Le Facturae natif n'est pas conforme EN 16931 : il a ete cree avant la norme europeenne. Pour les echanges intra-UE et pour la future obligation B2B Crea y Crece, une CIUS Espagne (Core Invoice Usage Specification) a ete elaboree par AENOR en coordination avec PEPPOL.
La CIUS specifie deux choses :
- Comment exprimer une facture espagnole en UBL 2.1 ou en CII D16B conforme EN 16931. Cela permet aux contribuables qui prefere UBL ou CII (notamment ceux echangeant avec des partenaires PEPPOL) de rester conformes.
- Comment projeter chaque BG/BT EN 16931 vers les XPath Facturae — table de correspondance officielle entre les 150 elements semantiques EN 16931 et les chemins XML Facturae 3.2.2. Permet d'utiliser Facturae 3.2.2 en mode "EN 16931 compatible".
Utilisations : FACe, FACeB2B, factoring
Facturae est utilise dans trois grands contextes :
- FACe (B2G national) — point d'entree unique pour facturer toute administration publique espagnole > 5 000 EUR. Format Facturae 3.2.2 obligatoire depuis le 15 janvier 2015 (Loi 25/2013).
- FACeB2B (B2B optionnel) — hub B2B operationnel depuis juillet 2018, sur la base du volontariat. Format Facturae 3.2.2 egalement, plus les codes DIR3 simulant un acheteur prive.
- Factoring et cession de creance — les etablissements financiers acceptent Facturae signe comme preuve juridique de creance, opposable au debiteur (Articles 1526 et suivants du Codigo Civil).
Validation et outillage
Le portail administracionelectronica.gob.es fournit gratuitement deux outils principaux :
- Validador Facturae — validation XSD + Schematron
+ signature. URL :
face.gob.es/es/factura/validar. Accepte les fichiers jusqu'a 15 Mo, repond en moins de 10 secondes. - Generador Facturae — application Java desktop pour creer un Facturae signe a partir d'un formulaire. Cible : petites entreprises sans logiciel comptable. Telecharge sur face.gob.es/es/factura/programa-facturae.
Liens transverses
- Hub Espagne — vue d'ensemble du mandat e-invoicing
- FACe — hub B2G espagnol utilisant Facturae
- Loi 18/2022 Crea y Crece — obligation B2B
- Verifactu — chainage du logiciel de facturation
- TicketBAI — equivalent forall basque
- Standards — Factur-X / ZUGFeRD
- Standards — PEPPOL BIS Billing 3.0
- Specification Facturae 3.2.2 officielle
- FACe — portail B2G