Spain: SII - Validation rules change from October 1, 2019 - Dynamics 365 for Finance and Operations

Applies to: Dynamics 365 for Finance and Operations

Introduction


AgenciaTribunaria of Spain published on 17th of May 2019 new validation anderror document in “Suministro Inmediato de Informacion del IVA” (SII) whichtakes effect from the 1st of October 2019. (Publicación nuevo documentode validaciones y errores a partir del 01-10-2019).

From 1stof July the new checks are available in the SII test environment.

To accommodatesome of the new validation rules following Electronic reporting configurationsare updated and available for download from LCS shared asset library:

  • SII Invoice IssuedFormat (ES).version.61.28
  • SII Invoice ReceivedFormat (ES).version.51.25

Lean more howto download Electronic reporting configurations:

https://docs.microsoft.com/en-us/dynamics365/unified-operations/dev-itpro/analytics/download-electronic-reporting-configuration-lcs

New versionsof Electronic reporting configurations released for the current change can beimported and used on the following versions of Dynamics 365 for Finance andOperations: 7.3, 10.0.3, 10.0.4, 10.0.5, 10.0.6 and later.

Overview


This chapter describesnew validations and errors introduced by Agencia Tribunaria of Spain in SII whichtake effect from the 1st of October 2019:

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 [BaseImponible] ≤ 1000: [CuotaRepercutida] = ([BaseImponible] * TipoImpositivo) +/- 1% of [BI] (+/- €10).

If [BaseImponible] ˃ 1000: [CuotaRepercutida] = ([BaseImponible] * TipoImpositivo) +/- €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 BaseImponible <> 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 [BaseImponible ] ≤ 1000: [CuotaRepercutida] = ([BaseImponible ] * TipoImpositivo) +/- 1% of [BI] (+/- €10).

If [BaseImponible ] ˃ 1000: [CuotaRepercutida] = ([BaseImponible ] * 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 completion 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 [BaseImponible ] ≤ 1000: [CuotaRepercutida] = ([BaseImponible ] * TipoImpositivo) +/- 1% of [BI] (+/-  €10).

If [BaseImponible ] ˃ 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 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>

BaseImponibleACostemandatory 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 TipoImpositivo 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.

Check is provided on report level: CuotaDeducible =  SUM(CuotaSoportada)

Check is provided on report level: if ClaveRegimenEspecialOTranscedencia = 13, CuotaDeducible will be reported as “0.00”.