M Crete Nci Ones 20241
M Crete Nci Ones 20241
M Crete Nci Ones 20241
Retenciones 2024
A partir del 8 de febrero
Índice
1 INTRODUCCIÓN .................................................................................................................................................... 3
2 FUNCIONALIDADES ............................................................................................................................................. 4
3 BREVE DESCRIPCIÓN DEL PROCESO ............................................................................................................ 5
4 DISTRIBUCIÓN DEL MÓDULO DE CÁLCULO ............................................................................................... 6
5 INTERFAZ PARA LA EJECUCIÓN DEL PROGRAMA ................................................................................... 7
5.1 EJECUCIÓN DESDE LÍNEA DE COMANDOS. ............................................................................................................ 7
5.2 INVOCACIÓN DESDE UN PROGRAMA JAVA ............................................................................................................ 8
6 VALIDACIONES ..................................................................................................................................................... 9
6.1 FICHEROS XML ................................................................................................................................................... 9
6.2 OTRAS VALIDACIONES ........................................................................................................................................ 9
7 RECURSOS MÍNIMOS ......................................................................................................................................... 10
8 APÉNDICE 1 .......................................................................................................................................................... 11
9 APÉNDICE 2 .......................................................................................................................................................... 12
10 APÉNDICE 3 ...................................................................................................................................................... 13
1 Introducción
MÓDULO DE CÁLCULO RETENCIONES 2024 (a partir del 8 de febrero)
El objetivo de este programa es facilitar el cálculo desde fichero de las retenciones del IRPF para el ejercicio
2023 (desde 1 de febrero), con objeto de dar cumplimiento a lo establecido en el apartado 3 de la
disposición adicional trigésima quinta de la Ley 35/2006, reguladora del IRPF, añadida por el Real Decreto-
ley 20/2011, de 30 de diciembre, de medidas urgentes en materia presupuestaria, tributaria y financiera para
la corrección del déficit público (BOE del 31).
2 Funcionalidades
* La interfaz con todos nuestros módulos será estándar.
* Nuestros módulos no dialogan en modo alguno con el usuario final, es decir, a la entrega de
un fichero de entrada provocan la generación de una serie de ficheros de salida. No muestran mensajes, ni
cuadros de diálogo.
* El fichero de errores se borra al final de la ejecución, si está vacío. Su contenido, en cualquier caso,
se borra en la siguiente ejecución (si es sobre el mismo fichero).
* Con relación al nombre de los archivos de la línea de comando, simplemente se exige que sean
válidos. No se exige que se detalle el camino completo, aunque se admite, al igual que se admiten nombres
UNC del tipo \\servidor\recurso.
* Cada campo únicamente admitirá los caracteres definidos según su tipo de dato.
ModRet20241.jar
Donde:
• Los identificadores de argumento (o de parámetro) son OBLIGATORIOS y se deben escribir
LITERALMENTE y con su valor pegado a los dos puntos (:).
Son los siguientes:
/E: /R: /S: /I:
Los corchetes [ ] indican argumento opcional y las llaves { } indican valor alternativo.
• nombrearchivodatos indica el fichero que contiene los datos de entrada que van a servir
como base del cálculo. El fichero tiene extensión deberá ser un documento XML acorde con el
esquema W3C (fichero AEATRetenciones2024.xsd). Es OBLIGATORIO y admite ruta completa.
• nombrearchivosalida indica el nombre del fichero que contiene el resultado de los
cálculos.
Es OBLIGATORIO y admite ruta completa.
• nombrearchivoerrores indica el nombre del fichero que contiene la relación de errores, si
los hubiera.
Es OBLIGATORIO y admite ruta completa.
• nombreinformacion indica el tipo de información adicional que deseamos imprimir. Los valores
admitidos son:
• version: Imprime la versión del programa por la salida estándar con el formato
“Retenciones 2024 vX.XX”
Es OPCIONAL.
Ejemplo:
java –jar ModRet20241.jar /E:ret.xml /R:”c:\erroresRet.xml”
/S:”c:\salidaRet.xml”
import es.aeat.pret.c200.mc.c241.ModuloCalculo;
.....
ModuloCalculo.procesarFicheroXml(“entrada.xml”,“errores.xml”,“”,“salida.xml”);
6 Validaciones
El Programa no realiza el cálculo cuando no se superen las validaciones descritas a continuación.
6.1 Ficheros XML
Los ficheros XML de entrada deberán ajustarse al esquema W3C que se puede descargar desde la página
web de la Agencia Tributaria (fichero AEATRetenciones2024.xsd).
6.2 Otras Validaciones
Se realizarán además las validaciones que se indican en el documento
ALGORITMO_RETENCIONES_2024_xx_xxx.pdf, que se puede descargar desde la página web de la
Agencia Tributaria, donde se describe el algoritmo para el cálculo de retenciones.
7 Recursos Mínimos
64 MB de memoria RAM mínima.
Disco duro con espacio libre mínimo de 2 MB.
Multiplataforma: Sistemas Windows, Mac OS X, GNU/Linux y, en general, cualquier plataforma capaz de
ejecutar un Máquina Virtual Java compatible con Java 8.
8 APÉNDICE 1
El Módulo de Cálculo de Retenciones ya ha dejado de utilizar SLF4J2 como sistema de logging, siendo este
sustituido por el sistema de logging estándar de la plataforma Java.
No obstante, en el caso de que se emplee el módulo de cálculo para alguno de los ejercicios anteriores al
2023, se seguirá utilizando dicho sistema, por lo que se deberán seguir distribuyendo las librerías:
slf4j-api-1.6.1.jar
slf4j-jdk14-1.6.1.jar
2 Simple Logging Facade for Java: Para más información vea http://www.slf4j.org
9 APÉNDICE 2
Esta distribución contiene todas las versiones del módulo de cálculo publicadas por la Agencia Tributaria
desde el ejercicio 2020 en adelante, de forma que mediante este único módulo de cálculo y modificando la
línea de comandos se podrá acceder a los cálculos de retenciones de cualquiera de dichos ejercicios.
• Retenciones 2022
java -classpath ModRet20220.jar;slf4j-api-1.6.1.jar;slf4j-jdk14-1.6.1.jar
es.aeat.pret.c200.mc.c220.ModuloCalculo /E:nombrearchivodedatos
/S:nombrearchivodesalida /R:nombrearchivodeerrores
10 APÉNDICE 3
Esta distribución contiene todas las versiones del módulo de cálculo publicadas por la Agencia Tributaria
desde el ejercicio 2020 en adelante, de forma que mediante este único módulo de cálculo embebido como
una librería dentro de un programa java se podrá acceder a los cálculos de retenciones de cualquiera de
dichos ejercicios.
import es.aeat.pret.c200.mc.ModuloCalculo;
.....
ModuloCalculo.procesarFicheroXml(“entrada.xml”,“errores.xml”,“”,“salida.xml”);
import es.aeat.pret.c200.mc.c210.ModuloCalculo;
.....
ModuloCalculo.procesarFicheroXml(“entrada.xml”,“errores.xml”,“”,“salida.xml”);
import es.aeat.pret.c200.mc.c211.ModuloCalculo;
.....
ModuloCalculo.procesarFicheroXml(“entrada.xml”,“errores.xml”,“”,“salida.xml”);
• Retenciones 2022
•
import es.aeat.pret.c200.mc.c220.ModuloCalculo;
.....
ModuloCalculo.procesarFicheroXml(“entrada.xml”,“errores.xml”,“”,“salida.xml”);
import es.aeat.pret.c200.mc.c230.ModuloCalculo;
.....
ModuloCalculo.procesarFicheroXml(“entrada.xml”,“errores.xml”,“”,“salida.xml”);
import es.aeat.pret.c200.mc.c231.ModuloCalculo;
.....
ModuloCalculo.procesarFicheroXml(“entrada.xml”,“errores.xml”,“”,“salida.xml”);
import es.aeat.pret.c200.mc.c240.ModuloCalculo;
.....
ModuloCalculo.procesarFicheroXml(“entrada.xml”,“errores.xml”,“”,“salida.xml”);
import es.aeat.pret.c200.mc.c241.ModuloCalculo;
• Retenciones 2024 desde xx de xxxxx
.....
ModuloCalculo.procesarFicheroXml(“entrada.xml”,“errores.xml”,“”,“salida.xml”);
Tal y como se describe en el punto 5.2 de este documento.