cadrumo.domain.calculations.registry.gasto193_bindings module

Modelo 193 gastos-relationship row-set binding helpers.

Modelo 193’s hoja anexo (registro tipo 2, relación de gastos) carries one row per contribuyente for whom the declarante perceived the art. 26.1.a) LIRPF gastos de administracion y deposito de valores. This family validates the observation and binding-selector shapes consumed by row-set ingestion. The required declarante total is a separate explicit input until a secure observation owner exists.

class Gasto193Observation(**data)[source]

Bases: BaseModel

One modelo 193 gastos-relationship row: contribuyente plus annual gastos.

Parameters:

data (Any)

source_id: str
contributor_tax_id: TaxIdIdentityToken
representative_tax_id: TaxIdIdentityToken | None

NIF of the minor’s legal representative, declared by the design only when the contribuyente is a minor; spaces elsewhere.

transaction_date: date
importe_gastos: Decimal

The annual gastos de administracion y deposito amount (positions 195-206), the design’s own zeros when none.

class Gasto193ContributorProvider(**data)[source]

Bases: BaseModel

The Modelo 193 expense-contributor provider over the detail-record store.

Parameters:

data (Any)

kind: Literal[BindingSourceKind.GASTO193_CONTRIBUTOR]
fact: _Gasto193Fact
claves: tuple[str, ...]
row_field: _Gasto193RowField | None
grouping: Literal['per_gasto193_contribuyente'] | None
record: str | None
data_type: ExportFieldDataType | None
validate_gasto193_binding_selector_shape(binding)[source]

Validate a gasto193 binding’s fact/aggregation invariants.

The provider shape is the union member’s own gate; only the fact/op cross-invariant needs lifting to build time.

Return type:

list[str]

Parameters:

binding (BindingDefinition)