cadrumo.domain.contribuyente.entity_type module

Which tax a taxpayer pays, and — for a legal entity — under which form.

EntityType is the axis that selects the tax itself: IRPF for a persona física, Impuesto sobre Sociedades for a legal entity, and the régimen de atribución de rentas for an entity without legal personality. The tax then selects the modelos, the calendar, and the rate schedule.

The pair lives in a module of its own, and deliberately not beside the deadline records that first needed it: every Impuesto sobre Sociedades surface reads this axis, so a home under the taxpayer package keeps that dependency honest. Following domain.contribuyente.ccaa, the module carries no import-time chain of its own, so a caller may reference the token types without pulling in the rest of the package.

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

Bases: StrictRegistryToken

Opaque taxpayer entity-type token projected from the facts registry.

Parameters:
  • value (str)

  • _registry_validated (bool)

Return type:

Self

require_entity_type(value, *, effective_date=None)[source]

Resolve an entity-type token through the dated facts authority.

Return type:

EntityType

Parameters:

Resolve a legal-form token through the dated facts authority.

Return type:

LegalEntityForm

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

Return the ordered registry-declared entity-type choices.

Return type:

tuple[EntityType, ...]

Parameters:

effective_date (date | None)

legal_entity_form_tokens(*, effective_date=None)[source]

Return the ordered registry-declared legal-form choices.

Return type:

tuple[LegalEntityForm, ...]

Parameters:

effective_date (date | None)

legal_entity_form_choice_description_tokens(*, effective_date=None)[source]

Return legal-form choices whose registry metadata enables choice copy.

Return type:

tuple[LegalEntityForm, ...]

Parameters:

effective_date (date | None)

entity_type_natural_person_token(*, effective_date=None)[source]

Return the registry-declared natural-person entity token.

Return type:

EntityType

Parameters:

effective_date (date | None)

Return the registry-declared legal-entity token.

Return type:

EntityType

Parameters:

effective_date (date | None)

entity_type_attribution_entity_token(*, effective_date=None)[source]

Return the registry-declared attribution-entity token.

Return type:

EntityType

Parameters:

effective_date (date | None)

legal_entity_form_sin_fines_lucrativos_token(*, effective_date=None)[source]

Return the registry-declared non-profit legal-form token.

Return type:

LegalEntityForm

Parameters:

effective_date (date | None)

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

Bases: StrictRegistryToken

The recognised legal form of an Impuesto sobre Sociedades entity.

Only meaningful when EntityType is LEGAL_ENTITY; the sub-form drives the IS rate schedule (LIS Art. 29). Grounded in the AEAT distinction between sociedades civiles and comunidades de bienes and the project registry legal/is.toml.

The selected vocabulary and each form’s legal semantics are owned by the dated taxpayer entity fact; this type deliberately carries no member list.

Parameters:
  • value (str)

  • _registry_validated (bool)

Return type:

Self