cadrumo.domain.calculations.registry.irpf_regimes module

Typed projections for the dated IRPF regime vocabulary fact.

class IrpfEstimationRegimeDefinition(token, description, tax_regime, filing_modelos, legal_refs)[source]

Bases: object

One registry-declared estimation-regime token and its semantics.

Parameters:
token: IrpfEstimationRegime
description: str
tax_regime: str
filing_modelos: tuple[str, ...]
legal_refs: tuple[str, ...]
class IrpfSpecialRegimeDefinition(token, description, tax_regime, filing_modelos, window_years, legal_refs)[source]

Bases: object

One registry-declared special-regime token and its semantics.

Parameters:
token: IrpfSpecialRegime
description: str
tax_regime: str
filing_modelos: tuple[str, ...]
window_years: int | None
legal_refs: tuple[str, ...]
class IrpfRegimeVocabulary(estimation_regimes, special_regimes)[source]

Bases: object

The complete typed projection of fact irpf-regime-vocabulary.

Parameters:
estimation_regimes: tuple[IrpfEstimationRegimeDefinition, ...]
special_regimes: tuple[IrpfSpecialRegimeDefinition, ...]
property all_estimation_regimes: frozenset[IrpfEstimationRegime]

Return every declared estimation regime.

property all_special_regimes: frozenset[IrpfSpecialRegime]

Return every declared special regime.

require_estimation_regime(value)[source]

Return one declared estimation regime or refuse it.

Return type:

IrpfEstimationRegime

Parameters:

value (object)

require_special_regime(value)[source]

Return one declared special regime or refuse it.

Return type:

IrpfSpecialRegime

Parameters:

value (object)

special_definition(value)[source]

Return the declaration for one admitted special regime.

Return type:

IrpfSpecialRegimeDefinition

Parameters:

value (object)

resolve_irpf_regime_vocabulary(*, effective_date=None, authority=None)[source]

Resolve and validate all five IRPF regime tokens from fact 0125.

Return type:

IrpfRegimeVocabulary

Parameters:
require_irpf_estimation_regime(value, *, effective_date=None, authority=None)[source]

Return one registry-declared estimation regime.

Return type:

IrpfEstimationRegime

Parameters:
require_irpf_special_regime(value, *, effective_date=None, authority=None)[source]

Return one registry-declared special regime.

Return type:

IrpfSpecialRegime

Parameters:
irpf_estimation_regime_tokens(*, effective_date=None, authority=None)[source]

Return all estimation-regime tokens in declared order.

Return type:

tuple[IrpfEstimationRegime, ...]

Parameters:
irpf_special_regime_tokens(*, effective_date=None, authority=None)[source]

Return all special-regime tokens in declared order.

Return type:

tuple[IrpfSpecialRegime, ...]

Parameters:
irpf_estimation_regime_directa_normal_token(*, effective_date=None, authority=None)[source]

Return the declared direct-normal estimation token.

Return type:

IrpfEstimationRegime

Parameters:
irpf_estimation_regime_directa_simplificada_token(*, effective_date=None, authority=None)[source]

Return the declared direct-simplified estimation token.

Return type:

IrpfEstimationRegime

Parameters:
irpf_estimation_regime_objetiva_token(*, effective_date=None, authority=None)[source]

Return the declared objective-estimation token.

Return type:

IrpfEstimationRegime

Parameters:
irpf_special_regime_general_token(*, effective_date=None, authority=None)[source]

Return the declared general special-regime token.

Return type:

IrpfSpecialRegime

Parameters:
irpf_special_regime_impatriado_token(*, effective_date=None, authority=None)[source]

Return the declared impatriate special-regime token.

Return type:

IrpfSpecialRegime

Parameters:
irpf_special_regime_impatriado_window_years(*, effective_date=None, authority=None)[source]

Return the declared duration of the impatriate regime window.

Return type:

int

Parameters: