indice - Agencia Tributaria

Anuncio
Departamento de Informática Tributaria
Agencia Tributaria
Subdirección General de Planificación y Coordinación Informática
ESPECIFICACIONES PARA EL ENVÍO DEL
IMPUESTO SOBRE EL VALOR AÑADIDO
(DECLARACION-RESUMEN ANUAL) A LA AEAT
A TRAVÉS DE LA BANCA ELECTRÓNICA DE
UNA ENTIDAD FINANCIERA
1. OBJETIVO
Envío del impuesto sobre el valor añadido, declaración-resumen anual (modelo 390)
por los contribuyentes que no dispongan de certificado de usuario homologado por la
AEAT, a través de la Banca Electrónica de una Entidad Financiera que tenga firmado
un convenio con la AEAT que le permita actuar como Colaborador Social.
Declaración a la que se refiere esta especificación:
 390 – Impuesto sobre el Valor Añadido. Declaración-Resumen anual
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 AEAT o empresa de desarrollo, según el
esquema publicado.
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 AEAT, reciba la
respuesta y la devuelva al contribuyente.
3. REQUISITOS DE LA ENTIDAD FINANCIERA
3.1.
Debe disponer de un servicio de captura del documento XML a transmitir.
3.2.
Debe disponer de un mecanismo de transformación del documento XML a plano,
según las especificaciones que se detallan en el apartado 9.
3.3.
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
AEAT.
3.4.
Debe generar una firma electrónica con el certificado electrónico de la Entidad
según se especifica en el apartado 4.
3.5.
Debe enviar el documento XML de la declaración, el fichero plano, datos de firma
y la firma electrónica según se especifica en el apartado 5.
versión 1.0 21/12/2010 11:15:00
Página 1
Departamento de Informática Tributaria
Agencia Tributaria
Subdirección General de Planificación y Coordinación Informática
3.6.
Debe devolver al contribuyente los datos en formato html devueltos por la AEAT,
como resultado de la aceptación o no de la declaración según se especifica en el
apartado 6.
3.7.
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
apartado 7.
A continuación se describe cómo debe implementarse esta funcionalidad.
4.
OBTENCIÓN DE LA FIRMA A PARTIR DEL FICHERO QUE CONTIENE LA DECLARACIÓN
El documento XML generado por el programa PADRE de la AEAT u otro
desarrollador, se deberá transformar en fichero plano. Para ello se podrá utilizar las
herramientas que pone la AEAT a disposición de las EECC (ver apartado 9).
En el origen de la firma (página 1 + \n + página 6 + \n), se localiza el NIF del
declarante (posiciones 15 al 23 de la página 1) que la EEFF 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 y contrastarla para poder continuar con el envío.
La Entidad Financiera tendrá que desarrollar una aplicación en la que firmará los
datos origen de firma de la declaración recibida del contribuyente, del que previamente
se eliminarán los caracteres de tipo CRLF. La firma generada deberá estar en formato
PKCS#7, con el atributo de autenticación signingTime, y no deberá contener el origen
de los datos firmados (dettached). El PKCS#7 se generará en formato BASE64.
La firma generada debe ser equivalente a la obtenida mediante el método
crypto.signText() de JavaScript en el navegador FireFox, aunque sin los CRLFs.
El PKCS#7 obtenido se asignará a un campo (FIR) del formulario que se envía.
El origen de la firma, posteriormente a la firma, se pasa a Base64 para su envío en
otro campo (TXT) del formulario enviado.
5. ENVÍO FIRMADO AL SERVIDOR DE LA AEAT
Se enviará a la siguiente URL de la AEAT
https://www1.agenciatributaria.gob.es/es13/l/ewtfewlinktf
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.
Los datos a enviar serán una cadena de caracteres encapsulada como si fuese
desde un formulario por el método POST. Se debe de respetar el orden de las
versión 1.0 21/12/2010 11:15:00
Página 2
Departamento de Informática Tributaria
Agencia Tributaria
Subdirección General de Planificación y Coordinación Informática
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 de la variable es el que debe ir como
urlencoded, ya que el servidor de la AEAT espera la misma entrada que la que
recibiría desde un navegador. El &nombre= tiene que ir sin urlencoded.
La mayoría de estos valores se obtiene de la página 1 o página 6 del fichero plano
de la declaración entre las posiciones indicadas.
El orden de las variables, su nombre y sus contenidos son los indicados a
continuación:
HID=INF1390A
SOP=Vacío o código de entidad de la EEFF (4 caracteres). Nota: este código es el
que se utiliza en las estadísticas, por lo que es importante que sea correcto.
NAV=Vacío.
NDC=NIF del sujeto pasivo. (posiciones 15 al 23 de la página 1)
NAP=Apellidos, razón social o denominación del sujeto pasivo (posiciones 24 al 53
de la pagina 1)
NOM=Nombre del sujeto pasivo. (posiciones 54 al 68 de la página 1)
TEL=Vacío.
ADM=Código de delegación (2 caracteres) + código de administración (3 caracteres)
(posiciones 10 al 14 de la página 1)
EJF=Ejercicio Fiscal. (posiciones 91 al 94 de la página 1)
P01=Vacío o resultado de la liquidación [86]. (posición 44 a 60 de la pagina 6)
versión 1.0 21/12/2010 11:15:00
Página 3
Departamento de Informática Tributaria
Agencia Tributaria
Subdirección General de Planificación y Coordinación Informática
P02=Vacío o resultado de la liquidación anual atribuible al territorio común [94].
(posición 133 a 149 de la página 6)
TXT=Datos origen de la firma codificados en Base-64. (página 1 + \n + página 6 + \n).
FIR=Firma en formato PKCS#7.
CRL=’|’.
LEV=Constante 000000000000 (12 ceros)
F01=Fichero plano completo de la declaración obtenido a partir del documento XML
(ver apartado 9) generado por el programa de Ayuda de la AEAT o empresa de
desarrollo, eliminados los saltos de línea, embebido dentro de la estructura que se
describe en el apartado 8.
PUN=Constante 00000000 (8 ceros)
XFI=Documento XML generado por el programa de Ayuda de la AEAT o empresa de
desarrollo.
CMN=Vacío (Reservado AEAT).
FIN=Vacío, indicador de fin de datos.
Atención: Se puede invocar al servidor https://www1.agenciatributaria.gob.es (solicita certificado
X509v3) o https://www2.agenciatributaria.gob.es (sin certificado)
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:

Contenido de la variable F01=:
1. Pasar a ISO-8859-15 la cadena de datos del fichero plano completo de
la declaración obtenido a partir del documento XML (ver apartado 9)
generado por el programa de Ayuda de la AEAT o empresa de
desarrollo, eliminados los saltos de línea, embebido dentro de la
estructura que se describe en el apartado 8.
2. Eliminar caracteres de tipo CRLF.
3. Transformar el resultado a URLEncoded.
versión 1.0 21/12/2010 11:15:00
Página 4
Departamento de Informática Tributaria
Agencia Tributaria

Subdirección General de Planificación y Coordinación Informática
Contenido de la variable TXT=:
1. Obtener el origen de firma (página 1 + \n + página 6 + \n).
2. Pasar el origen de firma a ISO-8859-15.
3. Eliminar caracteres de tipo CRLF.
4. Transformar el resultado a Base64.
5. Transformar el resultado a URLEncoded.

Contenido de la variable FIR=:
1. Obtener el origen de firma (página 1 + \n + página 6 + \n).
2. Pasar el origen de firma a ISO-8859-15.
3. Eliminar caracteres de tipo CRLF.
4. Generar el PKCS#7 en formato Base64.
5. Transformar el resultado a URLEncoded.
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. En caso
de aceptación, dicha página contendrá 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. En caso de rechazo la página contendrá una lista de
los errores encontrados.
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.
Para permitir el proceso automatizado de la respuesta, se incluyen en la página
HTML, un conjunto de datos en variables JavaScript y etiquetas XML. Las variables
javascript disponibles son:
Var FEC=”&FEC;”; /* Fecha de la presentación */
versión 1.0 21/12/2010 11:15:00
Página 5
Departamento de Informática Tributaria
Agencia Tributaria
Subdirección General de Planificación y Coordinación Informática
Var HOR=’&HOR;’; /* Hora de la presentación */
Var CEL=”&CEL;’”; /* Código Seguro de Verificación */
Var REG=”®”; /* Número de entrada de Registro */
Var NIP=”&NIP;”; /* NIF del Presentador */
Var APP=”&APP;”; /* Apellidos y nombre, razón social o denominación del presentador */
Var CAP=”∩”; /* En calidad de, del presentador */
Var NDC=”&NDC;”; /* NIF del declarante */
Var NAP=”≉”; /* Apellidos y nombre, razón social o denominación del declarante */
Var MOD=”&MOD;”; /* Modelo */
Var EJF=”&EJF;”; /* Ejercicio fiscal */
Var PER=”&PER;”; /* Período */
Var JUS=”&JUS;”; /* Número de justificante */
Var NRC=”&NRC;”; /* Número de Referencia Completo */
Var ING=”&ING;”; /* Importe del ingreso */
Var NRR=”&NRR;”; /* Número de Referencia de Registro */
Var ICO=”&ICO;”; /* Importe de aplazamiento, reconocimiento de deuda, compensación */
Var VIA=”&VIA;”; /* Vía de entrada de la presentación */
Var LOT=”&LOT;” /* ¿Presentación por Lotes? (Reservado AEAT) */
Var IDI=”&IDI;”; /* Idioma de la presentación */
Var PDF=”&PDF;”; /* ¿PDF embebido en la página de respuesta? */
Var YAP=”&YAP;”; /* ¿Presentación realizada con anterioridad? */
Y su contrapartida en etiquetas XML:
<FEC>&FEC;</FEC>
<HOR>&HOR;</HOR>
<CEL>&CEL;</CEL>
<REG>®</REG>
<NIP>&NIP;</NIP>
<APP>&APP;</APP>
versión 1.0 21/12/2010 11:15:00
Página 6
Departamento de Informática Tributaria
Agencia Tributaria
Subdirección General de Planificación y Coordinación Informática
<CAP>∩</CAP>
<NDC>&NDC;</NDC>
<NAP>≉</NAP>
<MOD>&MOD;</MOD>
<EJF>&EJF;</EJF>
<PER>&PER;</PER>
<JUS>&JUS;</JUS>
<NRC>&NRC;</NRC>
<ING>&ING;</ING>
<NRR>&NRR;</NRR>
<ICO>&ICO;</ICO>
<VIA>&VIA;</VIA>
<LOT>&LOT;</LOT>
<IDI>&IDI;</IDI>
<PDF>&PDF;</PDF>
<YAP>&YAP;</YAP>
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]=”&E00;”; Err[1]=”&E01;”;
…
Err[98]=”&E98;”; Err[99]=”&E99;”;
Así mismo, dispondrá de la misma información en pseudoxml:
<E00>&E00;</E00><E01>&E01;</E01>
…
<E98>&E98;</E08><E99>&E99;</E99>
No es posible anular declaraciones ya grabadas.
versión 1.0 21/12/2010 11:15:00
Página 7
Departamento de Informática Tributaria
Agencia Tributaria
Subdirección General de Planificación y Coordinación Informática
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 página HTML de aceptación de la
declaración en el momento anterior (que contendrá el texto YA REALIZADA y no
contendrá el PDF embebido; si se desea recuperar deberá utilizarse el servicio de
Comprobación en la AEAT (Copia Electrónica)).
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
https://www.aeat.es/padres/eedd 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 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 los apartados 5 y 6.
8. ENSOBRADO DEL FICHERO
El fichero plano enviado se espera recibir embebido dentro de una estructura de datos
que conoceremos como ‘ensobrado’. Esta estructura consta de las siguientes partes:

Cabecera inicial
versión 1.0 21/12/2010 11:15:00
Página 8
Departamento de Informática Tributaria
Agencia Tributaria
Subdirección General de Planificación y Coordinación Informática
La constante <T390020110A0000>. Válida para el ejercicio 2011, para otros
ejercicios consultar la documentación sobre el vector auxiliar que se encuentra en
http://www.agenciatributaria.es/AEAT_Colaboradores/EEDD_ECR/Modulos_XML_Java/200
9/Ficheros/AUX_GENERAL.xls

Vector auxiliar
Información de la declaración delimitada entre los literales <AUX> y </AUX>. Esta
información se encuentra detallada en el documento
http://www.agenciatributaria.es/AEAT_Colaboradores/EEDD_ECR/Modulos_XML_Java/200
9/Ficheros/AUX_GENERAL.xls
Se deben rellenar los siguientes campos:
o Origen: contante ‘W’
o NIF de la etiqueta: NIF del sujeto pasivo (posiciones 15 al 23 de la
página 1)
o
Tres letras de la etiqueta: Tres primeras letras de los apellidos y nombre o
razón social (posiciones 24 a 26 de la página 1)
o Idioma de la declaración: Uno de los siguientes literales
‘E’ para Español,
‘C’ para Catalán,
‘G’ para Gallego y
‘V’ para Valenciano
o Identificador de presentador colectivo: constante 0
El resto de los campos deben ir a blanco.

Vector de páginas
Área de 300 caracteres delimitada por los literales <VECTOR> Y </VECTOR>. Se trata
de un vector de 100 elementos de 3 caracteres cada uno que indica qué páginas
componen la declaración. Después del último número de página válido se introduce
el literal FIN y se rellena el área a blancos hasta completar los 300 caracteres.

Fichero de la declaración
Fichero plano de la declaración. Un único registro que incluye los datos de la
declaración, separados por páginas. Han de venir en igual número y orden que el
indicado en el vector de páginas. La longitud dependerá del número de hojas de las
que conste la declaración.

Cabecera final
La constante </T390020110A0000>. Válida para el ejercicio 2011, para otros
ejercicios consultar la documentación sobre el vector auxiliar que se encuentra en
http://www.agenciatributaria.es/AEAT_Colaboradores/EEDD_ECR/Modulos_XML_Java/200
9/Ficheros/AUX_GENERAL.xls
9. OBTENCION DEL FICHERO PLANO A PARTIR DEL DOCUMENTO XML
El envío de la declaración a la AEAT obliga a convertir el documento XML a fichero
plano. La AEAT pone a disposición de las EEFF un programa Java que se puede utilizar
como programa autónomo o como applet. Este programa se distribuye como un archivo
comprimido (.zip) que contiene el fichero:
versión 1.0 21/12/2010 11:15:00
Página 9
Departamento de Informática Tributaria
Agencia Tributaria

Subdirección General de Planificación y Coordinación Informática
iva.jar – Archivo java con los ejecutables del transformador.
El programa puede descargarse en el portal de Empresas de Desarrollo
(http://www.agenciatributaria.es/AEAT.desarrolladores/Desarrolladores/Desarrolladores.ht
ml en Inicio > Descarga de módulos > Ejercicio 20111) y Entidades colaboradoras
(http://www.agenciatributaria.es/AEAT.colaboradores/Colaboradores/Colaboradores.html).
Actualmente contiene los recursos necesarios para realizar las transformaciones de los
documentos correspondientes a los ejercicios 2004, 2005, 2006, 2007, 2008, 2009, 2010 y
2011. Se actualizará todos los años para contener las nuevas versiones del modelo.
El fichero plano obtenido contendrá un conjunto de líneas, cada una corresponde a una
página del modelo, las páginas se encuentran delimitadas por los literales <T390PP> y
</T390PP>, donde PP es el número de página.
10. ENLACE CON EL FORMULARIO
La invocación al servicio se realizará a través de un formulario HTML en la siguiente URL:
https://www2.agenciatributaria.gob.es/es13/h/servurlp.html?WEB=INTERNET&PRG=390&
EJE=2011&VER=1.00&URL=PIR&IDI=E&EXT=?FIC=<camino_al_fichero>
Donde la variable ‘FIC’ de la URL contendrá el camino, en el sistema de ficheros local, al
fichero,- en formato XML generado por el programa de ayuda - que se desea presentar
telemáticamente. Esta variable es opcional, si no se utiliza, se presentará al usuario una
página HTML que permite seleccionar, a través de una ventana de diálogo, el fichero a
presentar telemáticamente.
El servicio de Presentación Telemática procederá a la transformación del fichero XML a
fichero plano y la firma electrónica de la declaración utilizando el certificado electrónico
solicitado al contribuyente y realizará la petición correspondiente a los programas HOST de
la AEAT, que validarán la declaración y la firma y devolverán al contribuyente una página
HTML con el resultado de la presentación.
11. COMPROBACIÓN DE LA PRESENTACIÓN DE LA DECLARACIÓN
La Entidad Financiera puede proporcionar a sus clientes la posibilidad de comprobar
que su declaración ha sido admitida por la AEAT, para lo cual puede utilizar distintas
alternativas:
A. Comprobación en la AEAT (Copia Electrónica):
Se enviará a la siguiente 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.
1
http://www.agenciatributaria.es/AEAT_Desarrolladores/EEDD/DescargaModulos/2011/Ficheros/IVAXMLaFi
jo2011.zip
versión 1.0 21/12/2010 11:15:00
Página 10
Departamento de Informática Tributaria
Agencia Tributaria
Subdirección General de Planificación y Coordinación Informática
https://www1.agenciatributaria.gob.es/es13/l/ewsfewlinksf
Los datos a enviar son 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 en codificación urlencoded.
El orden de las variables, su nombre y su contenido son los indicados a
continuación:
HID=Constante COINX390.
NIF=NIF del declarante.
EJF=2011 (constante, identifica el ejercicio consultado).
PER=Vacío
CEL=Código seguro de verificación obtenido en la presentación (opcional).
EXP=Vacío
NIU=Vacío
IDI=Constante ES
VIA=Vacío
FIN=Vacío, (indicador de fin de datos).
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 por la Entidad Financiera.
La EF podrá almacenar en sus sistemas la respuesta correcta devuelta por la
AEAT en su día, la cual podrá mostrar a su cliente cada vez que este se lo solicite.
12. ACTUALIZACIÓN DEL DOCUMENTO
Este documento estará publicado en los portales de Empresas de Desarrollo y
Entidades Colaboradoras:
http://www.agenciatributaria.es/AEAT.desarrolladores/Desarrolladores/Desarr
olladores.html
versión 1.0 21/12/2010 11:15:00
Página 11
Departamento de Informática Tributaria
Agencia Tributaria
Subdirección General de Planificación y Coordinación Informática
http://www.agenciatributaria.es/AEAT.colaboradores/Colaboradores/Colabora
dores.html
Las novedades o correcciones se irán incorporando a este documento, remarcándolas
con _________________.
versión 1.0 21/12/2010 11:15:00
Página 12
Descargar