aeat.application.modelo._bienes_inversion_advisory module

Calculate-path advisory wiring for the capital-goods IVA regularización register.

Modelo 303 casilla 43 (Regularización bienes de inversión - Cuota) is input_kind = manual: LIVA arts. 107-110 require a governed feed from the profile-scoped capital-goods register, the current-year definitive prorrata percentage, and art-110 disposal cap facts before the source can become a hard binding. Per 2026-07-01-iva-bienes-inversion-regularizacion-adr (Decision 2), the bounded first slice does not force-fit casilla 43 as a hard binding; instead it reads the profile-scoped BienesInversionIvaRegister and, when it holds capital goods in their LIVA art. 107 regularisation window for the filing year, surfaces a non-blocking CalculationSourceDiagnostic naming the proposed casilla-43 value (or, absent the deferred definitive-percentage input, which goods are pending it) — never a silent blank (no-silent-under-declaration). Per ADR Decision 3, a good the register records as disposed of (art. 110 entrega) during the filing year is routed instead through the single (“única”) disposal regularización, which carries no pending state: every fact art. 110 needs is already on the record, so the advisory always names a concrete proposed figure.

The register’s LIVA art. 107.Siete “último período de liquidación del año natural” timing means the regularización is due once a year, at the settlement period (the fourth quarter or the annual period for Modelo 303 filers); this collector only inspects the register on those periods so a mid-year quarter does not raise noise for a compute that is not yet due.

This module supplies the prorrata_definitiva_by_identifier mapping to build_bienes_inversion_regularizacion_advisory() as an empty mapping: until a bienes-inversion source resolver maps the live prorrata percentage onto each register row and binding target, every in-window, non-disposed good is reported pending that source input rather than silently omitted. It likewise supplies no cuota_devengada_entrega_by_identifier to build_bienes_inversion_transmision_advisory(), so the regla-1ª cap stays unapplied until the operator’s own cuota devengada on the disposal is captured — the disposal figure itself is never withheld pending that cap.

See also

_calculation_diagnostics:

Post-calculation coordinator that calls this collector with the owning bucket id.

_bienes_inversion_regularizacion:

Pure advisory-projection functions this collector wires to the register.

bienes_inversion:

Application-layer facade exposing the register repository this collector loads.

bienes_inversion:

Register records, the art-109 annual compute, and the art-110 disposal compute.

collect_bienes_inversion_regularizacion_diagnostics(*, modelo, period_token, filing_year, bucket_id)[source]

Return the bienes-de-inversión regularización advisories for one calculation.

Loads the active bucket’s BienesInversionIvaRegister and projects it through both build_bienes_inversion_regularizacion_advisory() (the ordinary annual art-109 comparison, for in-window, non-disposed goods) and build_bienes_inversion_transmision_advisory() (the art-110 single disposal regularización, for a good disposed of during filing_year) for filing_year. Returns an empty tuple for every modelo other than Modelo 303, for a non-settlement period (the regularización is a once-a-year event per LIVA art. 107.Siete), or when the register holds neither an in-window good nor a disposal for the year.

Parameters:
  • modelo (str) – The modelo identifier of the filing being calculated. Only Modelo 303 declares casilla 43; every other modelo returns an empty tuple immediately.

  • period_token (str) – Bare registry period token for the filing being calculated (e.g. "4T", "1T", "0A").

  • filing_year (int) – The filing year regularised (the year whose in-window goods are compared, and whose disposals are regularised).

  • bucket_id (str) – Bucket identifier the register is loaded from.

Return type:

tuple[CalculationSourceDiagnostic, ...]

Returns:

A tuple carrying the annual advisory and/or the disposal advisory when the register holds in-window art-108-eligible goods and/or a disposal for filing_year, or a one-element storage_degraded diagnostic when the encrypted register cannot be read; an empty tuple otherwise.