Anda di halaman 1dari 45

MANUAL DEL PROGRAMADOR

Emisin electrnica desde los Sistemas del Contribuyente RS 097-2012/SUNAT

SUPERINTENDENCIA NACIONAL DE ADUANAS Y ADMINISTRACIN TRIBUTARIA SUNAT - Lima Per Mayo 2012

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

INDICE

Documentos electrnicos ....................................................................................... 5 1.1 1.2 1.3 1.4 Lineamientos generales .................................................................................. 5 Nombre del documento XML y archivos ZIP ................................................... 5 Contenido del archivo ZIP............................................................................... 7 Contenido del archivo XML ............................................................................. 7

Envo de documentos electrnicos ........................................................................ 8 2.1 2.2 2.3 2.4 2.5 Mecanismo de envo: WebServices ................................................................ 8 Mecanismo de seguridad: WS-Security y SSL ................................................ 8 Tipos de envo .............................................................................................. 10 Mtodos disponibles ..................................................................................... 11 Constancia de Recepcin (CDR) .................................................................. 15

Firma Digital ........................................................................................................ 17 3.1 3.2 Consideraciones sobre el certificado digital a utilizarse ................................ 17 Consideraciones sobre el proceso de firmado .............................................. 17

Procedimientos especficos ................................................................................. 19 4.1 4.2 4.3 Manejo de errores......................................................................................... 19 Recuperacin de la Constancia de Recepcin.............................................. 21 Utilizacin de campos del estndar UBL ....................................................... 21

ANEXO 1: Constancia de Recepcin .......................................................................... 22 A. Informacin contenida en la Constancia de Recepcin y estructura XML ..... 22 A.1 A.2 B. Campos contenidos en la Constancia de Recepcin............................ 23 Estructura XML de ApplicationResponse segn norma UBL ................ 24

Elementos de la Constancia de Recepcin ................................................... 27 B.1 B.2 B.3 B.4 ext:UBLExtensions ............................................................................... 27 cbc:UBLVersionID ................................................................................ 28 cbc:CustomizationID ............................................................................ 28 cbc:ID................................................................................................... 28
~2~

Proyecto libros y comprobantes de pago electrnicos

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

B.5 B.6 B.7 B.8 B.9 B.10 B.11 B.12 B.13 C. C.1 C.2

cbc:IssueDate ...................................................................................... 28 cbc:IssueTime ...................................................................................... 28 cbc:ResponseDate ............................................................................... 29 cbc:ResponseTime .............................................................................. 29 cac:Signature ....................................................................................... 29 cbc:Note............................................................................................... 30 cac: SenderParty ................................................................................. 30 cac: ReceiverParty ............................................................................... 31 cac: DocumentResponse ..................................................................... 31

Ejemplos ................................................................................................... 35 Respuesta de aplicacin SUNAT Estado ACEPTADO ...................... 35 Respuesta de aplicacin SUNAT Estado RECHAZADO ................... 37

ANEXO 2: Listado de Errores ..................................................................................... 39

Proyecto libros y comprobantes de pago electrnicos

~3~

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

Registros de Cambios del Manual


Fecha Versin Elemento de Cambio 31/05/2012 1.0 Proyecto libros y comprobantes de pago electrnicos Proyecto libros y comprobantes de pago electrnicos Motivo de Cambio Autor

25/06/2012

1.1

Anexo 2

Incorporacin errores

de

listado

de

Proyecto libros y comprobantes de pago electrnicos

~4~

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

Documentos electrnicos

Los documentos electrnicos definidos en el proyecto de Factura Electrnica, estn especificados en formato XML y basados en el estndar UBL 2.0 (http://docs.oasisopen.org/ubl/os-UBL-2.0/UBL-2.0.html). Para su envo a la SUNAT, se debe tener en cuenta las especificaciones descritas en este manual. El documento ser rechazado en caso se incumplan stas. 1.1 Lineamientos generales 1) Los documentos XML de la factura, boleta de venta y notas de crdito y debito, as como del resumen diario y comunicaciones de baja, antes de ser enviados a la SUNAT, debern ser empaquetados en un archivo ZIP. 2) Los documentos XML de la factura, boleta de venta y notas de crdito y debito, as como del resumen diario y comunicaciones de baja, debern tener un nombre. 3) El envo de los archivos ZIP, indicados en el punto 1, ser va WebServices. 4) El servicio Web estar protegido con un esquema de seguridad basado en WSSecurity. 5) El modelo de seguridad usado en WSSecurity ser UsernameToken y slo se aceptar las credenciales de la Clave SOL de la SUNAT.

1.2

Nombre del documento XML y archivos ZIP Los documentos XML y los archivos ZIP que lo contienen, deben ser generados con los nombres que se detallan a continuacin:

Factura y sus Notas de Crdito y Dbito: Posicin 01-11 12 13-14 Nemotcnico RRRRRRRRRR R TT 01 03 07 08 FAAA BAAA Descripcin Ruc del Emisor Guin separador Tipo de comprobante Factura Electrnica Boleta de venta Nota de Crdito Nota de Dbito Guin separador Serie del comprobante. Se espera que el primer carcter sea la constante F seguido por 3 caracteres alfanumricos para las Facturas y Notas asociadas B seguido de 3 caracteres para las Boletas de venta y Notas asociadas. Guin separador
~5~

15 16-19

20

Proyecto libros y comprobantes de pago electrnicos

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

21-28

Nmero correlativo del comprobante. Este campo es variante, se espera un mnimo de 1 y mximo de 8. 29 (*) . Punto de extensin 30-32 (*) Extensin del archivo EEE XML Para el caso del documento XML ZIP Para el caso del archivo ZIP (*) Las posiciones pueden variar dependiendo de la longitud variante del correlativo. Ejemplos: Nombre del archivo ZIP: 20100066603-01-F001-1.ZIP Nombre del archivo XML: 20100066603-01-F001-1.XML Nombre del archivo ZIP: 20100066603-01-F001-00000001.ZIP Nombre del archivo XML: 20100066603-01-F001-00000001.XML Nombre del archivo ZIP: 20100066603-07-F001-1.ZIP Nombre del archivo XML: 20100066603-07-F001-1.XML Nombre del archivo ZIP: 20100066603-08-F001-1.ZIP Nombre del archivo XML: 20100066603-08-F001-1.XML

CCCCCCCC

Resumen Diario de Boletas de Venta y sus correspondientes notas de crdito y dbito y Comunicacin de baja Posicin 01-11 12 13-14 Nemotcnico RRRRRRRRRR R TT RC RA YYYYMMDD Descripcin Ruc del Emisor

Guin separador Tipo de resumen Resumen diario de Boletas Comunicacin de Bajas 15 Guin separador 16-23 Fecha de la generacin del archivo en formato YYYYMMDD 24 Guin separador 25-29 Nmero correlativo del archivo. Este campo es variante, se espera un mnimo de 1 y mximo de 5. 30 (*) . Punto de extensin 31-33 (*) EEE Extensin del archivo XML Para el caso del documento XML ZIP Para el caso del archivo ZIP (*) Las posiciones pueden variar dependiendo de la longitud variante del correlativo. Ejemplos: Nombre del archivo ZIP: 20100066603-RC-20110522-001.ZIP Nombre del archivo XML: 20100066603-RC-20110522-001.XML Nombre del archivo ZIP: 20100066603-RA-20110522-1.ZIP Nombre del archivo XML: 20100066603-RA-20110522-1.XML

Proyecto libros y comprobantes de pago electrnicos

~6~

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

1.3

Contenido del archivo ZIP El contenido del archivo ZIP depender de la modalidad de envo, la cual deber ser de la siguiente manera: En caso de las facturas y sus correspondientes notas de crdito y dbito, se enviar un nico comprobante, razn por la que se espera recibir un nico archivo ZIP y dentro de este, un nico documento XML. Los nombres de ambos archivos deben coincidir a excepcin de la extensin. Por ejemplo: o Nombre del archivo ZIP: 20100066603-01-F001-1.ZIP o Nombre del archivo XML: 20100066603-01-F001-1.XML En el caso del Resumen Diario de boletas de venta y sus correspondientes notas de crdito y dbito y Comunicacin de baja, se espera recibir un nico archivo ZIP y dentro de este, un nico documento XML de Resumen o Baja. Los nombres de ambos archivos deben coincidir a excepcin de la extensin. Por ejemplo: Para los archivos de resumen de boletas de venta y sus notas de crdito y dbito. o Nombre del archivo ZIP: 20100066603-RC-20110522-1.ZIP o Nombre del archivo XML: 20100066603-RC-20110522-1.XML Para los archivos de Comunicacin de Bajas o Nombre del archivo ZIP: 20100066603-RA-20110522-002.ZIP o Nombre del archivo XML: 20100066603-RA-20110522-002.XML

1.4

Contenido del archivo XML El contenido del archivo XML deber cumplir con lo siguiente: a. La estructura de cada documento deber construirse de acuerdo a los esquemas (xsd) definidos para cada tipo de documento. b. La informacin consignada debe cumplir las reglas de negocio definidas en la normatividad vigente. Estas especificaciones se encuentran detalladas en las Guas de Elaboracin de documentos electrnicos XML publicadas en la pgina web de SUNAT. c. En el caso de utilizarse acentos o letras propias del alfabeto espaol como la ee, se debe generar el archivo XML con la codificacin ISO-8859-1. Adems se debe especificar en la primera lnea del archivo xml el uso de dicha codificacin para su correcto procesamiento:
<?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?>

Proyecto libros y comprobantes de pago electrnicos

~7~

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

Envo de documentos electrnicos

2.1

Mecanismo de envo: WebServices Los WebServices permiten la comunicacin entre aplicaciones o componentes de aplicaciones de forma estndar a travs de protocolos comunes como http(s) y de manera independiente al lenguaje de programacin, plataforma de implantacin, formato de presentacin o sistema operativo. Un WebService es un contenedor que encapsula funciones especficas y hace que estas funciones puedan ser utilizadas en otros servidores. La SUNAT ha determinado que la forma de envo de los comprobantes de pago, Resumen Diario y Comunicacin de Baja se realice va WebServices. En tal sentido, tambin se han definido mtodos personalizados para recibir cada tipo de documento, los mismos que se detallan en el punto 2.4 del presente documento El servicio Web ser protegido va SSL y estar publicado en la siguiente direccin web: Para envo en produccin: https://www.sunat.gob.pe/ol-ti-itcpgem/billService

Para envo en el proceso de homologacin: https://www.sunat.gob.pe/ol-ti-itcpgem-sqa/billService

2.2

Mecanismo de seguridad: WS-Security y SSL WS-Security (Seguridad en Servicios Web) es un protocolo de comunicaciones que suministra un medio para aplicar seguridad a los Servicios Web. WSSecurity incorpora las caractersticas de seguridad en el encabezado de un mensaje SOAP. La especificacin WS-Security permite una variedad de formatos de firma digital, algoritmos de cifrado y dominios de confianza, y est abierta a diferentes modelos de seguridad, como por ejemplo: X.509 certificates Kerberos tickets UserID/Password credentials SAML-Assertion Custom defined token

Proyecto libros y comprobantes de pago electrnicos

~8~

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

Para acceder al Servicio Web de la SUNAT se ha determinado el uso del WS-Security en el modelo UsernameToken. En donde se debe consignar las credenciales de la Clave SOL, de la siguiente manera:
<soapenv:Header> <wsse:Security> <wsse:UsernameToken> <wsse:Username>20100066603MODDATOS</wsse:Username> <wsse:Password>moddatos</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soapenv:Header>

Como la modalidad UsernameToken solo permite consignar dos campos que son Username y Password y sin embargo la Clave SOL est compuesta de 3 campos que son RUC, usuario y contrasea, se debe concatenar los campos RUC y usuario en el campo Username. La contrasea se consignar en el campo Password. La clave SOL que se utilizar debe cumplir con los siguientes requisitos: - Debe ser una clave de tipo secundaria - Tener asignado el perfil de Envo de documentos electrnicos-Grandes emisores

Adems se har uso del protocolo SSL en conjunto con HTTPS, con el cual la informacin que se transfiera desde el servidor del emisor electrnico hacia el servidor de SUNAT, viajar en forma cifrada.

Proyecto libros y comprobantes de pago electrnicos

~9~

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

2.3

Tipos de envo Se han establecido dos tipos de envos: Sncrono y Asncrono. Envo Sncrono En este tipo de envo, el servicio web de SUNAT procesa el documento remitido por el emisor y responde inmediatamente con una constancia de recepcin (CDR) que puede ser de aceptacin o rechazo. Bajo esta modalidad se procesarn las facturas y las notas de crdito y dbito asociadas.

Envo Asncrono Este tipo de envo ser utilizado para el caso del Resumen diario de Boletas de Venta y sus notas de crdito y debito asociadas as como la Comunicacin de Baja. El servicio web de SUNAT recibir el archivo a procesar y devolver un nmero de ticket de atencin, con el cual el emisor podr consultar el resultado del proceso.

Proyecto libros y comprobantes de pago electrnicos

~ 10 ~

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

2.4

Mtodos disponibles El servicio web de recepcin cuenta con un mtodo personalizado para aceptar cada tipo de documento electrnico. Los mtodos de recepcin definidos son los siguientes: sendBill, este mtodo recibe un archivo ZIP con un nico documento XML de comprobante y devuelve un archivo Zip que contiene un documento XML que es la constancia de aceptacin rechazo. sendSummary, este mtodo recibe un archivo Zip con un nico documento XML de resmenes, ya sea resumen de boletas o comunicacin de bajas. Devuelve un ticket con el que posteriormente utilizando el mtodo getStatus se puede obtener el archivo Zip que contiene un documento XML que es la constancia de aceptacin o rechazo. getStatus, este mtodo recibe el ticket como parmetro y devuelve un objeto que indica el estado del proceso y en caso de haber terminado, devuelve adjunta la constancia de aceptacin o rechazo.

A continuacin se detalla el uso de cada uno de los mtodos definidos:

sendBill
El mtodo sendBill recibe como parmetro un nombre de archivo especificado por la SUNAT y el contenido de un archivo ZIP con un nico documento XML de comprobante y devuelve un archivo Zip que contiene un documento XML que es la constancia de aceptacin rechazo.

Parmetros de entrada Tipo Parmetro String Nombre del archivo

Comentario Se debe consignar el nombre del archivo de acuerdo a la especificacin de la SUNAT. Por ejemplo: 20100066603-01-F001-1.ZIP Se debe consignar el contenido del archivo ZIP en un arreglo de bytes.

byte[]

Contenido del archivo ZIP

Proyecto libros y comprobantes de pago electrnicos

~ 11 ~

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

TODOS los parmetros de entrada son obligatorios, de no ingresar alguno o ingresar valores nulos el servicio emitir una excepcin. Retorno Tipo byte[] Comentario Devuelve un arreglo de bytes que es un archivo ZIP que contiene el documento XML de la constancia de aceptacin o rechazo.

Ejemplo SOAP para invocar el servicio:


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsse="http://docs.oasis-

xmlns:ser="http://service.sunat.gob.pe" <soapenv:Header> <wsse:Security> <wsse:UsernameToken>

open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">

<wsse:Username>20100066603MODDATOS</wsse:Username> <wsse:Password>moddatos</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <ser:sendBill> <fileName>20100066603-01-F001-1.zip</fileName> <contentFile>cid:20100066603-01-F001-1.zip</contentFile> </ser:sendBill> </soapenv:Body> </soapenv:Envelope>

sendSummary
El mtodo sendSummary recibe como parmetro un nombre de archivo especificado por la SUNAT y el contenido de un archivo ZIP con un nico documento XML de resmenes, ya sea resumen de boletas o resumen de bajas. Devuelve un ticket con el que posteriormente utilizando el mtodo getStatus se puede obtener la constancia de aceptacin o rechazo.

Proyecto libros y comprobantes de pago electrnicos

~ 12 ~

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

Parmetros de entrada Tipo Parmetro String Nombre del archivo

byte[]

Contenido del archivo ZIP

Comentario Se debe consignar el nombre del archivo de acuerdo a la especificacin de la SUNAT. Por ejemplo: 20100066603-RC-20110522.ZIP Se debe consignar el contenido del archivo ZIP en un arreglo de bytes.

TODOS los parmetros de entrada son obligatorios, de no ingresar alguno o ingresar valores nulos el servicio emitir una excepcin. Retorno Tipo String Comentario Retorna el ticket de proceso, con el que posteriormente utilizando el mtodo getStatus se puede obtener el archivo Zip que contiene un documento XML que es la constancia de aceptacin o rechazo

Ejemplo SOAP para invocar el servicio:


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsse="http://docs.oasis-

xmlns:ser="http://service.sunat.gob.pe" <soapenv:Header> <wsse:Security> <wsse:UsernameToken>

open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">

<wsse:Username>20100066603MODDATOS</wsse:Username> <wsse:Password>moddatos</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <ser:sendSummary> <fileName>20100066603-RC-20110522-1.zip</fileName> <contentFile>cid:20100066603-RC-20110522-1.zip</contentFile> </ser:sendSummary> </soapenv:Body> </soapenv:Envelope>

Proyecto libros y comprobantes de pago electrnicos

~ 13 ~

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

getStatus
El mtodo getStatus recibe como parmetro el nmero de ticket de procesamiento y devuelve un objeto que indica el estado del proceso y en caso de haber terminado correctamente o con errores, adjunta la constancia de aceptacin o rechazo respectivamente.

Parmetros de entrada Tipo Parmetro String ticket

Comentario Es el ticket de procesamiento que fue devuelto por algn mtodo asncrono, como lo es sendSummary.

TODOS los parmetros de entrada son obligatorios, de no ingresar alguno o ingresar valores nulos el servicio emitir una excepcin. Retorno Tipo StatusResponse Comentario Es un objeto que contiene la respuesta del procesamiento. El objeto StatusResponse tiene dos atributos: statusCode: Indica el estado del procesamiento, es del tipo String y puede tener los siguientes valores: 0 = Proces correctamente 98 = En proceso 99 = Proceso con errores content: nicamente si el atributo statusCode tiene los valores 0 99, este campo tendra valores, que es la constancia de aceptacin o rechazo empaquetada en un archivo ZIP.

Ejemplo SOAP para invocar el servicio:


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsse="http://docs.oasis-

xmlns:ser="http://service.sunat.gob.pe" <soapenv:Header> <wsse:Security>

open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">

Proyecto libros y comprobantes de pago electrnicos

~ 14 ~

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

<wsse:UsernameToken> <wsse:Username>20100066603MODDATOS</wsse:Username> <wsse:Password>moddatos</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <ser:getStatus> <ticket>201100000011227</ticket> </ser:getStatus> </soapenv:Body> </soapenv:Envelope>

Y esto es lo que esperaramos que responda:


<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:getStatusResponse xmlns:ns2="http://service.sunat.gob.pe"> <status> <content><!- Aqu el contenido del archivo ZIP en Base64 -->content> <statusCode>0</statusCode> </status> </ns2:getStatusResponse> </S:Body> </S:Envelope>

2.5

Constancia de Recepcin (CDR)

El documento electrnico de respuesta de SUNAT para todos los documentos electrnicos enviados es la Constancia de Recepcin (CDR). Este documento informa al emisor el resultado del envo, y podr tener el estado de aceptada o rechazada. Las implicancias de la aceptacin o rechazo se explican en el numeral 4.1 del presente manual. La constancia de recepcin ha sido clasificada en tres tipos de acuerdo al documento electrnico enviado: - CDR - Factura y nota, cuando corresponde al resultado del envo de una Factura y/o Nota de crdito y Debito relacionadas - CDR - Resumen Diario, cuando corresponde al resultado del Resumen diario de boletas de venta y notas de crdito y debito electrnicas relacionadas. - CDR Baja, cuando corresponde al resultado de la Comunicacin de baja. Sin embargo, para el sistema, los tres tipos de constancias son iguales, es decir, tienen la misma estructura y por lo tanto, contienen la misma informacin.
Proyecto libros y comprobantes de pago electrnicos ~ 15 ~

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

Las caractersticas generales de la constancia son las siguientes: Formato y estructura: Tendr formato XML basado en el documento ApplicationResponse de UBL versin 2.0. En el Anexo 1 del presente manual se encuentra el detalle de los elementos utilizados para el caso peruano. Nombre: La constancia de recepcin es devuelta por el servicio web de SUNAT dentro de un archivo zip. Al desempaquetar dicho archivo, se encontrar la constancia con el siguiente formato de nombre:
R-<Nombre del archivo enviado sin extensin>.xml

Ejemplos: Archivo XML enviado 20199872761-01-FR92-9882.xml 20199872761-07-FC92-762.xml 20199872761-RC-20120601-1.xml 20199872761-RA-20120601-1.xml Constancia de Recepcin R-20199872761-01-FR92-9882.xml R-20199872761-07-FC92-762.xml R-20199872761-RC-20120601-1.xml R-20199872761-RA-20120601-1.xml

Firma digital: Todas las constancias se encontrarn firmadas digitalmente por SUNAT.

Proyecto libros y comprobantes de pago electrnicos

~ 16 ~

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

Firma Digital Todos los documentos electrnicos que se enviarn a SUNAT debern ser firmados digitalmente por el emisor, haciendo uso de un certificado digital. Las caractersticas que se deben cumplir se detallan a continuacin: 3.1 Consideraciones sobre el certificado digital a utilizarse a) El certificado debe cumplir con los siguientes requisitos tcnicos: Formato estndar X.509 v3. Longitud mnima de clave privada de 1024 bits Permitir que se identifique al titular de la Firma digital, sealando nombre y apellidos y DNI, y el nmero de RUC de la empresa que representa. El nmero de RUC deber estar consignado en el campo OU (Organizational Unit) del atributo Subject Name. El proveedor de los certificados digitales, deber identificar a los titulares y/o suscriptores del certificado digital mediante el levantamiento de datos y la comprobacin de la informacin brindada por el referido titular.

b) El certificado digital deber previamente ser comunicado a SUNAT. Para ello se utilizar la opcin de Actualizacin de certificado digital habilitada en el Men SOL. c) El certificado debe encontrarse vigente y no revocado, ya que el receptor de SUNAT valida estos dos requisitos.

3.2

Consideraciones sobre el proceso de firmado a) Para todos los documentos, la firma digital se consignar en un elemento <ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent>. Dentro de ste elemento es donde se incluye la firma [XMLDSig] del emisor del documento. Por tanto, en el documento nicamente habr un solo <ext:UBLExtension> para la inclusin de la firma. b) Se firmar todo el documento completo, es decir, todo el contenido del elemento raz: Invoice, CreditNote, DebitNote, SummaryDocuments o VoidedDocuments. Se deber utilizar el estndar de firmas XMLDSig. c) Antes de firmar el documento, el archivo debe contener la totalidad de la informacin del documento, incluyendo el elemento <cac:Signature> definido por el estndar UBL con su respectiva informacin. Adems se debe generar el elemento donde se ubicar la firma digital.

Ejemplo de elemento <ext:UBLExtensions> antes de firmar:


<ext:UBLExtensions> <ext:UBLExtension>

Proyecto libros y comprobantes de pago electrnicos

~ 17 ~

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

<ext:ExtensionContent> <sac:AdditionalInformation> <sac:AdditionalMonetaryTotal> <cbc:ID>1001</cbc:ID> <cbc:PayableAmount currencyID="PEN">348199.15</cbc:PayableAmount> </sac:AdditionalMonetaryTotal> <sac:AdditionalProperty> <cbc:ID>1000</cbc:ID> <cbc:Value>CUATROCIENTOS VEINTITRES Y 00/100</cbc:Value> </sac:AdditionalProperty> </sac:AdditionalInformation> </ext:ExtensionContent> </ext:UBLExtension> <ext:UBLExtension> <ext:ExtensionContent> </ext:ExtensionContent> </ext:UBLExtension> </ext:UBLExtensions>

d) La firma digital se debe alojar en el elemento <ext:ExtensionContent> creado para tal fin. e) Para firmar un documento electrnico se utilizar la clave privada de un certificado digital X509. Luego de este proceso no podrn aadirse nuevos datos al documento, ni siquiera extensiones en el formato acordado, puesto que la validacin considerara que el documento ha sido alterado. f) La firma deber generarse con el mismo tipo de codificacin con el cual se gener el documento xml. Por ejemplo, si el archivo xml a firmar es generado con la codificacin ISO-8859-1, la firma tambin deber ser generada con dicha codificacin.

g) Mayores detalles de la firma digital se encuentra en cada informe de definicin de los documentos electrnicos y tambin puede ser revisado en la pgina web del Consorcio World Wide Web - W3C (http://www.w3.org/TR/xmldsig-core/).

Proyecto libros y comprobantes de pago electrnicos

~ 18 ~

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

4 4.1

Procedimientos especficos Manejo de errores El sistema realiza una serie de validaciones durante el proceso de recepcin de los documentos electrnicos. Cada una de estas validaciones en caso de no cumplirse genera un tipo de error. Estos tipos son: 1. Excepciones: Son errores graves que imposibilitan el procesamiento del archivo. En estos casos, el documento se considera como no informado, y el emisor deber corregir el problema para volver a enviar el documento. 2. Errores que generan rechazos: En estos casos se proces el documento electrnico, pero se detectaron errores que no permiten registrarlo como documento vlido. Las implicancias de este tipo de error dependen del tipo de documento procesado y son las siguientes: En Facturas y Notas de crdito y dbito asociadas: Para estos documentos, la numeracin se considera ya utilizada, pero la factura o nota electrnica no es vlida. En estos casos el emisor ya no podr utilizar ese nmero, y tendr que generar un nuevo documento corrigiendo el problema que gener el error y asignar un nuevo nmero al documento. En Resmenes diarios de Boletas de Venta y Comunicacin de baja: En estos documentos donde se informa ms de un nmero de comprobante, se rechaza todo el documento completo. No hay procesamiento parcial, y tampoco se invalidan los nmeros. Todo el documento completo se considera como no informado. El emisor debe corregir el problema y volver a enviar todo el documento nuevamente. Puede utilizar el mismo nombre de archivo.

3. Observaciones Son errores que no invalidan el documento y por lo tanto el sistema registrar el comprobante como vlido. Las observaciones se informarn en la Constancia de Recepcin. La relacin de los cdigos de error y su descripcin se encuentra en el Anexo N 2. Los cdigos se han clasificado de acuerdo al tipo de error: - Del 0100 al 1999 Excepciones - Del 2000 al 3999 Errores que generan rechazo - Del 4000 en adelante Observaciones

Proyecto libros y comprobantes de pago electrnicos

~ 19 ~

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

De acuerdo al tipo de error que se genera, el sistema responde de manera distinta al emisor. Las respuestas son: - Si es una EXCEPCION, el sistema responde como una excepcin del programa, es decir, retorna el cdigo de error con su descripcin. Si hay un ERROR QUE GENERA RECHAZO, el sistema genera una constancia de recepcin (CDR) con estado rechazada, indicando que el comprobante no ha sido registrado en SUNAT por tener errores. Si hay OBSERVACIONES, el sistema genera una constancia de recepcin (CDR) con estado aceptada con advertencias, indicando que el comprobante ha sido correctamente enviado y registrado en SUNAT. Las advertencias se muestran en la constancia de recepcin. Finalmente, si no hay ningn tipo de error, se genera una constancia de recepcin (CDR) aceptada, indicando que el comprobante ha sido correctamente enviado y registrado en SUNAT.

Proyecto libros y comprobantes de pago electrnicos

~ 20 ~

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

4.2

Recuperacin de la Constancia de Recepcin En los casos de envo sncrono, si se requiere recuperar la Constancia de Recepcin de SUNAT (CDR-SUNAT), sta podr ser obtenida enviando el mismo documento electrnico. Se debe tomar en cuenta el siguiente comportamiento del sistema: Si el documento ha sido aceptado por SUNAT, retorna la Constancia generada cuando se recibi el documento. Si el documento no es el mismo (ha sido alterado) retorna una excepcin indicando que el documento ya ha sido presentado con otra informacin. Si el documento ha sido rechazado por SUNAT, se retorna la Constancia de Recepcin de rechazo generada cuando se recibi el documento. En estos casos, no se valida si el documento ha sido alterado.

Para los resmenes diarios y comunicaciones de baja (envo asncrono), la recuperacin de la constancia se efectuar invocando el servicio web de consulta del estado del proceso de envo. En la medida de que el proceso de recepcin haya concluido, el sistema devolver la constancia de recepcin correspondiente al proceso asociado al nmero de ticket consultado. 4.3 Utilizacin de campos del estndar UBL El estndar UBL permite consignar una gran cantidad de datos comerciales. Todos los elementos disponibles en la versin 2.0 de UBL pueden ser utilizados por el emisor, siempre que cumplan con el formato establecido por el estndar. La comprobacin del cumplimiento del estndar se realiza verificando que el documento cumple con el esquema (archivos con extensin xsd) que define su estructura. Este proceso denominado parseo en el mbito informtico, debera realizarse siempre luego de construido un documento electrnico y antes de realizar su envo a SUNAT. Los diferentes lenguajes de programacin ofrecen libreras que permiten realizar esta verificacin.

Proyecto libros y comprobantes de pago electrnicos

~ 21 ~

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

ANEXO 1: Constancia de Recepcin La Constancia de Recepcin es el documento que permitir indicar la respuesta de la aplicacin SUNAT a la transaccin de recepcin de la factura, nota o resmenes enviados por el contribuyente. Este documento informar el estado de recepcin, indicando si ha sido aceptado o rechazado por SUNAT. El objetivo de este anexo es describir las normas de uso que usar SUNAT cuando construya el documento de respuesta al proceso de recepcin de documentos electrnicos. Este documento est basado en el esquema del documento ApplicationResponse del estndar UBL versin 2.0. A. Informacin contenida en la Constancia de Recepcin y estructura XML Los diferentes campos contenidos en la constancia de recepcin se detallan en el cuadro del literal A.1. Para elaborar dicho cuadro se ha tomado en cuenta la siguiente nomenclatura: Para los tipos de campos y longitud: A N An a3 n3 an3 a..3 n..3 an..3 caracter alfabtico caracter numrico caracter alfanumrico 3 caracteres alfabticos de longitud fija 3 caracteres numricos de longitud fija 3 caracteres alfa-numricos de longitud fija hasta 3 caracteres alfabticos hasta 3 caracteres numricos hasta 3 caracteres alfa-numricos

Para la condicin de obligatoriedad o no de un determinado elemento: M: Mandatorio u obligatorio C: Condicional u opcional En lo referente a la identificacin del formato de los elementos: n(12,2) n(2,2) F##### YYYY-MM-DD elemento numrico hasta12 enteros + punto decimal+ hasta dos decimales elemento numrico hasta 2 enteros + punto decimal+ hasta dos decimales elemento inicia con la letra F seguida de cinco dgitos formato fecha yyyy=ao, mm=mes, dd=da

En el cuadro del literal A.2 se muestra la estructura del documento ApplicationResponse de acuerdo a UBL versin 2.0 y una referencia a la informacin que estar contenida en cada elemento. Adems se muestra la cardinalidad de acuerdo al UBL y el asumido para el caso peruano

Proyecto libros y comprobantes de pago electrnicos

~ 22 ~

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

A.1 Campos contenidos en la Constancia de Recepcin

N 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

CAMPOS Firma Digital (Firma electrnica) Nmero identificador del proceso de recepcin Fecha de recepcin del documento electrnico procesado Hora de recepcin del documento electrnico procesado Fecha de generacin de la constancia de recepcin Hora de generacin de la constancia de recepcin Mensajes o notas asociados a la constancia de recepcin Nmero de RUC del Emisor de la constancia Nmero de RUC del Receptor de la constancia Identificador del documento electrnico enviado Cdigo de respuesta del envo Descripcin de la respuesta del envo Identificador del documento electrnico procesado Identificacin del receptor del documento electrnico procesado Versin del UBL Versin de la estructura del documento

NIVEL Global Global Global Global Global Global Global Global Global Global Global Global Global Global Global Global

CONDICIN M M M M M M M M M M M M M M M M

TIPO Y LONGITUD an..3000 n15 an..10 an..11 an..10 an..11 an..100 n11 n11 an..23 n..4 an..100 an..23 an..13 an..10 an..10

FORMATO

OBSERVACIONES

YYYY########### YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss

Formato Date del XML

Formato Date del XML

Formato de acuerdo al tipo de documento procesado

Formato de acuerdo al tipo de documento procesado

Proyecto libros y comprobantes de pago electrnicos

~ 23 ~

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

A.2 Estructura XML de ApplicationResponse segn norma UBL

ESTRUCTURA XML APPLICATIONRESPONSE - PERU


Etiqueta XML ApplicationResponse Descripcin Documento para indicar la respuesta de SUNAT al proceso de recepcin de documentos Contenedor de Componentes de extensin. Podrn incorporarse nuevas definiciones estructuradas cuando sean de inters conjunto para emisores y receptores, y no estn ya definidas en el esquema del documento de respuesta. Componente de extensin para especificar la firma XMLDSIG Identificacin de la firma dentro del documento informacin sobre el valor de la firma e informacin sobre los datos a firmar Indica cmo se debe transformar a forma cannica el elemento <Signinfo> antes de realizar la firma Especifica qu tipo de algoritmo de firma que se utilizar para obtener la firma Identifica al objeto de datos que se va a firmar, Si su valor es cadena vaca identifica al documento completo que contiene la firma Indica un paso realizado en el procesamiento de clculo del hash. Define la funcin hash utilizada Es el valor hash codificado en Base64 Contiene la firma codificada en Base64 Es una estructura que contiene informacin del certificado firmante Versin de UBL Versin de la estructura del documento Nmero nico asignado por SUNAT para identificar el proceso de recepcin Cardinalidad Constancia de UBL Recepcin

./ext:UBLExtensions ./ext:UBLExtension/ext:ExtensionContent ./ds:Signature @Id ./ds:SignedInfo ./ds:CanonicalizationMethod@Algorithm ./ds:SignatureMethod@Algorithm ./ds:Reference@URI ./ds:Reference/ds:Transforms/ds:Transform@Algorithm ./ds:Reference/ds:DigestMethod@Algorithm ./ds:Reference/ds:DigestValue ./ds:SignatureValue ./ds:KeyInfo/ds:X509Data/ds:X509Certificate ./cbc:UBLVersionID . cbc:CustomizationID ./cbc:ID

0..1 1..n 1 1 1 1 1..n 1..n 0..n 1 1 1..n 0..1 0..1 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Proyecto libros y comprobantes de pago electrnicos

~ 24 ~

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

./cbc:IssueDate ./cbc:IssueTime ./cbc:ResponseDate ./cbc:ResponseTime ./cbc:Note ./cac:Signature ./cbc:ID ./cac:SignatoryParty ./cac:PartyIdentification ./cbc:ID

Fecha de recepcin del documento procesado (yyyy-mm-dd) Hora de recepcin del documento procesado (hh:mm:ss.OZ) Fecha de generacin de la constancia de recepcin (yyyy-mm-dd) Hora de generacin de la constancia de recepcin (hh:mm:ss.OZ) Mensajes o notas asociados al documento de respuesta Referencia a la Firma Digital Identificador de la firma Parte firmante Identificacin de la parte firmante

1 0..1 0..1 0..1 0..n 0..n 1 1 0..n 1

1 1 1 1 0..n 1 1 1 1 1

./cac:PartyName ./cbc:Name Nombre de la parte firmante

0..n 1

1 1

./cac:DigitalSignatureAttachment ./cac:ExternalReference ./cbc:URI

Asociacin con la firma codificada (en formato XMLDSIG, por ejemplo) Informacin acerca de un documento vinculado. Identificador de Recurso Uniforme (o URI) que identifica la localizacin de la firma

0..1 0..1 0..1

1 1 1

./cac:SenderParty ./cac:PartyIdentification ./cbc:ID

Informacin sobre la parte que remite la informacin. Describe el tipo de documento de identificacin a la parte que remite la informacin Indica el nmero de identificacin (RUC) de la parte que enva la informacin (SUNAT) Informacin sobre la parte que recibe la informacin Describe el tipo de documento de identificacin a la parte que recibe la informacin Indica el nmero de identificacin (RUC) de la parte que recibe la informacin.

1 1..n 1

1 1 1

./cac:ReceiverParty ./cac:PartyIdentification ./cbc:ID

1 1..n 1

1 1 1

Proyecto libros y comprobantes de pago electrnicos

~ 25 ~

Superintendencia Nacional de Aduanas y Administracin Tributaria SUNAT

Manual del programador

./cac:DocumentResponse ./cac:Response ./cbc:ReferenceID ./cbc:ResponseCode ./cbc:Description ./cac:DocumentReference ./cbc:ID

Describe el estado de la constancia de recepcin Informacin sobre la respuesta al proceso de recepcin Identificacin del documento electrnico procesado Cdigo de la respuesta al documento electrnico procesado Descripcin de la respuesta al documento electrnico procesado Identificacin del documento procesado Identificador del documento electrnico procesado

1..n 1..n 1..n 1..n 1..n 1..n 1

1 1 1 1 1 1 1

./cac:RecipientParty ./cac:PartyIdentification ./cbc:ID

Informacin de la parte receptora del documento electrnico procesado Identificacin de la parte receptora del documento electrnico procesado Identificacin del receptor del documento electrnico procesado

1..n

Proyecto libros y comprobantes de pago electrnicos

~ 26 ~

B.

Elementos de la Constancia de Recepcin

Para un mejor entendimiento de la estructura del archivo XML, se muestra el diagrama respectivo en donde se muestra los elementos utilizados para la constancia de recepcin.

A continuacin se detallan los elementos que forman parte de la constancia de recepcin. En cada uno de ellos se indica una explicacin de la informacin que almacena:

B.1 ext:UBLExtensions Contenedor de Componentes de extensin. Para el caso peruano se utilizar para consignar la informacin correspondiente a la firma digital.

~ 27 ~

ds:Signature: Este elemento complejo se ubicar dentro del tag <ext:ExtensionContent> y contendr la informacin correspondiente a la firma digital, la cual se encontrar estructurada de acuerdo a las especificaciones de XMLDSig (recomendacin de W3C para firmas digitales).

B.2 cbc:UBLVersionID Versin del esquema UBL utilizado para la elaboracin de la constancia de recepcin. Para el caso peruano se ha utilizado la versin 2.0. <cbc:UBLVersionID>2.0</cbc:UBLVersionID>

B.3 cbc:CustomizationID Identifica una personalizacin de UBL definida para un uso especfico. Para nuestro caso corresponder a la versin 1.0. Por cada variacin o adecuacin del esquema se deber de aumentar la versin.

<cbc:CustomizationID>1.0</cbc:CustomizationID>

B.4 cbc:ID Nmero nico asignado por SUNAT para identificar el proceso de recepcin.

B.5 cbc:IssueDate Fecha de recepcin del documento electrnico enviado por el contribuyente. El tipo de dato corresponde con el tipo Date de XML por lo que el formato deber ser yyyy-mmdd. <cbc:IssueDate>2012-06-01</cbc:IssueDate>

B.6 cbc:IssueTime Hora de recepcin del documento electrnico enviado por el contribuyente. El documento puede ser un comprobante de pago, nota electrnica, resumen diario o

~ 28 ~

comunicacin de baja. El tipo de dato corresponde con el tipo Time de XML por lo que el formato deber ser hh:mm:ss. <cbc:IssueTime>15:12:23</cbc:IssueTime> B.7 cbc:ResponseDate Fecha de generacin de la constancia de recepcin. El tipo de dato corresponde con el tipo Date de XML por lo que el formato deber ser yyyy-mm-dd. <cbc:ResponseDate>2012-06-01</cbc:ResponseDate>

B.8 cbc:ResponseTime Hora de generacin de la constancia de recepcin. El tipo de dato corresponde con el tipo Time de XML por lo que el formato deber ser hh:mm:ss. <cbc:ResponseTime>15:13:00</cbc:ResponseTime>

B.9 cac:Signature Utilizado para identificar al firmante y otro tipo de informacin relacionada con la firma digital. Su uso se da principalmente para especificar la ubicacin de la firma digital.

cbc:ID. Identificador de la firma. cac:SignatoryParty. Asociacin con la parte firmante, la cual para el caso de la constancia de recepcin corresponde a los datos de SUNAT. o PartyIdentification. A travs del elemento ID, se consigna el RUC de la parte firmante. o PartyName. A travs del elemento Name, se consigna el nombre de la parte firmante. En este caso corresponde a SUNAT. cac:DigitalSignatureAttachment. En este componente se puede referenciar la firma del documento como una referencia externa a una URI local o remota.

~ 29 ~

ExternalReference. Informacin acerca de un documento vinculado. Los vnculos pueden ser externos (referenciados mediante un elemento URI), internos (accesibles mediante un elemento MIME) o pueden estar contenidos dentro del mismo documento en el que se alude a ellos (mediante elementos Documento Incrustado). Este ltimo ser el caso a utilizar, es decir una referencia dentro del mismo documento ApplicationResponse. Especficamente se referencia hacia el componente UBLExtensions donde se ha colocado la firma digital.

B.10

cbc:Note

Los mensajes o notas almacenados en este elemento, correspondern a advertencias sobre inconsistencias detectadas en el proceso de recepcin del documento electrnico, pero que no representan rechazos. Estos mensajes se consignarn con el siguiente formato: <Cdigo de observacin>-<Descripcin de la observacin> <cbc:Note>4001-Nmero de RUC del receptor no existe</cbc:Note> 4031-Debe indicar el nombre comercial

B.11 cac: SenderParty Informacin sobre la parte que remite la informacin.

PartyIdentification. En este elemento se consigna los datos de identificacin de la parte emisora de la constancia de recepcin. En este caso corresponde a datos de SUNAT.

cbc:ID. Indica el Nmero de RUC del emisor de la constancia de recepcin (RUC de SUNAT).
~ 30 ~

<cac:SenderParty> <cac:PartyIdentification> <cbc:ID>20131312955</cbc:ID> </cac:PartyIdentification> </cac:SenderParty>

B.12 cac: ReceiverParty Informacin sobre la parte que recibe la constancia de recepcin.

PartyIdentification. En este elemento se consigna los datos de identificacin de la parte que recibe la constancia de recepcin. En este caso corresponde a datos del emisor del documento electrnico enviado a SUNAT.

cbc:ID. Indica el Nmero de RUC del receptor de la constancia de recepcin.

Un ejemplo de ReceiverParty, sera: <cac:ReceiverParty> <cac:PartyIdentification> <cbc:ID>20100043218</cbc:ID> </cac:PartyIdentification> </cac:ReceiverParty>

B.13 cac: DocumentResponse Informacin sobre la respuesta que se da al proceso de recepcin del documento electrnico enviado por el contribuyente.

~ 31 ~

Response: Respuesta al documento recibido.

cbc:ReferenceID. Identificador del documento enviado por el contribuyente. o o Para el caso de facturas, notas de crdito y notas de dbito se consignar la serie y nmero de documento separado por un guin: <FAAA>-<NNNNNNNN> Para el caso de resmenes diarios y comunicaciones de baja, se colocar el nombre del archivo de acuerdo al siguiente formato: <RA>-<YYYYMMDD>-<NNNNN> <RB>-<YYYYMMDD>-<NNNNN>

cbc:ResponseCode. Proporciona el cdigo que da respuesta al proceso de recepcin. Indica el estado de la recepcin del documento enviado por el contribuyente: o Si es Aceptada se colocar el valor cero (0). o Si es Rechazada se colocar un valor diferente de cero, y que corresponde al cdigo del error que genera el rechazo. cbc:Description. Describe la respuesta que se da al documento. En el caso de estado aceptado, se muestra una descripcin indicando dicha situacin. En caso de estado rechazado, se muestra la descripcin del error que gener el rechazo.

DocumentReference: En este elemento se ubicar la identificacin del documento electrnico procesado.


~ 32 ~

cbc:ID. Identificador del documento electrnico procesado. o Si el documento es un comprobante de pago o nota, se consignar la serie y nmero de comprobante. o Si el documento es un resumen diario o una comunicacin de baja, se consignar el nombre del archivo.

RecipientParty: En este elemento se ubicar la identificacin del receptor del documento electrnico procesado.

PartyIdentification. A travs del elemento ID, se consigna la identificacin de la parte receptora el documento electrnico procesado. o cbc:ID. Indica el tipo y nmero de documento de identidad del receptor del documento electrnico procesado. Para la factura y notas, corresponde a los datos del adquiriente o usuario. Los datos se encontrarn separados por un guin: <Tipo documento>-<Nmero de documento> Para el caso del resumen diario y la comunicacin de baja, se consignar un guin.

~ 33 ~

Ejemplo: <cac:DocumentResponse> <cac:Response> <cbc:ReferenceID>F001-747</cbc:ReferenceID> <cbc:ResponseCode>0</cbc:ResponseCode> <cbc:Description> La factura numero F001-747, ha sido aceptada </cbc:Description> </cac:Response> <cac:DocumentReference> <cbc:ID> F001-747</cbc:ID> </cac:DocumentReference> <cac:RecipientParty> <cbc:ID>06-20100088982</cbc:ID> </cac:RecipientParty> </cac:DocumentResponse>

~ 34 ~

C. C.1

Ejemplos Respuesta de aplicacin SUNAT Estado ACEPTADO


REQUISITO CASO 1

Nmero identificador del proceso de recepcin Fecha de recepcin del documento electrnico procesado Hora de recepcin del documento electrnico procesado Fecha de generacin del documento de respuesta Hora de generacin del documento de respuesta Mensajes o notas asociados al documento de respuesta

Nmero de RUC del Emisor de la constancia de recepcin (SUNAT) Nmero de RUC del Emisor del documento electrnico procesado Nmero de RUC del Receptor del documento electrnico procesado Identificador del documento enviado Cdigo de respuesta del envo Descripcin de la respuesta del envo Identificador del documento procesado Firma Digital

201200000230061 2012-06-12 10:09:27 2012-06-12 10:09:30 4031 - Debe indicar el nombre comercial 4001 - El numero de RUC del receptor no existe 20131312955 20150147718 20997898754 FA01-981 0 La Factura numero FA01-981, ha sido aceptada FA01-981

<?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?> <ApplicationResponse xmlns="urn:oasis:names:specification:ubl:schema:xsd:ApplicationResponse-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"> <ext:UBLExtensions> <ext:UBLExtension> <ext:ExtensionContent> <ds:Signature Id="SignSUNAT"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xmlc14n-20010315" /> <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsasha1" /> <ds:Reference URI=""> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#envelopedsignature" /> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <ds:DigestValue>2Hp6yx1+sD9H6n0hDMC625+I40U=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> <ds:SignatureValue>32xhlEkXaoaTKAhxiIdf13qXNGFhcIPROd8dSZpFRqgr8em43vXl4Is/I+mMhTgn9o Agg5CxpVfa AExM5JJxp9laI+YC4QUKJ8jyIurMCxk2SngUnV5tfrp/ydy/y4bASVDuNp+ewNIUVhXEUQA9sLs+ JnWYj0WPlppqykHm5W8=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIC3TCCAcUCCQCbWZdbGxwQajANBgkqhkiG9w0BAQUFADCBhzELMAkGA1UEBhMCU EUxDTALBgNV BAgTBExpbWExDTALBgNVBAcTBExpbWExDjAMBgNVBAoTBVNVTkFUMQ0wCwYDVQQLEwRERFNUMRYw FAYDVQQDEw1Kb2hubnkgVmFsZGV6MSMwIQYJKoZIhvcNAQkBFhRqdmFsZGV6QHN1bmF0LmdvYi5w ZTAeFw0wODA3MTYxNzE2MDdaFw0xNDAxMDYxNzE2MDdaMF0xCzAJBgNVBAYTAlBFMQ0wCwYDVQQI EwRMaW1hMQ0wCwYDVQQHEwRMaW1hMQ4wDAYDVQQKEwVTVU5BVDENMAsGA1UECxMERERTVDERMA8G A1UEAxMIc3J2ZGVzYTEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOP4nN062737OUzejMiH p5hba8/IbAfvyedc7aTXWpf6MHXpxT7X6qVoUSG2ulmKygkPW2h8ogyZC9RLo/SBIoGZrt5bD+Cm 1dsK3H4ObRgLDlK6ftdIVZFkvr6rYXGiz92je0QNaNVXuktsNskmvGUbMG6bcUSypQB4rDZhgR9r AgMBAAEwDQYJKoZIhvcNAQEFBQADggEBALN/qz38GM4H4M8T7uPXEqPGurSqfUT59KYqoZ/R24Kf aI/t44usI0QbNJSp8w9Yl01XyO+ewnBzJNOKJtL3M8LiawjRoz0DSa8uPJQEMgQXvgJeipAe+IO7 yLMiYA3rOaG1nSXcBYUaRTh6AGeWW+pIheThhcq+Z7uHXMoqbBkIzpUuflkZKPAZFFkSQTUYyhrB

~ 35 ~

Bv1Vj8nEfoy+y9758KTc7n6yF3GJOIUUpzDQJ65iaIrL6CIlbyHHPhNIcrS2iDvYskqjamiI4Qzs Kcm+qcFRf7UZWYNPCA9w9QISByv5KqVfDQtgZGRh3Uved9BR15mpbdVvs9tJhLYrTHw7Fb8=</ds:X509Cert ificate> </ds:X509Data> </ds:KeyInfo> </ds:Signature> </ext:ExtensionContent> </ext:UBLExtension> </ext:UBLExtensions> <cbc:UBLVersionID>2.0</cbc:UBLVersionID> <cbc:CustomizationID>1.0</cbc:CustomizationID> <cbc:ID>201200000230061</cbc:ID> <cbc:IssueDate>2012-06-12</cbc:IssueDate> <cbc:IssueTime>10:09:27</cbc:IssueTime> <cbc:ResponseDate>2012-06-12</cbc:ResponseDate> <cbc:ResponseTime>10:09:30</cbc:ResponseTime> <cbc:Note>4031 - Debe indicar el nombre comercial</cbc:Note> <cbc:Note>4001 - El numero de RUC del receptor no existe.</cbc:Note> <cac:Signature> <cbc:ID>SignSUNAT</cbc:ID> <cac:SignatoryParty> <cac:PartyIdentification> <cbc:ID>20131312955</cbc:ID> </cac:PartyIdentification> <cac:PartyName> <cbc:Name><![CDATA[SUNAT]]></cbc:Name> </cac:PartyName> </cac:SignatoryParty> <cac:DigitalSignatureAttachment> <cac:ExternalReference> <cbc:URI>#SignSUNAT</cbc:URI> </cac:ExternalReference> </cac:DigitalSignatureAttachment> </cac:Signature> <cac:SenderParty> <cac:PartyIdentification> <cbc:ID>20131312955</cbc:ID> </cac:PartyIdentification> </cac:SenderParty> <cac:ReceiverParty> <cac:PartyIdentification> <cbc:ID>20150147718</cbc:ID> </cac:PartyIdentification> </cac:ReceiverParty> <cac:DocumentResponse> <cac:Response> <cbc:ReferenceID>FA01-981</cbc:ReferenceID> <cbc:ResponseCode>0</cbc:ResponseCode> <cbc:Description><![CDATA[La Factura numero FA01-981, ha sido aceptada]]></cbc:Description> </cac:Response> <cac:DocumentReference> <cbc:ID>FA01-981</cbc:ID> </cac:DocumentReference> <cac:RecipientParty> <cac:PartyIdentification> <cbc:ID>6-20997898754</cbc:ID> </cac:PartyIdentification> </cac:RecipientParty> </cac:DocumentResponse> </ApplicationResponse>

~ 36 ~

C.2

Respuesta de aplicacin SUNAT Estado RECHAZADO

REQUISITO Nmero identificador del proceso de recepcin Fecha de recepcin del documento electrnico procesado Hora de recepcin del documento electrnico procesado Fecha de generacin del documento de respuesta Hora de generacin del documento de respuesta Mensajes o notas asociados al documento de respuesta Nmero de RUC del Emisor de la constancia de recepcin (SUNAT) Nmero de RUC del Emisor del documento electrnico procesado Nmero de RUC del Receptor del documento electrnico procesado Identificador del documento enviado Cdigo de respuesta del envo Descripcin de la respuesta del envo

CASO 2 201200000230098 2012-06-13 13:20:37 2012-06-13 13:21:38 20131312955 20150147718 20196582743 FT01-982 2047 Es obligatorio al menos un AdditionalMonetaryTotal con codigo 1001, 1002 o 1003 FA01-981

Identificador del documento procesado Firma Digital

<?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?> <ApplicationResponse xmlns="urn:oasis:names:specification:ubl:schema:xsd:ApplicationResponse-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"> <ext:UBLExtensions> <ext:UBLExtension> <ext:ExtensionContent> <ds:Signature Id="SignSUNAT"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xmlc14n-20010315" /> <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsasha1" /> <ds:Reference URI=""> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#envelopedsignature" /> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <ds:DigestValue>urbmyAumKx6HkJbT8fvUIJxzV+c=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> <ds:SignatureValue> GnHp455UMFKgplGx7urhV3G1XHGg0loKPsnj4fDgy1byNd93lzVtkIKQXOJtSQVJ3tmss94dzxl0 Yf3gKfLt01M4QCNOuyTnRNdvwl9pjjzKUbN3H8Tsb3BAX91NvzNlgUhbw7dxJgGeWJkTfihEZGPT /02COVKdDwrBPBWp2zU=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIC3TCCAcUCCQCbWZdbGxwQajANBgkqhkiG9w0BAQUFADCBhzELMAkGA1UEBhMCU EUxDTALBgNV BAgTBExpbWExDTALBgNVBAcTBExpbWExDjAMBgNVBAoTBVNVTkFUMQ0wCwYDVQQLEwRERFNUMRYw FAYDVQQDEw1Kb2hubnkgVmFsZGV6MSMwIQYJKoZIhvcNAQkBFhRqdmFsZGV6QHN1bmF0LmdvYi5w ZTAeFw0wODA3MTYxNzE2MDdaFw0xNDAxMDYxNzE2MDdaMF0xCzAJBgNVBAYTAlBFMQ0wCwYDVQQI EwRMaW1hMQ0wCwYDVQQHEwRMaW1hMQ4wDAYDVQQKEwVTVU5BVDENMAsGA1UECxMERERTVDERMA8G A1UEAxMIc3J2ZGVzYTEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOP4nN062737OUzejMiH p5hba8/IbAfvyedc7aTXWpf6MHXpxT7X6qVoUSG2ulmKygkPW2h8ogyZC9RLo/SBIoGZrt5bD+Cm 1dsK3H4ObRgLDlK6ftdIVZFkvr6rYXGiz92je0QNaNVXuktsNskmvGUbMG6bcUSypQB4rDZhgR9r AgMBAAEwDQYJKoZIhvcNAQEFBQADggEBALN/qz38GM4H4M8T7uPXEqPGurSqfUT59KYqoZ/R24Kf

~ 37 ~

aI/t44usI0QbNJSp8w9Yl01XyO+ewnBzJNOKJtL3M8LiawjRoz0DSa8uPJQEMgQXvgJeipAe+IO7 yLMiYA3rOaG1nSXcBYUaRTh6AGeWW+pIheThhcq+Z7uHXMoqbBkIzpUuflkZKPAZFFkSQTUYyhrB Bv1Vj8nEfoy+y9758KTc7n6yF3GJOIUUpzDQJ65iaIrL6CIlbyHHPhNIcrS2iDvYskqjamiI4Qzs Kcm+qcFRf7UZWYNPCA9w9QISByv5KqVfDQtgZGRh3Uved9BR15mpbdVvs9tJhLYrTHw7Fb8=</ds:X509Cert ificate> </ds:X509Data> </ds:KeyInfo> </ds:Signature> </ext:ExtensionContent> </ext:UBLExtension> </ext:UBLExtensions> <cbc:UBLVersionID>2.0</cbc:UBLVersionID> <cbc:CustomizationID>1.0</cbc:CustomizationID> <cbc:ID>201200000230098</cbc:ID> <cbc:IssueDate>2012-06-13</cbc:IssueDate> <cbc:IssueTime>13:20:37</cbc:IssueTime> <cbc:ResponseDate>2012-06-13</cbc:ResponseDate> <cbc:ResponseTime>13:21:38</cbc:ResponseTime> <cac:Signature> <cbc:ID>SignSUNAT</cbc:ID> <cac:SignatoryParty> <cac:PartyIdentification> <cbc:ID>20131312955</cbc:ID> </cac:PartyIdentification> <cac:PartyName> <cbc:Name><![CDATA[SUNAT]]></cbc:Name> </cac:PartyName> </cac:SignatoryParty> <cac:DigitalSignatureAttachment> <cac:ExternalReference> <cbc:URI>#SignSUNAT</cbc:URI> </cac:ExternalReference> </cac:DigitalSignatureAttachment> </cac:Signature> <cac:SenderParty> <cac:PartyIdentification> <cbc:ID>20131312955</cbc:ID> </cac:PartyIdentification> </cac:SenderParty> <cac:ReceiverParty> <cac:PartyIdentification> <cbc:ID>20150147718</cbc:ID> </cac:PartyIdentification> </cac:ReceiverParty> <cac:DocumentResponse> <cac:Response> <cbc:ReferenceID>FT01-982</cbc:ReferenceID> <cbc:ResponseCode>2047</cbc:ResponseCode> <cbc:Description><![CDATA[Es obligatorio al menos un AdditionalMonetaryTotal con codigo 1001, 1002 o 1003]]></cbc:Description> </cac:Response> <cac:DocumentReference> <cbc:ID>FT01-982</cbc:ID> </cac:DocumentReference> <cac:RecipientParty> <cac:PartyIdentification> <cbc:ID>6-20196582743</cbc:ID> </cac:PartyIdentification> </cac:RecipientParty> </cac:DocumentResponse> </ApplicationResponse>

~ 38 ~

ANEXO 2: Listado de Errores

CODIGO 0100 0101 0102 0103 0104 0105 0106 0109 0110 0111 0112 0113 0125 0126 0127 0130 0131 0132 0133 0134 0135 0136 0137 0151 0152 0153 0154 0155 0156 0157 0158 0159 0160 0161 0200 0250 0251 0252 0253 0303 0304 0305 0306 0307 0400 0401 0402 0403 0404 1001 1002 1003 1004 1005 1006 1007 1008 1022 1023 1032

DESCRIPCION El sistema no puede responder su solicitud. Intente nuevamente o comunquese con su Administrador El encabezado de seguridad es incorrecto Usuario o contrasea incorrectos El Usuario ingresado no existe La Clave ingresada es incorrecta El Usuario no est activo El Usuario no es vlido El sistema no puede responder su solicitud. (El servicio de autenticacin no est disponible) No se pudo obtener la informacion del tipo de usuario No tiene el perfil para enviar comprobantes electronicos El usuario debe ser secundario El usuario no esta afiliado a Factura Electronica No se pudo obtener la constancia El ticket no le pertenece al usuario El ticket no existe El sistema no puede responder su solicitud. (No se pudo obtener el ticket de proceso) El sistema no puede responder su solicitud. (No se pudo grabar el archivo en el directorio) El sistema no puede responder su solicitud. (No se pudo grabar escribir en el archivo zip) El sistema no puede responder su solicitud. (No se pudo grabar la entrada del log) El sistema no puede responder su solicitud. (No se pudo grabar en el storage) El sistema no puede responder su solicitud. (No se pudo encolar el pedido) El sistema no puede responder su solicitud. (No se pudo recibir una respuesta del batch) El sistema no puede responder su solicitud. (Se obtuvo una respuesta nula) El nombre del archivo ZIP es incorrecto No se puede enviar por este mtodo un archivo de resumen No se puede enviar por este mtodo un archivo por lotes El RUC del archivo no corresponde al RUC del usuario El archivo ZIP esta vacio El archivo ZIP esta corrupto El archivo ZIP no contiene comprobantes El archivo ZIP contiene demasiados comprobantes para este tipo de envo El nombre del archivo XML es incorrecto El archivo XML esta vacio El nombre del archivo XML no coincide con el nombre del archivo ZIP No se pudo procesar su solicitud. (Ocurrio un error en el batch) No se pudo procesar su solicitud. (Ocurrio un error desconocido al hacer unzip) No se pudo procesar su solicitud. (No se pudo crear un directorio para el unzip) No se pudo procesar su solicitud. (No se encontro archivos dentro del zip) No se pudo procesar su solicitud. (No se pudo comprimir la constancia) No existe el directorio de schemas No existe el archivo de schema El sistema no puede procesar el archivo xml No se puede leer (parsear) el archivo XML No se pudo recuperar la constancia No tiene permiso para enviar casos de pruebas El caso de prueba no existe La numeracion o nombre del documento ya ha sido enviado anteriormente El documento afectado por la nota no existe El documento afectado por la nota se encuentra rechazado ID - El dato SERIE-CORRELATIVO no cumple con el formato de acuerdo al tipo de comprobante El XML no contiene informacion en el tag ID InvoiceTypeCode - El valor del tipo de documento es invalido o no coincide con el nombre del archivo El XML no contiene el tag o no existe informacion de InvoiceTypeCode CustomerAssignedAccountID - El dato ingresado no cumple con el estandar El XML no contiene el tag o no existe informacion de CustomerAssignedAccountID del emisor del documento AdditionalAccountID - El dato ingresado no cumple con el estandar El XML no contiene el tag o no existe informacion de AdditionalAccountID del emisor del documento La serie o numero del documento modificado por la Nota Electrnica no cumple con el formato establecido No se ha especificado el tipo de documento modificado por la Nota electronica El comprobante fue informado previamente en una comunicacion de baja

~ 39 ~

CODIGO 1033 1034 1035 1036 1037 1038 1039 1040 2010 2011 2013 2014 2015 2016 2017 2021 2022 2023 2024 2025 2027 2028 2033 2035 2036 2038 2040 2041 2042 2043 2045 2047 2048 2050 2051 2053 2055 2057 2058 2059 2061 2062 2064 2065 2066 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2080 2082 2083 2084 2085 2086 2087 2088

DESCRIPCION El comprobante fue registrado previamente con otros datos Nmero de RUC del nombre del archivo no coincide con el consignado en el contenido del archivo XML Numero de Serie del nombre del archivo no coincide con el consignado en el contenido del archivo XML Nmero de documento en el nombre del archivo no coincide con el consignado en el contenido del XML El XML no contiene el tag o no existe informacion de RegistrationName del emisor del documento RegistrationName - El nombre o razon social del emisor no cumple con el estandar Solo se pueden recibir notas electronicas que modifican facturas El tipo de documento modificado por la nota electronica no es valido El contribuyente no esta activo El contribuyente no esta habido El contribuyente no cumple con tipo de empresa o tributos requeridos El XML no contiene el tag o no existe informacion de CustomerAssignedAccountID del receptor del documento El XML no contiene el tag o no existe informacion de AdditionalAccountID del receptor del documento AdditionalAccountID - El dato ingresado en el tipo de documento de identidad del receptor no cumple con el estandar CustomerAssignedAccountID - El numero de documento de identidad del recepetor debe ser RUC El XML no contiene el tag o no existe informacion de RegistrationName del receptor del documento RegistrationName - El dato ingresado no cumple con el estandar El Numero de orden del item no cumple con el formato establecido El XML no contiene el tag InvoicedQuantity en el detalle de los Items InvoicedQuantity El dato ingresado no cumple con el estandar El XML no contiene el tag o no existe informacion de cac:Item/cbc:Description del item Debe existir el tag cac:AlternativeConditionPrice con un elemento cbc:PriceTypeCode con valor 01 El dato ingresado en TaxAmount de la linea no cumple con el formato establecido cac:TaxCategory/cac:TaxScheme/cbc:ID El dato ingresado no cumple con el estandar El codigo del tributo es invalido cac:TaxScheme/cbc:Name del item - No existe el tag o el dato ingresado no cumple con el estandar El tipo de afectacion del IGV es incorrecto El sistema de calculo del ISC es incorrecto Debe indicar el IGV. Es un campo obligatorio El dato ingresado en PayableAmount no cumple con el formato establecido El valor ingresado en AdditionalMonetaryTotal/cbc:ID es incorrecto Es obligatorio al menos un AdditionalMonetaryTotal con codigo 1001, 1002 o 1003 El dato ingresado en TaxAmount no cumple con el formato establecido TaxScheme ID - No existe el tag o el dato ingresado no cumple con el estandar El codigo del tributo es invalido TaxScheme Name - No existe el tag o el dato ingresado no cumple con el estandar TaxScheme TaxTypeCode - El dato ingresado no cumple con el estandar El Name o TaxTypeCode debe corresponder con el Id para el IGV El Name o TaxTypeCode debe corresponder con el Id para el ISC El dato ingresado en TaxSubtotal/cbc:TaxAmount no cumple con el formato establecido El tag global cac:TaxTotal/cbc:TaxAmount debe tener el mismo valor que cac:TaxTotal/cac:Subtotal/cbc:TaxAmount El dato ingresado en PayableAmount no cumple con el formato establecido El dato ingresado en ChargeTotalAmount no cumple con el formato establecido El dato ingresado en AllowanceTotalAmount no cumple con el formato establecido Debe indicar una descripcion valida para la leyenda El XML no contiene el tag cac:Price/cbc:PriceAmount en el detalle de los Items DocumentCurrencyCode - El dato ingresado no cumple con la estructura El XML no contiene el tag o no existe informacion de DocumentCurrencyCode La moneda debe ser la misma en todo el documento CustomizationID - La versin del documento no es la correcta El XML no contiene el tag o no existe informacion de CustomizationID UBLVersionID - La versin del UBL no es correcta El XML no contiene el tag o no existe informacion de UBLVersionID cac:Signature/cbc:ID - Falta el identificador de la firma El tag cac:Signature/cbc:ID debe contener informacion cac:Signature/cac:SignatoryParty/cac:PartyIdentification/cbc:ID - Debe ser igual al RUC del emisor cac:Signature/cac:SignatoryParty/cac:PartyName/cbc:Name - No cumple con el estandar cac:Signature/cac:DigitalSignatureAttachment/cac:ExternalReference/cbc:URI - No cumple con el estandar El XML no contiene el tag cac:Signature/cac:DigitalSignatureAttachment/cac:ExternalReference/cbc:URI ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/ds:Signature/@Id - No cumple con el estandar El XML no contiene el tag ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/ds:Signature/@Id ext:UBLExtensions/.../ds:Signature/ds:SignedInfo/ds:CanonicalizationMethod/@Algorithm - No cumple con el estandar El XML no contiene el tag ext:UBLExtensions/.../ds:Signature/ds:SignedInfo/ds:CanonicalizationMethod/@Algorithm ext:UBLExtensions/.../ds:Signature/ds:SignedInfo/ds:SignatureMethod/@Algorithm - No cumple con el estandar

~ 40 ~

CODIGO 2089 2090 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2105 2106 2108 2116 2117 2118 2119 2120 2121 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2139 2140 2141 2142 2143 2145 2147 2148 2149 2150 2151 2156 2157 2158 2159 2160 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183

DESCRIPCION El XML no contiene el tag ext:UBLExtensions/.../ds:Signature/ds:SignedInfo/ds:SignatureMethod/@Algorithm ext:UBLExtensions/.../ds:Signature/ds:SignedInfo/ds:Reference/@URI - Debe estar vacio para id ext:UBLExtensions/.../ds:Signature/ds:SignedInfo/.../ds:Transform@Algorithm - No cumple con el estandar El XML no contiene el tag ext:UBLExtensions/.../ds:Signature/ds:SignedInfo/ds:Reference/ds:Transform@Algorithm ext:UBLExtensions/.../ds:Signature/ds:SignedInfo/ds:Reference/ds:DigestMethod/@Algorithm - No cumple con el estandar El XML no contiene el tag ext:UBLExtensions/.../ds:Signature/ds:SignedInfo/ds:Reference/ds:DigestMethod/@Algorithm ext:UBLExtensions/.../ds:Signature/ds:SignedInfo/ds:Reference/ds:DigestValue - No cumple con el estandar El XML no contiene el tag ext:UBLExtensions/.../ds:Signature/ds:SignedInfo/ds:Reference/ds:DigestValue ext:UBLExtensions/.../ds:Signature/ds:SignatureValue - No cumple con el estandar El XML no contiene el tag ext:UBLExtensions/.../ds:Signature/ds:SignatureValue ext:UBLExtensions/.../ds:Signature/ds:KeyInfo/ds:X509Data/ds:X509Certificate - No cumple con el estandar El XML no contiene el tag ext:UBLExtensions/.../ds:Signature/ds:KeyInfo/ds:X509Data/ds:X509Certificate Factura a dar de baja no se encuentra registrada en SUNAT Factura a dar de baja ya se encuentra en estado de baja Presentacion fuera de fecha El tipo de documento modificado por la Nota de credito debe ser factura electronica o ticket La serie o numero del documento modificado por la Nota de Credito no cumple con el formato establecido Debe indicar las facturas relacionadas a la Nota de Credito La factura relacionada en la Nota de credito no esta registrada. La factura relacionada en la nota de credito se encuentra de baja La factura relacionada en la nota de credito esta registrada como rechazada ReferenceID - El dato ingresado debe indicar SERIE-CORRELATIVO del documento al que se relaciona la Nota El XML no contiene informacion en el tag ReferenceID del documento al que se relaciona la nota ResponseCode - El dato ingresado no cumple con la estructura El XML no contiene el tag o no existe informacion de ResponseCode AdditionalAccountID - El dato ingresado en el tipo de documento de identidad del receptor no cumple con el estandar El XML no contiene el tag o no existe informacion de AdditionalAccountID del receptor del documento CustomerAssignedAccountID - El numero de documento de identidad del receptor debe ser RUC El XML no contiene el tag o no existe informacion de CustomerAssignedAccountID del receptor del documento RegistrationName - El dato ingresado no cumple con el estandar El XML no contiene el tag o no existe informacion de RegistrationName del receptor del documento cac:DiscrepancyResponse/cbc:Description - El dato ingresado no cumple con la estructura El XML no contiene el tag o no existe informacion de cac:DiscrepancyResponse/cbc:Description El Nmero de orden del item no cumple con el formato establecido CreditedQuantity - El dato ingresado no cumple con el estandar El PriceTypeCode debe tener el valor 01 cac:TaxCategory/cac:TaxScheme/cbc:ID - El dato ingresado no cumple con el estandar El codigo del tributo es invalido cac:TaxScheme/cbc:Name del item - No existe el tag o el dato ingresado no cumple con el estandar El tipo de afectacion del IGV es incorrecto El sistema de calculo del ISC es incorrecto El Nombre Internacional debe ser EXC El dato ingresado en PayableAmount no cumple con el formato establecido El valor ingresado en AdditionalMonetaryTotal/cbc:ID es incorrecto AdditionalMonetaryTotal/cbc:ID debe tener valor TaxScheme ID - El dato ingresado no cumple con el estandar El codigo del tributo es invalido El XML no contiene el tag o no existe informacion de TaxScheme ID de impuestos globales TaxScheme Name - El dato ingresado no cumple con el estandar El XML no contiene el tag o no existe informacion de TaxScheme Name de impuestos globales ReferenceID - El dato ingresado debe indicar SERIE-CORRELATIVO del documento al que se relaciona la Nota El XML no contiene informacion en el tag ReferenceID del documento al que se relaciona la nota ResponseCode - El dato ingresado no cumple con la estructura El XML no contiene el tag o no existe informacion de ResponseCode cac:DiscrepancyResponse/cbc:Description - El dato ingresado no cumple con la estructura El XML no contiene el tag o no existe informacion de cac:DiscrepancyResponse/cbc:Description AdditionalAccountID - El dato ingresado en el tipo de documento de identidad del receptor no cumple con el estandar El XML no contiene el tag o no existe informacion de AdditionalAccountID del receptor del documento CustomerAssignedAccountID - El numero de documento de identidad del receptor debe ser RUC. El XML no contiene el tag o no existe informacion de CustomerAssignedAccountID del receptor del documento RegistrationName - El dato ingresado no cumple con el estandar El XML no contiene el tag o no existe informacion de RegistrationName del receptor del documento TaxScheme ID - El dato ingresado no cumple con el estandar El codigo del tributo es invalido

~ 41 ~

CODIGO 2184 2185 2186 2187 2189 2190 2192 2193 2194 2195 2197 2199 2204 2205 2206 2207 2208 2209 2210 2211 2216 2217 2218 2219 2220 2221 2223 2228 2229 2233 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2254 2255 2256 2257 2259 2261 2263 2265 2267 2268 2269 2270 2271 2273 2275 2276 2277 2278

DESCRIPCION El XML no contiene el tag o no existe informacion de TaxScheme ID de impuestos globales TaxScheme Name - El dato ingresado no cumple con el estandar El XML no contiene el tag o no existe informacion de TaxScheme Name de impuestos globales El Numero de orden del item no cumple con el formato establecido DebitedQuantity El dato ingresado no cumple con el estandar El XML no contiene el tag Price/cbc:PriceAmount en el detalle de los Items EL PriceTypeCode debe tener el valor 01 cac:TaxCategory/cac:TaxScheme/cbc:ID El dato ingresado no cumple con el estandar El codigo del tributo es invalido cac:TaxScheme/cbc:Name del item - No existe el tag o el dato ingresado no cumple con el estandar El tipo de afectacion del IGV es incorrecto El sistema de calculo del ISC es incorrecto El tipo de documento modificado por la Nota de Debito debe ser factura electronica o ticket La serie o numero del documento modificado por la Nota de Debito no cumple con el formato establecido Debe indicar los documentos afectados por la Nota de Debito La factura relacionada en la nota de debito se encuentra de baja La factura relacionada en la nota de debito esta registrada como rechazada La factura relacionada en la Nota de debito no esta registrada El dato ingresado no cumple con el formato RC-fecha-correlativo El XML no contiene el tag ID CustomerAssignedAccountID - El dato ingresado no cumple con el estandar El XML no contiene el tag CustomerAssignedAccountID del emisor del documento AdditionalAccountID - El dato ingresado no cumple con el estandar El XML no contiene el tag AdditionalAccountID del emisor del documento El ID debe coincidir con el nombre del archivo El RUC debe coincidir con el RUC del nombre del archivo El archivo ya fue presentado anteriormente RegistrationName - El dato ingresado no cumple con el estandar El XML no contiene el tag RegistrationName del emisor del documento ReferenceDate - El dato ingresado no cumple con el patron YYYY-MM-DD La fecha del IssueDate no debe ser mayor al Today La fecha del ReferenceDate no debe ser mayor al Today LineID - El dato ingresado no cumple con el estandar LineID - El dato ingresado debe ser correlativo mayor a cero El XML no contiene el tag LineID de SummaryDocumentsLine DocumentTypeCode - El valor del tipo de documento es invalido El XML no contiene el tag DocumentTypeCode El dato ingresado no cumple con el patron SERIE El XML no contiene el tag DocumentSerialID El dato ingresado en StartDocumentNumberID debe ser numerico El XML no contiene el tag StartDocumentNumberID El dato ingresado en sac:EndDocumentNumberID debe ser numerico El XML no contiene el tag sac:EndDocumentNumberID Los rangos deben ser mayores a cero En el rango de comprobantes, el EndDocumentNumberID debe ser mayor o igual al StartInvoiceNumberID El dato ingresado en TotalAmount debe ser numerico mayor o igual a cero PaidAmount - El dato ingresado no cumple con el estandar El XML no contiene el tag PaidAmount InstructionID - El dato ingresado no cumple con el estandar El XML no contiene el tag InstructionID Debe indicar 3 Referencias de Importes asociados a las boletas de venta cbc:Amount - El dato ingresado no cumple con el estandar ChargeIndicator - El dato ingresado no cumple con el estandar Debe indicar Informacin acerca del Importe Total de Otros Cargos TaxScheme ID - El dato ingresado no cumple con el estandar El codigo del tributo es invalido El XML no contiene el tag TaxScheme ID de Informacin acerca del importe total de un tipo particular de impuesto TaxScheme Name - El dato ingresado no cumple con el estandar El XML no contiene el tag TaxScheme Name de impuesto TaxAmount - El dato ingresado no cumple con el estandar Si el codigo de tributo es 2000, el nombre del tributo debe ser ISC Si el codigo de tributo es 1000, el nombre del tributo debe ser IGV No se ha consignado ninguna informacion del importe total de tributos Debe indicar Informacin acerca del importe total de ISC e IGV

~ 42 ~

CODIGO 2282 2283 2285 2286 2287 2288 2296 2297 2299 2301 2302 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2323 2324 2325 2326 2327 2328 2329 2330 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2345 2346 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371

DESCRIPCION Existe documento ya informado anteriormente El dato ingresado no cumple con el formato RA-fecha-correlativo El ID debe coincidir con el nombre del archivo El RUC debe coincidir con el RUC del nombre del archivo AdditionalAccountID - El dato ingresado no cumple con el estandar El XML no contiene el tag AdditionalAccountID del emisor del documento RegistrationName - El dato ingresado no cumple con el estandar El XML no contiene el tag RegistrationName del emisor del documento El XML no contiene el tag IssueDate La fecha del IssueDate no debe ser mayor al Today ReferenceDate - El dato ingresado no cumple con el patron YYYY-MM-DD LineID - El dato ingresado no cumple con el estandar LineID - El dato ingresado debe ser correlativo mayor a cero El XML no contiene el tag LineID de VoidedDocumentsLine DocumentTypeCode - El valor del tipo de documento es invalido El XML no contiene el tag DocumentTypeCode El dato ingresado no cumple con el patron SERIE El XML no contiene el tag DocumentSerialID El dato ingresado en DocumentNumberID debe ser numerico y como maximo de 8 digitos El XML no contiene el tag DocumentNumberID El dato ingresado en VoidReasonDescription debe contener informacin vlida El XML no contiene el tag VoidReasonDescription Existe documento ya informado anteriormente en una comunicacion de baja El archivo de comunicacion de baja ya fue presentado anteriormente El certificado usado no es el comunicado a SUNAT El certificado usado se encuentra de baja El certificado usado no se encuentra vigente El certificado usado se encuentra revocado La fecha de emision se encuentra fuera del limite permitido La fecha de generacin de la comunicacin debe ser igual a la fecha consignada en el nombre del archivo El documento electrnico ingresado ha sido alterado El documento electrnico ingresado ha sido alterado Ocurri un error en el proceso de validacin de la firma digital La moneda debe ser la misma en todo el documento La moneda debe ser la misma en todo el documento El dato ingresado en PayableAmount no cumple con el formato establecido El valor ingresado en AdditionalMonetaryTotal/cbc:ID es incorrecto AdditionalMonetaryTotal/cbc:ID debe tener valor Fecha de emision de la factura no coincide con la informada en la comunicacion cac:TaxTotal/cac:TaxSubtotal/cbc:TaxAmount - El dato ingresado no cumple con el estandar La serie no corresponde al tipo de comprobante La fecha de generacin del resumen debe ser igual a la fecha consignada en el nombre del archivo Debe consignar solo un elemento sac:AdditionalMonetaryTotal con cbc:ID igual a 1001 Debe consignar solo un elemento sac:AdditionalMonetaryTotal con cbc:ID igual a 1002 Debe consignar solo un elemento sac:AdditionalMonetaryTotal con cbc:ID igual a 1003 Debe consignar solo un elemento cac:TaxTotal a nivel global para IGV (cbc:ID igual a 1000) Debe consignar solo un elemento cac:TaxTotal a nivel global para ISC (cbc:ID igual a 2000) Debe consignar solo un elemento cac:TaxTotal a nivel global para Otros (cbc:ID igual a 9999) Debe consignar solo un elemento cac:TaxTotal a nivel de item para IGV (cbc:ID igual a 1000) Debe consignar solo un elemento cac:TaxTotal a nivel de item para ISC (cbc:ID igual a 2000) Debe consignar solo un elemento sac:BillingPayment a nivel de item con cbc:InstructionID igual a 01 Debe consignar solo un elemento sac:BillingPayment a nivel de item con cbc:InstructionID igual a 02 Debe consignar solo un elemento sac:BillingPayment a nivel de item con cbc:InstructionID igual a 03 Debe consignar solo un elemento cac:TaxTotal a nivel de item para Otros (cbc:ID igual a 9999) Debe consignar solo un tag cac:AccountingSupplierParty/cbc:AdditionalAccountID Debe consignar solo un tag cac:AccountingCustomerParty/cbc:AdditionalAccountID El comprobante contiene un tipo y nmero de Gua de Remisin repetido El comprobante contiene un tipo y nmero de Documento Relacionado repetido El codigo de la leyenda debe tener 4 posiciones El dato ingresado en PriceAmount del Precio de venta unitario por item no cumple con el formato establecido El dato ingresado en TaxSubtotal/cbc:TaxAmount del item no cumple con el formato establecido El dato ingresado en PriceAmount del Valor de venta unitario por item no cumple con el formato establecido El dato ingresado en LineExtensionAmount del item no cumple con el formato establecido El XML no contiene el tag cbc:TaxExemptionReasonCode de Afectacion al IGV

~ 43 ~

CODIGO 2372 2373 2374 2375 2376 2377 2378 2379 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2400 2401 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 4001 4002 4004 4005 4006 4008 4009 4010 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027

DESCRIPCION El tag en el item cac:TaxTotal/cbc:TaxAmount debe tener el mismo valor que cac:TaxTotal/cac:TaxSubtotal/cbc:TaxAmount Si existe monto de ISC en el ITEM debe especificar el sistema de calculo La factura a dar de baja tiene una fecha de recepcion fuera del plazo permitido Fecha de emision de la boleta no coincide con la fecha de emision consignada en la comunicacion La boleta de venta a dar de baja fue informada en un resumen con fecha de recepcion fuera del plazo permitido El Name o TaxTypeCode debe corresponder con el Id para el IGV El Name o TaxTypeCode debe corresponder con el Id para el ISC La numeracion de boleta de venta a dar de baja fue generada en una fecha fuera del plazo permitido Comprobante no cumple con el Grupo 1: No todos los items corresponden a operaciones gravadas a IGV Comprobante no cumple con el Grupo 2: No todos los items corresponden a operaciones inafectas o exoneradas al IGV Comprobante no cumple con el Grupo 3: Falta leyenda con codigo 1002 Comprobante no cumple con el Grupo 3: Existe item con operacin onerosa Comprobante no cumple con el Grupo 4: Debe exitir Total descuentos mayor a cero Comprobante no cumple con el Grupo 5: Todos los items deben tener operaciones afectas a ISC Comprobante no cumple con el Grupo 6: El monto de percepcion no existe o es cero Comprobante no cumple con el Grupo 6: Todos los items deben tener cdigo de Afectacin al IGV igual a 10 Comprobante no cumple con el Grupo 7: El codigo de moneda no es diferente a PEN Comprobante no cumple con el Grupo 8: No todos los items corresponden a operaciones gravadas a IGV Comprobante no cumple con el Grupo 9: No todos los items corresponden a operaciones inafectas o exoneradas al IGV Comprobante no cumple con el Grupo 10: Falta leyenda con codigo 1002 Comprobante no cumple con el Grupo 10: Existe item con operacin onerosa Comprobante no cumple con el Grupo 11: Debe existir Total descuentos mayor a cero Comprobante no cumple con el Grupo 12: El codigo de moneda no es diferente a PEN Si el monto total es mayor a S/. 700.00 debe consignar tipo y numero de documento del adquiriente El tipo de documento del adquiriente no puede ser Numero de RUC El documento a dar de baja se encuentra rechazado El tipo de documento modificado por la Nota de debito debe ser boleta electronica No se puede leer (parsear) el archivo XML Documento afectado por la nota electronica no se encuentra autorizado Contribuyente no se encuentra autorizado como emisor de boletas electronicas Existe mas de un tag sac:AdditionalMonetaryTotal con el mismo ID Existe mas de un tag sac:AdditionalProperty con el mismo ID El dato ingresado en PriceAmount del Valor referencial unitario por item no cumple con el formato establecido Existe mas de un tag cac:AlternativeConditionPrice con el mismo cbc:PriceTypeCode Se ha consignado un valor invalido en el campo cbc:PriceTypeCode Ha consignado mas de un elemento cac:AllowanceCharge con el mismo campo cbc:ChargeIndicator Se ha consignado mas de un documento afectado por la nota (tag cac:BillingReference) Se ha consignado mas de un motivo o sustento de la nota (tag cac:DiscrepancyResponse/cbc:Description) No se ha consignado en la nota el tag cac:DiscrepancyResponse Se ha consignado en la nota mas de un tag cac:DiscrepancyResponse El numero de RUC del receptor no existe. Para el TaxTypeCode, esta usando un valor que no existe en el catalogo. El DocumentTypeCode de las guias debe existir y tener 2 posiciones El DocumentTypeCode de las guias debe ser 09 o 31 El ID de las guias debe tener informacion de la SERIE-NUMERO de guia. El DocumentTypeCode de Otros documentos relacionados no cumple con el estandar. El DocumentTypeCode de Otros documentos relacionados tiene valores incorrectos. El ID de los documentos relacionados no cumplen con el estandar. El ubigeo indicado en el comprobante no es el mismo que esta registrado para el contribuyente. El RUC del receptor no esta activo El RUC del receptor no esta habido Si el tipo de documento del receptor no es RUC, debe tener operaciones de exportacion El total valor venta neta de oper. gravadas IGV debe ser mayor a 0.00 o debe existir oper. gravadas onerosas El total valor venta neta de oper. inafectas IGV debe ser mayor a 0.00 o debe existir oper. inafectas onerosas o de export. El total valor venta neta de oper. exoneradas IGV debe ser mayor a 0.00 o debe existir oper. exoneradas El calculo del IGV no es correcto El ISC no esta informado correctamente Si se utiliza la leyenda con codigo 2000, el importe de percepcion debe ser mayor a 0.00 Si se utiliza la leyenda con cdigo 2001, el total de operaciones exoneradas debe ser mayor a 0.00 Si se utiliza la leyenda con cdigo 2002, el total de operaciones exoneradas debe ser mayor a 0.00 Si se utiliza la leyenda con cdigo 2003, el total de operaciones exoneradas debe ser mayor a 0.00 Si usa la leyenda de Transferencia o Servivicio gratuito, todos los items deben ser no onerosos No se puede indicar Guia de remision de remitente y Guia de remision de transportista en el mismo documento El importe total no coincide con la sumatoria de los valores de venta mas los tributos mas los cargos

~ 44 ~

CODIGO 4028 4029 4030 4031 4032 4033 4036 4037 4038 4039 4040 4041

DESCRIPCION El monto total de la nota de credito debe ser menor o igual al monto de la factura El ubigeo indicado en el comprobante no es el mismo que esta registrado para el contribuyente El ubigeo indicado en el comprobante no es el mismo que esta registrado para el contribuyente Debe indicar el nombre comercial Si el cdigo del motivo de emisin de la Nota de Credito es 03, debe existir la descripcin del item La fecha de generacin de la numeracin debe ser menor o igual a la fecha de generacin de la comunicacin La fecha de emisin de los rangos debe ser menor o igual a la fecha de generacin del resumen El calculo del Total de IGV del Item no es correcto El resumen contiene menos series por tipo de documento que el envo anterior para la misma fecha de emisin No ha consignado informacin del ubigeo del domicilio fiscal Si el importe de percepcion es mayor a 0.00, debe utilizar una leyenda con codigo 2000 El codigo de pais debe ser PE

~ 45 ~

Anda mungkin juga menyukai