cadrumo.domain.calculations.registry.withholding296_bindings module

Modelo 296 perceptor row-set binding helpers.

Modelo 296 (IRNR retenciones, resumen anual) declares its own clave vocabulary – numeric renta-type claves with D/E naturaleza – which the shared WithholdingObservation cannot carry, so this family holds its own observation type and selector validation.

class Withholding296Observation(**data)[source]

Bases: BaseModel

One Modelo 296 perceptor row: IRNR renta plus the payer’s retentions.

Parameters:

data (Any)

source_id: str
perceptor_tax_id: TaxIdIdentityToken
representative_tax_id: TaxIdIdentityToken | None
persona_juridica_flag: str | None
codigo_bic: str | None
fecha_devengo: str | None
naturaleza: str
clave: str
subclave: str
base_retenciones: Decimal
porcentaje_retencion: Percentage
retencion_practicada: Decimal
perceptor_mediador_flag: str | None
codigo: str | None
codigo_emisor: str | None
pago: int | None
tipo_codigo: str | None
codigo_cuenta: str | None
pendiente_flag: str | None
accrual_year: int | None
fecha_inicio_prestamo: str | None
fecha_vencimiento_prestamo: str | None
compensaciones: Decimal
garantias: Decimal
otros_importes: Decimal
direccion_perceptor: str | None
ingreso_a_cuenta_repercutido: Decimal
nif_pagador_anterior: TaxIdIdentityToken | None
procedimiento_especial_flag: str | None
clave_mercado: str | None
codigo_lei: str | None
nif_pais_residencia: TaxIdIdentityToken | None
fecha_nacimiento: str | None
ciudad_nacimiento: str | None
codigo_pais: CountryCodeAlpha2 | None
pais_residencia_fiscal: CountryCodeAlpha2 | None
transaction_date: date
class Withholding296Provider(**data)[source]

Bases: BaseModel

The Modelo 296 non-resident withholding provider over its perceptor rows.

Parameters:

data (Any)

kind: Literal[BindingSourceKind.WITHHOLDING296]
fact: _Withholding296Fact
claves: tuple[str, ...]
row_field: _Withholding296RowField | None
grouping: Literal['per_perceptor'] | None
record: str | None
data_type: ExportFieldDataType | None
validate_withholding296_binding_selector_shape(binding)[source]

Validate a withholding296 binding’s selector shape and fact/aggregation invariants.

Return type:

list[str]

Parameters:

binding (BindingDefinition)