Data to be filled for the canonical format for Veri*Factu
Below we describe the data required in the canonical format for invoice creation / subsanation, in order to ensure correct conversion to Veri*Factu.
| Value to be completed |
|---|
| General Canonical format |
| Invoice type |
Third-party considerations (buyer, thirdParty) |
In the detailed breakdown, it is necessary to specify taxableBases with a limit of 12 elements for Veri*Factu (grouping identical tax concepts is recommended):
|
(Optional) Coupon (isCoupon). Flag that specifies whether there is a reduction of the taxable base due to coupons, bonuses, or discounts when only the original invoice is issued.It may only be set to true if TipoFactura = R5 or R1.It indicates that the operation is not a full or simplified invoice, but a coupon redeemable for goods or services. It allows the AEAT to recognize that the operation does not generate an ordinary invoice, but an equivalent proof (ticket, coupon, voucher). When tax regulations refer to an “invoice with coupon”, they do not mean any promotional voucher like those used in a supermarket, but a specific concept. A coupon is a document (or code) that grants the customer a discount/bonus on the purchase, and that discount directly affects the invoice taxable base (the amount before VAT). In these cases, instead of issuing an invoice for the full amount and then a separate credit note, the original invoice already includes the reduction of the taxable base thanks to the coupon. That is why the system requires marking this flag, so the Tax Agency knows that the invoice does not reflect the full price of the product/service, but already has a coupon/bonus applied that reduces what is declared for VAT purposes. Simple examples: * A telecom company issues a €20 discount coupon for the next bill. * A shop issues a promotional 10% discount coupon for the current purchase. * An insurer applies a bonus that appears as a “coupon” on the insurance invoice. |
(Optional) FacturaSimplificadaArt7273 (isSimplifiedArt7273). Simplified invoice that DOES identify the recipient under Articles 7.2 and 7.3 of RD 1619/2012.It may only be set to true if TipoFactura = F1, F3, R1, R2, R3 or R4.For example, when an operation does not exceed €400 (VAT included), it is allowed to issue simplified invoices even to professionals. In certain special sectors, such as hospitality, this threshold can be up to €3,000, but the recipient must be identified if they want to deduct VAT. Articles 7.2 and 7.3 of RD 1619/2012 allow certain simplified invoices to be included in the VAT Record Book with deduction effects if they contain additional data: * Art. 7.2 → Simplified invoice with recipient identification upon request, including NIF and name/corporate name of the recipient, recipient address, applied tax rate, and output VAT quota. * Art. 7.3 → Simplified invoice issued in sectors with a specific obligation to identify the customer or with amounts above €400 (VAT included). |
(Optional) FacturaSinIdentifDestinatarioArt61d (isNotBuyerArt61d). Invoice that DOES NOT identify the recipient under Article 6.1.d) of RD 1619/2012.It may only be set to true if TipoFactura = F2 or R5.For example, when a final consumer expressly requests a full invoice, but does not provide their tax identification. Article 6.1.d) of RD 1619/2012 indicates that it is allowed to omit the recipient identification on a full invoice when the amount does not exceed €400 VAT included, or in other specific cases provided by law (for example, certain retail sales, hospitality, passenger transport, etc.), as long as it is not an intra-Community transaction or a case with an explicit obligation to identify the customer. |
Invoice type
Specification of the invoice type: full invoice, simplified invoice, invoice issued as a replacement for simplified invoices, or corrective invoice.
| Invoice type | isSimplified |
isSimplifiedSubstitution |
isCorrective |
correctiveKey |
|---|---|---|---|---|
| F1 | ||||
| F2 | true | |||
| F3 | true | |||
| R1 | true | 1 | ||
| R2 | true | 2 | ||
| R3 | true | 3 | ||
| R4 | true | 4 | ||
| R5 | true | true | 5 |
isSimplifiedArt7273=true: Although it is a simplified invoice, it is considered a full invoice. It may only be set to true if TipoFactura=F1, F3, R1, R2, R3 or R4.
isNotBuyerArt61d=true: Although it is a full invoice, it is considered a simplified invoice. It may only be set to true if TipoFactura=F2 or R5.
Third-party considerations
| Condition | Action (buyer, thirdParty) |
|---|---|
isIssuedByThirdParties=true |
If the invoice is materially issued by a third party, i.e., someone else issues it on behalf of the taxpayer. Fill in third-party data ( thirdParty):- Tax ID (NIF) or foreign identifier ( Tin).- Name/corporate name ( BusinessName).- If necessary, include the document type ( documentType) and optionally the country code (country). |
isIssuedByRecipients=true |
If the invoice is materially issued by a third party because the issuer is the recipient. |
isSimplified=false isSimplifiedArt7273=false |
Fill in recipient (counterparty/customer) data (buyer):- Name/corporate name ( BusinessName).- If isNotBuyerArt61d=false, include tax ID (NIF) or foreign identifier (Tin).- If necessary, include the document type ( documentType) and optionally the country code. |
Resolution of specific example cases
| Case |
|---|
| How to issue invoices with IRPF? |
| How to issue invoices for Canary Islands cases? |
| How to issue One-Stop Shop (OSS) invoices? |
Canonical format equivalence with Veri*Factu
| Canonical | Veri*Factu |
|---|---|
| Seller / Tin | IDFactura / IDEmisorFactura |
| Seller / BusinessName | NombreRazonEmisor |
| Buyer / Tin | Destinatarios / IDDestinatario / NIF |
| Buyer / Country | Destinatarios / IDDestinatario / IDOtro / CodigoPais |
| Buyer / DocumentType | Destinatarios / IDDestinatario / IDOtro / IDType |
| Buyer / Tin | Destinatarios / IDDestinatario / IDOtro / ID |
| Buyer / BusinessName | Destinatarios / IDDestinatario / NombreRazon |
| ThirdParty / Tin | Tercero / NIF |
| ThirdParty / Country | Tercero / IDOtro / CodigoPais |
| ThirdParty / DocumentType | Tercero / IDOtro / IDType |
| ThirdParty / Tin | Tercero / IDOtro / ID |
| ThirdParty / BusinessName | Tercero / NombreRazon |
| IsIssuedByRecipients | EmitidaPorTerceroODestinatario |
| IsIssuedByThirdParties | EmitidaPorTerceroODestinatario |
| Series | IDFactura / NumSerieFactura |
| Number | IDFactura / NumSerieFactura |
| DateAndTime | IDFactura / FechaExpedicionFactura |
| IsSimplified | TipoFactura |
| IsSimplifiedSubstitution | TipoFactura |
| IsCorrective | TipoFactura |
| CorrectiveKey | TipoFactura |
| CorrectiveType | TipoRectificativa |
| Correctives / Base | ImporteRectificacion / BaseRectificada |
| Correctives / Quota | ImporteRectificacion / CuotaRectificada |
| Correctives / Surcharge | ImporteRectificacion / CuotaRecargoRectificado |
| Correctives / Series | FacturasRectificadas o FacturasSustituidas / IDFacturaRectificada o IDFacturaSustituida / NumSerieFactura |
| Correctives / Number | FacturasRectificadas o FacturasSustituidas / IDFacturaRectificada o IDFacturaSustituida / NumSerieFactura |
| Correctives / Date | FacturasRectificadas o FacturasSustituidas / IDFacturaRectificada o IDFacturaSustituida / FechaExpedicionFactura |
| TransactionDate | FechaOperacion |
| Description | DescripcionOperacion |
| TotalTaxes | CuotaTotal |
| Total | ImporteTotal |
| TaxableBases / CauseExemption | Desglose / DetalleDesglose / OperacionExenta |
| TaxableBases / NonExemptType | Desglose / DetalleDesglose / CalificacionOperacion |
| TaxableBases / BaseOrAmount | Desglose / DetalleDesglose / BaseImponibleOimporteNoSujeto |
| TaxableBases / TaxRate | Desglose / DetalleDesglose / TipoImpositivo |
| TaxableBases / TaxFee | Desglose / DetalleDesglose / CuotaRepercutida |
| TaxableBases / SurchargeTypeEquivalence | Desglose / DetalleDesglose / TipoRecargoEquivalencia |
| TaxableBases / FeeSurchargeEquivalence | Desglose / DetalleDesglose / CuotaRecargoEquivalencia |
| TaxableBases / CauseNotSubject | Desglose / DetalleDesglose / CalificacionOperacion |
| TaxableBases / TaxableBaseAtCost | Desglose / DetalleDesglose / BaseImponibleACoste |
| TaxableBases / VATKey | Desglose / DetalleDesglose / ClaveRegimen |
| TaxableBases / TaxType | Desglose / DetalleDesglose / Impuesto |
| IsSimplifiedArt7273 | FacturaSimplificadaArt7273 |
| IsNotBuyerArt61d | FacturaSinIdentifDestinatarioArt61d |
| IsCoupon | Cupon |
{
"series": "string",
"number": "string",
"dateAndTime": "datetime",
"transactionDate": "datetime",
"isSimplified": boolean,
"isSimplifiedSubstitution": boolean,
"seller": {
"tin": "string",
"businessName": "string"
},
"buyer": {
"tin": "string",
"documentType": integer,
"businessName": "string",
"country": "string"
},
"thirdParty": {
"tin": "string",
"documentType": integer,
"businessName": "string",
"country": "string"
},
"isIssuedByThirdParties": boolean,
"isIssuedByRecipients": boolean,
"isCorrective": boolean,
"correctiveKey": integer,
"correctiveType": integer,
"correctives": [
{
"series": "string",
"number": "string",
"date": "datetime",
"base": decimal,
"quota": decimal,
"surcharge": decimal
}
],
"description": "string",
"totalTaxes": decimal,
"total": decimal,
"taxableBases": [
{
"taxType": integer,
"causeExemption": integer,
"nonExemptType": integer,
"causeNotSubject": integer,
"baseOrAmount": decimal,
"taxRate": decimal,
"taxFee": decimal,
"surchargeTypeEquivalence": decimal,
"feeSurchargeEquivalence": decimal,
"equivalenceRegime": boolean,
"taxableBaseAtCost": decimal,
"vatKey": integer
}
],
"isCoupon": boolean,
"isSimplifiedArt7273": boolean,
"isNotBuyerArt61d": boolean
}