aeat.domain.iva._recargo_equivalencia module¶
Registry-backed loader for LIVA art. 161 recargo de equivalencia rates.
Closes the recargo de equivalencia rate gap in the IVA substrate:
the four LIVA art. 161 rate values (general 5.2 %, reduced 1.4 %,
super-reduced 0.5 %, tobacco 1.75 %) live in
registry/aeat/legal/iva-recargo-equivalencia.toml under
[parameters."liva-art-161:*"] entries with explicit BOE
citations and review metadata, and Python consumers import them
from this module.
The loader follows the same idiom as
aeat.domain.fincas._imputacion_parameters: a frozen pydantic
record loaded once at module import time, with an explicit
recargo_rate_for() helper that maps from the substrate’s
IvaRateKind tier to the corresponding recargo Decimal.
The LIVA_ART_161_RECARGO accessor is the canonical source for
recargo de equivalencia rates across the codebase.
The recargo de equivalencia regime (LIVA arts. 148-163) applies to comerciantes minoristas (retailers) with limited annual revenue who buy stock for resale; their suppliers charge them an additional recargo on top of the regular IVA rate. The four rates align with the four IVA tiers per LIVA art. 161:
General (21 % IVA) → 5.2 % recargo (art. 161 1.º).
Reduced (10 % IVA, art. 91 uno) → 1.4 % recargo (art. 161 2.º).
Super-reduced (4 % IVA, art. 91 dos) → 0.5 % recargo (art. 161 3.º).
Tobacco-specific → 1.75 % recargo (art. 161 4.º).
- class LivaArt161RecargoRates(**data)[source]¶
Bases:
BaseModelFrozen record of the LIVA art. 161 recargo de equivalencia rates.
- Variables:
general_rate – 5.2 % recargo applied alongside the 21 % IVA tier (LIVA art. 161 1.º).
reducido_rate – 1.4 % recargo applied alongside the 10 % IVA tier (LIVA art. 161 2.º, referencing art. 91 uno).
super_reducido_rate – 0.5 % recargo applied alongside the 4 % IVA tier (LIVA art. 161 3.º, referencing art. 91 dos).
tabaco_rate – 1.75 % recargo applied to entregas de labores del tabaco (LIVA art. 161 4.º).
- Parameters:
- general_rate: Decimal¶
- reducido_rate: Decimal¶
- super_reducido_rate: Decimal¶
- tabaco_rate: Decimal¶
- load_recargo_rates()[source]¶
Public accessor for the LIVA art. 161 recargo de equivalencia rates.
Reads the four art. 161 rate parameters from the bundled legal-parameter catalogue and returns the typed
LivaArt161RecargoRatesrecord. Userecargo_rate_for()for the convenientIvaRateKind- keyed lookup; tobacco callers read.tabaco_ratedirectly.- Return type:
- recargo_rate_for(rate_kind)[source]¶
Return the recargo de equivalencia rate aligned with
rate_kind.- Parameters:
rate_kind (
IvaRateKind) – The substrate IVA rate tier.- Return type:
- Returns:
The matching recargo Decimal for
GENERAL/REDUCED/SUPER_REDUCEDtiers;NoneforZEROandEXEMPT(recargo de equivalencia does not apply to operations whose underlying IVA rate is zero or exempt).
The tobacco-specific 1.75 % rate is not keyed by
IvaRateKind; callers that handle labores del tabaco readLIVA_ART_161_RECARGO.tabaco_ratedirectly.