cadrumo.application.calculations.m111_no_retenciones module

Modelo 111 no-retenciones period attestations.

AEAT instructions say no Modelo 111 is presented for a period in which no subject rents were paid. A later fold may therefore skip such a period, but only when the taxpayer has attested it explicitly and only for Modelo 111 sources; every other dependency keeps its full evidence requirement.

M111_NO_RETENCIONES_PROFILE_PATH: Final

Profile fact carrying comma-separated YYYY:PERIOD no-obligation Modelo 111 periods.

parse_m111_no_retenciones_periods(raw)[source]

Parse profile YYYY:PERIOD tokens into validated period keys.

Invalid tokens are ignored fail-closed: they never suppress a dependency, so verification still asks for the missing filing or evidence instead of treating an unclear declaration as no-obligation evidence.

Return type:

frozenset[tuple[int, str]]

Parameters:

raw (str | None)

m111_no_retenciones_periods_from_profile_values(values)[source]

Return attested Modelo 111 no-retenciones periods from a profile projection.

Return type:

frozenset[tuple[int, str]]

Parameters:

values (Mapping[str, str] | None)

m111_no_retenciones_periods_for_bucket(bucket_id, *, profile_path_values_reader)[source]

Load the attested periods for bucket_id; a missing profile attests nothing.

Return type:

frozenset[tuple[int, str]]

Parameters:
is_m111_no_retenciones_period(*, source_modelo, filing_year, period_token, attested_periods, operation)[source]

Return whether a source requirement is an attested no-obligation Modelo 111 period.

Return type:

bool

Parameters: