Libro de emitidas (Invoices issued) |
Field(s) | Validation | Affects on |
Sujeta > NoExenta > Tipoimpositivo | 1. Only values 0%, 4%, 10% and 21% are allowed. 2. If FechaOperacion <= 2012 values 7%, 8%, 16% and 18% are allowed. | Only allowed values of rates by Sales tax codes must be used for tax transactions to be reported to SII from the company. |
Sujeta > NoExenta > TipoRecargoEquivalencia | 1. Only values 5.2%, 1.4%, 0.5% and 1.75% are allowed. 2.If FechaOperacion <= 2012 then 1% and 4% are allowed. | Only allowed values of rates by Equivalence charge codes must be used for tax transactions to be reported to SII from the company. |
Sujeta > NoExenta > CuotaRecargoEquivalencia | If ClaveRegimenEspecialOTrascendencia <> "06" CuotaRecargoEquivalencia = (BaseImponible * TipoRecargoEquivalencia) +/- 1% of the BaseImponible (+/- € 10) | CuotaRecargoEquivalencia value must be controlled by user on transaction posting moment. Posted value will be reported. |
Sujeta > NoExenta > TipoNoExenta = “S1” and single ClaveRegimenEspecialOTrascendencia is different from 03, 05, 09, 16 | TipoImpositivo: mandatory and <> 0. CuotaRepercutida: mandatory (except invoice type F2, F4 and R5) and must be validated (except if TipoRectificativa = "I" or type of invoice F2, F4 and R5) that: If ClaveRegimenEspecialOTrascendencia <> 06: CuotaRepercutida and BaseImponible must have the same sign. If [BI] ≤ 1000: [Cuota] = ([Base] * tipo) +/- 1% of [BI] (+/- €10). If [BI] ˃ 1000: [Cuota] = ([Base] * tipo) +/- €10 . If ClaveRegimenEspecialOTrascendencia = 06: CuotaRepercutida and BaseImponible must have the same sign. If [BI to cost] ≤ 1000: [CuotaRepercutida] = ([BI to cost] * TipoImpositivo) +/- 1% of the [BI to cost] (+/- €10) . If [BI to cost] ˃ 1000: [CuotaRepercutida] = ([BI to cost] * TipoImpositivo) +/- €10. | CuotaRepercutida value must be controlled by user on transaction posting moment. Posted value will be reported. |
Sujeta > NoExenta > TipoNoExenta = “S1” and several ClaveRegimenEspecialOTrascendencia |
| Several ClaveRegimenEspecialOTrascendencia - not supported scenario. |
Sujeta > NoExenta > TipoNoExenta = “S1” and single ClaveRegimenEspecialOTrascendencia that is 03 or 05 or 09 | - ImporteTotal: mandatory If BaseImponible = 0 validate that: - TipoImpositivo: blank or zero. - CuotaRepercutida: blank field or zero. If BI <> 0 validate that: - TipoImpositivo: mandatory and <> 0 - CuotaRepercutida: mandatory field (except invoice type F2, F4 and R5) and must be validated (except if TipoRectificativa = "I" or type of invoice F2, F4 and R5) that: CuotaRepercutida and BaseImponible must have the same sign. If [BI] ≤ 1000: [CuotaRepercutida] = ([BaseImponibl] * TipoImpositivo) +/- 1% of [BI] (+/- €10). If [BI] ˃ 1000: [CuotaRepercutida] = ([BaseImponibl] * TipoImpositivo) +/- €10. | CuotaRepercutida value must be controlled by user on transaction posting moment. Posted value will be reported. On reporting level the following condition is added: IF(TipoNoExenta=S1 and ClaveRegimenEspecialOTrascendencia in (03, 05, 09) and BaseImponible = 0) THEN TipoImpositivo = 0. |
Sujeta > NoExenta > TipoNoExenta = “S2” | When TipoNoExenta=S2, validate that: - TipoImpositivo = 0. (Not allowed blank). - CuotaRepercutida = 0. (Not allowed blank). | “S2” value refers to Reverse charge transactions. If tax transaction is posted as Reverse charge, it must be posted with TaxRate = 0, otherwise validation will not be passed as TipoImpositivo and CuotaRepercutida will not be equal to 0.00. This must be controlled by user on transaction posting moment. |
Sujeta > NoExenta > TipoNoExenta = “S3” and single ClaveRegimenEspecialOTrascendencia other than 03, 05, 09, 16 | -At least two lines of detail. -TipoImpositivo: mandatory field (0 is allowed). - At least one line of details with TipoImpositivo = 0. - At least one line with TipoImpositivo <> 0. - CuotaRepercutida: If TipoImpositivo = 0, CuotaRepercutida = 0. - If TipoImpositivo <> 0, mandatory (except invoice type F2, F4 and R5). If TipoRectificativa <> "I", invoice type <> F2, F4 or R5 and all ClaveRegimenEspecialOTrascendencia <> 06 validate that: CuotaRepercutida and BaseImponible must have the same sign. If [BI] ≤ 1000: [CuotaRepercutida] = ([BaseImponible] * TipoImpositivo) +/- 1% of [BI] (+/- €10). If [BI] ˃ 1000: [CuotaRepercutida] = ([BaseImponible] * TipoImpositivo) +/- €10. - If TipoImpositivo <> 0 and any of the ClaveRegimenEspecialOTrascendencia = 06: mandatory (except invoice type F2, F4 and R5). | CuotaRepercutida value must be controlled by user on transaction posting moment. Posted value will be reported.
|
Sujeta > NoExenta > TipoNoExenta = “S3” and single ClaveRegimenEspecialOTrascendencia that is 03 or 05 or 09 | - At least two lines of detail. - TipoImpositivo: blank or 0. - At least one line with TipoImpositivo = 0. - CuotaRepercutida: blank or 0. | “S3” value refers to a case when there is at least one Reverse charge transaction and at least one non-Reverse charge transaction. If tax transaction is posted as Reverse charge, it must be posted with TaxRate = 0, otherwise validation will not be passed as TipoImpositivo and CuotaRepercutida will not be equal to 0.00. This must be controlled by user on transaction posting moment. |
Sujeta > NoExenta > TipoNoExenta = “S3” and several ClaveRegimenEspecialOTrascendencia |
| Several ClaveRegimenEspecialOTrascendencia - not supported scenario. |
DesgloseTipoOperacion | - Excluded when DesgloseFactura is reported. - at least one PrestacionServicios and / or Entrega must appear. - If PrestacionServicios and / or Entrega blocks are completed simultaneously, the TipoNoExenta S1, S2 and S3 will be informed independently of each one of them. - The same validations will be applied to each of the blocks independently | In current implementation <DesgloseFactura> is always disabled, which means that <DesgloseTipoOperacion> must always be reported. |
TipoComunicacion=”A5” or “A6” | Validation of the field <TipoFactura> in the book of invoices issued | “A5” and “A6” values are out of scope of current implementation. |
In the book of issued invoices ClaveRegimenEspecialOTranscedencia = 06 | TipoFactura must be different from "F2", "F4" or "R5" | Values of ClaveRegimenEspecialOTranscedencia and TipoFactura are controlled by user during preparing data for reporting. |
In the book of issued invoices <BaseImponibleACoste> | BaseImponibleACoste – mandatory if ClaveRegimenEspecialOTranscedencia = "06" | Check is provided on report level. |
In the book of issued invoices <ImporteTotal> | 1.Obligatory if "there is only one line DetalleIVA" and BaseImponible= 0 and TipoFactura= "F2" or "F4" or "R5". 2.Obligatory if ClaveRegimenEspecialOTranscedencia = "05" or "03" or "09". | Check on report level is provided: ImporteTotal tag – is always reported. |
Libro de recibidas (Invoices received) |
<TipoImpositivo> <InversionSujetoPasivo> | - Only values 0%, 4%, 10% and 21% are allowed - If FechaOperacion <= 2012 values 7%, 8%, 16% and 18% are allowed | Only allowed values of rates by Sales tax codes must be used for tax transactions to be reported to SII from the company. |
<TipoImpositivo> <DesgloseIVA> | - Mandatory if CuotaSoportada is completed and BaseImponible <> 0 - Only values 0%, 4%, 10% and 21% are allowed - If FechaOperacion <= 2012 types 7%, 8%, 16% and 18% are allowed | Only allowed values of rates by Sales tax codes must be used for tax transactions to be reported to SII from the company. TipoImpositivo check is provided on report level – must be reported when BaseImponible <> 0. |
<CuotaSoportada> in <InversionSujetoPasivo> | CuotaSoportada and BaseImponible must have the same sign. If [BI] ≤ 1000: [CuotaSoportada] = ([BaseImponible] * TipoImpositivo) +/- 1% of [BI] (+/- €10 ). If [BI] ˃ 1000: [CuotaSoportada] = ([BaseImponible] * TipoImpositivo) +/- €10. | CuotaSoportada value must be controlled by user on transaction posting moment. Posted value will be reported.
|
<ImporteCompensacionREAGYP > in <DesgloseIVA> |
| ImporteCompensacionREAGYP is out of scope of current implementation. |
<NumSerieFacturaEmisor> in TipoFactura ="F5" and "LC" | 1. If TipoFactura = "F5" the NumSerieFacturaEmisor must have the format of identification number DUA AA, last two digits of the year of capture of the DUA PP, Country of the DUA: we would admit any ISO code, not only Spain. 00RRRR, presentation field AAAAAAA, "sequential numbering" within the presentation site D, validation digit https://www.agenciatributaria.es/AEAT.internet/Inicio/La_Agencia_Tributaria/Aduanas_e_Impuestos_Especiales/_Presentacion/La_Aduana_espanola/_INFORMACION/Novedades/2015/Numeracion_y_guia_EDIFACT_del_DUA_de_importacion.shtml 2. If TipoFactura = "LC" the NumSerieFacturaEmisor must have the format of the complementary liquidations of Aduanas: It should start with LC, A01 or A02 NumSerieFacturaEmisor - Series No.+ Invoice No. That identify the invoice issued | Number sequences for documents which must be reported as TipoFactura ="F5" and "LC" must be setup in accordance to the requirement of SII. Invoice number will be reported to SII with the number defined during posting. |
<CuotaDeducible> | 1.If all amounts in lines of the CuotaSoportada field are positive, validate that: CuotaDeducible ≤ sum of CuotaSoportada +1 euro. (Will not apply when ClaveRegimenEspecialOTranscedencia = 14 and date of submission is less than 1.1.19 or ClaveRegimenEspecialOTranscedencia is 02 or 13) 2.If the CuotaSoportada has some positive line and some negative, (It will not apply when ClaveRegimenEspecialOTranscedencia = 14 and date of submission is less than 1.1.19 or key regime is 02 or 13) validate that. CuotaDeducible ≤ sum of positive CuotaSoportada + 1 euro. (do not take into account the negative supported quotas). 3. If ClaveRegimenEspecialOTranscedencia = 13, validate that: CuotaDeducible = 0. 4.If it is indicated as ClaveRegimenEspecialOTranscedencia = 02, validate that: [CuotaDeducible] <= [sum ImporteCompensacionREAGYP ] + 1 euro. | CuotaDeducible
= SUM(CuotaSoportada) controlled on
report level Check is provided on report level: if ClaveRegimenEspecialOTranscedencia = 13, CuotaDeducible will be reported as “0.00”. |