cadrumo.core.modelo_232_codigos module¶
Closed value sets for the Modelo 232 coded declaration fields.
Modelo 232 declares each operación vinculada with three coded fields, and AEAT
publishes their enumerations as Tablas A, B and C of the diseño de registro
DR23200, bundled under _data/corpus/aeat_official/disenos_registro/
modelo_232/. Orden HFP/816/2017 art. 3 names the same three axes in prose –
art. 3.1.d the tipo de vinculación, art. 3.1.f the tipo de operación with its
eleven claves enumerated inline, art. 3.1.h the método de valoración – and
delegates the first and last to Ley 27/2014 arts. 18.2 and 18.4.
These enums are the single typed home for those three sets, declared in core
per the core-authority discipline: closed axes live in core/, hydrate at
boundaries, and are asserted as members in tests. Two packages read them –
domain.modelos types the operator-supplied CLI row, and
domain.calculations.registry types the related-party observation its binding
family resolves – which is why the home is core rather than either consumer.
The DR’s field widths are load-bearing rather than incidental, because these
values are written into fixed-width positions on page_01: tipo de vinculación
occupies ONE position (240), while tipo de operación (243-244) and método de
valoración (246-247) occupy two each. A code wider than its field cannot be
declared at all, which is what rules out the OECD abbreviations (CUP,
TNMM) for the art. 18.4 methods AEAT codes as 1A-1E.
Each axis carries an explicit blank member. The whole vinculada block is marked conditional rather than obligatorio in the DR, so a blank field is a state the record genuinely represents – and the alternative, defaulting to a real code, would declare a relationship, an operation kind or a valuation method the taxpayer never stated.
- class TipoVinculacion(*values)[source]¶
Bases:
StrEnumOne Modelo 232 tipo-de-vinculación code — DR23200 Tabla A.
The art. 18.2 LIS relationship cases, in the single alphanumeric position the DR gives the field. The value byte-equals the stored token, so a member compares, hashes, and JSON-serialises identically to its string.
- Variables:
A_SOCIOS_O_PARTICIPES – Una entidad y sus socios o partícipes.
B_CONSEJEROS_O_ADMINISTRADORES – Una entidad y sus consejeros o administradores.
C_PARIENTES_DE_SOCIOS_O_ADMINISTRADORES – Una entidad y los cónyuges o personas unidas por relaciones de parentesco con sus socios, partícipes, consejeros o administradores (art. 18.3.c LIS).
D_ENTIDADES_DEL_MISMO_GRUPO – Dos entidades que pertenezcan a un grupo.
E_ADMINISTRADORES_DE_OTRA_DEL_GRUPO – Una entidad y los consejeros o administradores de otra entidad, cuando ambas pertenezcan a un grupo.
F_PARTICIPACION_INDIRECTA_25 – Una entidad y otra participada por la primera indirectamente en, al menos, el 25 % del capital social o de los fondos propios.
G_SOCIOS_COMUNES_25 – Dos entidades en las cuales los mismos socios, partícipes o sus cónyuges, o personas unidas por relaciones de parentesco, participen directa o indirectamente en, al menos, el 25 % del capital social o los fondos propios.
H_ESTABLECIMIENTOS_PERMANENTES_EN_EL_EXTRANJERO – Una entidad residente en territorio español y sus establecimientos permanentes en el extranjero.
NO_DECLARADO – The DR’s blank — the conditional field carries no code.
- A_SOCIOS_O_PARTICIPES¶
- B_CONSEJEROS_O_ADMINISTRADORES¶
- C_PARIENTES_DE_SOCIOS_O_ADMINISTRADORES¶
- D_ENTIDADES_DEL_MISMO_GRUPO¶
- E_ADMINISTRADORES_DE_OTRA_DEL_GRUPO¶
- F_PARTICIPACION_INDIRECTA_25¶
- G_SOCIOS_COMUNES_25¶
- H_ESTABLECIMIENTOS_PERMANENTES_EN_EL_EXTRANJERO¶
- NO_DECLARADO¶
- class TipoOperacionVinculada(*values)[source]¶
Bases:
StrEnumOne Modelo 232 tipo-de-operación clave — DR23200 Tabla C.
The eleven claves Orden HFP/816/2017 art. 3.1.f enumerates, zero-padded to the two positions the DR gives the field. The prose numbers them
Clave 1throughClave 11; the record design stores them01through11, and the padded form is what a declaration carries.- Variables:
C01_BIENES_TANGIBLES – Adquisición/transmisión de bienes tangibles (existencias, inmovilizados materiales, etc.).
C02_INTANGIBLES – Adquisición/transmisión/cesión de uso de intangibles: cánones y otros ingresos o pagos por utilización de tecnología, patentes, marcas, know-how, etc.
C03_FONDOS_PROPIOS – Adquisición/transmisión de activos financieros representativos de fondos propios.
C04_DERECHOS_DE_CREDITO_Y_DEUDA – Adquisición/transmisión de derechos de crédito y activos financieros representativos de deuda, excluidas las operaciones de tipo 5.
C05_OPERACIONES_FINANCIERAS_DE_DEUDA – Constitución o amortización de créditos o préstamos, emisión o amortización de obligaciones y bonos, etc., excluidos los intereses.
C06_SERVICIOS – Servicios entre personas o entidades vinculadas (art. 18.5 LIS), incluidos rendimientos de actividades profesionales, artísticas y deportivas.
C07_ACUERDOS_DE_REPARTO_DE_COSTES – Acuerdos de reparto de costes de bienes o servicios (art. 18.7 LIS).
C08_ALQUILERES_DE_INMUEBLES – Alquileres y otros rendimientos por cesión de uso de inmuebles, excluidas las transmisiones.
C09_INTERESES – Intereses de créditos, préstamos y demás activos financieros representativos de deuda, excluidas las transmisiones.
C10_RENDIMIENTOS_DEL_TRABAJO_Y_PENSIONES – Rendimientos del trabajo, pensiones y aportaciones a fondos de pensiones y a otros sistemas de capitalización o retribución diferida, entrega de acciones u opciones sobre las mismas, etc.
C11_OTRAS_OPERACIONES – Otras operaciones.
NO_DECLARADO – The DR’s blank — the conditional field carries no clave.
- C01_BIENES_TANGIBLES¶
- C02_INTANGIBLES¶
- C03_FONDOS_PROPIOS¶
- C04_DERECHOS_DE_CREDITO_Y_DEUDA¶
- C05_OPERACIONES_FINANCIERAS_DE_DEUDA¶
- C06_SERVICIOS¶
- C07_ACUERDOS_DE_REPARTO_DE_COSTES¶
- C08_ALQUILERES_DE_INMUEBLES¶
- C09_INTERESES¶
- C10_RENDIMIENTOS_DEL_TRABAJO_Y_PENSIONES¶
- C11_OTRAS_OPERACIONES¶
- NO_DECLARADO¶
- class MetodoValoracion(*values)[source]¶
Bases:
StrEnumOne Modelo 232 método-de-valoración code — DR23200 Tabla B.
The five transfer-pricing methods of art. 18.4.1º LIS, in the two positions the DR gives the field. These are AEAT’s own codes, not the OECD abbreviations for the same methods: the OECD names (
CUP,RPM,CPM,PS,TNMM) are three and four characters wide and could not be written into the field even if AEAT accepted them.- Variables:
M1A_PRECIO_LIBRE_COMPARABLE – Método del precio libre comparable (art. 18.4.1º.a LIS).
M1B_COSTE_INCREMENTADO – Método del coste incrementado (art. 18.4.1º.b LIS).
M1C_PRECIO_DE_REVENTA – Método del precio de reventa (art. 18.4.1º.c LIS).
M1D_DISTRIBUCION_DEL_RESULTADO – Método de la distribución del resultado (art. 18.4.1º.d LIS).
M1E_MARGEN_NETO_OPERACIONAL – Método del margen neto operacional del conjunto de operaciones (art. 18.4.1º.e LIS).
NO_DECLARADO – The DR’s blank — the conditional field carries no método.
- M1A_PRECIO_LIBRE_COMPARABLE¶
- M1B_COSTE_INCREMENTADO¶
- M1C_PRECIO_DE_REVENTA¶
- M1D_DISTRIBUCION_DEL_RESULTADO¶
- M1E_MARGEN_NETO_OPERACIONAL¶
- NO_DECLARADO¶