Un ficheiro Facturae 3.2 é un documento XML con catro bloques. FileHeader recolle a versión, a modalidade e o tipo de emisor. Parties identifica fiscalmente o emisor e o receptor. Invoices contén cada factura coa súa cabeceira, datas, impostos, totais e liñas. Pecha o ficheiro a sinatura electrónica XAdES. Se falta algún dos seus campos obrigatorios, o validador rexeita o ficheiro.
Os catro bloques do XML de Facturae e a súa orde
O elemento raíz chámase Facturae e contén, sempre nesta orde, FileHeader, Parties, Invoices e a sinatura (ds:Signature). O esquema XSD é estrito coa orde: un bloque desprazado invalida o documento aínda que todos os datos sexan correctos.
- FileHeader: describe o ficheiro no seu conxunto, non cada factura. Indica a versión do esquema, se contén unha factura ou un lote e quen o emite.
- Parties: identifica o vendedor (SellerParty) e o comprador (BuyerParty) co seu NIF, o seu nome ou razón social e o seu enderezo.
- Invoices: agrupa unha ou varias facturas (Invoice). Cada unha leva os seus propios datos de cabeceira, impostos, totais e liñas de detalle.
- Sinatura XAdES: sinatura electrónica avanzada sobre todo o documento. Acredita quen o emite e que non foi alterado.
As etiquetas están en inglés aínda que o formato sexa español. Os importes usan o punto como separador decimal e non levan separador de miles.
Datos requiridos en FileHeader e Parties dun XML de Facturae
A cabeceira do ficheiro e as partes son o primeiro que comproba calquera validador. A táboa resume os elementos imprescindibles e o fallo máis habitual en cada un.
| Elemento | Que contén | Erro típico |
|---|---|---|
| SchemaVersion | Versión do esquema utilizada | Non coincide co espazo de nomes do XML |
| Modality | I (individual) ou L (lote) | Marcar I con varias facturas dentro |
| InvoiceIssuerType | EM emisor, RE receptor ou TE terceiro | Usar TE sen cubrir o bloque ThirdParty |
| Batch | Identificador do lote, número de facturas e totais | Totais do lote distintos da suma de facturas |
| TaxIdentification | Tipo de persoa (F ou J), residencia e NIF | NIF con espazos ou guións |
| LegalEntity ou Individual | Razón social, ou nome e apelidos | Usar LegalEntity para un autónomo |
| AddressInSpain | Enderezo, código postal, concello, provincia e país | Código postal incompleto ou provincia baleira |
O BatchIdentifier fórmase concatenando o NIF do emisor co número e a serie da primeira factura. Se o destinatario é unha Administración pública, o comprador leva ademais o bloque AdministrativeCentres cos códigos DIR3 da oficina contable, o órgano xestor e a unidade tramitadora.
Subbloques de cada factura dentro de Invoices, paso a paso
Cada Invoice constrúese cos seguintes subbloques. Todos son imprescindibles agás TaxesWithheld, que depende da operación, e PaymentDetails.
- InvoiceHeader: inclúe o número (InvoiceNumber), a serie se existe, o tipo de documento (FC completa, FA simplificada, AF autofactura) e a clase (OO orixinal, OR rectificativa). Unha rectificativa esixe o bloque Corrective coa factura corrixida e o motivo.
- InvoiceIssueData: data de expedición, moeda da factura, moeda do imposto e idioma.
- TaxesOutputs: impostos repercutidos, con tipo de imposto, porcentaxe, base e cota. En España o IVE pode ser xeral do 21 %, reducido do 10 % ou superreducido do 4 %.
- TaxesWithheld: retencións, como o IRPF que practica a empresa que lle paga a un profesional.
- InvoiceTotals: importe bruto, base antes de impostos, total de impostos, total de retencións, total da factura e importe a pagar.
- Items: liñas de detalle con descrición, cantidade, prezo unitario sen impostos, importe bruto e impostos de cada liña.
- PaymentDetails: vencemento, importe, medio de pagamento e conta (IBAN). Non sempre é obrigatorio, pero facilita conciliar o cobramento.
O tipo FA (simplificada) só vale dentro dos límites do artigo 4 do Real Decreto 1619/2012: ata 400 € IVE incluído, ou ata 3.000 € en determinados sectores retallistas.
Exemplo de factura de 1.000 € con IVE e IRPF no XML
Un profesional factura 1.000 € de honorarios a unha empresa, con IVE do 21 % e retención de IRPF do 15 %. A táboa mostra como se reparten os importes entre os campos do ficheiro.
| Concepto da factura | Cálculo | Importe | Campo no XML |
|---|---|---|---|
| Base impoñible | honorarios do servizo | 1.000,00 € | TotalGrossAmountBeforeTaxes |
| IVE (21 %) | 1.000,00 € × 21 % | 210,00 € | TotalTaxOutputs |
| Retención IRPF (15 %) | 1.000,00 € × 15 % | −150,00 € | TotalTaxesWithheld |
| Total factura (base + IVE) | 1.000,00 € + 210,00 € | 1.210,00 € | Sen campo propio: base máis cotas |
| Importe a cobrar | total − retención | 1.060,00 € | InvoiceTotal e TotalExecutableAmount |
Dous detalles evitan rexeitamentos. O primeiro: TotalTaxesWithheld escríbese en positivo (150.00), porque o propio esquema o resta. O segundo: InvoiceTotal é a base máis o IVE menos a retención, non o total con IVE.
Se o cliente é un particular, a factura non leva retención. Nese caso desaparece o bloque TaxesWithheld e TotalTaxesWithheld queda a 0.00. Para cadrar as cifras antes de xerar o ficheiro, podes usar a calculadora de factura con IVE.
Sinatura XAdES, validación e uso do formato na factura electrónica B2B
A sinatura XAdES vai dentro do propio XML e xérase cun certificado electrónico do emisor ou de quen asina no seu nome. Calquera cambio posterior, aínda que sexa un espazo, rompe a sinatura. Por iso convén validar o ficheiro xa asinado, non o borrador.
Entre empresas, a Lei 18/2022 (Ley Crea y Crece), o Real Decreto 238/2026 e a Orden HAC/1028/2026 fixan dous prazos:
- 6 de outubro de 2027, para quen superou 8 millóns de euros de volume de operacións o ano anterior.
- 6 de outubro de 2028, para o resto de empresarios e profesionais, autónomos incluídos.
Facturae é un dos formatos admitidos entre plataformas, como modelo EN 16931, xunto a UBL, CII e EDIFACT. A solución pública da AEAT traballa en UBL. Quen emita por unha plataforma privada debe enviarlle á vez unha copia fiel en UBL. Tes o resto de obrigas na guía de factura electrónica para autónomos.
Esta obriga non é VeriFactu. A factura electrónica regula o formato e o intercambio entre empresas. VeriFactu regula o programa que xera os rexistros de facturación e os remite á AEAT.
Preguntas frecuentes
Que diferenza hai entre Facturae e UBL?
Facturae e UBL son dous formatos XML de factura electrónica admitidos entre plataformas en España. Facturae é o formato español, con etiquetas propias e sinatura XAdES. UBL é un estándar internacional e é o formato que usa a solución pública da AEAT, que esixe unha copia fiel en UBL.
Unha factura en formato Facturae ten que ir asinada?
Unha factura en formato Facturae inclúe a sinatura electrónica XAdES como último bloque do XML. Esa sinatura acredita a identidade do emisor e garante que o contido non foi modificado. Calquera cambio posterior á sinatura invalida o ficheiro, así que a validación debe facerse sobre o XML xa asinado.
Como se indica a retención de IRPF nun XML de Facturae?
A retención de IRPF nun XML de Facturae declárase no bloque TaxesWithheld, coa súa porcentaxe, base e cota. As porcentaxes habituais son o 15 % ou o 7 % para novos autónomos. O total retido figura en positivo en TotalTaxesWithheld e réstase para obter InvoiceTotal.
Serve Facturae 3.2 para a factura electrónica obrigatoria entre empresas?
Facturae 3.2 serve como formato de intercambio entre plataformas na factura electrónica B2B, porque se admite como modelo EN 16931. Quen emita por unha plataforma privada debe enviar ademais unha copia fiel en UBL á solución pública da AEAT. Para a maioría de autónomos, o prazo é o 6 de outubro de 2028.
Se queres saber como che afectan estas obrigas e en que data, fai o diagnóstico gratuíto de risco VeriFactu de Fakturia: en 2 minutos terás unha visión clara da túa situación.