Saltar a contenido

Formato canónico

A continuación describiremos los datos necesarios del formato canónico en alta / subsanación de facturas para la correcta conversión necesaria a Veri*Factu.

Se adjuntan ejemplos de facturas.

Datos a rellenar del formato canónico para Veri*Factu

Será la aplicación la que determine los datos necesarios para su negocio y la posterior utilización para la generación de un registro Veri*Factu.

Si no se indican, se asumen por defecto los valores para los tipos de datos:

Tipo Valor
boolean false
integer 0
decimal 0
string
datetime 0001-01-01T00:00:00+00:00

A continuación se detallan valores a rellenar del formato canónico para Veri*Factu:

Valor a rellenar
Emisor de factura:
* Seller.Tin: Número de identificación fiscal (NIF) del obligado a expedir la factura.
* Seller.BusinessName: Nombre-razón social del obligado a expedir la factura.
Nº Serie (Series) y Nº Factura (Number) que identifica a la factura emitida.
Para Veri*Factu el Nº Serie (Series) es opcional, pero en el caso de TicketBAI, la norma dice que hay que especificar separadamente el Nº Serie (Series) y el Nº Factura (Number).
Fecha Expedición de la Factura (DateAndTime). Refleja el día en el que se genera formalmente la factura. Es decir, cuando se envía a SDH.
Descripción del objeto de la factura (Description).
(Opcional) Fecha en la que se ha realizado la operación siempre que sea diferente a la fecha de expedición (TransactionDate). Refleja el devengo de la factura, sobre la que se calculan los vencimientos y la contabilización.
Tipo de factura
Consideraciones facturas de sustitución y rectificativas (correctives)
Consideraciones bloque Destinatarios (buyer)
Consideraciones respecto a Terceros (buyer, thirdParty)
Importe total de la cuota (sumatorio de la Cuota Repercutida y Cuota de Recargo de Equivalencia) (TotalTaxes).
Importe total de la factura. (Total).
En el desglose del detalle es necesario especificar en taxableBases con un límite de 12 elementos (se recomienda agrupar mismos conceptos de impuestos):
  • (Opcional) Tipo de Impuesto (taxType). Si no se indica, se asume IVA.
  • Clave de régimen (vatKey).
  • El tipo impositivo (taxrate). Porcentaje aplicado sobre la base imponible para calcular la cuota.
  • La base imponible o el importe no sujeto (baseOrAmount). Magnitud dineraria sobre la que se aplica el tipo impositivo / Importe no sujeto.
  • La cuota repercutida (taxFee). Cuota resultante de aplicar a la base imponible el tipo impositivo.
  • El tipo de detalle:
    * Si es causa no sujeta, asignar valor a causeNotSubject.
    * Si es causa de exención, asignar valor a causeExemption.
    * Resto de casos, asignar valor a nonExemptType. Si no se indica se asume S1-Operación Sujeta y No exenta - Sin inversión del sujeto pasivo.
  • Si tiene recargo de equivalencia:
    * El tipo impositivo del recargo de equivalencia (surchargeTypeEquivalence). Porcentaje asociado en función del impuesto y tipo impositivo.
    * La cuota del recargo de equivalencia (feeSurchargeEquivalence). Cuota resultante de aplicar a la base imponible el tipo de recargo de equivalencia.
  • Si tiene base imponible a coste, asignar taxableBaseAtCost. Magnitud dineraria sobre la que se aplica el tipo impositivo en régimen especial de grupos nivel avanzado.
(Opcional) Cupón (isCoupon). Identificador que especifica si tiene minoración de la base imponible por la concesión de cupones, bonificaciones o descuentos cuando solo se expide el original de la factura.
Sólo se podrá rellenar con true si TipoFactura = R5 o R1.
Indica que la operación no es una factura completa ni simplificada, sino un cupón canjeable por bienes o servicios.Permite que la AEAT reconozca que la operación no genera factura ordinaria, sino un comprobante equivalente (ticket, cupón, vale).
Cuando en normativa fiscal se habla de “factura con cupón”, no se refiere a un vale promocional cualquiera como los que usamos en un supermercado, sino a un concepto concreto.
Un cupón es un documento (o código) que concede al cliente un descuento o bonificación en la compra, y ese descuento afecta directamente a la base imponible de la factura (el importe antes de IVA).
En esos casos, en lugar de emitir una factura por el importe completo y luego otra nota de crédito, la propia factura original ya incluye la minoración (reducción) de la base imponible gracias al cupón.
Por eso el sistema pide marcar ese identificador, para que Hacienda sepa que la factura no refleja el precio íntegro del producto/servicio, sino que ya lleva aplicado un cupón/bonificación que reduce lo que se declara a efectos de IVA.
Ejemplos sencillos:
* Una empresa de telefonía emite un cupón de 20 € de descuento para la siguiente factura.
* Una tienda emite un cupón promocional de 10 % de descuento en la compra actual.
* Una aseguradora aplica una bonificación que aparece como “cupón” en la factura del seguro.
(Opcional) FacturaSimplificadaArt7273 (isSimplifiedArt7273). Factura simplificada que SÍ identifica al destinatario al amparo de los Artículos 7.2 Y 7.3 RD 1619/2012.
Sólo se podrá rellenar con true si TipoFactura=F1, F3, R1, R2, R3 o R4.
Por ejemplo, cuando una operación no supera los 400€ (IVA incluido), está permitido emitir facturas simplificadas incluso a profesionales. En algunos sectores especiales, como la hostelería, dicho importe puede alcanzar hasta los 3000€, pero se debe identificar al receptor si éste quiere deducirse el IVA.
Los artículos 7.2 y 7.3 del RD 1619/2012 permiten que ciertas facturas simplificadas puedan incluirse en el Libro Registro de IVA con efectos de deducción si contienen datos adicionales:
* Art. 7.2 → Factura simplificada con identificación del destinatario cuando éste lo solicite, incluyendo NIF y nombre o razón social del destinatario, Domicilio del destinatario, Tipo impositivo aplicado, Cuota tributaria repercutida.
* Art. 7.3 → Factura simplificada emitida en sectores con obligación específica de identificar al cliente o con importe superior a 400 € (IVA incluido).
(Opcional) FacturaSinIdentifDestinatarioArt61d (isNotBuyerArt61d). Factura que NO identifica al destinatario conforme al artículo 6.1.d) RD 1619/2012.
Sólo se podrá rellenar a true si TipoFactura=F2 o R5.
Por ejemplo, cuando un consumidor final solicita expresamente una factura completa, pero no facilita su identificación fiscal.
El artículo 6.1.d) del RD 1619/2012 indica que se permite no incluir la identificación del destinatario en una factura completa cuando el importe no supere 400 € IVA incluido, o en otros casos concretos previstos en la ley (por ejemplo, ciertas ventas al por menor, hostelería, transporte de personas, etc.), siempre que no sea una operación intracomunitaria o con obligación expresa de identificar al cliente.

Tipo de factura

Especificación del tipo de factura: factura completa, factura simplificada, factura emitida en sustitución de facturas simplificadas o factura rectificativa.

Tipo Factura 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: A pesar de ser una factura simplificada, se considera como completa. Sólo se podrá rellenar con true si TipoFactura=F1, F3, R1, R2, R3 o R4.

isNotBuyerArt61d=true: A pesar de ser un factura completa, se considera como simplificada. Sólo se podrá rellenar a true si TipoFactura=F2 o R5.

Consideraciones de Facturas de Sustitución y Rectificativas

Tipo Factura Bloque FacturasRectificadas o FacturasSustituidas (correctives)
F3 Indicar la lista de facturas emitidas a sustituir en correctives, asignando las facturas (Series y Number) con su fecha expedición (Date).
R1 a R5 Asignar el tipo de factura correctiva en correctiveType.

Indicar la lista de facturas emitidas a rectificar en correctives. asignando las facturas (Series y Number) con su fecha de expedición (Date).

Si es factura rectificativa por sustitución (correctiveType=1), su base imponible (Base), cuota repercutida o soportada (Quota) y opcionalmente su cuota recargo de equivalencia (Surcharge).

Consideraciones bloque Destinatarios

Tipo Factura Bloque Destinatarios (buyer)
F1 Obligatorio
F2 No indicarlo. Simplificada
F3 Obligatorio. Factura completa que Sustituye a varias facturas simplificadas
R1 a R4 Obligatorio
R5 No indicarlo. Rectificativa de Simplificada

Consideraciones respecto a Terceros

Condición Acción (buyer, thirdParty)
isIssuedByThirdParties=true Caso de que la factura sea expedida materialmente por un tercero, porque lo emite otro en nombre del obligado tributario.

Asignar datos del tercero que expide la factura (thirdParty):
- Identificador del NIF o en el país de residencia (Tin).
- Nombre-razón social (BusinessName).
- En caso ser necesario país de residencia, asignar el tipo de documento (documentType) y opcionalmente el código del país (country).
isIssuedByRecipients=true Caso de que la factura sea expedida materialmente por un tercero, porque es el destinatario.
isSimplified=false isSimplifiedArt7273=false Asignar datos de destinatario (o contraparte, es decir el cliente) de la operación (buyer):
- Nombre-razón social (BusinessName).
- si isNotBuyerArt61d=false el identificador del NIF o en el país de residencia (Tin).
- En caso ser necesario país de residencia, asignar el tipo de documento (documentType) y opcionalmente el código del país.

Resolución de casos de ejemplos concretos

Caso
Las facturas de anticipo se deben tratar como una factura normal más, habitualmente de tipo F1.
¿Cómo realizar facturas con IRPF?
¿Cómo realizar facturas de casos de Canarias?
¿Cómo realizar facturas de ventanilla única (OSS)?
¿A quién aplica facturas de terceros desde un SIF Veri*Factu?
¿Cómo se realiza una venta nacional a un cliente intracomunitario?
¿Cómo se realiza una venta intracomunitaria a un cliente intracomunitario?
¿Cómo aplica un régimen de exportación?

Equivalencia de Formato canónico con Veri*Factu

Canónico 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 / EquivalenceRegime Desglose / DetalleDesglose / TipoRecargoEquivalencia
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
}