Facturae 3.2.2 — totales incoherentes (válida contra el XSD)
Dieselbe Datei mit einer Änderung: InvoiceTotal deklariert 1.200,00 €, wo die Formel des Schemas 1.210,00 € ergibt (Basis 1.000 + USt 210). Die Datei ist gegen das offizielle facturae.gob.es-XSD GÜLTIG — ein reiner Schema-Validator lässt sie durch. Nur die Kohärenzschicht findet den Fehler und meldet zudem, dass die Losumme nicht mehr stimmt. Kein „offizieller“ Ablehnungscode: Facturae/FACe veröffentlicht keine offline prüfbaren Ablehnungscodes — daher eine Warnung, kein Fehler.
3.2.2 — Gültig
Dieselbe Datei mit einer Änderung: InvoiceTotal deklariert 1.200,00 €, wo die Formel des Schemas 1.210,00 € ergibt (Basis 1.000 + USt 210). Die Datei ist gegen das offizielle facturae.gob.es-XSD GÜLTIG — ein reiner Schema-Validator lässt sie durch. Nur die Kohärenzschicht findet den Fehler und meldet zudem, dass die Losumme nicht mehr stimmt. Kein „offizieller“ Ablehnungscode: Facturae/FACe veröffentlicht keine offline prüfbaren Ablehnungscodes — daher eine Warnung, kein Fehler.
Was diese Datei zeigt
Dieselbe Datei mit einer Änderung: InvoiceTotal deklariert 1.200,00 €, wo die Formel des Schemas 1.210,00 € ergibt (Basis 1.000 + USt 210). Die Datei ist gegen das offizielle facturae.gob.es-XSD GÜLTIG — ein reiner Schema-Validator lässt sie durch. Nur die Kohärenzschicht findet den Fehler und meldet zudem, dass die Losumme nicht mehr stimmt. Kein „offizieller“ Ablehnungscode: Facturae/FACe veröffentlicht keine offline prüfbaren Ablehnungscodes — daher eine Warnung, kein Fehler.
| Transaktionen | 1 |
|---|---|
| Summe | 1.200,00 € |
| Datum in der Datei | 2026-01-15 |
Die enthaltenen Fehler
- CALC-TOTALInvoiceTotal declara 1200,00 € donde la fórmula del esquema (TotalGrossAmountBeforeTaxes 1000 + TotalTaxOutputs 210 − TotalTaxesWithheld 0) da 1210,00 €.
- CALC-BATCHTotalInvoicesAmount del lote (1210,00 €) no coincide con la suma de los InvoiceTotal (1200,00 €).
Wörtlich aus dem Validator zitiert, nicht umformuliert.
Alle Parteien, IBANs und Beträge unten sind fiktiv. Die IBANs sind strukturell gültig — sie bestehen die Mod-97-Prüfung — gehören aber zu keinem realen Konto.
Dateiinhalt
<?xml version="1.0" encoding="UTF-8"?>
<fe:Facturae xmlns:fe="http://www.facturae.gob.es/formato/Versiones/Facturaev3_2_2.xml" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<FileHeader>
<SchemaVersion>3.2.2</SchemaVersion>
<Modality>I</Modality>
<InvoiceIssuerType>EM</InvoiceIssuerType>
<Batch>
<BatchIdentifier>FAC2026-0001</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>A58818501</TaxIdentificationNumber>
</TaxIdentification>
<LegalEntity>
<CorporateName>Suministros Técnicos del Ebro SL</CorporateName>
<AddressInSpain>
<Address>Calle Mayor 12</Address>
<PostCode>50001</PostCode>
<Town>Zaragoza</Town>
<Province>Zaragoza</Province>
<CountryCode>ESP</CountryCode>
</AddressInSpain>
</LegalEntity>
</SellerParty>
<BuyerParty>
<TaxIdentification>
<PersonTypeCode>J</PersonTypeCode>
<ResidenceTypeCode>R</ResidenceTypeCode>
<TaxIdentificationNumber>P5000000I</TaxIdentificationNumber>
</TaxIdentification>
<AdministrativeCentres>
<AdministrativeCentre>
<CentreCode>L01502973</CentreCode>
<RoleTypeCode>01</RoleTypeCode>
<Name>Intervención General</Name>
<AddressInSpain>
<Address>Plaza del Pilar 18</Address>
<PostCode>50001</PostCode>
<Town>Zaragoza</Town>
<Province>Zaragoza</Province>
<CountryCode>ESP</CountryCode>
</AddressInSpain>
</AdministrativeCentre>
<AdministrativeCentre>
<CentreCode>L01502974</CentreCode>
<RoleTypeCode>02</RoleTypeCode>
<Name>Órgano Gestor</Name>
<AddressInSpain>
<Address>Plaza del Pilar 18</Address>
<PostCode>50001</PostCode>
<Town>Zaragoza</Town>
<Province>Zaragoza</Province>
<CountryCode>ESP</CountryCode>
</AddressInSpain>
</AdministrativeCentre>
<AdministrativeCentre>
<CentreCode>L01502975</CentreCode>
<RoleTypeCode>03</RoleTypeCode>
<Name>Unidad Tramitadora</Name>
<AddressInSpain>
<Address>Plaza del Pilar 18</Address>
<PostCode>50001</PostCode>
<Town>Zaragoza</Town>
<Province>Zaragoza</Province>
<CountryCode>ESP</CountryCode>
</AddressInSpain>
</AdministrativeCentre>
</AdministrativeCentres>
<LegalEntity>
<CorporateName>Ayuntamiento de Zaragoza</CorporateName>
<AddressInSpain>
<Address>Plaza del Pilar 18</Address>
<PostCode>50001</PostCode>
<Town>Zaragoza</Town>
<Province>Zaragoza</Province>
<CountryCode>ESP</CountryCode>
</AddressInSpain>
</LegalEntity>
</BuyerParty>
</Parties>
<Invoices>
<Invoice>
<InvoiceHeader>
<InvoiceNumber>0001</InvoiceNumber>
<InvoiceSeriesCode>2026</InvoiceSeriesCode>
<InvoiceDocumentType>FC</InvoiceDocumentType>
<InvoiceClass>OO</InvoiceClass>
</InvoiceHeader>
<InvoiceIssueData>
<IssueDate>2026-01-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>
<TotalGrossAmountBeforeTaxes>1000.00</TotalGrossAmountBeforeTaxes>
<TotalTaxOutputs>210.00</TotalTaxOutputs>
<TotalTaxesWithheld>0.00</TotalTaxesWithheld>
<InvoiceTotal>1200.00</InvoiceTotal>
<TotalOutstandingAmount>1200.00</TotalOutstandingAmount>
<TotalExecutableAmount>1200.00</TotalExecutableAmount>
</InvoiceTotals>
<Items>
<InvoiceLine>
<ItemDescription>Servicio de mantenimiento informático</ItemDescription>
<Quantity>10</Quantity>
<UnitOfMeasure>01</UnitOfMeasure>
<UnitPriceWithoutTax>100.000000</UnitPriceWithoutTax>
<TotalCost>1000.00</TotalCost>
<GrossAmount>1000.00</GrossAmount>
<TaxesOutputs>
<Tax>
<TaxTypeCode>01</TaxTypeCode>
<TaxRate>21.00</TaxRate>
<TaxableBase>
<TotalAmount>1000.00</TotalAmount>
</TaxableBase>
<TaxAmount>
<TotalAmount>210.00</TotalAmount>
</TaxAmount>
</Tax>
</TaxesOutputs>
</InvoiceLine>
</Items>
<PaymentDetails>
<Installment>
<InstallmentDueDate>2026-02-15</InstallmentDueDate>
<InstallmentAmount>1210.00</InstallmentAmount>
<PaymentMeans>04</PaymentMeans>
<AccountToBeCredited>
<IBAN>ES9121000418450200051332</IBAN>
</AccountToBeCredited>160 / 186 lines shown — the complete file is in the download above.
Woher wir wissen, dass diese Ergebnisse stimmen
Jede Datei dieser Bibliothek läuft bei jedem Build durch den eigenen Validator der Website. Das oben genannte erwartete Ergebnis wird von einem automatisierten Test geprüft: Passt eine Datei nicht mehr zu dem, was diese Seite behauptet, schlägt der Build fehl. Zwei geerbte Fixtures wurden so vor der Veröffentlichung repariert — drei IBANs scheiterten an der Mod-97-Prüfung, und mehrere Namen nutzten Zeichen außerhalb des SEPA-Basiszeichensatzes.