cadrumo.core.irnr module

Typed axes for the IRNR (non-resident income tax) treaty surface.

Registry-owned axes governing the Modelo 210 IRNR rate-resolution path are represented here by opaque string types. Their membership is projected at the domain boundary rather than enumerated in this core module:

  • TipoRentaIrnr — the income-type axis an IRNR filer tags each item with. It keys the TRLIRNR baseline rate table, the treaty override rows, and the Art. 25.1.b pension tariff branch. It was previously a free-text casilla value with no enum home, which forced adjacent verification work to route a categorical-equality predicate around the untyped axis.

  • ConvenioOverrideKind — an opaque token projected from the governed irnr.convenio.override fact. Keeping the token typed lets consumers make the “más favorable” / limitation-of-benefits decision without duplicating the catalogue’s value set here.

Both IRNR axes are consumed by the cross-cutting irnr.convenio.override authored fact and its ConvenioAuthority projection. The registry TOML stays free-form (a plain string token); the loader hydrates typed tokens at the boundary.

class TipoRentaIrnr(value, *, _registry_validated=False)[source]

Bases: StrictRegistryToken

Opaque IRNR income-type token projected from governed fact 0080.

The value set and its Modelo 210 code projection belong to the dated facts catalogue. This wire type deliberately carries no Python member list; callers must obtain instances through the typed registry resolver.

Parameters:
  • value (str)

  • _registry_validated (bool)

Return type:

Self

class M210PayerMode(value, *, _registry_validated=False)[source]

Bases: StrictRegistryToken

Opaque Modelo 210 payer-mode token projected from the registry.

The selected detail catalogue owns payer-mode membership, descriptions, and the code-35 applicability rule. This core type carries only the typed wire token; callers must obtain values through the registry projection.

Parameters:
  • value (str)

  • _registry_validated (bool)

Return type:

Self

class M210GrossIncomeSourceMode(*values)[source]

Bases: StrEnum

Authority selected for Modelo 210 rendimientos_integros on one revision.

MANUAL
LEDGER
class ConvenioOverrideKind(value, *, _registry_validated=False)[source]

Bases: str

Opaque treaty-override token projected from irnr.convenio.override.

The governed catalogue owns the available override values. Keeping this type opaque prevents a second, closed Python taxonomy from drifting away from that catalogue; registry consumers must receive their token through from_registry.

Parameters:
  • value (str)

  • _registry_validated (bool)

Return type:

Self

classmethod from_registry(value)[source]

Construct the typed value from its canonical registry token.

Return type:

Self

Parameters:

value (str)

property value: str

Return the canonical wire token.

property name: str

Return the canonical token for diagnostics.