Formatos de fichero para entrega de información a la Agencia Tributaria
Hace unos días hablábamos de las entregas de información a la Agencia Tributaria desde el punto de vista financiero; plazos, información a recopilar, etc. Hoy lo vamos a hacer desde el punto de vista del desarrollador.
Atrás han quedado los días de entregar información en papel; la Administración Pública española admite la recepción en formato digital de prácticamente toda la información que solicita a empresas y autónomos. Cada entrega de información tiene asociado un modelo numerado que define un formato de fichero para recopilarla.
La Agencia Tributaria pone a disposición de autónomos y PYMEs herramientas para crear, a partir de introducción de datos manual, dichos ficheros; pero a partir de un cierto volumen de negocio se convierte en una tarea demasiado engorrosa, y lo que es más importante, propensa a errores. Es importante disponer de herramientas que puedan generar dichos ficheros a partir de la información ya disponible en nuestra aplicación de gestión financiera.
Además de los requerimientos legales de la Agencia Tributaria, prácticamente todos los bancos nos dan facilidades para realizar operaciones masivas de domiciliaciones o transferencias mediante ficheros de datos.
Tipos de formato
Grosso modo, hay dos tipos de ficheros diferentes:
Los ficheros de texto plano tienen una estructura fija: líneas de un número determinado de caracteres, en las que cada posición corresponde a un determinado campo de información. Suelen tener una o varias líneas de cabecera, una o más líneas por cada registro (de facturas, pagos, impuestos o lo que corresponda), y una línea de resumen final. Estos ficheros son muy sencillos de crear en cualquier lenguaje de programación; si bien tienen el problema de ser difíciles de revisar a simple vista, y tanto el código de creación como el de validación tiene cierta tendencia al spaghetti.
Ejemplos de estos ficheros son el modelo de declaración de retenciones 190; el de declaración de donaciones 182; o los cuadernos bancarios 19 y 34, tanto la normativa antigua como la SEPA 19.14 y 34.14.
Los ficheros XML tienen una estructura de nodos y atributos definida habitualmente por un esquema. Dependiendo de nuestro lenguaje de programación o entorno de desarrollo, quizá sean más trabajosos de crear, y en todo caso requieren que comprendamos conceptos algo más complejos como los espacios de nombres. A cambio, el fichero resultante es más legible, y las herramientas existentes de validación a través de esquemas nos pueden ayudar mucho a cazar errores.
Como ejemplo tenemos los ficheros bancarios de normativa SEPA XML, el modelo de declaración de impuestos trimestral / mensual 303, y el nuevo modelo de Suministro de Información Inmediata (SII).
Tipos de comunicación
Dependiendo del modelo, la forma de hacerle llegar los datos a la Administración Pública es diferente. Sería deseable que hubiera un proceso uniforme, pero a día de hoy nos vemos obligados a trabajar con procesos distintos.
Para algunos modelos es necesario utilizar una aplicación de escritorio. La Plataforma Informativa que proporciona la Agencia Tributaria permite cargar distintos módulos, cada uno de los cuales maneja un modelo determinado. Desde dicho modelo podemos gestionar nuestra información manualmente o (lo que nos interesa para el alcance de este artículo) importarla desde un fichero en el formato especificado; una vez la información está en el módulo, podemos enviarla a la Agencia Tributaria firmando el envío con nuestro certificado digital. Algunos modelos que utilizan este proceso son el ya mencionado 190, y el resumen anual de ingresos 347.
En otros casos, debemos acceder a la sección adecuada del portal de la Agencia Tributaria con nuestro navegador, y realizar la entrega a través de una aplicación web. Normalmente se nos solicita el certificado digital para poder acceder, y es el mismo que se usará para firmar el envío. De manera similar al caso anterior, podemos introducir la información manualmente, o importarla desde un fichero. Por ejemplo, funcionan así los modelos 303 y 182. Esta es también la modalidad con la que trabajan habitualmente los bancos para los cuadernos 19 y 34.
Las dos modalidades descritas hasta ahora suponen que nuestra aplicación genera el fichero, pero es el operador el que debe ejecutar las operaciones necesarias para enviarlo a la Agencia Tributaria (o el banco). Una de las grandes novedades del modelo SII es el hecho de que la forma de enviar los datos es mediante invocaciones a un servicio web, a través del protocolo SOAP. Esto supone un gran avance, puesto que elimina la intervención manual.
Evolución en el tiempo
Es muy habitual que los formatos de fichero vayan cambiando. A veces esto ocurre en paralelo a determinadas novedades legales; por ejemplo, la normativa SEPA de unificación bancaria en Europa ha impuesto la “jubilación” de los antiguos cuadernos 19 y 34 en favor de los formatos SEPA. Otro ejemplo es el significativo aumento de las deducciones fiscales por donaciones, dependiendo de la antigüedad de los donantes; que ha supuesto requerimientos extra de información en el modelo asociado 182. En otros casos, se decide cambiar un formato por otro que se procese mejor, caso del modelo 303 que fue en formato texto hasta 2014 y luego pasó a ser XML.
Los creadores de herramientas de creación de este tipo de formatos de ficheros nos vemos obligados a estar muy atentos al Boletín Oficial del Estado, sobre todo alrededor de noviembre que es cuando suelen anunciar las novedades para modelos de ficheros del año siguiente.
En Yunbit tenemos implementados los modelos fiscales y bancarios más importantes, y como parte de la evolución del producto de gestión financiera vamos añadiendo los que necesiten nuestros clientes. Por supuesto nos encargamos de incorporar todas las novedades para que se mantengan vigentes.