Departamento de Informática Tributaria Agencia Tributaria Subdirección General de Planificación y Coordinación Informática ESPECIFICACIONES PARA EL ENVÍO DE DECLARACIONES INFORMATIVAS A LA AEAT A TRAVÉS DE LA BANCA ELECTRÓNICA DE UNA ENTIDAD COLABORADORA – MODELO 349 EJERCICIO 2014 1. OBJETIVO Envío de Declaraciones Informativas del modelo 349 por los contribuyentes que no dispongan de certificado de usuario homologado por la A.E.A.T., a través de la Banca Electrónica de una Entidad Financiera que tenga firmado un convenio con la A.E.A.T. que le permita actuar como Colaborador Social. Declaraciones Informativas a las que se refieren estas especificaciones: 9 349 - Declaración recapitulativa de operaciones intracomunitarias. 2. REQUISITOS DEL CONTRIBUYENTE 2.1. Debe estar en disposición de generar un fichero conteniendo la declaración con el programa PADRE que confecciona la A.E.A.T. o empresa de desarrollo, según los diseños de registro publicados para cada declaración informativa. 2.2. Debe disponer de una conexión y acceso a la Banca Electrónica de la Entidad Financiera, para que ésta transmita firmada la declaración a la A.E.A.T., reciba la respuesta y la devuelva al contribuyente. 3. REQUISITOS DE LA ENTIDAD FINANCIERA 3.1. Debe disponer de un servicio de captura del fichero a transmitir. 3.2. Debe seleccionar determinados campos de la declaración para mostrarlos al contribuyente con objeto de obtener la autorización para su transmisión a la A.E.A.T. 3.3. Debe generar una firma electrónica con el certificado de usuario de la Entidad según se especifica en el punto 4. 3.4. Debe enviar la declaración, datos de firma y la firma electrónica según se especifica en el apartado 5. 3.5. Debe devolver al contribuyente los datos en formato html como resultado de la aceptación o no de la declaración según se especifica en el punto 6. versión 1.0 Página 1 Departamento de Informática Tributaria Agencia Tributaria 3.6. Subdirección General de Planificación y Coordinación Informática También es deseable que gestione los errores leves de tipo censal que pueden manifestarse en la presentación de la declaración según se especifica en el punto 7. 4. DESCRIPCIÓN DE LA FIRMA A PARTIR DEL FICHERO QUE CONTIENE LA DECLARACIÓN El fichero de declaración informativa generado por el Programa de Ayuda de la AEAT u otro software comercial, contendrá un registro tipo 1, que empieza por 1, y cero (en declaraciones negativas), uno o varios registros tipo 2, que empiezan por 2. Pero nunca debe contener registros que empiecen por 0. En el registro tipo 1 se localiza el NIF del declarante (posiciones 9 al 17) que se deberá contrastar con los datos del usuario, mostrarle los datos de la firma, pedir al usuario la firma o acreditación de la banca electrónica (en el caso de EEFF) y contrastarla para poder continuar con el envío. El origen de firma será el “registro tipo 1” de la declaración, según el Diseño de Registro publicado para cada modelo. El origen de firma debe utilizar el juego de caracteres ISO-8859-1 El software comercial firmará el origen de firma, del que previamente se eliminarán los caracteres de tipo CRLF. La firma generada deberá estar en formato CAdES-EPES en modo explícito o dettached (no se incluye los datos firmados en la propia firma), tal y como se especifica en el documento “Nueva firma CAdES-EPES: especificaciones para firmas CAdES en presentaciones telemáticas mediante envío directo al servidor de la AEAT” que se publica en el Portal de Empresas de Desarrollo (http://www.agenciatributaria.es/AEAT.desarrolladores/Desarrolladores/Desarro lladores.html) en el menú Documentación> Especificaciones > General. El CAdES se generará en formato BASE64. 5. ENVÍO FIRMADO AL SERVIDOR DE LA AEAT Se enviará a la URL de la A.E.A.T. que se indica en la tabla A según la declaración informativa, mediante el método POST, un formulario web que contendrá, entre otros, los datos origen de la firma codificados en BASE64, junto con la firma generada. Para cualquier otro medio de envío, los datos a enviar será una cadena de caracteres encapsulada como si lo fuese desde un formulario por el método POST, donde se debe de respetar el orden de los campos, que irán etiquetados como nombre=valor, separados mediante el símbolo &, y donde sólo el valor va en codificación urlencoded, la mayoría de estos valores se pueden obtener del registro tipo 1 del fichero de declaración entre las posiciones indicadas. Se incorpora al posible modo de transmisión TGVI (Transmisión de Grandes Volúmenes de Información) este modelo 349, que permite la presentación de versión 1.0 Página 2 Departamento de Informática Tributaria Agencia Tributaria Subdirección General de Planificación y Coordinación Informática declaraciones con más de un determinado número de registros. En principio este límite será de 1000 registros. La AEAT podrá modificar estos límites en cualquier momento sin aviso si así lo considera conveniente. Para utilizar este mecanismo deberán seguirse las especificaciones publicadas en el documento “Especificaciones para el envío de determinados modelos a la AEAT por Internet desde una aplicación cliente utilizando el mecanismo TGVI”. El orden de las variables, su nombre y sus contenidos son indicados a continuación: Modelo 349 HID=Constante según el modelo. (ver tabla A) SOP=Vacío o código de la Entidad Colaboradora (código bancario). NAV=Vacío. NDC=NIF del declarante. (posiciones 9 al 17 del registro tipo 1) NAP=Apellidos y nombre o Razón Social del retenedor. (posiciones 18 al 57 del registro tipo 1) NOM=Apellidos y nombre de la persona de contacto. (posiciones 68 al 107 del registro tipo 1) TEL=Teléfono. (posiciones 59 al 67 del registro tipo 1) JUS=Número identificativo de la declaración.(posiciones 108 al 120 del registro tipo 1) EJF=Ejercicio Fiscal. (posiciones 5 al 8 del registro tipo 1) versión 1.0 Página 3 Departamento de Informática Tributaria Agencia Tributaria Subdirección General de Planificación y Coordinación Informática PER= Periodo. (posiciones 136 al 137 del registro tipo 1) COM=X o vacío. Declaración complementaria. (posición 121 del registro tipo 1) SUS=X o vacío. Declaración sustitutiva. (posición 122 del registro tipo 1) JUA= Número identificativo de la declaración anterior, o vacío. (posiciones 123 al 135 del registro tipo 1) P01 .. PNN=Campos de partidas según el modelo (ver tabla B). TXT=Datos origen de la firma codificados en Base-64. (registro tipo 1) FIR=Firma en formato PKCS#7. CRL= Vacío, Reservado AEAT CMN= Vacío, Reservado AEAT (Camino de lectura del fichero) LOT=0 (valor constante). IDI= ES (valor constante). LEV=000000000000 (valor constante). F01=Fichero completo de la declaración informativa leído en el equipo del cliente, y generado por el programa de Ayuda de la AEAT o empresa de desarrollo, eliminados los saltos de línea. PUN=00000000 (valor constante). FIN= Vacío, F, indicador de fin de datos. versión 1.0 Página 4 Departamento de Informática Tributaria Agencia Tributaria Subdirección General de Planificación y Coordinación Informática En la siguiente tabla A se recogen el campo HID y el “action” del formulario al que se envía el fichero según la correspondiente declaración informativa, que NO se encontrará operativa hasta las 0 horas del día 1 de Febrero de 2014: TABLA A MODELO ACTION HID 349 https://www1.agenciatributaria.gob.es/es13/l/ewzmewlinkzm INF4349A Atención : Se puede invocar al servidor https://www1.agenciatributaria.gob.es (solicita certificado X509v3) o https://www2.agenciatributaria.gob.es (sin certificado) En la siguiente tabla B se recogen las partidas P01 a PXX que corresponde a cada una de las declaraciones informativas, que se deben insertar en el formulario que se envía entre las variables JUA y TXT: TABLA B MODELO Variable 349 P01=Nº total de operadores intracomunitarios relacionados en las hojas interiores o soporte: (posiciones 138 al 146 del registro tipo 1) P02=Importe de las operaciones intracomunitarias relacionadas en las hojas interiores o soporte: (posiciones 147 al 161 del registro tipo 1) P03=Nº total de operadores intracomunitarios con rectificaciones relacionados: (posiciones 162 al 170 del registro tipo 1) P04=Importe de las rectificaciones relacionadas: (posiciones 171 al 185 del registro tipo 1) Los datos origen de la firma y la firma se han de enviar como Base-64 y sin que contengan caracteres de tipo CRLF. A continuación se detalla la secuencia de pasos que debe realizar el software comercial para las variables que hemos detectado generan mayor tipo de errores en los envíos: versión 1.0 Página 5 Departamento de Informática Tributaria Agencia Tributaria • Subdirección General de Planificación y Coordinación Informática Contenido de la variable F01=: 1. Pasar la cadena de datos del fichero completo de la declaración a ISO-8859-1. 2. Eliminar caracteres de tipo CRLF. 3. Transformar el resultado a URLEncoded. • Contenido de la variable TXT=: 4. Obtener el origen de firma, que es el registro tipo 1 según el Diseño de Registro. 5. Pasar el origen de firma a ISO-8859-1. 6. Eliminar caracteres de tipo CRLF. 7. Transformar el resultado a Base64. 8. Transformar el resultado a URLEncoded. • Contenido de la variable FIR=: 9. Obtener el origen de firma, que es el registro tipo 1 según el Diseño de Registro. 10. Pasar el origen de firma a ISO-8859-1. 11. Eliminar caracteres de tipo CRLF. 12. Generar la firma en formato CAdES-EPES en modo explícito o dettached codificada en Base64. 13. Transformar el resultado a URLEncoded. versión 1.0 Página 6 Departamento de Informática Tributaria Agencia Tributaria Subdirección General de Planificación y Coordinación Informática 6. RECEPCIÓN DE LA RESPUESTA DE LA AEAT Y ENVÍO AL CONTRIBUYENTE La AEAT genera, de forma predeterminada para cualquier petición de presentación de declaraciones con certificado electrónico, una respuesta en formato HTML con la copia electrónica de la presentación realizada, en formato PDF, embebida dentro de la página. A efectos de la AEAT el justificante de la presentación no es la página HTML devuelta sino el PDF que se encuentra embebido en la misma. Para los casos de aceptación de la declaración el título de la página de respuesta correcta comienza por el Código Seguro de Verificación (16 primeros caracteres). El título de la página de rechazo tiene el texto “ERROR”. La página correcta siempre contendrá el código seguro de verificación (variable CEL de Javascript) y la página de respuesta de error nunca lo contendrá. El código seguro de verificación, junto con la fecha y hora (variables Javascript FEC y HOR) y el Nº de entrada de Registro (variable Javascript REG), indican que la declaración se ha aceptado y grabado en el servidor de la AEAT. Las variables javascript disponibles son: var CEL=”&amp;CEL; ”; //Código seguro de verificación de la presentación var FEC=”&amp;FEC;”; //Fecha de presentación var HOR=”&amp;HOR;”; //Hora de presentación var REG=”&amp;REG;”; //Número de entrada de Registro var NIP=”&amp;NIP; ”; //NIF Presentador. var APP=”&amp;APP;”;//Apellidos y nombre, razón social o denominación del presentador. var CAP=”&amp;CAP;”; // En calidad de, del Presentador var NDC=”&amp;NDC;”; //NIF Declarante. var NAP=”&amp;NAP;”; //Apellidos y nombre, razón social o denominación del declarante. var MOD=”&amp;MOD;”; // Modelo var EJF=”&amp;EJF;”; //Ejercicio Fiscal var PER=”&amp;PER;”; //Periodo var JUS=”&amp;JUS;”; // Número de Justificante. var IDI=”&amp;IDI;”; // Idioma de la presentación. Var VIA=”&amp;VIA;”; //Vía de presentación Adicionalmente, se podrán localizar los mismos datos en pseudoxml con los siguientes etiquetados: <CEL>&amp;CEL;</CEL> <FEC>&amp;FEC;</FEC> <HOR>&amp;HOR;</HOR> <REG>&amp;REG;</REG> <NIP>&amp;NIP;</NIP> <APP>&amp;APP;</APP> <CAP>&amp;CAP;</CAP> <NDC>&amp;NDC;</NDC> <NAP>&amp;NAP;</NAP> <MOD>&amp;MOD;</MOD> <EJF>&amp;EJF;</EJF> <PER>&amp;PER;</PER> <JUS>&amp;JUS;</JUS> <IDI>&amp;IDI;</IDI> versión 1.0 Página 7 Departamento de Informática Tributaria Agencia Tributaria Subdirección General de Planificación y Coordinación Informática <VIA>&amp;VIA;</VIA> En caso de error, la página de respuesta nunca contendrá la variable JavaScript CEL= y se podrán identificar las causas del error en las variables JavaScript Err[0]= a Err[99]= . El número máximo de errores que se mostrará será de 100. Variables javascript con la descripción de las causas del error: Err[0]=“&amp;E00;“; Err[1]=“&amp;E01;“; … Err[98]=“&amp;E98;“; Err[99]=“&amp;E99;“; Así mismo, dispondrá de la misma información en pseudoxml: <E00>&amp;E00;</E00><E01>&amp;E01;</E01> … <E98>&amp;E98;</E08><E99>&amp;E99;</E99> No es posible anular declaraciones ya grabadas. En el caso de producirse algún error de comunicaciones durante la transmisión de la declaración a la AEAT, se podrá recuperar la página de aceptación o de error efectuando de nuevo la transmisión de la declaración. Si no hubiese sido recepcionada anteriormente en la AEAT, se obtendrá la página de respuesta correcta o error correspondiente. En el caso de ya haber sido grabada y aceptada en la AEAT se tratará como una consulta mostrándose la hoja de aceptación de la declaración en el momento anterior (que contendrá el texto YA REALIZADA). Las páginas de respuesta correcta se han modificado para cumplir con la normativa relacionada con la Ley 11/2007. En el documento “Nuevo justificante de presentación telemática: servicios de ayuda a la presentación de las declaraciones” publicado en: http://www.agenciatributaria.es/AEAT.desarrolladores/Desarrolladores/Desarrollado res.html donde se pueden consultarse los detalles. 7. PRESENTACIÓN TELEMÁTICA DE DECLARACIONES CON ERRORES LEVES Los errores de validación de los ficheros de declaración se clasifican en dos tipos: • Errores graves: impiden la presentación de la declaración. Deben ser obligatoriamente subsanados. • Errores leves: no impiden la presentación de la declaración, aunque se recomienda su subsanación, puesto que reporta beneficios al contribuyente (por ejemplo, agilización de las devoluciones en los modelos que corresponda). Al presentar por primera vez una declaración que contenga errores leves, se obtendrá una página de error con las características indicadas en el apartado versión 1.0 Página 8 Departamento de Informática Tributaria Agencia Tributaria Subdirección General de Planificación y Coordinación Informática anterior. La página de errores leves se distinguirá de la página de errores habitual por las siguientes características: • Literal de identificación en el título de la página <title>Error - Pagina de errores leves</title>. Este literal de identificación no será traducido a idiomas. • Presencia de la variable PEL, que siempre tomará el valor “1”. No obstante, se puede realizar un segundo intento de presentación de dicha declaración, simplemente modificando el valor de la variable LEV, que en este caso deberá ser LEV=100000000000. La declaración se aceptará en el caso de que sólo se detecten errores leves (no se aceptará si en este segundo envío se detecta algún error grave). Por lo demás, las características del envío y de la respuesta son las mismas que las indicadas en el apartado 5. 8. PRUEBAS Se ha habilitado un entorno de Pruebas para Externos para la realización de pruebas de presentaciones telemáticas de los modelos de informativas del ejercicio 2014 (presentaciones vía el servicio “habitual” de Presentaciones Telemáticas y vía TGVI). Este entorno se encuentra operativo los días laborables en horario de 8:00h a 15:00h. Para la realización de pruebas vía TGVI debe consultarse el documento “Informativas: Especificaciones para el envío de determinados modelos a la AEAT por Internet desde una aplicación cliente utilizando el mecanismo TGVI”. En este apartado se comentan las características de las pruebas vía el servicio “habitual” de Presentaciones Telemáticas. Las pruebas en este entorno permiten comprobar que los ficheros de declaración son conformes con las especificaciones, así como el interfaz de envío al servidor de la AEAT y la firma electrónica de la declaración. Se requiere el establecimiento de una conexión a internet y es necesario firmar con certificado electrónico de usuario. Las URLs o “action” de llamada a los servicios en el entorno de Pruebas para Externos son las mismas que las especificadas en el apartado 5 pero sustituyendo el dominio “www1.agenciatributaria.gob.es” por “www7.aeat.es” y el dominio “www2.agenciatributaria.gob.es” por “www6.aeat.es”. La autoridad de certificación de los certificados del servidor de la AEAT en este entorno utilizados en la conexión SLL es distinta a la de los certificados del entorno de Producción. Los logs de errores de este entorno se borran con periodicidad diaria, por lo que cualquier consulta de las empresas desarrolladoras relativa a problemas en sus envíos de prueba deberá hacerse el mismo día de la realización de la prueba. En el entorno de Pruebas para Externos no está habilitada la presentación en nombre de terceros, por lo que las declaraciones a presentar durante las pruebas versión 1.0 Página 9 Departamento de Informática Tributaria Agencia Tributaria Subdirección General de Planificación y Coordinación Informática deberán consignar en el registro tipo 1como datos del declarante el mismo “NIF” y “Apellidos y nombre, denominación o razón social” del certificado electrónico con el que se esté realizando la presentación. Para las pruebas en este entorno, las empresas deberán tener en cuenta las siguientes consideraciones relativas al registro tipo 1 del fichero a presentar: 1. Poner en el campo NIF del declarante (posiciones 9 a 17 del Diseño de Registro) el NIF con el que hacen las pruebas, que deberá coincidir con el NIF del titular del certificado electrónico utilizado 1 . El NIF del declarante podrá ser una persona física y/o jurídica, en función del modelo. Este NIF también deberá tenerse en cuenta en el campo NIF del declarante de los registros tipo 2. 2. Poner en el campo Apellidos y nombre, denominación o razón social del declarante (posiciones 18 a 57 del Diseño de Registro) los valores que correspondan acordes al NIF utilizado. 3. Cumplimentar el campo Número identificativo de la declaración (posiciones 108 a 120 del Diseño de Registro). Para evitar rechazos por duplicados, si el fichero es enviado con éxito y se quiere realizar un nuevo envío del mismo (mismo modelo, ejercicio, periodo y NIF), se deberá: 4. Presentar la nueva declaración como sustitutiva: a. Poner una “S” en el campo Decl. sustitutiva (posición 122 del Diseño de Registro). b. En el campo Número identificativo de la declaración anterior (posiciones 123 a 135 del Diseño de Registro) indicar el valor del Número identificativo de la declaración presentada con anterioridad. La declaración presentada con anterioridad será: i. Si se está presentando la primera sustitutiva: la declaración inicial. ii. Si se está presentando la segunda o posteriores sustitutivas: la declaración sustitutiva inmediatamente anterior. c. Modificar de nuevo el campo Número identificativo de la declaración (posiciones 108 a 120 del Diseño de Registro) para indicar otro valor distinto. 1 Deberá utilizarse un certificado electrónico de los admitidos por la AEAT. El NIF deberá estar dado de alta en el censo de la AEAT. versión 1.0 Página 10 Departamento de Informática Tributaria Agencia Tributaria Subdirección General de Planificación y Coordinación Informática Recuerde que si una presentación se realiza con éxito, en los sucesivos envíos de prueba debe presentar declaraciones sustitutivas. El comportamiento de los envíos en el entorno de Pruebas para Externos es idéntico al del entorno de Producción (salvo que en el PDF justificante de presentación aparecerá una marca de agua). Las empresas deberán prestar especial atención a no utilizar las URLs de Pruebas para Externos cuando pongan sus aplicaciones a disposición de sus usuarios finales para realizar envíos reales. Para los envíos reales las URLs deberán ser las del entorno de Producción. La AEAT no se hace responsable de los problemas derivados de un mal uso de las URLs por parte de las empresas. 9. COMPROBACIÓN DE LA PRESENTACIÓN DE LA DECLARACIÓN El software comercial puede proporcionar la posibilidad de comprobar que la declaración ha sido admitida por la AEAT, para lo cual puede utilizar dos alternativas: A. Comprobación en la AEAT: Se enviará a la URL mediante el método POST un formulario que contendrá los datos necesarios para identificar la declaración presentada. Desde el servidor de la AEAT únicamente se muestran previa autenticación de certificado electrónico del titular o presentador. El “action” del formulario desde el que se envían los datos para la comprobación de la presentación de las declaraciones informativas será: MODELOS 349 ACTION https://www1.agenciatributaria.gob.es/es13/l/ewzpewlinkzp Los datos a enviar serán una cadena de caracteres encapsulada como si fuese desde un formulario por el método POST. Se ha de respetar el orden de las variables, que irán etiquetadas como nombre=valor, separadas mediante el símbolo &, y sólo con el valor va en codificación urlencoded. El orden de las variables, su nombre y su contenido son los indicados a continuación: HID= Constante según el modelo. (ver tabla D) NIF=NIF del declarante. EJF=2014 (constante, identifica el ejercicio consultado). PER=01..12 ó 1T..4T ó 0A (según corresponda) CEL= Vacío EXP=Vacío NIU=Vacío versión 1.0 Página 11 Departamento de Informática Tributaria Agencia Tributaria Subdirección General de Planificación y Coordinación Informática IDI= ES (Constante) VIA=Vacío FIN=Vacío, (indicador de fin de datos). TABLA D MODELO HID 349 COINX349 La respuesta del servidor consistirá en una página html de respuesta de selección múltiple (incluso en el caso de que sólo haya una declaración para el NIF indicado) con las declaraciones/Códigos Seguros de Verificación para el NIF indicado. B. Almacenamiento de la respuesta correcta. El software comercial podrá almacenar en sus sistemas la respuesta correcta devuelta por la AEAT en su día, la cual podrá mostrar al contribuyente cada vez que éste se lo solicite. 10. SERVICIO DE VALIDACIÓN Y PREUBA DE IMPRESIÓN Sólo disponible en el entorno de Pruebas de Externos. No requiere certificado electrónico. El servicio procede a la validación del fichero de tal modo que si fuera erróneo se devuelve la relación de errores y si es correcto se devuelve el modelo cumplimentado en formato PDF. A su vez, las empresas de desarrollo han podido preparar la forma de envío declaración a declaración o por lotes. Deberá realizarse una invocación al servicio por cada fichero con el contenido de la declaración que se desee validar. Al servicio se le pasará por el método POST del protocolo http una cadena de caracteres encapsulada como si fuese desde un formulario. Se debe respetar el orden de las variables, que irán etiquetadas como nombre=valor, separadas mediante el símbolo &, y sólo con el valor en codificación URLEncoded. Hay que tener en cuenta que sólo el valor del campo es el que debe ir como urlencoded; ya que el servidor de la AEAT espera la misma entrada que el que recibiría desde un navegador. El &nombre= tiene que ir sin urlencoded. La URL de llamada directa al servicio es: versión 1.0 Página 12 Departamento de Informática Tributaria Agencia Tributaria Subdirección General de Planificación y Coordinación Informática https://www6.aeat.es/es13/l/zi22zilk0022 (proxy) El orden de las variables, su nombre y su contenido son los indicados a continuación: VARIABLES A ENVIAR HID= INV4349 IDI= Idioma en el que se envían los datos (ES) LEV= 000000000000 (Constante) FIC= Fichero plano completo de la declaración informativa RUT= Vacío, Reservado AEAT (Camino de lectura del fichero). PRG= PTLINK1S (Nombre del programa de validación, CONSTANTE) o vacío. FIN= vacío EJF= 2014 MOD= 349 Si la variable PRG contiene el literal PTLINK1S el fichero enviado se validará con los programas HOST de la AEAT, y si la respuesta es correcta se obtendrá el documento de la declaración en formato PDF. Si la variable PRG viene vacía, no se realizará dicho proceso de validación, obteniéndose directamente el documento de la declaración correspondiente (sin validar) en formato PDF. En caso de error, la respuesta será una página HTML con la relación de errores. 11. ACTUALIZACIÓN DEL DOCUMENTO Este documento estará publicado en el menú de: http://www.agenciatributaria.es/AEAT.desarrolladores/Desarrolladores /Desarrolladores.html Las novedades o correcciones se irán incorporando a este documento, remarcándolas con _________________. versión 1.0 Página 13