cadrumo.domain.calculations.registry.prorrata_vocabulary module

Typed projections for the 0116 prorrata lifecycle and input vocabularies.

The dated renta-iva-deduction-ratio-policy fact owns the prorrata kind and art. 106 input-classification vocabularies. This module is the only runtime projection of those declarations; the IVA domain keeps opaque token types and arithmetic mechanics, but no closed catalogue of legal values.

class ProrrataKindDefinition(token, description, legal_ref, period_required, annual_only)[source]

Bases: object

One registry-declared prorrata lifecycle kind and its period policy.

Parameters:
token: ProrrataKind
description: str
legal_ref: str
period_required: bool
annual_only: bool
class ProrrataKindCatalogue(definitions)[source]

Bases: object

Typed projection of the 0116 prorrata-kind vocabulary.

Parameters:

definitions (tuple[ProrrataKindDefinition, ...])

definitions: tuple[ProrrataKindDefinition, ...]
property tokens: tuple[ProrrataKind, ...]

Return the authority-declared kinds in authored order.

property all_kinds: frozenset[ProrrataKind]

Return every authority-declared kind.

require(value)[source]

Project one token only when the selected authority declares it.

Return type:

ProrrataKind

Parameters:

value (object)

definition(value)[source]

Return the selected kind’s registry-owned semantics.

Return type:

ProrrataKindDefinition

Parameters:

value (object)

class InputClassificationDefinition(token, description, legal_ref, deductible_percentage, uses_general_percentage)[source]

Bases: object

One registry-declared art. 106 input classification and deduction rule.

Parameters:
token: InputClassification
description: str
legal_ref: str
deductible_percentage: Decimal | None
uses_general_percentage: bool
class InputClassificationCatalogue(definitions, default_classification)[source]

Bases: object

Typed projection of the 0116 art. 106 input vocabulary.

Parameters:
definitions: tuple[InputClassificationDefinition, ...]
default_classification: InputClassification
property tokens: tuple[InputClassification, ...]

Return the authority-declared classifications in authored order.

property all_classifications: frozenset[InputClassification]

Return every authority-declared classification.

require(value)[source]

Project one token only when the selected authority declares it.

Return type:

InputClassification

Parameters:

value (object)

definition(value)[source]

Return the selected classification’s registry-owned semantics.

Return type:

InputClassificationDefinition

Parameters:

value (object)

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

Resolve the dated prorrata lifecycle vocabulary from fact 0116.

Return type:

ProrrataKindCatalogue

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

Project one prorrata lifecycle token through fact 0116.

Return type:

ProrrataKind

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

Return one prorrata lifecycle token’s period policy.

Return type:

ProrrataKindDefinition

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

Return the uniquely annual-only kind declared by fact 0116.

Return type:

ProrrataKind

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

Resolve the dated art. 106 input vocabulary from fact 0116.

Return type:

InputClassificationCatalogue

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

Project one art. 106 input token through fact 0116.

Return type:

InputClassification

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

Return one input classification’s registry-owned deduction semantics.

Return type:

InputClassificationDefinition

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

Return the selected art. 106 classifications in registry order.

Return type:

tuple[InputClassification, ...]

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

Return the 0116-declared mixed-use default classification.

Return type:

InputClassification

Parameters: