MANUAL DEL PROGRAMADOR
Emi"i#$ e%e&'r#$i&a (e"(e %o" Si"'ema" (e% Co$'ri)*+e$'e RS 0,-202.SUNAT
SUPERINTENDENCIA NACIONAL DE ADUANAS Y ADMINISTRACIÓN TRIBUTARIA SUNAT - Lima – Perú Marzo 20!
Manual del programador v. 1.0
INDICE
Documentos electrónicos ..............................................................................................4 Envío de documentos electrónicos................................................................................7 Firma
Digital.................................................................................................................16
Procedimientos específicos..........................................................................................1 !"E#$ 1% &onstancia &onstancia de 'ecepción.................. 'ecepción.................. ............................ .............. ............................ .................... ........... ......... .... (( !"E#$ ( % )istado de Errores..................... ............................ .............. ............................ ................... .......... .......... .......... ....... .. 40
~2~
Manual del programador v. 1.0
INDICE
Documentos electrónicos ..............................................................................................4 Envío de documentos electrónicos................................................................................7 Firma
Digital.................................................................................................................16
Procedimientos específicos..........................................................................................1 !"E#$ 1% &onstancia &onstancia de 'ecepción.................. 'ecepción.................. ............................ .............. ............................ .................... ........... ......... .... (( !"E#$ ( % )istado de Errores..................... ............................ .............. ............................ ................... .......... .......... .......... ....... .. 40
~2~
Manual del programador v. 1.0
Registros de Cambios del Manual
Fecha *1+0,+(01( (,+06+(01( (7+0*+(014
Versión 1.0 1.1 1.(
Elemento de Cambio
Motivo de Cambio
!ne-o (
ncorporación de listado de de
!ne-o (
errores !ctuali/ación
listado
de
errores.
~3~
Manual del programador v. 1.0
Documentos electrónicos )os documentos electrónicos definidos en el proecto de Factura Electrónica est2n especificados en formato #M) 3asados en el est2ndar 5) (.0 ttp%++docs.oasis8 open.org+u3l+os85)8(.0+5)8(.0.tml9. open.org+u3l+os85)8(.0+5)8(.0.tml 9. Para su envío a la :"!; se de3e tener en cuenta las especificaciones descritas en este manual. El documento ser2 reca/ado en caso se incumplan
Line Lineam amie ient ntos os gene genera rale les s 19 )os documen documentos tos #M) de la la factura factura 3oleta 3oleta de venta notas notas de cr
uetados en un arcivo ?P. (9 )os documen documentos tos #M) de la la factura factura 3oleta 3oleta de venta notas notas de cruem es>uema a de segurid seguridad ad 3asado 3asado en @::ecurit. ,9 El modelo modelo de segurida seguridad d usado en @::ecuri @::ecurit t ser2 sernam sername;oA e;oAen en sólo se aceptar2 las credenciales de la &lave :$) de la :"!;.
1. 1.
Nomb Nombre re del del doc docum umen ento to !ML !ML " arc archi hivo vos s #I$ )os documentos #M) los arcivos ?P >ue lo contienen de3en ser generados con los nom3res >ue se detallan a continuación%
Factura " sus Notas de Cr%dito " D%bito& Posición 01811 1( 1*814
1, 1681
(0
"emot
8
Descripción 'uc del Emisor Buión separador ;ipo de compro3ante Factura Electrónica 5oleta de venta "ota de &rue el primer car2cter sea sea la con constan stante te F F segu eguido por * cara caract cter ere es alfanum
Manual del programador v. 1.0
(18(C
&&&&&&&&
"umero correlativo del compro3ante. Este campo es variante se espera un mínimo de 1 m2-imo de C.
29 (*) 30-32 (*)
. EEE
Punto de extensión Extensión del archivo
XML !P
Para el caso del documento XML Para el caso del archivo !P
'9 )as posiciones pueden variar dependiendo de la longitud variante del correlativo. E=emplos% "om3re del arcivo ?P% 20100066603-01-F001-1.ZIP "om3re del arcivo #M)% 20100066603-01-F001-1.XML "om3re del arcivo ?P% 20100066603-01-F001-00000001.ZIP "om3re del arcivo #M)% 20100066603-01-F001-00000001.XML "om3re del arcivo ?P% 20100066603-07-F001-1.ZIP "om3re del arcivo #M)% 20100066603-07-F001-1.XML "om3re del arcivo ?P% 20100066603-08-F001-1.ZIP "om3re del arcivo #M)% 20100066603-08-F001-1.XML
Resumen Diario de (oletas de Venta " sus corres)ondientes notas de cr%dito " d%bito " Comunicación de ba*a Posición 01811 1( 1*814
"emot
Descripción 'uc del Emisor
Buión separador ;ipo de resumen 'esumen diario de 5oletas &omunicación de 5a=as 1, Buión separador 168(* Feca de la generación del arcivo en formato MMDD (4 8 Buión separador (,8( "umero correlativo del arcivo. Este campo es variante se espera un mínimo de 1 m2-imo de ,. *0 '9 . Punto de e-tensión *18** '9 EEE E-tensión del arcivo #M) Para el caso del documento #M) ?P Para el caso del arcivo ?P '9 )as posiciones pueden variar dependiendo de la longitud variante del correlativo. E=emplos% "om3re del arcivo ?P% 20100066603-RC-20110522-001.ZIP "om3re del arcivo #M)% 20100066603-RC-20110522-001.XML "om3re del arcivo ?P% 20100066603-RA-20110522-1.ZIP "om3re del arcivo #M)% 20100066603-RA-20110522-1.XML
~5~
Manual del programador v. 1.0
1.+
Contenido del archivo #I$ El contenido del arcivo ?P depender2 de la modalidad de envío la cual de3er2 ser de la siguiente manera%
-
En caso de las facturas sus correspondientes notas de crue se espera reci3ir un Gnico arcivo ?P dentro de este un Gnico documento #M). )os nom3res de am3os arcivos de3en coincidir a e-cepción de la e-tensión. Por e=emplo% o "om3re del arcivo ?P% 20100066603-01-F001-1.ZIP o "om3re del arcivo #M)% 20100066603-01-F001-1.XML
-
En el caso del 'esumen Diario de 3oletas de venta sus correspondientes notas de cr
1.,
Contenido del archivo !ML El contenido del arcivo #M) de3er2 cumplir con lo siguiente% a. )a estructura de cada documento de3er2 construirse de acuerdo a los es>uemas -sd9 definidos para cada tipo de documento. 3. )a información consignada de3e cumplir las reglas de negocio definidas en la normatividad vigente. Estas especificaciones se encuentran detalladas en las Buías de Ela3oración de documentos electrónicos #M) pu3licadas en la p2gina He3 de :"!;. c. En el caso de utili/arse acentos o letras propias del alfa3eto espaIol como la eIe se de3e generar el arcivo #M) con la codificación :$8CC,81. !dem2s se de3e especificar en la primera línea del arcivo -ml el uso de dica codificación para su correcto procesamiento%
"#xml version$%&.0% encodin'$%!-**+9-&% standalone$%no% #,
~6~
Manual del programador v. 1.0
Env-o de documentos electrónicos
1.
Mecanismo de env-o& /eb0ervices )os @e3:ervices permiten la comunicación entre aplicaciones o componentes de aplicaciones de forma est2ndar a travue encapsula funciones específicas ace >ue estas funciones puedan ser utili/adas en otros servidores. )a :"!; a determinado >ue la forma de envío de los compro3antes de pago 'esumen Diario &omunicación de 5a=a se realice vía @e3:ervices. En tal sentido tam3iue se detallan en el punto (.4 del presente documento El servicio @e3 ser2 protegido vía ::) estar2 pu3licado en la siguiente dirección He3% Para envío en producción% https://www.sunat.g!.p"/#-t$-$t%pg"&/!$##'"()$%"
Para envío en el proceso de omologación% https://www.sunat.g!.p"/#-t$-$t%pg"&-s*a/!$##'"()$%"
1.
Mecanismo de seguridad& /020ecurit" " 00L @:8:ecurit :eguridad en :ervicios @e39 es un protocolo de comunicaciones >ue suministra un medio para aplicar seguridad a los :ervicios @e3. @:8 :ecurit incorpora las características de seguridad en el enca3e/ado de un mensa=e :$!P. )a especificación @:8:ecurit permite una variedad de formatos de firma digital algoritmos de cifrado dominios de confian/a est2 a3ierta a diferentes modelos de seguridad como por e=emplo% • • • • •
#.,0 certificates Jer3eros ticAets serD+PassHord credentials :!M)8!ssertion &ustom defined toAen
~7~
Manual del programador v. 1.0
Para acceder al :ervicio @e3 de la :"!; se a determinado el uso del @:8:ecurit en el modelo sername;oAen. En donde se de3e consignar las credenciales de la &lave :$) de la siguiente manera% 20100066603M!!"TS <#wsse:Username> moddatos<#wsse:$assword> <#wsse:UsernameToken > <#wsse:Security> <#soapenv:Header>
&omo la modalidad sername;oAen solo permite consignar dos campos >ue son sername PassHord sin em3argo la &lave :$) est2 compuesta de * campos >ue son '& usuario contraseIa se de3e concatenar los campos '& usuario en el campo sername. )a contraseIa se consignar2 en el campo PassHord. )a clave :$) >ue se utili/ar2 de3e cumplir con los siguientes re>uisitos% - De3e ser una clave de tipo secundaria - ;ener asignado el perfil de Envío de documentos electrónicos8Brandes emisores
!dem2s se ar2 uso del protocolo ::) en con=unto con K;;P: con el cual la información >ue se transfiera desde el servidor del emisor electrónico acia el servidor de :"!; via=ar2 en forma cifrada.
~8~
Manual del programador v. 1.0
1.3
4i)os de env-o :e an esta3lecido dos tipos de envíos% :íncrono !síncrono.
Env-o 0-ncrono En este tipo de envío el servicio He3 de :"!; procesa el documento remitido por el emisor responde inmediatamente con una constancia de recepción &D'9 >ue puede ser de aceptación o reca/o. 5a=o esta modalidad se procesar2n las facturas las notas de cr
Archivo zip Constancia de r ecepción
Archivo zip
INTERNET
Constancia de recepción
SERVICIO WEB SUNAT
SISTEMA COMERCIAL EMISOR
Env-o 5s-ncrono Este tipo de envío ser2 utili/ado para el caso del 'esumen diario de 5oletas de Lenta sus notas de cr
"ASO #$ Env%o de doc&'ento e(ectrónico
Archivo zip Tic!et
Archivo zip
INTERNET
Tic!et
SERVICIO WEB SUNAT
SISTEMA COMERCIAL EMISOR
"ASO )$ Rec&peración de Constancia de Recepción
Tic!et Constancia de recepción
SISTEMA COMERCIAL EMISOR
Tic!et
INTERNET
Const ancia de recepción
SERVICIO WEB SUNAT
~9~
Manual del programador v. 1.0
1.6
M%todos dis)onibles El servicio He3 de recepción cuenta con un m
-
s"n,$## este mue contiene un documento #M) >ue es la constancia de aceptación ó reca/o.
-
s"n,'u&&a( este mue posteriormente utili/ando el mue contiene un documento #M) >ue es la constancia de aceptación o reca/o.
-
g"t'tatus este mue indica el estado del proceso en caso de a3er terminado devuelve ad=unta la constancia de aceptación o reca/o.
! continuación se detalla el uso de cada uno de los m
sendBill El mtodo sendBill recie como /armetro un nomre de archivo es/eci1icado /or la 45 6 el contenido de un archivo !P con un 7nico documento XML de com/roante 6 devuelve un archivo i/ 8ue contiene un documento XML 8ue es la constancia de ace/tación ó rechao.
Parámetros de entrada
5i/o trin'
Parmetro omre del archivo
:omentario e dee consi'nar el nomre del archivo de acuerdo a la es/eci1icación de la 45. Por e;em/lo< 20100066603-01-F001-1.ZIP
~ 10 ~
Manual del programador v. 1.0
6te=>
:ontenido del archivo !P
e dee consi'nar el contenido del archivo !P en un arre'lo de 6tes.
5? los /armetros de entrada son oli'atorios@ de no in'resar al'uno o in'resar valores nulos el servicio emitir una exce/ción. Retorno
5i/o 6te=>
:omentario ?evuelve un arre'lo de 6tes 8ue es un archivo !P 8ue contiene el documento XML de la constancia de ace/tación o rechao.
Ejemplo SOAP para invoar el serviio!
'm&ns:soapenv()*ttp:##sc*emas+'m&soap+or,#soap#enve&ope# )
'm&ns:ser()*ttp:##service+sunat+,o-+pe )
'm&ns:wsse()*ttp:##docs+oasis.
open+or,#wss#200/#01#oasis.200/01.wss.wssecurity.sece't.1+0+'sd )> 20100066603M!!"TS <#wsse:Username> moddatos<#wsse:$assword> <#wsse:UsernameToken > <#wsse:Security> <#soapenv:Header> <i&eame>20100066603.01.001.1+4ip <#i&eame> cid:20100066603.01.001.1+4ip <#contenti&e> <#ser:sendi&&> <#soapenv:ody> <#soapenv:%nve&ope>
sendS"mmar# El mtodo sendSummary recie como /armetro un nomre de archivo es/eci1icado /or la 45 6 el contenido de un archivo !P con un 7nico documento XML de res7menes@ 6a sea resumen de oletas o resumen de a;as. ?evuelve un ticAet con el 8ue /osteriormente utiliando el mtodo getStatus se /uede otener la constancia de ace/tación o rechao.
~ 11 ~
Manual del programador v. 1.0
Parámetros de entrada
5i/o trin'
Parmetro omre del archivo
:omentario e dee consi'nar el nomre del archivo de acuerdo a la es/eci1icación de la 45. Por e;em/lo< 20100066603-$%-20110&22.ZIP
6te=>
:ontenido del archivo !P
e dee consi'nar el contenido del archivo !P en un arre'lo de 6tes.
5? los /armetros de entrada son oli'atorios@ de no in'resar al'uno o in'resar valores nulos el servicio emitir una exce/ción. Retorno
5i/o trin'
:omentario Betorna el ticAet de /roceso@ con el 8ue /osteriormente utiliando el mtodo getStatus se /uede otener el archivo i/ 8ue contiene un documento XML 8ue es la constancia de ace/tación o rechao
Ejemplo SOAP para invoar el serviio!
'm&ns:soapenv()*ttp:##sc*emas+'m&soap+or,#soap#enve&ope# )
'm&ns:ser()*ttp:##service+sunat+,o-+pe )
'm&ns:wsse()*ttp:##docs+oasis.
open+or,#wss#200/#01#oasis.200/01.wss.wssecurity.sece't.1+0+'sd )> 20100066603M!!"TS <#wsse:Username> moddatos<#wsse:$assword> <#wsse:UsernameToken > <#wsse:Security> <#soapenv:Header> <i&eame>20100066603.5.20110722.1+4ip <#i&eame> cid:20100066603.5.20110722.1+4ip <#contenti&e> <#ser:sendSummary> <#soapenv:ody> <#soapenv:%nve&ope>
~ 12 ~
Manual del programador v. 1.0
'e(S(a("s El mtodo getStatus recie como /armetro el n7mero de ticAet de /rocesamiento 6 devuelve un o;eto 8ue indica el estado del /roceso 6 en caso de haer terminado correctamente o con errores@ ad;unta la constancia de ace/tación o rechao res/ectivamente.
Parámetros de entrada
5i/o trin'
Parmetro ticAet
:omentario Es el ticAet de /rocesamiento 8ue 1ue devuelto /or al'7n mtodo asCncrono@ como lo es sendummar6.
5? los /armetros de entrada son oli'atorios@ de no in'resar al'uno o in'resar valores nulos el servicio emitir una exce/ción. Retorno
5i/o tatusBes/onse
:omentario Es un o;eto 8ue contiene la res/uesta del /rocesamiento. El o;eto StatusResponse tiene dos atriutos< statusCode<
!ndica el estado del /rocesamiento@ es del ti/o String 6 /uede tener los si'uientes valores< 0 $ Procesó correctamente 9* $ En /roceso 99 $ Proceso con errores content <
Dnicamente si el atriuto statusCode tiene los valores 0 ó 99@ este cam/o tendrCa valores@ 8ue es la constancia de ace/tación o rechao em/a8uetada en un archivo !P.
Ejemplo SOAP para invoar el serviio!
'm&ns:soapenv()*ttp:##sc*emas+'m&soap+or,#soap#enve&ope# )
'm&ns:ser()*ttp:##service+sunat+,o-+pe )
'm&ns:wsse()*ttp:##docs+oasis.
open+or,#wss#200/#01#oasis.200/01.wss.wssecurity.sece't.1+0+'sd )>
~ 13 ~
Manual del programador v. 1.0
20100066603M!!"TS <#wsse:Username> moddatos<#wsse:$assword> <#wsse:UsernameToken > <#wsse:Security> <#soapenv:Header> 201100000011228<#ticket> <#ser:,etStatus> <#soapenv:ody> <#soapenv:%nve&ope>
) es(o es lo "e esperar+amos "e responda! <9. ";u e& contenido de& arc*ivo =$ en ase6/ ..> content> 0<#statusode> <#status> <#ns2:,etStatus5esponse > <#S:ody> <#S:%nve&ope>
1.7
Constancia de Rece)ción 8CDR9
El documento electrónico de respuesta de :"!; para todos los documentos electrónicos enviados es la &onstancia de 'ecepción &D'9. Este documento informa al emisor el resultado del envío podr2 tener el estado de aceptada o reca/ada. )as implicancias de la aceptación o reca/o se e-plican en el numeral 4.1 del presente manual. )a constancia de recepción a sido clasificada en tres tipos de acuerdo al documento electrónico enviado% - &D' 8 Factura nota cuando corresponde al resultado del envío de una Factura +o "ota de cr
Manual del programador v. 1.0
)as características generales de la constancia son las siguientes%
-
Formato " estructura& ;endr2 formato #M) 3asado en el documento !pplication'esponse de 5) versión (.0. En el !ne-o 1 del presente manual se encuentra el detalle de los elementos utili/ados para el caso peruano.
-
Nombre% )a constancia de recepción es devuelta por el servicio He3 de :"!; dentro de un arcivo /ip. !l desempa>uetar dico arcivo se encontrar2 la constancia con el siguiente formato de nom3re% '8N"om3re del arcivo enviado sin e-tensiónO.-ml
E=emplos% 5rchivo !ML enviado (01C7(7618018F'(8CC(.-ml (01C7(7618078F&(876(.-ml (01C7(7618'&8(01(060181.-ml (01C7(7618'!8(01(060181.-ml
-
Constancia de Rece)ción '8(01C7(7618018F'(8CC(.-ml '8(01C7(7618078F&(876(.-ml '8(01C7(7618'&8(01(060181.-ml '8(01C7(7618'!8(01(060181.-ml
Firma digital& ;odas las constancias se encontrar2n firmadas digitalmente por :"!;.
~ 15 ~
Manual del programador v. 1.0
Firma Digital ;odos los documentos electrónicos >ue se enviar2n a :"!; de3er2n ser firmados digitalmente por el emisor aciendo uso de un certificado digital. )as características >ue se de3en cumplir se detallan a continuación% 1.1: Consideraciones sobre el certi;icado digital a utiliuisitos t
Formato est2ndar #.,0 v*. )ongitud mínima de clave privada de 10(4 3its Permitir >ue se identifi>ue al titular de la Firma digital seIalando nom3re apellidos D" el nGmero de '& de la empresa >ue representa. El nGmero de '& de3er2 estar consignado en el campo $ $rgani/ational nit9 del atri3uto :u3=ect "ame.
El proveedor de los certificados digitales de3er2 identificar a los titulares +o suscriptores del certificado digital mediante el levantamiento de datos la compro3ación de la información 3rindada por el referido titular.
39 El certificado digital de3er2 previamente ser comunicado a :"!;. Para ello se utili/ar2 la opción de !ctuali/ación de certificado digital a3ilitada en el MenG :$).
c9 El certificado de3e encontrarse vigente no revocado a >ue el receptor de :"!; valida estos dos re>uisitos.
1.11 Consideraciones sobre el )roceso de ;irmado a9 Para todos los documentos la firma digital se consignar2 en un elemento Ne-t%5)E-tensions+e-t%5)E-tension+e-t%E-tension&ontentO. Dentro de
39 :e firmar2 todo el documento completo es decir todo el contenido del elemento raí/% nvoice &redit"ote De3it"ote :ummarDocuments o LoidedDocuments. :e de3er2 utili/ar el est2ndar de firmas #M)D:ig.
c9 !ntes de firmar el documento el arcivo de3e contener la totalidad de la información del documento incluendo el elemento Ncac%:ignatureO definido
~ 16 ~
Manual del programador v. 1.0
por el est2ndar 5) con su respectiva información. !dem2s se de3e generar el elemento donde se u3icar2 la firma digital.
E=emplo de elemento Ne-t%5)E-tensionsO antes de firmar%
1001<#c-c:!> 3/@1AA+17<#c- c:$aya-&e"mount>
<#sac:"dditiona&MonetaryTota&>
1000<#c-c:!> U"T 5%TS B%TT5%S C 00#100<#c-c:Ba &ue>
<#sac:"dditiona&$roperty> <#sac:"dditiona&normation> <#e't:%'tensionontent>
<#e't:U?%'tension>
<#e't:U?%'tensions>
d9 )a firma digital se de3e alo=ar en el elemento Ne-t%E-tension&ontentO creado para tal fin. e9 Para firmar un documento electrónico se utili/ar2 la clave privada de un certificado digital #,0. )uego de este proceso no podr2n aIadirse nuevos datos al documento ni si>uiera e-tensiones en el formato acordado puesto >ue la validación consideraría >ue el documento a sido alterado. f9
)a firma de3er2 generarse con el mismo tipo de codificación con el cual se generó el documento -ml. Por e=emplo si el arcivo -ml a firmar es generado ~ 17 ~
Manual del programador v. 1.0
con el :$8CC,81 la firma tam3i
~ 18 ~
Manual del programador v. 1.0
$rocedimientos es)ec-;icos 1.1 Mane*o de errores El sistema reali/a una serie de validaciones durante el proceso de recepción de los documentos electrónicos. &ada una de estas validaciones en caso de no cumplirse genera un tipo de error. Estos tipos son% 1.
E=ce)ciones& :on errores graves >ue imposi3ilitan el procesamiento del arcivo. En estos casos el documento se considera como no informado el emisor de3er2 corregir el pro3lema para volver a enviar el documento.
.
Errores >ue generan rechaue no permiten registrarlo como documento v2lido. )as implicancias de este tipo de error dependen del tipo de documento procesado son las siguientes% En Facturas " Notas de cr%dito " d%bito asociadas& Para estos documentos la numeración se considera a utili/ada pero la factura o nota electrónica no es v2lida. En estos casos el emisor a no podr2 utili/ar ese nGmero tendr2 >ue generar un nuevo documento corrigiendo el pro3lema >ue generó el error asignar un nuevo nGmero al documento.
•
En Res?menes diarios de (oletas de Venta " Comunicación de ba*a& En estos documentos donde se informa m2s de un nGmero de compro3ante se reca/a todo el documento completo. "o a procesamiento parcial tampoco se invalidan los nGmeros. ;odo el documento completo se considera como no informado. El emisor de3e corregir el pro3lema volver a enviar todo el documento nuevamente. Puede utili/ar el mismo nom3re de arcivo.
•
+.
@bservaciones :on errores >ue no invalidan el documento por lo tanto el sistema registrar2 el compro3ante como v2lido. )as o3servaciones se informar2n en la &onstancia de 'ecepción. )a relación de los códigos de error su descripción se encuentra en el par2metro 74(. )os códigos se an clasificado de acuerdo al tipo de error% * * *
Del 0100 al 1 E-cepciones Del (000 al * Errores >ue generan reca/o Del 4000 en adelante $3servaciones
~ 19 ~
Manual del programador v. 1.0
De acuerdo al tipo de error >ue se genera el sistema responde de manera distinta al emisor. )as respuestas son% - :i es una E#&EP&$" el sistema responde como una e-cepción del programa es decir retorna el código de error con su descripción.
-
:i a un E''$' RE BE"E'! 'E&K!?$ el sistema genera una constancia de recepción &D'9 con estado reca/ada indicando >ue el compro3ante no a sido registrado en :"!; por t ener errores.
-
:i a $5:E'L!&$"E: el sistema genera una constancia de recepción &D'9 con estado aceptada con advertencias indicando >ue el compro3ante a sido correctamente enviado registrado en :"!;. )as advertencias se muestran en la constancia de recepción.
-
Finalmente si no a ningGn tipo de error se genera una constancia de recepción &D'9 aceptada indicando >ue el compro3ante a sido correctamente enviado registrado en :"!;.
~ 20 ~
Manual del programador v. 1.0
1.1+ Recu)eración de la Constancia de Rece)ción En los casos de envío síncrono si se re>uiere recuperar la &onstancia de 'ecepción de :"!; &D'8:"!;9
-
-
:i el documento a sido aceptado por :"!; retorna la &onstancia generada cuando se reci3ió el documento. :i el documento no es el mismo a sido alterado9 retorna una e-cepción indicando >ue el documento a a sido presentado con otra información. :i el documento a sido reca/ado por :"!; se retorna la &onstancia de 'ecepción de reca/o generada cuando se reci3ió el documento. En estos casos no se valida si el documento a sido alterado.
Para los resGmenes diarios comunicaciones de 3a=a envío asíncrono9 la recuperación de la constancia se efectuar2 invocando el servicio He3 de consulta del estado del proceso de envío. En la medida de >ue el proceso de recepción aa concluido el sistema devolver2 la constancia de recepción correspondiente al proceso asociado al nGmero de ticAet consultado.
1.1, Atiliue cumplan con el formato esta3lecido por el est2ndar. )a compro3ación del cumplimiento del est2ndar se reali/a verificando >ue el documento cumple con el es>uema arcivos con e-tensión -sd9 >ue define su estructura. Este proceso denominado parseo en el 2m3ito inform2tico de3ería reali/arse siempre luego de construido un documento electrónico antes de reali/ar su envío a :"!;. )os diferentes lengua=es de programación ofrecen li3rerías >ue permiten reali/ar esta verificación.
~ 21 ~
Manual del programador v. 1.0
5NE!@ 1& Constancia de Rece)ción )a &onstancia de 'ecepción es el documento >ue permitir2 indicar la respuesta de la aplicación :"!; a la transacción de recepción de la factura nota o resGmenes enviados por el contri3uente. Este documento informar2 el estado de recepción indicando si a sido aceptado o reca/ado por :"!;. El o3=etivo de este ane-o es descri3ir las normas de uso >ue usar2 :"!; cuando construa el documento de respuesta al proceso de recepción de documentos electrónicos. Este documento est2 3asado en el es>uema del documento !pplication'esponse del est2ndar 5) versión (.0. 5. In;ormación contenida en la Constancia de Rece)ción " estructura !ML )os diferentes campos contenidos en la constancia de recepción se detallan en el cuadro del literal !.1. Para ela3orar dico cuadro se a tomado en cuenta la siguiente nomenclatura% Para los tipos de campos longitud% •
a n an a* n* an* a..* n..* an..* •
caracter alfa3
Para la condición de o3ligatoriedad o no de un determinado elemento% M% Mandatorio u o3ligatorio C% &ondicional u opcional
•
En lo referente a la identificación del formato de los elementos% n1((9 n((9 FTTTTT 8MM8DD
elemento num
En el cuadro del literal !.( se muestra la estructura del documento !pplication'esponse de acuerdo a 5) versión (.0 una referencia a la información >ue estar2 contenida en cada elemento. !dem2s se muestra la cardinalidad de acuerdo al 5) el asumido para el caso peruano
~ 22 ~
Manual del programador v. 1.0
5.1 Cam)os contenidos en la Constancia de Rece)ción
N°
CAMPOS
NIVEL
CONDICIÓN
TIPO Y LONGITUD
0(o1a( 0(o1a( 0(o1a(
M M M
an223444 n#7 an22#4
8888 8888*MM*,,
0(o1a(
M
an22##
hh$''$ss
0(o1a( 0(o1a( 0(o1a(
M M M
an22#4 an22## an22#44
8888*MM*,, hh$''$ss
8 9 1
+ir'a ,i-ita( .+ir'a e(ectrónica/ N5'ero identi6icador de( proceso de recepción +echa de recepción de( doc&'ento e(ectrónico procesado :ora de recepción de( doc&'ento e(ectrónico procesado +echa de -eneración de (a constancia de recepción :ora de -eneración de (a constancia de recepción Mensa;es o notas asociados a (a constancia de recepción N5'ero de RUC de( E'isor de (a constancia N5'ero de RUC de( Receptor de (a constancia Identi6icador de( doc&'ento e(ectrónico enviado
0(o1a( 0(o1a( 0(o1a(
M M M
n## n## an22)3
11 12 13
Códi-o de resp&esta de( env%o ,escripción de (a resp&esta de( env%o Identi6icador de( doc&'ento e(ectrónico procesado
0(o1a( 0(o1a( 0(o1a(
M M M
n22< an22#44 an22)3
14
Identi6icación de( receptor de( doc&'ento e(ectrónico procesado Versión de( UBL Versión de (a estr&ct&ra de( doc&'ento
0(o1a(
M
an22#3
0(o1a( 0(o1a(
M M
an22#4 an22#4
1 2 3 4 5 6 7
15 16
FORMATO
OBSERVACIONES
+or'ato ,ate de( 9ML
+or'ato ,ate de( 9ML
+or'ato de ac&erdo a( tipo de doc&'ento procesado
+or'ato de ac&erdo a( tipo de doc&'ento procesado
~ 23 ~
Manual del programador v. 1.0
5. Estructura !ML de 5))licationRes)onse seg?n norma A(L
ESTRUCTURA !ML APPLICATIONRESPONSE " PERU E#$%&'#( !ML A,,0$*(#$.R'),.)'
2=e>t$UBLE>tensions 2=e >t $U BL E> te ns io n= e> t$E >te ns io nC ont ent 2=ds$Si-nat&re DId
2=ds$Si-nedIn6o 2=ds$Canonica(izationMethodDA(-orith' 2=ds$Si-nat&reMethodDA(-orith' 2=ds$Re6erenceDURI
D')*+$,*$-.
C.)#(.*$( C(+/$.(0$/( /' / UBL R'*',*$-.
,oc&'ento para indicar (a resp&esta de SUNAT a( proceso de recepción de doc&'entos Contenedor de Co'ponentes de e>tensión2 "odr?n incorporarse n&evas de6iniciones estr&ct&radas c&ando sean de inter@s con;&nto para e'isores receptores no est@n a de6inidas en e( es&e'a de( doc&'ento de resp&esta2 C o' pon en te d e e >te ns ió n p ar a e sp ec i6i ca r ( a 6 ir 'a 9 ML ,S I0 Identi6icación de (a 6ir'a dentro de( doc&'ento in6or'ación so1re e( va(or de (a 6ir'a e in6or'ación so1re (os datos a 6ir'ar Indica có'o se de1e trans6or'ar a 6or'a canónica e( e(e'ento Si-nin6oF antes de rea(izar (a 6ir'a Especi6ica &@ tipo de a(-orit'o de 6ir'a &e se &ti(izar? para o1tener (a 6ir'a Identi6ica a( o1;eto de datos &e se va a 6ir'ar Si s& va(or es cadena vac%a identi6ica a( doc&'ento co'p(eto &e contiene (a 6ir'a
422# #2 2n #
# # #
#
#
#
#
#
#
#22n
#
2=ds$Re6erence=ds$Trans6or's=ds$Trans6or'DA(-orit h' 2=ds$Re6erence=ds$,i-estMethodDA(-orith' 2=ds$Re6erence=ds$,i-estVa(&e 2=ds$Si-nat&reVa(&e 2=ds$HeIn6o=ds$974,ata=ds$974Certi6icate
Indica &n paso rea(izado en e( procesa'iento de c?(c&(o de( hash2 ,e6ine (a 6&nción hash &ti(izada Es e( va(or hash codi6icado en BaseG< Contiene (a 6ir'a codi6icada en BaseG< Es &na estr&ct&ra &e contiene in6or'ación de( certi6icado 6ir'ante
#22n 422n # # #22n
# # # # #
2=c1c$UBLVersionI, 2 c1c$C&sto'izationI,
Versión de UBL Versión de (a estr&ct&ra de( doc&'ento
422# 422#
# #
~ 24 ~
Manual del programador v. 1.0
5. Estructura !ML de 5))licationRes)onse seg?n norma A(L
ESTRUCTURA !ML APPLICATIONRESPONSE " PERU E#$%&'#( !ML
D')*+$,*$-. ,oc&'ento para indicar (a resp&esta de SUNAT a( proceso de recepción de doc&'entos
A,,0$*(#$.R'),.)'
2=e>t$UBLE>tensions 2=e >t $U BL E> te ns io n= e> t$E >te ns io nC ont ent 2=ds$Si-nat&re DId
C.)#(.*$( C(+/$.(0$/( /' / UBL R'*',*$-.
2=ds$Si-nedIn6o 2=ds$Canonica(izationMethodDA(-orith' 2=ds$Si-nat&reMethodDA(-orith' 2=ds$Re6erenceDURI
Contenedor de Co'ponentes de e>tensión2 "odr?n incorporarse n&evas de6iniciones estr&ct&radas c&ando sean de inter@s con;&nto para e'isores receptores no est@n a de6inidas en e( es&e'a de( doc&'ento de resp&esta2 C o' pon en te d e e >te ns ió n p ar a e sp ec i6i ca r ( a 6 ir 'a 9 ML ,S I0 Identi6icación de (a 6ir'a dentro de( doc&'ento in6or'ación so1re e( va(or de (a 6ir'a e in6or'ación so1re (os datos a 6ir'ar Indica có'o se de1e trans6or'ar a 6or'a canónica e( e(e'ento Si-nin6oF antes de rea(izar (a 6ir'a Especi6ica &@ tipo de a(-orit'o de 6ir'a &e se &ti(izar? para o1tener (a 6ir'a Identi6ica a( o1;eto de datos &e se va a 6ir'ar Si s& va(or es cadena vac%a identi6ica a( doc&'ento co'p(eto &e contiene (a 6ir'a
422# #2 2n #
# # #
#
#
#
#
#
#
#22n
#
2=ds$Re6erence=ds$Trans6or's=ds$Trans6or'DA(-orit h' 2=ds$Re6erence=ds$,i-estMethodDA(-orith' 2=ds$Re6erence=ds$,i-estVa(&e 2=ds$Si-nat&reVa(&e 2=ds$HeIn6o=ds$974,ata=ds$974Certi6icate
Indica &n paso rea(izado en e( procesa'iento de c?(c&(o de( hash2 ,e6ine (a 6&nción hash &ti(izada Es e( va(or hash codi6icado en BaseG< Contiene (a 6ir'a codi6icada en BaseG< Es &na estr&ct&ra &e contiene in6or'ación de( certi6icado 6ir'ante
#22n 422n # # #22n
# # # # #
2=c1c$UBLVersionI, 2 c1c$C&sto'izationI,
Versión de UBL Versión de (a estr&ct&ra de( doc&'ento
422# 422#
# #
~ 24 ~
Manual del programador v. 1.0
2=c1c$I, 2=c1c$Iss&e,ate 2=c1c$Iss&eTi'e 2=c1c$Response,ate 2=c1c$ResponseTi'e 2=c1c$Note 2=cac$Si-nat&re 2=c1c$I, 2=cac$Si-nator"art 2=cac$"artIdenti6ication 2=c1c$I,
N5'ero 5nico asi-nado por SUNAT para identi6icar e( proceso de recepción +echa de recepción de( doc&'ento procesado .*''*dd/ :ora de recepción de( doc&'ento procesado .hh$''$ss2OJ/ +echa de -eneración de (a constancia de recepción .*''*dd/ :ora de -eneración de (a constancia de recepción .hh$''$ss2OJ/ Mensa;es o notas asociados a( doc&'ento de resp&esta Re6erencia a (a +ir'a ,i-ita( Identi6icador de (a 6ir'a "arte 6ir'ante
# # 422# 422# 422# 422n 422n # # 422n
# # # # # 422n # # # #
Identi6icación de (a parte 6ir'ante
#
#
422n
#
2=cac$"artNa'e 2=c1c$Na'e
No'1re de (a parte 6ir'ante
#
#
2=cac$,i-ita(Si-nat&reAttach'ent
Asociación con (a 6ir'a codi6icada .en 6or'ato 9ML,SI0 por e;e'p(o/
422#
#
I n6 or 'ac ió n a ce rc a d e &n do c& 'e nto v in c& (a do 2 Identi6icador de Rec&rso Uni6or'e .o URI/ &e identi6ica (a (oca(ización de (a 6ir'a
42 2#
#
422#
#
In6or'ación so1re (a parte &e re'ite (a in6or'ación2 ,escri1e e( tipo de doc&'ento de identi6icación a (a parte &e re'ite (a in6or'ación I nd ic a e ( n 5'e ro d e i den ti6 ic ac ió n . RU C/ d e ( a p ar te &e e nv %a ( a in6or'ación .SUNAT/
#
#
#22n #
# #
#
#
#22n #
# #
2=cac$E>terna(Re6erence
2=c1c$URI
2=cac$Sender"art 2=cac$"artIdenti6ication 2=c1c$I,
2=cac$Receiver"art 2=cac$"artIdenti6ication 2=c1c$I,
In6or'ación so1re (a parte &e reci1e (a in6or'ación ,escri1e e( tipo de doc&'ento de identi6icación a (a parte &e reci1e (a in6or'ación I nd ic a e ( n 5'e ro d e i den ti6 ic ac ió n . RU C/ d e ( a p ar te &e r ec i1 e (a
~ 25 ~
Manual del programador v. 1.0
2=c1c$I, 2=c1c$Iss&e,ate 2=c1c$Iss&eTi'e 2=c1c$Response,ate 2=c1c$ResponseTi'e 2=c1c$Note 2=cac$Si-nat&re 2=c1c$I, 2=cac$Si-nator"art 2=cac$"artIdenti6ication 2=c1c$I,
N5'ero 5nico asi-nado por SUNAT para identi6icar e( proceso de recepción +echa de recepción de( doc&'ento procesado .*''*dd/ :ora de recepción de( doc&'ento procesado .hh$''$ss2OJ/ +echa de -eneración de (a constancia de recepción .*''*dd/ :ora de -eneración de (a constancia de recepción .hh$''$ss2OJ/ Mensa;es o notas asociados a( doc&'ento de resp&esta Re6erencia a (a +ir'a ,i-ita( Identi6icador de (a 6ir'a "arte 6ir'ante
# # 422# 422# 422# 422n 422n # # 422n
# # # # # 422n # # # #
Identi6icación de (a parte 6ir'ante
#
#
422n
#
#
#
2=cac$"artNa'e 2=c1c$Na'e
No'1re de (a parte 6ir'ante
2=cac$,i-ita(Si-nat&reAttach'ent
Asociación con (a 6ir'a codi6icada .en 6or'ato 9ML,SI0 por e;e'p(o/
2=cac$E>terna(Re6erence
2=c1c$URI
2=cac$Sender"art 2=cac$"artIdenti6ication 2=c1c$I,
2=cac$Receiver"art 2=cac$"artIdenti6ication 2=c1c$I,
422#
#
I n6 or 'ac ió n a ce rc a d e &n do c& 'e nto v in c& (a do 2 Identi6icador de Rec&rso Uni6or'e .o URI/ &e identi6ica (a (oca(ización de (a 6ir'a
42 2#
#
422#
#
In6or'ación so1re (a parte &e re'ite (a in6or'ación2 ,escri1e e( tipo de doc&'ento de identi6icación a (a parte &e re'ite (a in6or'ación I nd ic a e ( n 5'e ro d e i den ti6 ic ac ió n . RU C/ d e ( a p ar te &e e nv %a ( a in6or'ación .SUNAT/
#
#
#22n #
# #
#
#
#22n #
# #
In6or'ación so1re (a parte &e reci1e (a in6or'ación ,escri1e e( tipo de doc&'ento de identi6icación a (a parte &e reci1e (a in6or'ación I nd ic a e ( n 5'e ro d e i den ti6 ic ac ió n . RU C/ d e ( a p ar te &e r ec i1 e (a
~ 25 ~
Manual del programador v. 1.0
in6or'ación2 2=cac$,oc&'entResponse 2=cac$Response 2=c1c$Re6erenceI, 2=c1c$ResponseCode 2=c1c$,escription
,escri1e e( estado de (a constancia de recepción In6or'ación so1re (a resp&esta a( proceso de recepción Identi6icación de( doc&'ento e(ectrónico procesado Códi-o de (a resp&esta a( doc&'ento e(ectrónico procesado ,escripción de (a resp&esta a( doc&'ento e(ectrónico procesado
#22n #22n #22n #22n #22n
# # # # #
2=cac$,oc&'entRe6erence
Identi6icación de( doc&'ento procesado Identi6icador de( doc&'ento e(ectrónico procesado
#22n #
# #
#22n
#
#
#
2=c1c$I,
2=cac$Recipient"art
2=cac$"artIdenti6ication 2=c1c$I,
In6or'ación de (a parte receptora de( doc&'ento e(ectrónico procesado Identi6icación de (a parte receptora de( doc&'ento e(ectrónico procesado Identi6icación de( receptor de( doc&'ento e(ectrónico procesado
~ 26 ~
Manual del programador v. 1.0
in6or'ación2 2=cac$,oc&'entResponse 2=cac$Response 2=c1c$Re6erenceI, 2=c1c$ResponseCode 2=c1c$,escription
,escri1e e( estado de (a constancia de recepción In6or'ación so1re (a resp&esta a( proceso de recepción Identi6icación de( doc&'ento e(ectrónico procesado Códi-o de (a resp&esta a( doc&'ento e(ectrónico procesado ,escripción de (a resp&esta a( doc&'ento e(ectrónico procesado
#22n #22n #22n #22n #22n
# # # # #
2=cac$,oc&'entRe6erence
Identi6icación de( doc&'ento procesado Identi6icador de( doc&'ento e(ectrónico procesado
#22n #
# #
#22n
#
#
#
2=c1c$I,
2=cac$Recipient"art
2=cac$"artIdenti6ication 2=c1c$I,
In6or'ación de (a parte receptora de( doc&'ento e(ectrónico procesado Identi6icación de (a parte receptora de( doc&'ento e(ectrónico procesado Identi6icación de( receptor de( doc&'ento e(ectrónico procesado
~ 26 ~
Manual del programador v. 1.0
(.
Elementos de la Constancia de Rece)ción
Para un me=or entendimiento de la estructura del arcivo #M) se muestra el diagrama respectivo en donde se muestra los elementos utili/ados para la constancia de recepción.
Manual del programador v. 1.0
(.
Elementos de la Constancia de Rece)ción
Para un me=or entendimiento de la estructura del arcivo #M) se muestra el diagrama respectivo en donde se muestra los elementos utili/ados para la constancia de recepción.
! continuación se detallan los elementos >ue forman parte de la constancia de recepción. En cada uno de ellos se indica una e-plicación de la información >ue almacena%
(.1 "t:Lt"ns$ns &ontenedor de &omponentes de e-tensión. Para el caso peruano se utili/ar2 para consignar la información correspondiente a la firma digital.
~ 27 ~
Manual del programador v. 1.0
•
ds&0ignature& Este elemento comple=o se u3icar2 dentro del tag Ne-t%E-tension&ontentO contendr2 la información correspondiente a la firma digital la cual se encontrar2 estructurada de acuerdo a las especificaciones de #M)D:ig recomendación de @*& para firmas digitales9.
(. %!%:L"(s$nI Lersión del es>uema 5) utili/ado para la ela3oración de la constancia de recepción. Para el caso peruano se a utili/ado la versión (.0. Nc3c%5)LersionDO(.0N+c3c%5)LersionDO
(.+ %!%:Cust&$4at$nI dentifica una personali/ación de 5) definida para un uso específico. Para nuestro caso corresponder2 a la versión 1.0. Por cada variación o adecuación del es>uema se de3er2 de aumentar la versión.
Nc3c%&ustomi/ationDO1.0N+c3c%&ustomi/ationDO
(., %!%:I "Gmero Gnico asignado por :"!; para identificar el proceso de recepción.
(. %!%:Issu"at" Feca de recepción del documento electrónico enviado por el contri3uente. El tipo de dato corresponde con el tipo Date de #M) por lo >ue el formato de3er2 ser 8mm8 dd. Nc3c%ssueDateO(01(806801N+c3c%ssueDateO
(. %!%:Issu"$&" Kora de recepción del documento electrónico enviado por el contri3uente. El documento puede ser un compro3ante de pago nota electrónica resumen diario o
~ 28 ~
Manual del programador v. 1.0
comunicación de 3a=a. El tipo de dato corresponde con el tipo ;ime de #M) por lo >ue el formato de3er2 ser %mm%ss. Nc3c%ssue;imeO1,%1(%(*N+c3c%ssue;imeO (.3 %!%:R"spns"at" Feca de generación de la constancia de recepción. El tipo de dato corresponde con el tipo Date de #M) por lo >ue el formato de3er2 ser 8mm8dd. Nc3c%'esponseDate O(01(806801N+c3c%'esponseDateO
(.6 %!%:R"spns"$&" Kora de generación de la constancia de recepción. El tipo de dato corresponde con el tipo ;ime de #M) por lo >ue el formato de3er2 ser %mm%ss. Nc3c%'esponse;imeO1,%1*%00N+c3c%'esponse;ime O
(.7 %a%:'$gnatu(" tili/ado para identificar al firmante otro tipo de información relacionada con la firma digital. :u uso se da principalmente para especificar la u3icación de la firma digital.
•
•
cbc&ID. dentificador de la firma. cac&0ignator"$art". !sociación con la parte firmante la cual para el caso de la constancia de recepción corresponde a los datos de :"!;. o
$art"Identi;ication. ! trav
o
$art"Name. ! trav
~ 29 ~
Manual del programador v. 1.0
cac&Digital0ignature5ttachment. En este componente se puede referenciar la firma del documento como una referencia e-terna a una ' local o remota.
•
o
E=ternalRe;erence. nformación acerca de un documento vinculado. )os vínculos pueden ser e-ternos referenciados mediante un elemento RI 9 internos accesi3les mediante un elemento MME9 o pueden estar contenidos dentro del mismo documento en el >ue se alude a ellos mediante elementos Documento ncrustado9. Este Gltimo ser2 el caso a utili/ar es decir una referencia dentro del mismo documento App#$%at$nR"spns". Específicamente se referencia acia el componente Lt"ns$ns donde se a colocado la firma digital.
(.1: %!%:t" )os mensa=es o notas almacenados en este elemento corresponder2n a advertencias so3re inconsistencias detectadas en el proceso de recepción del documento electrónico pero >ue no representan reca/os. Estos mensa=es se consignar2n con el siguiente formato% N&ódigo de o3servaciónO8NDescripción de la o3servaciónO Nc3c%"oteO40018"Gmero de '& del receptor no e-isteN+c3c%"oteO 40*18De3e indicar el nom3re comercial
(.11 %a%: '"n,"(Pa(t nformación so3re la parte >ue remite la información.
•
Partdentification. En este elemento se consigna los datos de identificación de la parte emisora de la constancia de recepción. En este caso corresponde a datos de :"!;.
~ 30 ~
Manual del programador v. 1.0
o
c3c%D. ndica el "Gmero de '& del emisor de la constancia de recepción '& de :"!;9.
Ncac%:enderPartO Ncac%PartdentificationO Nc3c%DO(01*1*1(,,N+c3c%DO N+cac%PartdentificationO N+cac%:enderPartO
(.1 %a%: R"%"$)"(Pa(t nformación so3re la parte >ue reci3e la constancia de recepción.
•
$art"Identi;ication. En este elemento se consigna los datos de identificación de la parte >ue reci3e la constancia de recepción. En este caso corresponde a datos del emisor del documento electrónico enviado a :"!;.
o
c3c%D. ndica el "Gmero de '& del receptor de la constancia de recepción.
n e=emplo de 'eceiverPart sería% Ncac%'eceiverPartO Ncac%PartdentificationO Nc3c%DO(010004*(1CN+c3c%DO N+cac%PartdentificationO N+cac%'eceiverPartO
~ 31 ~
Manual del programador v. 1.0
(.1+ %a%: %u&"ntR"spns" nformación so3re la respuesta >ue se da al proceso de recepción del documento electrónico enviado por el contri3uente.
•
Res)onse& 'espuesta al documento reci3ido.
o
cbcℜerenceID. dentificador del documento enviado por el contri3uente. o
o
Para el caso de facturas notas de cr
o
cbc&Res)onseCode. Proporciona el código >ue da respuesta al proceso de recepción. ndica el estado de la recepción del documento enviado por el contri3uente% o :i es !ceptada se colocar2 el valor cero 09. o :i es 'eca/ada se colocar2 un valor diferente de cero >ue corresponde al código del error >ue genera el reca/o.
o
cbc&Descri)tion. Descri3e la respuesta >ue se da al documento. En el caso de estado aceptado se muestra una descripción indicando dica situación. En caso de estado ~ 32 ~
Manual del programador v. 1.0
reca/ado se muestra la descripción del error >ue generó el reca/o. •
DocumentRe;erence& En este elemento se u3icar2 la identificación del documento electrónico procesado.
o
•
cbc&ID. dentificador del documento electrónico procesado. o :i el documento es un compro3ante de pago o nota se consignar2 la serie nGmero de compro3ante. o :i el documento es un resumen diario o una comunicación de 3a=a se consignar2 el nom3re del arcivo.
Reci)ient$art"& En este elemento se u3icar2 la identificación del receptor del documento electrónico procesado.
o
$art"Identi;ication. ! trav
c3c%D. ndica el tipo nGmero de documento de identidad del receptor del documento electrónico procesado. Para la factura notas corresponde a los datos del ad>uiriente o usuario. )os datos se encontrar2n separados por un guión% N;ipo documentoO8N"Gmero de documentoO Para el caso del resumen diario la comunicación de 3a=a se consignar2 un guión.
~ 33 ~
Manual del programador v. 1.0
E=emplo% Ncac%Document'esponse O Ncac%'esponseO Nc3c%'eferenceDOF0018747N+c3c%'eferenceDO Nc3c%'esponse&ode O0N+c3c%'esponse&ode O Nc3c%DescriptionO )a factura numero F0018747 a sido aceptada N+c3c%DescriptionO N+cac%'esponseO Ncac%Document'eferenceO Nc3c%DO F0018747N+c3c%DO N+cac%Document'eferenceO Ncac%'ecipientPartO Nc3c%DO068(01000CCC(N+c3c%DO N+cac%'ecipientPartO N+cac%Document'esponse O
~ 34 ~
Manual del programador v. 1.0
C/
Eem1%o"
C/ Re"1*e"'a (e a1%i&a&i#$ SUNAT – E"'a(o ACEPTADO REUISITO N5'ero identi6icador de( proceso de recepción +echa de recepción de( doc&'ento e(ectrónico procesado :ora de recepción de( doc&'ento e(ectrónico procesado +echa de -eneración de( doc&'ento de resp&esta :ora de -eneración de( doc&'ento de resp&esta Mensa;es o notas asociados a( doc&'ento de resp&esta
N5'ero de RUC de( E'isor de (a constancia de recepción .SUNAT/ N5'ero de RUC de( E'isor de( doc&'ento e(ectrónico procesado N5'ero de RUC de( Receptor de( doc&'ento e(ectrónico procesado Identi6icador de( doc&'ento enviado Códi-o de resp&esta de( env%o ,escripción de (a resp&esta de( env%o Identi6icador de( doc&'ento procesado
CASO 1 )4#)44444)344G# )4#)*4G*#) #4$4$)K )4#)*4G*#) #4$4$34 <43# * ,e1e indicar e( no'1re co'ercia( <44# * E( n&'ero de RUC de( receptor no e>iste )4#3#3#)77 )4#74#
+ir'a ,i-ita( <"pp&ication5esponse 'm&ns()urn:oasis:names:specification:ubl:schema:xsd:ApplicationResponse- ) 'm&ns:cac ()urn:oasis:names:specification:ubl:schema:xsd:CommonA!!re!ateComponents- ) 'm&ns:c-c ()urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents- ) 'm&ns:ds()http://"""#"$#or!/%%%/%&/xmldsi!' ) 'm&ns:e't ()urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents- )> <#ds:Transorms > p01x+2s3&0n%h34C025,%U6 <#ds:!i,estBa&ue > <#ds:5eerence > <#ds:Si,nedno > $xhlE78aoa*9Ahxi5df+$8);hc5=Rd?d(@pR!r?em,$.8l,5s/52m4h*!n&oA
!!Cxpfa AEx4xp&la52C,DU9?15ur4Cx7(n!Untfrp/1d1/1,bA(3u)p2e")5Uh8EUDA&sLs2 nF%F=lpp17mF?6 <#ds:Si,natureBa&ue > 455C$*CCAcUCCDCbF@db;x"DaA)B!7h7i;&"%BADUA3CBhGEL4A7;A+UEBh4CUE
Ux3*ALB!) BA!*BExpbFEx3*ALB!)BAc*BExpbFEx3A4B!)BAo*B)*7U4D%"C"3DDLE"RER)U4R" A3DD3E"+9bhubn7!ms@;04(4"5D[email protected])AD7BhRdms@;0D)+bm%Lmd.i" @*Ae"%"3A$4*x)GE43da"%x)3Ax43x)GE43da4%xCGAB!)BA*AlB4D%"C"3DD5 E"R4aF+h4D%"C"3DDE"R4aF+h4D,"3A3DD9E"*UB3E)4As;A+UECx4ERER*3ER4A?; A+UEAx45c$@;G*E"!@?"3D[email protected])ADEBBDA3!%A45;Ao;BA=,n)%0H$HUGe4i phba?/5bAf.1edcHa*8Fpf048px*H80oU(;ulm91!7=Fh?o!1@C&RLo/(B5o;@rtb32Cm +ds9$,bR!L3l90ftd5@7.r0r8;iG&e%D)a)8u7ts)s7m.;Ub4;0bcU(1pDB,r3@h!R&r
~ 35 ~
Manual del programador v. 1.0
A!4BAAE"3D[email protected])ADEBDA3!!EBAL)/G$?;4,,4?*Hu=8E=;ur(fU*&9o@/R,9f a5/t,,us5%Db)(p?"&l%+812e"nBG)9tL$4?Lia"RoG%3(a?u=DE4!D8.!eipAe25H 1L4iA$ra;+n(8cBUaR*h0A;eFF2p5he*hhc2@Hu84obB75GpUufl7@9=A@7(D*U1hrB B.+?nEfo121&H?9*cHn01$;5UUpG3D0ia5rL0C5lb1=h)5cr(i3.s7ami5,DGs 9cm2cRfHU@F)=CA&"&D5(B1.9f3Dt!@;Rh$U.ed&BR+mpbd.s&thLr*"Hb?6 <#ds:F70Aerti icate> <#ds:F70A!ata > <#ds:Eeyno > <#ds:Si,nature > <#e't:%'tensionontent > <#e't:U?%'tension > <#e't:U?%'tensions > #%<#c-c:U?Bersion! > +#%<#c-c:ustomi4ation! > %+%%%%%$%%0+ <#c-c:!> %+-%0-+ <#c-c:ssue!ate > +%:%&:H <#c-c:ssueTime > %+-%0-+ <#c-c:5esponse!ate > +%:%&:$% <#c-c:5esponseTime > ,%$+ - 3ebe indicar el nombre comercial <#c-c:ote> ,%%+ - El numero de RUC del receptor no existe# <#c-c:ote> (i!n(U)A* <#c-c:!> %+$+$+& <#c-c:!> <#cac:$artydentiication > <9G!"T"G SU"T><#c-c:ame> <#cac:$artyame > <#cac:Si,natory$arty > '(i!n(U)A* <#c-c:U5> <#cac:%'terna&5eerence > <#cac:!i,ita&Si,nature"ttac*ment > <#cac:Si,nature > %+$+$+& <#c-c:!> <#cac:$artydentiication > <#cac:Sender$arty > %+%+,HH+? <#c-c:!> <#cac:$artydentiication > <#cac:5eceiver$arty > A%+-&?+ <#c-c:5eerence! > %<#c-c:5esponseode > <9G!"T"G ?a actura numero "01.A@1I *a sido aceptada><#c-c:!escription > <#cac:5esponse > A%+-&?+ <#c-c:!> <#cac:!ocument5eerence > 0-%&&H?&?H, <#c-c:!> <#cac:$artydentiication > <#cac:5ecipient$arty > <#cac:!ocument5esponse > <#"pp&ication5esponse >
~ 36 ~
Manual del programador v. 1.0
C/2 Re"1*e"'a (e a1%i&a&i#$ SUNAT – E"'a(o RECA3ADO REUISITO N5'ero identi6icador de( proceso de recepción +echa de recepción de( doc&'ento e(ectrónico procesado :ora de recepción de( doc&'ento e(ectrónico procesado +echa de -eneración de( doc&'ento de resp&esta :ora de -eneración de( doc&'ento de resp&esta Mensa;es o notas asociados a( doc&'ento de resp&esta N5'ero de RUC de( E'isor de (a constancia de recepción .SUNAT/ N5'ero de RUC de( E'isor de( doc&'ento e(ectrónico procesado N5'ero de RUC de( Receptor de( do c&'ento e(ectrónico procesado Identi6icador de( doc&'ento enviado Códi-o de resp&esta de( env%o ,escripción de (a resp&esta de( env%o
Identi6icador de( doc&'ento procesado
CASO 2 )4#)44444)344 )4#)*4G*#3 #3237 )4#)*4G*#3 #32138 )4#3#3#)77 )4#74#
+ir'a ,i-ita( <"pp&ication5esponse 'm&ns()urn:oasis:names:specification:ubl:schema:xsd:ApplicationResponse- ) 'm&ns:cac ()urn:oasis:names:specification:ubl:schema:xsd:CommonA!!re!ateComponents- ) 'm&ns:c-c ()urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents- ) 'm&ns:ds()http://"""#"$#or!/%%%/%&/xmldsi!' ) 'm&ns:e't ()urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents- )> <#ds:Transorms > urbm1Aum9x07b*?f.U5xG2c6 <#ds:!i,estBa&ue > <#ds:5eerence > <#ds:Si,nedno >
;np,U49!pl;xHurh$;+8;!%lo9=sn,f3!1+b1)d&$lGt759D8t(D$tmss&,dGxl% f$!9fLt%+4,DC)u1*nR)d."l&pG9Ub)$?*sb$BA8&+).G)l!Uhb"Hdx!;eF7*fihE@;=* %C9d3"rB=BFpGU6 <#ds:Si,natureBa&ue >
/
455C$*CCAcUCCDCbF@db;x"DaA)B!7h7i;&"%BADUA3CBhGEL4A7;A+UEBh4CUE
Ux3*ALB!) BA!*BExpbFEx3*ALB!)BAc*BExpbFEx3A4B!)BAo*B)*7U4D%"C"3DDLE"RER)U4R" A3DD3E"+9bhubn7!ms@;04(4"5D[email protected])AD7BhRdms@;0D)+bm%Lmd.i" @*Ae"%"3A$4*x)GE43da"%x)3Ax43x)GE43da4%xCGAB!)BA*AlB4D%"C"3DD5 E"R4aF+h4D%"C"3DDE"R4aF+h4D,"3A3DD9E"*UB3E)4As;A+UECx4ERER*3ER4A?; A+UEAx45c$@;G*E"!@?"3D[email protected])ADEBBDA3!%A45;Ao;BA=,n)%0H$HUGe4i phba?/5bAf.1edcHa*8Fpf048px*H80oU(;ulm91!7=Fh?o!1@C&RLo/(B5o;@rtb32Cm +ds9$,bR!L3l90ftd5@7.r0r8;iG&e%D)a)8u7ts)s7m.;Ub4;0bcU(1pDB,r3@h!R&r A!4BAAE"3D[email protected])ADEBDA3!!EBAL)/G$?;4,,4?*Hu=8E=;ur(fU*&9o@/R,9f a5/t,,us5%Db)(p?"&l%+812e"nBG)9tL$4?Lia"RoG%3(a?u=DE4!D8.!eipAe25H ~ 37 ~
Manual del programador v. 1.0
1L4iA$ra;+n(8cBUaR*h0A;eFF2p5he*hhc2@Hu84obB75GpUufl7@9=A@7(D*U1hrB B.+?nEfo121&H?9*cHn01$;5UUpG3D0ia5rL0C5lb1=h)5cr(i3.s7ami5,DGs 9cm2cRfHU@F)=CA&"&D5(B1.9f3Dt!@;Rh$U.ed&BR+mpbd.s&thLr*"Hb?6 <#ds:F70Aerti icate> <#ds:F70A!ata > <#ds:Eeyno > <#ds:Si,nature > <#e't:%'tensionontent > <#e't:U?%'tension > <#e't:U?%'tensions > #%<#c-c:U?Bersion! > +#%<#c-c:ustomi4ation! > %+%%%%%$%%&? <#c-c:!> %+-%0-+$ <#c-c:ssue!ate > +$:%:$H <#c-c:ssueTime > %+-%0-+$ <#c-c:5esponse!ate > +$:+:$? <#c-c:5esponseTime > (i!n(U)A* <#c-c:!> %+$+$+& <#c-c:!> <#cac:$artydentiication > <9G!"T"G SU"T><#c-c:ame> <#cac:$artyame > <#cac:Si,natory$arty > '(i!n(U)A* <#c-c:U5> <#cac:%'terna&5eerence > <#cac:!i,ita&Si,nature"ttac*ment > <#cac:Si,nature > %+$+$+& <#c-c:!> <#cac:$artydentiication > <#cac:Sender$arty > %+%+,HH+? <#c-c:!> <#cac:$artydentiication > <#cac:5eceiver$arty > *%+-&? <#c-c:5eerence! > %,H<#c-c:5esponseode > <9G!"T"G %s o-&i,atorio a& menos un "dditiona&MonetaryTota& con codi,o 1001I 1002 o 1003 ><#c-c:!escription > <#cac:5esponse > *%+-&? <#c-c:!> <#cac:!ocument5eerence > 0-%+&0?H,$ <#c-c:!> <#cac:$artydentiication > <#cac:5ecipient$arty > <#cac:!ocument5esponse > <#"pp&ication5esponse >
~ 38 ~
Manual del programador v. 1.0
!"E#$ ( % )istado de Errores C@DI@ 0100 0101 010( 010* 0104 010, 0106 010 0110 0111 011( 011* 01(, 01(6 01(7 01*0 01*1 01*( 01** 01*4 01*, 01*6 01*7 01*C 01,1 01,( 01,* 01,4 01,, 01,6 01,7 01,C 01, 0160 0161 0(00 0(01 0(0( 0(0* 0(04 0(,0 0(,1 0(,( 0(,* 0*00 0*01 0*0( 0*0* 0*04 0*0, 0*06 0*07 0400 0401 040( 040* 0404 1001 100( 100* 1004 100, 1006 1007 100C 100 1010 1011
DE0CRI$CI@N El sistema no puede responder su solicitud. ntente nuevamente o comuní>uese con su !dministrador El enca3e/ado de seguridad es incorrecto suario o contraseIa incorrectos El suario ingresado no e-iste )a &lave ingresada es incorrecta El sua ri o no est2 activ o El sua ri o no es v 2l ido El sistema no puede responder su solicitud. El servicio de autenticación no est2 disponi3le9 "o se pudo o3tener la informacion del tipo de usuario "o tiene el perfil para enviar compro3antes electronicos El usuario de3e ser secundario El usuario no esta afiliado a Factura Electronica "o se pudo o3tener la constancia El ticAet no le pertenece al usuario El ticAet no e-iste El sistema no puede responder su solicitud. "o se pudo o3tener el ticAet de proceso9 El sistema no puede responder su solicitud. "o se pudo gra3ar el arcivo en el directorio9 El sistema no puede responder su solicitud. "o se pudo gra3ar escri3ir en el arcivo /ip9 El sistema no puede responder su solicitud. "o se pudo gra3ar la entrada del log9 El sistema no puede responder su solicitud. "o se pudo gra3ar en el storage9 El sistema no puede responder su solicitud. "o se pudo encolar el pedido9 El sistema no puede responder su solicitud. "o se pudo reci3ir una respuesta del 3atc9 El sistema no puede responder su solicitud. :e o3tuvo una respuesta nula9 El sistema no puede responder su solicitud. Error en 5ase de Datos9 El nom3re del arcivo ?P es incorrecto "o se puede enviar por este muerimiento nulo al 3atc9 "o se pudo procesar su solicitud. "o llego información del arcivo ?P9 "o se pudo procesar su solicitud. "o se encontro arcivos en la informacion del arcivo ?P9 "o se pudo procesar su solicitud. Este tipo de re>uerimiento solo acepta 1 arcivo9 "o se pudo procesar su solicitud. $currio un error desconocido al acer un/ip9 "o se pudo procesar su solicitud. "o se pudo crear un directorio para el un/ip9 "o se pudo procesar su solicitud. "o se encontro arcivos dentro del /ip9 "o se pudo procesar su solicitud. "o se pudo comprimir la constancia9 "o se encontró la raí/ documento -ml Elemento rai/ del -ml no esta definido &odigo del tipo de compro3ante no registrado "o e-iste el directorio de scemas "o e-iste el arcivo de scema El sistema no puede procesar el arcivo -ml "o se puede leer parsear9 el arcivo #M) "o se pudo recuperar la constancia "o tiene permiso para enviar casos de prue3as El caso de prue3a no e-iste )a numeracion o nom3re del documento a a sido enviado anteriormente El documento afectado por la nota no e-iste El documento afectado por la nota se encuentra reca/ado D 8 El dato :E'E8&$''E)!;L$ no cumple con el formato de acuerdo al tipo de compro3ante El #M) no contiene informacion en el tag D nvoice;pe&ode 8 El valor del tipo de documento es invalido o no coincide con el nom3re del arcivo El #M) no contiene el tag o no e-iste informacion de nvoice;pe&ode &ustomer!ssigned!ccountD 8 El dato ingresado no cumple con el estandar El #M) no contiene el tag o no e-iste informacion de &ustomer!ssigned!ccountD del emisor del documento !dditional!ccountD 8 El dato ingresado no cumple con el estandar El #M) no contiene el tag o no e-iste informacion de !dditional!ccountD del emisor del documento ssueDate 8 El dato ingresado no cumple con el patron 8MM8DD El #M) no contiene el tag ssueDate ssueDate8 El dato ingresado no es valido ~ 39 ~
Manual del programador v. 1.0
C@DI@ 101( 101* 1014 101, 1016 1017 101C 101 10(0 10(1 10(( 10(* 10(4 10(, 10(6 10(7 10(C 10( 10*0 10*1 10*( 10** 10*4 10*, 10*6 10*7 10*C 10* 1040 (010 (011 (01( (01* (014 (01, (016 (017 (01C (01 (0(0 (0(1 (0(( (0(* (0(4 (0(, (0(6 (0(7 (0(C (0( (0*0 (0*1 (0*( (0** (0*4 (0*, (0*6 (0*7 (0*C (0* (040 (041 (04( (04* (044 (04, (046 (047 (04C (04
DE0CRI$CI@N D 8 El dato ingresado no cumple con el patron :E'E8&$''E)!;L$ El #M) no contiene informacion en el tag D &ustomer!ssigned!ccountD 8 El dato ingresado no cumple con el est2ndar El #M) no contiene el tag o no e-iste informacion de &ustomer!ssigned!ccountD del emisor del documento !dditional!ccountD 8 El dato ingresado no cumple con el est2ndar El #M) no contiene el tag !dditional!ccountD del emisor del documento ssueDate 8 El dato ingresado no cumple con el patron 8MM8DD El #M) no contiene el tag ssueDate ssueDate8 El dato ingresado no es valido Error en la validacion de la nota de credito )a serie o numero del documento modificado por la "ota Electrónica no cumple con el formato esta3lecido "o se a especificado el tipo de documento modificado por la "ota electronica &ustomer!ssigned!ccountD 8 El dato ingresado no cumple con el est2ndar El #M) no contiene el tag o no e-iste informacion de &ustomer!ssigned!ccountD del emisor del documento !dditional!ccountD 8 El dato ingresado no cumple con el est2ndar El #M) no contiene el tag !dditional!ccountD del emisor del documento ssueDate 8 El dato ingresado no cumple con el patron 8MM8DD El #M) no contiene el tag ssueDate ssueDate8 El dato ingresado no es valido Error en la validacion de la nota de de3ito El compro3ante fue informado previamente en una comunicacion de 3a=a El compro3ante fue registrado previamente con otros datos "Gmero de '& del nom3re del arcivo no coincide con el consignado en el contenido del arcivo #M) "umero de :erie del nom3re del arcivo no coincide con el consignado en el contenido del arcivo #M) "Gmero de documento en el nom3re del arcivo no coincide con el consignado en el contenido del #M) El #M) no contiene el tag o no e-iste informacion de 'egistration"ame del emisor del documento 'egistration"ame 8 El nom3re o ra/on social del emisor no cumple con el estandar :olo se pueden reci3ir notas electronicas >ue modifican facturas El tipo de documento modificado por la nota electronica no es valido El contri3uente no esta activo El contri3uente no esta a3ido El contri3uente no est2 autori/ado a emitir compro3antes electrónicos El contri3uente no cumple con tipo de empresa o tri3utos re>ueridos El #M) no contiene el tag o no e-iste informacion de &ustomer!ssigned!ccountD del receptor del documento El #M) no contiene el tag o no e-iste informacion de !dditional!ccountD del receptor del documento !dditional!ccountD 8 El dato ingresado en el tipo de documento de identidad del receptor no cumple con el estandar &ustomer!ssigned!ccountD 8 El numero de documento de identidad del recepetor de3e ser '& &ustomer!ssigned!ccountD 8 El dato ingresado no cumple con el est2ndar El #M) no contiene el tag o no e-iste informacion de 'egistration"ame del emisor del documento 'egistration"ame 8 El nom3re o ra/on social del emisor no cumple con el est2ndar El #M) no contiene el tag o no e-iste informacion de 'egistration"ame del receptor del documento 'egistration"ame 8 El dato ingresado no cumple con el estandar El "umero de orden del item no cumple con el formato esta3lecido El #M) no contiene el tag nvoicedRuantit en el detalle de los tems nvoicedRuantit El dato ingresado no cumple con el estandar El #M) no contiene el tag cac%tem+c3c%Description en el detalle de los tems El #M) no contiene el tag o no e-iste informacion de cac%tem+c3c%Description del item De3e e-istir el tag cac%!lternative&onditionPrice con un elemento c3c%Price;pe&ode con valor 01 Price;pe&ode El dato ingresado no cumple con el est2ndar El #M) no contiene el tag c3c%Price;pe&ode )ineE-tension!mount El dato ingresado no cumple con el est2ndar El #M) no contiene el tag )ineE-tension!mount en el detalle de los tems El dato ingresado en ;a-!mount de la linea no cumple con el formato esta3lecido ;a-!mount es o3ligatorio cac%;a-&ategor+cac%;a-:ceme+c3c%D El dato ingresado no cumple con el estandar El codigo del tri3uto es invalido El #M) no contiene el tag cac%;a-&ategor+cac%;a-:ceme+c3c%D del tem cac%;a-:ceme+c3c%"ame del item 8 "o e-iste el tag o el dato ingresado no cumple con el estandar El #M) no contiene el tag cac%;a-&ategor+cac%;a-:ceme+c3c%"ame del tem El tipo de afectacion del BL es incorrecto El sistema de calculo del :& es incorrecto De3e indicar el BL. Es un campo o3ligatorio El dato ingresado en Paa3le!mount no cumple con el formato esta3lecido Paa3le!mount es o3ligatorio El valor ingresado en !dditionalMonetar;otal+c3c%D es incorrecto !dditionalMonetar;otal+c3c%D de3e tener valor Es o3ligatorio al menos un !dditionalMonetar;otal con codigo 1001 100( o 100* El dato ingresado en ;a-!mount no cumple con el formato esta3lecido ;a-!mount es o3li gator io
~ 40 ~
Manual del programador v. 1.0
C@DI@ (0,0 (0,1 (0,( (0,* (0,4 (0,, (0,6 (0,7 (0,C (0, (060 (061 (06( (06* (064 (06, (066 (067 (06C (06 (070 (071 (07( (07* (074 (07, (076 (077 (07C (07 (0C0 (0C1 (0C( (0C* (0C4 (0C, (0C6 (0C7 (0CC (0C (00 (01 (0( (0* (04 (0, (06 (07 (0C (0 (100 (101 (10( (10* (104 (10, (106 (107 (10C (10 (110 (111 (11( (11* (114
DE0CRI$CI@N ;a-:ceme D 8 "o e-iste el tag o el dato ingresado no cumple con el estandar El codigo del tri3uto es invalido El #M) no contiene el tag ;a-:ceme D de impuestos glo3ales ;a-:ceme "ame 8 "o e-iste el tag o el dato ingresado no cumple con el estandar El #M) no contiene el tag ;a-:ceme "ame de impuestos glo3ales ;a-:ceme ;a-;pe&ode 8 El dato ingresado no cumple con el estandar El #M) no contiene el tag ;a-:ceme ;a-;pe&ode de impuestos glo3ales El "ame o ;a-;pe&ode de3e corresponder con el d para el BL El "ame o ;a-;pe&ode de3e corresponder con el d para el :& El dato ingresado en ;a-:u3total+c3c%;a-!mount no cumple con el formato esta3lecido ;a-:u3total+c3c%;a-!mount es o3ligatorio El tag glo3al cac%;a-;otal+c3c%;a-!mount de3e tener el mismo valor >ue cac%;a-;otal+cac%:u3total+c3c%;a-!mount El dato ingresado en Paa3le!mount no cumple con el formato esta3lecido El #M) no contiene el tag Paa3le!mount El dato ingresado en &arge;otal!mount no cumple con el formato esta3lecido El dato ingresado en el campo ;otal Descuentos no cumple con el formato esta3lecido De3e indicar una descripcion para el tag sac%!dditionalPropert+c3c%Lalue cac%Price+c3c%Price!mount 8 El dato ingresado no cumple con el estandar El #M) no contiene el tag cac%Price+c3c%Price!mount en el detalle de los tems Document&urrenc&ode 8 El dato ingresado no cumple con la estructura El #M) no contiene el tag o no e-iste informacion de Document&urrenc&ode )a moneda de3e ser la misma en todo el documento &ustomi/ationD 8 )a versión del documento no es la correcta El #M) no contiene el tag o no e-iste informacion de &ustomi/ationD 5)LersionD 8 )a versión del 5) no es correcta El #M) no contiene el tag o no e-iste informacion de 5)LersionD cac%:ignature+c3c%D 8 Falta el identificador de la firma El tag cac%:ignature+c3c%D de3e contener informacion cac%:ignature+cac%:ignatorPart+cac%Partdentification+c3c%D 8 De3e ser igual al '& del emisor El #M) no contiene el tag cac%:ignature+cac%:ignatorPart+cac%Partdentification+c3c%D cac%:ignature+cac%:ignatorPart+cac%Part"ame+c3c%"ame 8 "o cumple con el estandar El #M) no contiene el tag cac%:ignature+cac%:ignatorPart+cac%Part"ame+c3c%"ame cac%:ignature+cac%Digital:ignature!ttacment+cac%E-ternal'eference+c3c%' 8 "o cumple con el estandar El #M) no contiene el tag cac%:ignature+cac%Digital:ignature!ttacment+cac%E-ternal'eference+c3c%' e-t%5)E-tensions+e-t%5)E-tension+e-t%E-tension&ontent+ds%:ignature+Vd 8 "o cumple con el estandar El #M) no contiene el tag e-t%5)E-tensions+e-t%5)E-tension+e-t%E-tension&ontent+ds%:ignature+Vd e-t%5)E-tensions+...+ds%:ignature+ds%:ignednfo+ds%&anonicali/ationMetod+V!lgoritm 8 "o cumple con el estandar El #M) no contiene el tag e-t%5)E-tensions+...+ds%:ignature+ds%:ignednfo+ds%&anonicali/ationMetod+V!lgoritm e-t%5)E-tensions+...+ds%:ignature+ds%:ignednfo+ds%:ignatureMetod+V!lgoritm 8 "o cumple con el estandar El #M) no contiene el tag e-t%5)E-tensions+...+ds%:ignature+ds%:ignednfo+ds%:ignatureMetod+V!lgoritm e-t%5)E-tensions+...+ds%:ignature+ds%:ignednfo+ds%'eference+V' 8 De3e estar vacio para id El #M) no contiene el tag e-t%5)E-tensions+...+ds%:ignature+ds%:ignednfo+ds%'eference+V' e-t%5)E-tensions+...+ds%:ignature+ds%:ignednfo+...+ds%;ransformV!lgoritm 8 "o cumple con el estandar El #M) no contiene el tag e-t%5)E-tensions+...+ds%:ignature+ds%:ignednfo+ds%'eference+ds%;ransformV!lgoritm e-t%5)E-tensions+...+ds%:ignature+ds%:ignednfo+ds%'eference+ds%DigestMetod+V!lgoritm 8 "o cumple con el estandar El #M) no contiene el tag e-t%5)E-tensions+...+ds%:ignature+ds%:ignednfo+ds%'eference+ds%DigestMetod+V!lgoritm e-t%5)E-tensions+...+ds%:ignature+ds%:ignednfo+ds%'eference+ds%DigestLalue 8 "o cumple con el estandar El #M) no contiene el tag e-t%5)E-tensions+...+ds%:ignature+ds%:ignednfo+ds%'eference+ds%DigestLalue e-t%5)E-tensions+...+ds%:ignature+ds%:ignatureLalue 8 "o cumple con el estandar El #M) no contiene el tag e-t%5)E-tensions+...+ds%:ignature+ds%:ignatureLalue e-t%5)E-tensions+...+ds%:ignature+ds%Jenfo+ds%#,0Data+ds%#,0&ertificate 8 "o cumple con el estandar El #M) no contiene el tag e-t%5)E-tensions+...+ds%:ignature+ds%Jenfo+ds%#,0Data+ds%#,0&ertificate Error al procesar la factura )a serie ingresada no es v2lida "umero de '& del emisor no e-iste Factura a dar de 3a=a no se encuentra registrada en :"!; Factura a dar de 3a=a a se encuentra en estado de 3a=a "umero de '& :$) no coincide con '& emisor Presentacion fuera de feca El compro3ante fue registrado previamente con otros datos 5)LersionD 8 )a versión del 5) no es correcta El #M) no contiene el tag o no e-iste informacion de 5)LersionD &ustomi/ationD 8 )a version del documento no es correcta El #M) no contiene el tag o no e-iste informacion de &ustomi/ationD Document&urrenc&ode 8 El dato ingresado no cumple con la estructura ~ 41 ~
Manual del programador v. 1.0
C@DI@ (11, (116 (117 (11C (11 (1(0 (1(1 (1(( (1(* (1(4 (1(, (1(6 (1(7 (1(C (1( (1*0 (1*1 (1*( (1** (1*4 (1*, (1*6 (1*7 (1*C (1* (140 (141 (14( (14* (144 (14, (146 (147 (14C (14 (1,0 (1,1 (1,( (1,* (1,4 (1,, (1,6 (1,7 (1,C (1, (160 (161 (16( (16* (164 (16, (166 (167 (16C (16 (170 (171 (17( (17* (174 (17, (176 (177 (17C (17 (1C0 (1C1 (1C(
DE0CRI$CI@N El #M) no contiene el tag o no e-iste informacion de Document&urrenc&ode El tipo de documento modificado por la "ota de credito de3e ser factura electronica o ticAet )a serie o numero del documento modificado por la "ota de &redito no cumple con el formato esta3lecido De3e indicar las facturas relacionadas a la "ota de &redito )a factura relacionada en la "ota de credito no esta registrada. )a factura relacionada en la nota de credito se encuentra de 3a=a )a factura relacionada en la nota de credito esta registrada como reca/ada El tag cac%)egalMonetar;otal+c3c%Paa3le!mount de3e tener informacion valida 'egistration"ame 8 El dato ingresado no cumple con el estandar El #M) no contiene el tag 'egistration"ame del emisor del documento 'eferenceD 8 El dato ingresado de3e indicar :E'E8&$''E)!;L$ del documento al >ue se relaciona la "ota El #M) no contiene informacion en el tag 'eferenceD del documento al >ue se relaciona la nota 'esponse&ode 8 El dato ingresado no cumple con la estructura El #M) no contiene el tag o no e-iste informacion de 'esponse&ode !dditional!ccountD 8 El dato ingresado en el tipo de documento de identidad del receptor no cumple con el estandar El #M) no contiene el tag o no e-iste informacion de !dditional!ccountD del receptor del documento &ustomer!ssigned!ccountD 8 El numero de documento de identidad del receptor de3e ser '& El #M) no contiene el tag o no e-iste informacion de &ustomer!ssigned!ccountD del receptor del documento 'egistration"ame 8 El dato ingresado no cumple con el estandar El #M) no contiene el tag o no e-iste informacion de 'egistration"ame del receptor del documento cac%Discrepanc'esponse+c3c%Description 8 El dato ingresado no cumple con la estructura El #M) no contiene el tag o no e-iste informacion de cac%Discrepanc'esponse+c3c%Description El "Gmero de orden del item no cumple con el formato esta3lecido &reditedRuantit+Vunit&ode 8 El dato ingresado no cumple con el estandar &reditedRuantit 8 El dato ingresado no cumple con el estandar El Price;pe&ode de3e tener el valor 01 cac%;a-&ategor+cac%;a-:ceme+c3c%D 8 El dato ingresado no cumple con el estandar El codigo del tri3uto es invalido cac%;a-:ceme+c3c%"ame del item 8 "o e-iste el tag o el dato ingresado no cumple con el estandar cac%;a-&ategor+cac%;a-:ceme+c3c%;a-;pe&ode El dato ingresado no cumple con el estandar El tipo de afectacion del BL es incorrecto El "om3re nternacional de3e ser L!; El sistema de calculo del :& es incorrecto El "om3re nternacional de3e ser E#& El dato ingresado en Paa3le!mount no cumple con el formato esta3lecido El valor ingresado en !dditionalMonetar;otal+c3c%D es incorrecto !dditionalMonetar;otal+c3c%D de3e tener valor Es o3ligatorio al menos un !dditionalnformation Error al procesar la "ota de &redito ;a-!mount 8 El dato ingresado en impuestos glo3ales no cumple con el estandar El #M) no contiene el tag ;a-!mount de impuestos glo3ales ;a-:ceme D 8 El dato ingresado no cumple con el estandar El codigo del tri3uto es invalido El #M) no contiene el tag o no e-iste informacion de ;a-:ceme D de impuestos glo3ales ;a-:ceme "ame 8 El dato ingresado no cumple con el estandar El #M) no contiene el tag o no e-iste informacion de ;a-:ceme "ame de impuestos glo3ales &ustomi/ationD 8 )a version del documento no es correcta El #M) no contiene el tag o no e-iste informacion de &ustomi/ationD 5)LersionD 8 )a versión del 5) no es correcta El #M) no contiene el tag o no e-iste informacion de 5)LersionD Error al procesar la "ota de De3ito 'egistration"ame 8 El dato ingresado no cumple con el estandar El #M) no contiene el tag 'egistration"ame del emisor del documento Document&urrenc&ode 8 El dato ingresado no cumple con el formato esta3lecido El #M) no contiene el tag o no e-iste informacion de Document&urrenc&ode 'eferenceD 8 El dato ingresado de3e indicar :E'E8&$''E)!;L$ del documento al >ue se relaciona la "ota El #M) no contiene informacion en el tag 'eferenceD del documento al >ue se relaciona la nota 'esponse&ode 8 El dato ingresado no cumple con la estructura El #M) no contiene el tag o no e-iste informacion de 'esponse&ode cac%Discrepanc'esponse+c3c%Description 8 El dato ingresado no cumple con la estructura El #M) no contiene el tag o no e-iste informacion de cac%Discrepanc'esponse+c3c%Description !dditional!ccountD 8 El dato ingresado en el tipo de documento de identidad del receptor no cumple con el estandar El #M) no contiene el tag o no e-iste informacion de !dditional!ccountD del receptor del documento &ustomer!ssigned!ccountD 8 El numero de documento de identidad del receptor de3e ser '&. El #M) no contiene el tag o no e-iste informacion de &ustomer!ssigned!ccountD del receptor del documento 'egistration"ame 8 El dato ingresado no cumple con el estandar El #M) no contiene el tag o no e-iste informacion de 'egistration"ame del receptor del documento ;a-:ceme D 8 El dato ingresado no cumple con el estandar
~ 42 ~
Manual del programador v. 1.0
C@DI@ (1C* (1C4 (1C, (1C6 (1C7 (1CC (1C (10 (11 (1( (1* (14 (1, (16 (17 (1C (1 ((00 ((01 ((0( ((0* ((04 ((0, ((06 ((07 ((0C ((0 ((10 ((11 ((1( ((1* ((14 ((1, ((16 ((17 ((1C ((1 (((0 (((1 (((( (((* (((4 (((, (((6 (((7 (((C ((( ((*0 ((*1 ((*( ((** ((*4 ((*, ((*6 ((*7 ((*C ((* ((40 ((41 ((4( ((4* ((44 ((4, ((46 ((47 ((4C ((4 ((,0 ((,1 ((,(
DE0CRI$CI@N El codigo del tri3uto es invalido El #M) no contiene el tag o no e-iste informacion de ;a-:ceme D de impuestos glo3ales ;a-:ceme "ame 8 El dato ingresado no cumple con el estandar El #M) no contiene el tag o no e-iste informacion de ;a-:ceme "ame de impuestos glo3ales El "umero de orden del item no cumple con el formato esta3lecido De3itedRuantit+Vunit&ode El dato ingresado no cumple con el estandar De3itedRuantit El dato ingresado no cumple con el estandar El #M) no contiene el tag Price+c3c%Price!mount en el detalle de los tems El #M) no contiene el tag Price+c3c%)ineE-tension!mount en el detalle de los tems E) Price;pe&ode de3e tener el valor 01 cac%;a-&ategor+cac%;a-:ceme+c3c%D El dato ingresado no cumple con el estandar El codigo del tri3uto es invalido cac%;a-:ceme+c3c%"ame del item 8 "o e-iste el tag o el dato ingresado no cumple con el estandar cac%;a-&ategor+cac%;a-:ceme+c3c%;a-;pe&ode El dato ingresado no cumple con el estandar El tipo de afectacion del BL es incorrecto El "om3re nternacional de3e ser L!; El sistema de calculo del :& es incorrecto El "om3re nternacional de3e ser E#& El tag cac%'e>uestedMonetar;otal+c3c%Paa3le!mount de3e tener informacion valida ;a-!mount 8 El dato ingresado en impuestos glo3ales no cumple con el est2ndar El #M) no contiene el tag ;a-!mount de impuestos glo3ales El tipo de documento modificado por la "ota de De3ito de3e ser factura electronica o ticAet )a serie o numero del documento modificado por la "ota de De3ito no cumple con el formato esta3lecido De3e indicar los documentos afectados por la "ota de De3ito )a factura relacionada en la nota de de3ito se encuentra de 3a=a )a factura relacionada en la nota de de3ito esta registrada como reca/ada )a factura relacionada en la "ota de de3ito no esta registrada El dato ingresado no cumple con el formato '&8feca8correlativo El #M) no contiene el tag D 5)LersionD 8 )a versión del 5) del resumen de 3oletas no es correcta El #M) no contiene el tag 5)LersionD &ustomi/ationD 8 )a versión del resumen de 3oletas no es correcta El #M) no contiene el tag &ustomi/ationD &ustomer!ssigned!ccountD 8 El dato ingresado no cumple con el estandar El #M) no contiene el tag &ustomer!ssigned!ccountD del emisor del documento !dditional!ccountD 8 El dato ingresado no cumple con el estandar El #M) no contiene el tag !dditional!ccountD del emisor del documento El D de3e coincidir con el nom3re del arcivo El '& de3e coincidir con el '& del nom3re del arcivo El contri3uente no est2 autori/ado a emitir compro3antes electronicos El arcivo a fue presentado anteriormente "umero de '& :$) no coincide con '& emisor "umero de '& del emisor no e-iste El contri3uente no esta activo El contri3uente no cumple con tipo de empresa o tri3utos re>ueridos 'egistration"ame 8 El dato ingresado no cumple con el estandar El #M) no contiene el tag 'egistration"ame del emisor del documento ssueDate 8 El dato ingresado no cumple con el patron 8MM8DD El #M) no contiene el tag ssueDate ssueDate8 El dato ingresado no es valido 'eferenceDate 8 El dato ingresado no cumple con el patron 8MM8DD El #M) no contiene el tag 'eferenceDate 'eferenceDate8 El dato ingresado no es valido )a feca del ssueDate no de3e ser maor al ;oda )a feca del 'eferenceDate no de3e ser maor al ;oda )ineD 8 El dato ingresado no cumple con el estandar )ineD 8 El dato ingresado de3e ser correlativo maor a cero El #M) no contiene el tag )ineD de :ummarDocuments)ine Document;pe&ode 8 El valor del tipo de documento es invalido El #M) no contiene el tag Document;pe&ode El dato ingresado no cumple con el patron :E'E El #M) no contiene el tag Document:erialD El dato ingresado en :tartDocument"um3erD de3e ser numerico El #M) no contiene el tag :tartDocument"um3erD El dato ingresado en sac%EndDocument"um3erD de3e ser numerico El #M) no contiene el tag sac%EndDocument"um3erD )os rangos de3en ser maores a cero En el rango de compro3antes el EndDocument"um3erD de3e ser maor o igual al :tartnvoice"um3erD El dato ingresado en ;otal!mount de3e ser numerico maor o igual a cero El #M) no contiene el tag ;otal!mount
~ 43 ~
Manual del programador v. 1.0
C@DI@ ((,* ((,4 ((,, ((,6 ((,7 ((,C ((, ((60 ((61 ((6( ((6* ((64 ((6, ((66 ((67 ((6C ((6 ((70 ((71 ((7( ((7* ((74 ((7, ((76 ((77 ((7C ((7 ((C0 ((C1 ((C( ((C* ((C4 ((C, ((C6 ((C7 ((CC ((C ((0 ((1 ((( ((* ((4 ((, ((6 ((7 ((C (( (*00 (*01 (*0( (*0* (*04 (*0, (*06 (*07 (*0C (*0 (*10 (*11 (*1( (*1* (*14 (*1, (*16 (*17 (*1C (*1 (*(0 (*(1
DE0CRI$CI@N El dato ingresado en ;otal!mount de3e ser numerico maor a cero Paid!mount 8 El dato ingresado no cumple con el estandar El #M) no contiene el tag Paid!mount nstructionD 8 El dato ingresado no cumple con el estandar El #M) no contiene el tag nstructionD De3e indicar 'eferencia de mportes asociados a las 3oletas de venta De3e indicar * 'eferencias de mportes asociados a las 3oletas de venta Paid!mount 8 El dato ingresado de3e ser maor o igual a 0.00 c3c%!mount 8 El dato ingresado no cumple con el estandar El #M) no contiene el tag c3c%!mount &argendicator 8 El dato ingresado no cumple con el estandar El #M) no contiene el tag &argendicator De3e indicar nformación acerca del mporte ;otal de $tros &argos De3e indicar cargos maores o iguales a cero ;a-:ceme D 8 El dato ingresado no cumple con el estandar El codigo del tri3uto es invalido El #M) no contiene el tag ;a-:ceme D de nformación acerca del importe total de un tipo particular de impuesto ;a-:ceme "ame 8 El dato ingresado no cumple con el estandar El #M) no contiene el tag ;a-:ceme "ame de impuesto ;a-:ceme ;a-;pe&ode 8 El dato ingresado no cumple con el estandar ;a-!mount 8 El dato ingresado no cumple con el estandar El #M) no contiene el tag ;a-!mount :i el codigo de tri3uto es (000 el nom3re del tri3uto de3e ser :& :i el codigo de tri3uto es 1000 el nom3re del tri3uto de3e ser BL "o se a consignado ninguna informacion del importe total de tri3utos De3e indicar nformación acerca del importe total de :& e BL De3e indicar tems de consolidado de documentos E-isten pro3lemas con la informacion del resumen de compro3antes Error en la validacion de los rangos de los compro3antes E-iste documento a informado anteriormente El dato ingresado no cumple con el formato '!8feca8correlativo El #M) no conti ene el tag D El D de3e coincidir con el nom3re del arcivo El '& de3e coincidir con el '& del nom3re del arcivo !dditional!ccountD 8 El dato ingresado no cumple con el estandar El #M) no contiene el tag !dditional!ccountD del emisor del documento &ustomer!ssigned!ccountD 8 El dato ingresado no cumple con el est2ndar El #M) no contiene el tag &ustomer!ssigned!ccountD del emisor del documento El contri3uente no esta autori/ado a emitir compro3antes electrónicos "umero de '& :$) no coincide con '& emisor "umero de '& del emisor no e-iste El contri3uente no esta activo El contri3uente no cumple con tipo de empresa o tri3utos re>ueridos 'egistration"ame 8 El dato ingresado no cumple con el estandar El #M) no contiene el tag 'egistration"ame del emisor del documento ssueDate 8 El dato ingresado no cumple con el patron 8MM8DD El #M) no contiene el tag ssueDate ssueDate 8 El dato ingresado no es valido )a feca del ssueDate no de3e ser maor al ;oda 'eferenceDate 8 El dato ingresado no cumple con el patron 8MM8DD El #M) no contiene el tag 'eferenceDate 'eferenceDate 8 El dato ingresado no es valido )ineD 8 El dato ingresado no cumple con el estandar )ineD 8 El dato ingresado de3e ser correlativo maor a cero El #M) no contiene el tag )ineD de LoidedDocuments)ine Document;pe&ode 8 El valor del tipo de documento es invalido El #M) no contiene el tag Document;pe&ode El dato ingresado no cumple con el patron :E'E El #M) no contiene el tag Document:erialD El dato ingresado en Document"um3erD de3e ser numerico como ma-imo de C digitos El #M) no contiene el tag Document"um3erD El dato ingresado en Loid'easonDescription de3e contener información v2lida El #M) no contiene el tag Loid'easonDescription De3e indicar tems en LoidedDocuments)ine Error al procesar el resumen de anulados &ustomi/ationD 8 )a version del documento no es correcta El #M) no contiene el tag &ustomi/ationD 5)LersionD 8 )a version del 5) no es la correcta El #M) no contiene el tag 5)LersionD
~ 44 ~
Manual del programador v. 1.0
C@DI@ (*(( (*(* (*(4 (*(, (*(6 (*(7 (*(C (*( (**0 (**1 (**( (*** (**4 (**, (**6 (**7 (**C (** (*40 (*41 (*4( (*4* (*44 (*4, (*46 (*47 (*4C (*4 (*,0 (*,1 (*,( (*,* (*,4 (*,, (*,6 (*,7 (*,C (*, (*60 (*61 (*6( (*6* (*64 (*6, (*66 (*67 (*6C (*6 (*70 (*71 (*7( (*7* (*74 (*7, (*76 (*77 (*7C (*7 (*C0 (*C1 (*C( (*C* (*C4 (*C, (*C6 (*C7 (*CC (*C
DE0CRI$CI@N Error en la validacion de los rangos E-iste documento a informado anteriormente en una comunicacion de 3a=a El arcivo de comunicacion de 3a=a a fue presentado anteriormente El certificado usado no es el comunicado a :"!; El certificado usado se encuentra de 3a=a El certificado usado no se encuentra vigente El certificado usado se encuentra revocado )a feca de emision se encuentra fuera del limite permitido )a feca de generación de la comunicación de3e ser igual a la feca consignada en el nom3re del arcivo "Gmero de '& del nom3re del arcivo no coincide con el consignado en el contenido del arcivo #M) "Gmero de :erie del nom3re del arcivo no coincide con el consignado en el contenido del arcivo #M) "Gmero de documento en el nom3re del arcivo no coincide con el consignado en el contenido del #M) El documento electrónico ingresado a sido alterado El documento electrónico ingresado a sido alterado $currió un error en el proceso de validación de la firma digital )a moneda de3e ser la misma en todo el documento )a moneda de3e ser la misma en todo el documento El dato ingresado en Paa3le!mount no cumple con el formato esta3lecido El valor ingresado en !dditionalMonetar;otal+c3c%D es incorrecto !dditionalMonetar;otal+c3c%D de3e tener valor Feca de emision de la factura no coincide con la informada en la comunicacion cac%;a-;otal+cac%;a-:u3total+c3c%;a-!mount 8 El dato ingresado no cumple con el estandar El #M) no contiene el tag cac%;a-;otal+cac%;a-:u3total+c3c%;a-!mount )a serie no corresponde al tipo de compro3ante )a feca de generación del resumen de3e ser igual a la feca consignada en el nom3re del arcivo )os rangos informados en el arcivo #M) se encuentran duplicados o superpuestos )os documentos informados en el arcivo #M) se encuentran duplicados De3e consignar solo un elemento sac%!dditionalMonetar;otal con c3c%D igual a 1001 De3e consignar solo un elemento sac%!dditionalMonetar;otal con c3c%D igual a 100( De3e consignar solo un elemento sac%!dditionalMonetar;otal con c3c%D igual a 100* De3e consignar solo un elemento cac%;a-;otal a nivel glo3al para BL c3c%D igual a 10009 De3e consignar solo un elemento cac%;a-;otal a nivel glo3al para :& c3c%D igual a (0009 De3e consignar solo un elemento cac%;a-;otal a nivel glo3al para $tros c3c%D igual a 9 De3e consignar solo un elemento cac%;a-;otal a nivel de item para BL c3c%D igual a 10009 De3e consignar solo un elemento cac%;a-;otal a nivel de item para :& c3c%D igual a (0009 De3e consignar solo un elemento sac%5illingPament a nivel de item con c3c%nstructionD igual a 01 De3e consignar solo un elemento sac%5illingPament a nivel de item con c3c%nstructionD igual a 0( De3e consignar solo un elemento sac%5illingPament a nivel de item con c3c%nstructionD igual a 0* De3e consignar solo un elemento sac%5illingPament a nivel de item con c3c%nstructionD igual a 04 De3e consignar solo un elemento cac%;a-;otal a nivel de item para $tros c3c%D igual a 9 De3e consignar solo un tag cac%!ccounting:upplierPart+c3c%!dditional!ccountD De3e consignar solo un tag cac%!ccounting&ustomerPart+c3c%!dditional!ccountD El compro3ante contiene un tipo nGmero de Buía de 'emisión repetido El compro3ante contiene un tipo nGmero de Documento 'elacionado repetido El codigo en el tag sac%!dditionalPropert+c3c%D de3e tener 4 posiciones El dato ingresado en Price!mount del Precio de venta unitario por item no cumple con el formato esta3lecido El dato ingresado en ;a-:u3total+c3c%;a-!mount del item no cumple con el formato esta3lecido El dato ingresado en Price!mount del Lalor de venta unitario por item no cumple con el formato esta3lecido El dato ingresado en )ineE-tension!mount del item no cumple con el formato esta3lecido El #M) no contiene el tag c3c%;a-E-emption'eason&ode de !fectacion al BL El tag en el item cac%;a-;otal+c3c%;a-!mount de3e tener el mismo valor >ue cac%;a-;otal+cac%;a-:u3total+c3c%;a-!mount :i e-iste monto de :& en el ;EM de3e especificar el sistema de calculo )a factura a dar de 3a=a tiene una feca de recepcion fuera del pla/o permitido Feca de emision de la 3oleta no coincide con la feca de emision consignada en la comunicacion )a 3oleta de venta a dar de 3a=a fue informada en un resumen con feca de recepcion fuera del pla/o permitido El "ame o ;a-;pe&ode de3e corresponder con el d para el BL El "ame o ;a-;pe&ode de3e corresponder con el d para el :& )a numeracion de 3oleta de venta a dar de 3a=a fue generada en una feca fuera del pla/o permitido El documento tiene o3servaciones &ompro3ante no cumple con el Brupo 1% "o todos los items corresponden a operaciones gravadas a BL &ompro3ante no cumple con el Brupo (% "o todos los items corresponden a operaciones inafectas o e-oneradas al BL &ompro3ante no cumple con el Brupo *% Falta leenda con codigo 100( &ompro3ante no cumple con el Brupo *% E-iste item con operación onerosa &ompro3ante no cumple con el Brupo 4% De3e e-itir ;otal descuentos maor a cero &ompro3ante no cumple con el Brupo ,% ;odos los items de3en tener operaciones afectas a :& &ompro3ante no cumple con el Brupo 6% El monto de percepcion no e-iste o es cero &ompro3ante no cumple con el Brupo 6% ;odos los items de3en tener código de !fectación al BL igual a 10 &ompro3ante no cumple con el Brupo 7% El codigo de moneda no es diferente a PE"
~ 45 ~
Manual del programador v. 1.0
C@DI@ (*0 (*1 (*( (** (*4 (*, (*6 (*7 (*C (* (400 (401 (40( (40* (404 (40, (406 (407 (40C (40 (410 (411 (41( (41* (414 (41, (416 (417 (41C (41 (4(0 4000 4001 400( 400* 4004 400, 4006 4007 400C 400 4010 4011 401( 401* 4014 401, 4016 4017 401C 401 40(0 40(1 40(( 40(* 40(4 40(, 40(6 40(7 40(C 40( 40*0 40*1 40*( 40** 40*4 40*, 40*6
DE0CRI$CI@N &ompro3ante no cumple con el Brupo C% "o todos los items corresponden a operaciones gravadas a BL &ompro3ante no cumple con el Brupo % "o todos los items corresponden a operaciones inafectas o e-oneradas al BL &ompro3ante no cumple con el Brupo 10% Falta leenda con codigo 100( &ompro3ante no cumple con el Brupo 10% E-iste item con operación onerosa &ompro3ante no cumple con el Brupo 11% De3e e-istir ;otal descuentos maor a cero &ompro3ante no cumple con el Brupo 1(% El codigo de moneda no es diferente a PE" :i el monto total es maor a :+. 700.00 de3e consignar tipo numero de documento del ad>uiriente El tipo de documento del ad>uiriente no puede ser "umero de '& El documento a dar de 3a=a se encuentra reca/ado El tipo de documento modificado por la "ota de credito de3e ser 3oleta electronica El tipo de documento modificado por la "ota de de3ito de3e ser 3oleta electronica "o se puede leer parsear9 el arcivo #M) El caso de prue3a no e-iste )a numeracion o nom3re del documento a a sido enviado anteriormente Documento afectado por la nota electronica no se encuentra autori/ado &ontri3uente no se encuentra autori/ado como emisor de 3oletas electronicas E-iste mas de un tag sac%!dditionalMonetar;otal con el mismo D E-iste mas de un tag sac%!dditionalPropert con el mismo D El dato ingresado en Price!mount del Lalor referencial unitario por item no cumple con el formato esta3lecido E-iste mas de un tag cac%!lternative&onditionPrice con el mismo c3c%Price;pe&ode :e a consignado un valor invalido en el campo c3c%Price;pe&ode Ka consignado mas de un elemento cac%!lloHance&arge con el mismo campo c3c%&argendicator :e a consignado mas de un documento afectado por la nota tag cac%5illing'eference9 :e a consignado mas de un motivo o sustento de la nota tag cac%Discrepanc'esponse+c3c%Description9 "o se a consignado en la nota el tag cac%Discrepanc'esponse :e a consignado en la nota mas de un tag cac%Discrepanc'esponse :i e-iste leenda ;ransferida Bratuita de3e consignar ;otal Lalor de Lenta de $peraciones Bratuitas De3e consignar Lalor 'eferencial unitario por ítem en operaciones no onerosas :i consigna Lalor 'eferencial unitario por ítem en operaciones no onerosas la operación de3e ser no onerosa El dato ingresado en !lloHance;otal!mount no cumple con el formato esta3lecido a transcurrieron mas de (, dias calendarios para concluir con su proceso de omologacion El documento a fue presentado anteriormente. El numero de '& del receptor no e-iste. Para el ;a-;pe&ode esta usando un valor >ue no e-iste en el catalogo. El compro3ante fue registrado previamente como reca/ado. El Document;pe&ode de las guias de3e e-istir tener ( posiciones El Document;pe&ode de las guias de3e ser 0 o *1 El D de las guias de3e tener informacion de la :E'E8"ME'$ de guia. El #M) no contiene el D de las guias. El Document;pe&ode de $tros documentos relacionados no cumple con el estandar. El Document;pe&ode de $tros documentos relacionados tiene valores incorrectos. El D de los documentos relacionados no cumplen con el estandar. El #M) no contiene el tag D de documentos relacionados. El u3igeo indicado en el compro3ante no es el mismo >ue esta registrado para el contri3uente. El '& del receptor no esta activo El '& del receptor no esta a3ido :i el tipo de documento del receptor no es '& de3e tener operaciones de e-portacion El total valor venta neta de oper. gravadas BL de3e ser maor a 0.00 o de3e e-istir oper. gravadas onerosas El total valor venta neta de oper. inafectas BL de3e ser maor a 0.00 o de3e e-istir oper. inafectas onerosas o de e-port. El total valor venta neta de oper. e-oneradas BL de3e ser maor a 0.00 o de3e e-istir oper. e-oneradas El calculo del BL no es correcto El :& no esta informado correctamente :i se utili/a la leenda con codigo (000 el importe de percepcion de3e ser maor a 0.00 :i se utili/a la leenda con código (001 el total de operaciones e-oneradas de3e ser maor a 0.00 :i se utili/a la leenda con código (00( el total de operaciones e-oneradas de3e ser maor a 0.00 :i se utili/a la leenda con código (00* el total de operaciones e-oneradas de3e ser maor a 0.00 :i usa la leenda de ;ransferencia o :ervivicio gratuito todos los items de3en ser no onerosos "o se puede indicar Buia de remision de remitente Buia de remision de transportista en el mismo documento El importe total no coincide con la sumatoria de los valores de venta mas los tri3utos mas los cargos El monto total de la nota de credito de3e ser menor o igual al monto de la factura El u3igeo indicado en el compro3ante no es el mismo >ue esta registrado para el contri3uente El u3igeo indicado en el compro3ante no es el mismo >ue esta registrado para el contri3uente De3e indicar el nom3re comercial :i el código del motivo de emisión de la "ota de &redito es 0* de3e e-istir la descripción del item )a feca de generación de la numeración de3e ser menor o igual a la feca de generación de la comunicación El compro3ante fue registrado previamente como 3a=a El compro3ante fue registrado previamente como reca/ado )a feca de emisión de los rangos de3e ser menor o igual a la feca de generación del resumen
~ 46 ~