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,FileReferenceiReceiverContractReference. - Per la forma de cobrament:
PaymentInKind,PaymentInKindReasoniPaymentInKindAmount. - 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.
FileHeaderConté 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 alFileHeaderpermet informar de dades associades al factoring de la factura, encara que no s’utilitza normalment.PartiesInclou informació del venedorSellerPartyi 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 entreAddressInSpainquan la direcció és a Espanya, front aOverseasAddressquan 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 elsAdministrativeCenterso 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.InvoicesLa 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:InvoiceHeaderConté 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.InvoiceIssueDataDades 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.
TaxesOutputsAquesta secció és obligatòria i és on es defineixen els impostos de la factura (IVA, Recàrreg d’Equivalència, etc.). CadaTaxesOutputspot 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), elTaxRateque indica el percebtatge aplicat i elTaxableBaseque és la base imposable. A més es pot definir elTaxAmounto import de l’impost. Aquesta classe conté dos particularitat, en primer lloc els elementsSpecialTaxableAmountiSpecialTaxAmount, 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 elementsEquivalenceSurchargeiEquivalenceSurchargeAmountque fan referència al recàrreg d’equivalència.TaxesWithheldSegueix la mateixa estructura queTaxesOutputsperò serveix per definir l’IRPF. S’han d’informar en psitiu encara que es resti del total de la factura.InvoiceTotalsDefineix 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. ElTotalGeneralDiscounti elTotalGeneralChargescontenen 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 elTotalTaxesWithheldel total d’impostos retinguts (és obligatori, s’ha d eposar amb valor 0.00 a factures sense IRPF) i finalment, elInvoiceTotalque é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 elTotalExecutableAmountque és el total a pagar menys els imports retinguts més gastos reembolsables.ItemsAquesta 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,ReceiverContractReferenceoFileReference. 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’articleArticleCodeaixí 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 bancarisAccountToBeCreditediAccountToBeDebited, referències per facilitar la conciliació bancàriaPaymentReconciliationReferenceiDebitReconciliationReference. Altres dades a cada venciment són les notes addicionalsCollectionAdditionalInformationi un camp anomenatRegulatoryReportingDataque é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.AdditionalDataPermet 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. EnAdditionalDatatambé es poden incorporarExtensionsa nivell d’una factura.ExtensionsPermet incorporar qualsevol extensió estructurada a la factura.
ds:SignatureAquesta 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!