Format de factura electrònica XML Facturae: Exemple
Saps què és el format de factura electrònica l’XML Facturae? Es tracta d’una mena d’arxiu que conté totes les dades d’una factura en un llenguatge que pot ser llegit i processat per ordinadors i plataformes informàtiques. Aquest format de factura electrònica que la normativa ha definit a Espanya. En aquest article t’expliquem tot el que necessites saber sobre l’XML Facturae amb exemples i com pots generar-ho de manera senzilla i gratuïta.
- Què és el format Facturae?
- Com és l’arxiu XML Faturae? Exemple
- Com crear una factura electrònica en format Facturae?
Què és el format Facturae?
Facturae és el nom que rep el format de la factura electrònica a Espanya. Es tracta d’un format electrònic estructurat basat en el llenguatge XML i que defineix l’estructura del format de la factura electrònica a Espanya.
L’any 2006 el Ministeri d’Economia i Hisenda juntament amb la banca van definir el model AEAT XML. AEAT són les sigles de l’Agència Estatal d’Administració Tributària, però aviat es va veure la necessitat de canviar-ne el nom. Així va passar a nomenar-se Facturae, que significa senzillament Factura Electrònica.
El format va néixer amb la versió Facturae 3.0, però a causa de la necessitat de corregir alguns aspectes de la versió 3.0, es va crear la versió Facturae 3.1. Posteriorment, es va formar la versió 3.2, la qual ha resultat ser la més utilitzada per les comunicacions amb el sector públic (les versions 3.0 i 3.1 estan discontinuades, és a dir, ja no es poden utilitzar).
Última versió: Facturae 3.2.2
Quan l’any 2017 es van incorporar les comunicacions de factures al sector privat, es van realitzar dues versions més, la versió Facturae 3.2.1 i Facturae 3.2.2 que estenen la funcionalitat de la versió 3.2. Aquestes permeten informar de l’encaminament en el sector privat, entre altres temes que veurem més endavant.
Ara per ara, la versió de Facturae més utilitzada per facturar al sector públic és la 3.2, mentre que pel sector privat és la 3.2.2.
Diferèncis entre Facturae 3.2 i Facturae 3.2.2
Les diferències entre Facturae 3.2 i Facturae 3.2.2 són tècniques, i s’han anat implementant per poder adaptar el format a les necessitats de facturació de l’entorn B2B, és a dir, a les relacions entre empreses privades. Les novetats principals són la incorporació dels següents elements:
- Informació relacionada amb la cessió de Factoring: S’han incorporat els camps
FactoringAssignmentDocument
,DocumentCharacter
,RepresentationIdentity
,DocumentType
,Repository
,RepositoryName
. - Informació que permet identificar la factura rectificada.
- Descripció general de la factura:
InvoiceDescription
. - Etiquetes pel que fa a la línia de la factura:
ReceiverTransactionReference
,FileReference
iReceiverContractReference
. - Per la forma de cobrament:
PaymentInKind
,PaymentInKindReason
iPaymentInKindAmount
. - Altres: S’afegeix Quilovat per hora a la llista d’untats i el format HTML a la llista de formats admesos.
- A més, s’han modificat els tipus de dades, permetent numèriques amb nombres de decimals variables
DoubleUpTonnDecimalType
.
Com és l’arxiu XML Facturae? Exemple
Facturae és un llenguatge definit mitjançant XML (eXtended Markup Language) que descriu el model de factura que s’utilitza a Espanya.
Facturae defineix una sèrie d’elements de la factura electrònica, de dades amb un significat únic en una estructura de fitxer XML que en el seu conjunt defineix una factura.
Per exemple, per a definir el número de la factura s’utilitza el tag InvoiceNumber. Un tag és una etiqueta que delimita la dada. S’obre mitjançant <InvoiceNumber>
i es tanca amb </InvoiceNumber>
:
<InvoiceNumber>2022-9912</InvoiceNumber>
A l’esquema també es defineix el tipus de dades permeses i (en el cas de Facturae) la seva mida. Per exemple, en el cas del número de factura, es permet un màxim de 20 caràcters de text en Facturae 3.2.
Tot llenguatge XML com Facturae es defineix mitjançant un esquema (anomenat XSD). Aquest esquema és el que marca les regles que han de tenir els elements del document XML. Les normes que defineixen l’esquema són del tipus:
- Ordre dels elements dins la factura. P. ex. primer s’ha de posar el número de la factura i després la data.
- Obligatorietat i repetició d’elements a la factura. P. ex. el CIF de l’emissor és obligatori, la informació de pagament és opcional…
- El format dels elements de dades. P. ex. nombre de decimals permesos, longitud de camps…
- Les agrupacions de dades. P. ex. les dades relatives a l’emissor o al receptor, o les dades relatives a les línies.
A Facturae, els esquemes “oficials” es poden trobar aquí
Estructura del format de factura electrònica Facturae XML amb exemples
T’expliquem les principals àrees de l’estructura tècnica de les factures en format Facturae.
FileHeader
Conté metadades de la factura. Les més rellevants són les dades del tercer signant. En el cas de que la factura la sgni un tercer amb signatura delegada (com en el cas de B2Brouter) el camp FileHeader/ThirdParty contélos dades d’Invinet Sistemes (l’entitat jurídica titular de B2Brouter) i el camp InvoiceIssuer és TE per Tercer en lloc d’EM per Emissor. Un altre conjunt d’elements alFileHeader
permet informar de dades associades al factoring de la factura, encara que no s’utilitza normalment.Parties
Inclou informació del venedorSellerParty
i el compradorSellerParty
. La complexitat de les parts a Facturae és que tenen diverses alternatives per definir certs aspectes. Per exemple, pots definir o béLegalEntity
(si la part és una entitat jurídica) o bé Individual (si es tracta d’un consumidor). Un altre exemple, a les direccions es diferencia entreAddressInSpain
quan la direcció és a Espanya, front aOverseasAddress
quan no és espanyola. Aquest últim choice és poc elegant, ja que per saber si una direcció és o no és a Espanya valdria amb el codi de país.
Per una altra banda, a les parts es poden definir elsAdministrativeCenters
o unitats organitzatives d’una identitat. Són elements necessaris per definir els codis DIR3 a les entitats públiques a Espanya. Quan es defineixen els centresa administratius s’han d’incorporar les dades de la direcció física, ja que són elements obligatoris a nivell d’esquema.Invoices
La secció invoices pot contenir múltiples factures (Invoice). No coneixem cap implementació de Facturae on s’utilitzi més d’una factura per fitxer Facturae. De fet, normalment es prohibeix l’ús de diverses factures en un únic fitxer, degut a que els sistemes de gestió no estan preparats per aquest tràmit. Cada factura té les següents seccions:InvoiceHeader
Conté informació de capçalera de la factura, tal com el número i sèrie de la factura, el tipus i la classe. El tipus i classe serveixen per classificar les factures. Amb el tipus es defineix si és completa, abreviada o autofactura, i amb la classe es defineix si es tracta d’una factura original, una rectificativa o una recapitulativa. En el cas de ser factura rectificativa, a InvoiceHeader s’inclou també informació de la factura corregida, on s’ha d’informar del motiu de correcció i del mètode de correcció amb dos elements de dades cadascun, subjectes a sendes de llistes de codis. Veurem exemples de rectificatives més endavant.InvoiceIssueData
Dades de capçalera de factura, com la data de factura IssueDate, però també data d’operació OperationDate, així com a lloc d’emissió, periode de facturacióm moneda d’emissió, taxa de canvi o idioma de la factura.
TaxesOutputs
Aquesta secció és obligatòria i és on es defineixen els impostos de la factura (IVA, Recàrreg d’Equivalència, etc.). CadaTaxesOutputs
pot contenir molts grups Tax. Cada grup Tax s’utilitza per definir un tipus d’impost amb un percentatge. És obligatori definir elTaxTypeCode
(subjecte a una llista de codis, P. ex. 01 = IVA, 02=IPSI), elTaxRate
que indica el percebtatge aplicat i elTaxableBase
que és la base imposable. A més es pot definir elTaxAmount
o import de l’impost. Aquesta classe conté dos particularitat, en primer lloc els elementsSpecialTaxableAmount
iSpecialTaxAmount
, camps que fan referència a l’article tercer punt 5 de la Llei 36/2006: Cinc. S’afegeix un nou Capítol IX al Títol IX de la Llei, amb la següent redacció: «CAPÍTULO IX Régimen especial del grupo de entidades Artículo 163 quinquies. Requisitos subjetivos del régimen especial del grupo de entidades. Per altra banda, hi ha els elementsEquivalenceSurcharge
iEquivalenceSurchargeAmount
que fan referència al recàrreg d’equivalència.TaxesWithheld
Segueix la mateixa estructura queTaxesOutputs
però serveix per definir l’IRPF. S’han d’informar en psitiu encara que es resti del total de la factura.InvoiceTotals
Defineix els imports totals de la factura. Pràcticament tots els elements de dades són obligatoris. ElTotalGrossAmount
és el total import brut de la factura. ElTotalGeneralDiscount
i elTotalGeneralCharges
contenen el total de descomptes i càrregs a nivell de la factura respectivament. ElTotalGrossAmountBeforeTaxes
és el brut amb descomptes i càrregs a nivell de factura. ElTotalTaxesOutputs
és el total d’impostos repercutits i elTotalTaxesWithheld
el total d’impostos retinguts (és obligatori, s’ha d eposar amb valor 0.00 a factures sense IRPF) i finalment, elInvoiceTotal
que és el total de la factura, amb impostos inclosos. Després es pot informar d’altres imports com les subvencions, els pagaments a compte o els suplits que veurem més endavant amb exemples. Com elements obligatoris addicionals hi ha elTotalOutstandingAmount
, que és el total a pagar, i elTotalExecutableAmount
que és el total a pagar menys els imports retinguts més gastos reembolsables.Items
Aquesta secció conté múltiples línies de facture InvoiceLine. Cada línia de factura té un gran número de referències, encara que és difícil entendre a què fa referència cadascuna d’elles. De fet, és un dels principals problemes de Facturae, ja que diferents receptors obliguen a utilitzar diferents referències. Per exemple, trobemIssuerTransactionReference
,IssuerContractReference
,ReceiverContractReference
oFileReference
. A més de les diverses referències es pot descriure la línia de factura, la quantitat, el preu i els impostos a nivel de línia. Es poden afegir descomptes i càrregs a nivell de línia. També es pot incloure un identificador d’articleArticleCode
així com informació addicinoal no estructurada aAdditionalLineItemInformation
. Cada línia té un punt d’extensió que es pot utilitzar per afegir dades estructurades addicionals.PaymentDetails
És una secció opcional on es poden definir múltiples venciments de la classe Installment. Cada venciment ha de contenir una dataInstallmentDate
, un importInstallmentAmount
, i una forma de pagament codificadaPaymentMeans
. De forma opcional, es pot afegir informació sobre els comptes bancarisAccountToBeCredited
iAccountToBeDebited
, referències per facilitar la conciliació bancàriaPaymentReconciliationReference
iDebitReconciliationReference
. Altres dades a cada venciment són les notes addicionalsCollectionAdditionalInformation
i un camp anomenatRegulatoryReportingData
que és un codi estadístic utilitzat a operacions transfrontereres.LegalLiterals
És una secció que pot contenir múltiples LegalReference, que són camps textuals de fins a 2500 caràcters, on es pot incloure determinada informació requerida per a donacions, subvencions, etc.AdditionalData
Permet relacionar números de factures relacionades mitjançantRelatedInvoice
, relació d’annexos a la factura amb les dades dels annexos embedades en base 64 aRelatedDocuments
, i notes addicionals a la factura enInvoiceAdditionalInformation
. EnAdditionalData
també es poden incorporarExtensions
a nivell d’una factura.Extensions
Permet incorporar qualsevol extensió estructurada a la factura.
ds:Signature
Aquesta secció pertany a la especificació de la signatura electrònica. Conté les dades que permeten garantitzar la identiat i integritat de la factura.
Com crear una factura en format Facturae?
Com pots comprovar, el format Facturae no és fàcil de generar, ja que requereix coneixements tècnics. El Ministeri ha creat una aplicació que et permet generar aquest arxiu, però no és gaire intuitiu ni funcional. Per això et parlem sobre altres solucions simples, eficaces i en alguns casos gratuites,, per crear i gestionar totes les teves factures electròniques sense complicacions.
Crea les teves factures electròniques de manera ràpida i senzilla
Existeixen diferents solucions especialitzades, preparades per a facilitar la creació de factures electròniques en diferents formats estructurats, com ara Facturae o altres (UBL, XRechnung, FatturaPA, etc). Algunes d’aquestes solucions ofereixen la possibilitat de generar factures electròniques de forma gratuita, afegint les dades de la factura en un formulari i convertit-lo de manera automàtica en l’arxiu i el format desitjat pel receptor.
Fer una factura electrònica!