aeat.domain.modelos._m232_row_materialisation module¶
M232 related-party row materialisation into positional casillas.
M232 is an informative-only modelo (Art. 18 LIS) where taxpayers declare
related-party transactions. Rows come from CLI input as Modelo232VinculadaRow
objects and must be materialised into positional casillas on the form.
The form has 5 row slots (vinculada 1-5) for related parties, each with 5 fields (NIF, type_vinculacion, type_operacion, method, importe). Total positions 144-748 on page_01.
Materialisation maps each row’s fields to the registry casilla definitions
declared on the ModeloRevision and produces CasillaObservation
objects carrying full legal and source provenance from the registry. This is a
CLI-row materialiser on the domain row-model surface, not a registry
DataBindingDefinition family; it consumes the registry symbols it needs
through the registry package facade.
Materialise related-party rows into positional casillas.
Each row populates a 1-based row position (vinculada-1 through vinculada-5) with 5 fields. Total 50 casillas across 5 row slots at positions 144-748 on page_01.
Creates CasillaObservation for every field in every row, pulling legal_refs and source_refs from the registry casilla definitions. Rows beyond the form’s capacity (>5) are rejected.
- Parameters:
revision (
ModeloRevision) – TheModeloRevisionwith declared casillas for M232.rows (
tuple[Modelo232VinculadaRow,...]) – Tuple of Modelo232VinculadaRow objects from CLI input.
- Return type:
- Returns:
Tuple of
CasillaObservationobjects for all row fields- Raises:
RegistryValidationError – If rows exceed form capacity (>5 rows) or if a casilla referenced by a row is not defined on the revision.