Diferencia entre revisiones de «Integración Directa - Web Service SOAP»

De Facturacion Electronica de Peru
Ir a la navegación Ir a la búsqueda
 
(No se muestran 65 ediciones intermedias de 4 usuarios)
Línea 16: Línea 16:
<!--                    -->
<!--                    -->
==Paso a Paso==
==Paso a Paso==
# '''Enviar un documento electrónico'''
===Enviar un documento electrónico===
#* Rellenar objeto de los métodos Enviar o GuiaRemision
* '''Rellenar objeto de los métodos Enviar o GuiaRemision'''
Para enviar un documento de venta, es necesario que su sistema de facturación consuma el servicio web de '''The Factory HKA''', para lo cual deberá invocar al método '''Enviar'''  y llenar los campos correspondientes a los datos de cada documento de venta a emitir, con el fin de generar los archivos XML con la firma digital y realizar la transmisión hacia OSE/SUNAT, con el fin de obtener su validación y aprobación. Para el caso de las Guías de Remisión Electrónicas, deberá hacer el mismo procedimiento, invocando el método GuiaRemision
Para enviar un documento de venta, es necesario que su sistema de facturación consuma el servicio web de '''The Factory HKA''', para lo cual deberá invocar al método '''Enviar'''  y llenar los campos correspondientes a los datos de cada documento de venta a emitir, con el fin de generar los archivos XML con la firma digital y realizar la transmisión hacia OSE/SUNAT, con el fin de obtener su validación y aprobación. Para el caso de las Guías de Remisión Electrónicas, deberá hacer el mismo procedimiento, invocando el método '''GuiaRemision'''
#* '''Generar un archivo TXT para el método RetencionPercepcion'''
* '''Generar un archivo TXT para el método RetencionPercepcion'''
Para enviar un comprobante (de retención o percepción) es necesario que su sistema envía un archivo TXT con un layout específico (y posteriormente codificado en base64), descrito en el artículo [http://www.ejemplo.com Layout de Comprobantes de Retención/Percepción]
Para enviar un comprobante (de retención o percepción) es necesario que su sistema envía un archivo TXT con un layout específico (y posteriormente codificado en base64), descrito en el artículo [http://www.ejemplo.com Layout de Comprobantes de Retención/Percepción]
# '''Conexión para la emisión'''
<!--                    -->
===Conexión para la emisión===
Según sea el caso, se debe invocar el método '''Enviar''', '''RetencionPercepcion''' o '''GuiaRemision''', todos disponibles en el servicio web de '''The Factory HKA'''. Al método se deben enviar los datos correspondientes al documento generado en el paso 1 en el caso de enviar un comprobante de retención/Percepción; o llenar el objeto del request para documentos de venta o guías de remisión. Estos métodos abren el canal de comunicación hacia el servicio de '''The Factory HKA''', quien, a su vez, encapsula toda la lógica del proceso y hace posible la generación del documento electrónico firmado en formato XML, así como la transmisión a OSE/SUNAT.
Según sea el caso, se debe invocar el método '''Enviar''', '''RetencionPercepcion''' o '''GuiaRemision''', todos disponibles en el servicio web de '''The Factory HKA'''. Al método se deben enviar los datos correspondientes al documento generado en el paso 1 en el caso de enviar un comprobante de retención/Percepción; o llenar el objeto del request para documentos de venta o guías de remisión. Estos métodos abren el canal de comunicación hacia el servicio de '''The Factory HKA''', quien, a su vez, encapsula toda la lógica del proceso y hace posible la generación del documento electrónico firmado en formato XML, así como la transmisión a OSE/SUNAT.
Finalmente, la respuesta especificará el proceso de validación por parte de '''The Factory HKA''', a través de un código de éxito o error, devolviendo igualmente el UUID del documento (''Universally Unique IDentifier'' / tipo-serie-correlativo).
Finalmente, la respuesta especificará el proceso de validación por parte de '''The Factory HKA''', a través de un código de éxito o error, devolviendo igualmente el UUID del documento (''Universally Unique IDentifier'' / tipo-serie-correlativo).
Documentos incluidos en el método '''Enviar''':
Documentos incluidos en el método '''Enviar''':
**Factura
*Factura
**Boleta de venta
*Boleta de venta
**Nota de crédito
*Nota de crédito
**Nota de débito
*Nota de débito
Documentos incluidos en el método '''RetencionPercepcion''':
Documentos incluidos en el método '''RetencionPercepcion''':
**Comprobante de Retención
*Comprobante de Retención
**Comprobante de Percepción
*Comprobante de Percepción
Documentos incluidos en el método '''GuiaRemision''':
Documentos incluidos en el método '''GuiaRemision''':
**Guía de Remisión
*Guía de Remisión
===Conexión para descarga de documentos===
Si la respuesta de validación fue exitosa, su sistema de facturación puede obtener y mostrar los documentos emitidos en formato PDF y XML, a través del método '''DescargaArchivo'''. De igual forma, se puede utilizar el mismo método para descargar el CDR, que le permitirá obtener la respuesta que emite OSE/SUNAT con el estatus de aprobación del documento.
===Conexión para Comunicación de Baja y Reversión===
En caso de que necesite anular un determinado documento emitido, puede invocar el servicio web de '''The Factory HKA''' para comunicar la baja o revertir el documento observado, a través de los métodos '''ComunicacionBaja''' y '''Reversión'''.
Es importante tener en cuenta que el plazo para realizar la comunicación de baja es de 7 días calendario y para realizarla es requisito que los documentos hayan sido aceptados por OSE/SUNAT.


==Método Enviar==
Comprantes incluidos para el método '''ComunicacionBaja''':
==Método ==
* Factura
==Método ==
* Boleta de venta
==Método ==
* Nota de crédito
* Nota de débito
Comprobantes incluidos para el método '''Reversión''':
* Retención
* Percepción
 
'''NOTA''': No existe la anulación de una Guía de Remisión Electrónica emitida desde los SEE- Del Contribuyente. En este caso, deberá realizar una nueva guía de remisión y relacionar la anterior.
 
==Métodos del servicio web de The Factory HKA==
Se han implementado diferentes métodos que le permitirán realizar el proceso de facturación electrónica de manera rápida y eficaz. En la especificación de cada uno de ellos se indica la funcionalidad del método, el parámetro que se debe ingresar, y la estructura y ejemplos de las respuestas que puede obtener al ejecutar estos métodos. <br/>
El enlace de acceso a nuestro ambiente de pruebas es [https://demoint.thefactoryhka.com.pe/Service.svc https://demoint.thefactoryhka.com.pe/Service.svc].
 
===Enviar===
----''Artículo principal:'' [[Web_Service_SOAP_-_Método_Enviar|Web Service SOAP - Método Enviar]]
 
El método '''Enviar''' permite la generación de los siguientes documentos:
* Factura Electrónica
* Boleta de Venta Electrónica
* Nota de Crédito Electrónica
* Nota de Débito Electrónica
 
{| class="wikitable" style="margin: auto;"
! style="text-align:left;"  style="color:red"| Descripción
! ''Método para enviar documentos (factura, boleta de venta, nota de crédito y nota de débito) a OSE/SUNAT''
|-
! style="text-align:left;"  style="color:red"| Respuesta Exitosa
! ''Código de aceptación <nowiki>|</nowiki> Mensaje de aceptación <nowiki>|</nowiki> Serie - correlativo del documento y XML timbrado''
|}
 
===CargarCertificado===
----
{| class="wikitable" style="margin: auto;"
! style="text-align:left;"  style="color:red"| Descripción
! ''Método de carga de certificado electrónico en la cuenta del usuario que se usará para firmar electrónicamente los documentos y comprobantes a consignar para OSE/SUNAT.''
|-
! style="text-align:left;"  style="color:red"| Respuesta Exitosa
! ''Código, Mensaje''
|}
 
{| style="text-align:left;"
!Nombre del método
! style="color: blue" | CargarCertificado
|-
!Cantidad de Campos:
!style="text-align:left;"|5
|}
 
{| class="wikitable" style="margin: auto;"
!Campo
!Descripción
!Tipo<nowiki>|</nowiki>Longitud
|-
|<!---Campo--->          style="color: blue; text-align:center"| <tem:ruc>
|<!---Descripción--->    RUC del emisor
|<!---Tipo|Longitud--->  style="text-align:center;"| N<nowiki>|</nowiki>11
|-
|<!---Campo--->          style="color: blue; text-align:center" | <tem:usuario>
|<!---Descripción--->    Usuario de Integración Emitido por el Sistema
|<!---Tipo|Longitud--->  style="text-align:center;"|
|-
|<!---Campo--->          style="color: blue; text-align:center" | <tem:clave>
|<!---Descripción--->    Contraseña de Integración Emitido por el Sistema
|<!---Tipo|Longitud--->  style="text-align:center;"|
|-
|<!---Campo--->          style="color: blue; text-align:center" | <tem:certificadoBase64>
|<!---Descripción--->    Certificado autorizado, cifrado en base 64
|<!---Tipo|Longitud--->  style="text-align:center;"|
|-
|<!---Campo--->          style="color: blue; text-align:center" | <tem:certificadoClaveBase64>
|<!---Descripción--->    Clave del certificado, cifrada en base 64
|<!---Tipo|Longitud--->  style="text-align:center;"|
|-
|}
 
===ComunicacionBaja===
----
{| class="wikitable" style="margin: auto;"
! style="text-align:left;"  style="color:red"| Descripción
! ''Método para dar de baja a los documentos de venta (factura, boleta de venta, nota de crédito y nota de débito) enviados al OSE/SUNAT''
|-
! style="text-align:left;"  style="color:red"| Respuesta Exitosa
! ''Código, Mensaje''
|}
 
{| style="text-align:left;"
!Nombre del método
! style="color: blue" | ComunicacionBaja
|-
!Cantidad de Campos:
!style="text-align:left;"|5
|}
 
{| class="wikitable" style="margin: auto;"
!Campo
!Descripción
!Tipo<nowiki>|</nowiki>Longitud
!Formato
|-
|<!---Campo--->          style="color: blue; text-align:center"| <tem:ruc>
|<!---Descripción--->    RUC del emisor
|<!---Tipo|Longitud--->  style="text-align:center;"| N<nowiki>|</nowiki>11
|
|-
|<!---Campo--->          style="color: blue; text-align:center" | <tem:usuario>
|<!---Descripción--->    Usuario de Integración Emitido por el Sistema
|<!---Tipo|Longitud--->  style="text-align:center;"|
|
|-
|<!---Campo--->          style="color: blue; text-align:center" | <tem:clave>
|<!---Descripción--->    Contraseña de Integración Emitido por el Sistema
|<!---Tipo|Longitud--->  style="text-align:center;"|
|-
|<!---Campo--->          style="color: blue; text-align:center" | <tem:documento>
|<!---Descripción--->    Tipo, serie y correlativo de documento a dar de baja
|<!---Tipo|Longitud--->  style="text-align:center;"| AN<nowiki>|</nowiki>...16
|<!---Formato--->        style="text-align:center;"| TT-XZZZ-NNNNNNNN <br/>
  Donde TT hace referencia al tipo de documento según catálogo N° 01 <br/>
  X hace referencia al tipo de documento: <br/>
  F: Factura o notas asociadas <br/>
  B: Boletas o notas asociadas <br/>
  ZZZ hace referencia a la serie <br/>
  NNNNNNNN hace referencia al correlativo
|-
|<!---Campo--->          style="color: blue; text-align:center" | <tem:motivo>
|<!---Descripción--->    Motivo de la anulación del documento
|<!---Tipo|Longitud--->  style="text-align:center;"| AN<nowiki>|</nowiki>...100
|-
|}
 
===DescargaArchivo===
----
{| class="wikitable" style="margin: auto;"
! style="text-align:left;"  style="color:red"| Descripción
! ''Método para descargar los diferentes archivos relacionados con los documentos de venta (PDF, XML, CDR) enviados al OSE/SUNAT''
|-
! style="text-align:left;"  style="color:red"| Respuesta Exitosa
! ''Código, Mensaje''
|}
 
{| style="text-align:left;"
!Nombre del método
! style="color: blue" | DescargaArchivo
|-
!Cantidad de Campos:
!style="text-align:left;"|4
|}
 
{| class="wikitable" style="margin: auto;"
!Campo
!Descripción
!Tipo<nowiki>|</nowiki>Longitud
!Formato
|-
|<!---Campo--->          style="color: blue; text-align:center" | <tem:usuario>
|<!---Descripción--->    Usuario de Integración Emitido por el Sistema
|<!---Tipo|Longitud--->  style="text-align:center;"|
|
|-
|<!---Campo--->          style="color: blue; text-align:center" | <tem:clave>
|<!---Descripción--->    Contraseña de Integración Emitido por el Sistema
|<!---Tipo|Longitud--->  style="text-align:center;"|
|-
|<!---Campo--->          style="color: blue; text-align:center" | <tem:documento>
|<!---Descripción--->    Tipo, serie y correlativo de documento a dar de baja
|<!---Tipo|Longitud--->  style="text-align:center;"| AN<nowiki>|</nowiki>...16
|<!---Formato--->        style="text-align:center;"| TT-XZZZ-NNNNNNNN <br/>
  Donde TT hace referencia al tipo de documento según catálogo N° 01 <br/>
  X hace referencia al tipo de documento: <br/>
  F: Factura o notas asociadas <br/>
  B: Boletas o notas asociadas <br/>
  ZZZ hace referencia a la serie <br/>
  NNNNNNNN hace referencia al correlativo
|-
|<!---Campo--->          style="color: blue; text-align:center"| <tem:tipoArchivo>
|<!---Descripción--->    Tipo de archivo a descargar
|<!---Tipo|Longitud--->  style="text-align:center;"| AN<nowiki>|</nowiki>3
|<!---Formato--->        style="text-align:center;"| PDF: Para descargar el pdf (representación impresa) <br/>
XML: Para descargar el xml (documento electrónico) <br/>
CDR: Para descargar la Constancia de Recepción de OSE/SUNAT
|-
|}
 
===EstatusDocumento===
----
{| class="wikitable" style="margin: auto;"
! style="text-align:left;"  style="color:red"| Descripción
! ''Método para consultar estatus de documentos (factura, boleta de venta, nota de crédito y nota de débito) en el servicio '''The Factory HKA''', para verificar si ya se envió a OSE/Sunat''
|-
! style="text-align:left;"  style="color:red"| Respuesta Exitosa
! ''Código, Mensaje''
|}
 
{| style="text-align:left;"
!Nombre del método
! style="color: blue" | EstatusDocumento
|-
!Cantidad de Campos:
!style="text-align:left;"|3
|}
 
{| class="wikitable" style="margin: auto;"
!Campo
!Descripción
!Tipo<nowiki>|</nowiki>Longitud
!Formato
|-
|<!---Campo--->          style="color: blue; text-align:center" | <tem:usuario>
|<!---Descripción--->    Usuario de Integración Emitido por el Sistema
|<!---Tipo|Longitud--->  style="text-align:center;"|
|
|-
|<!---Campo--->          style="color: blue; text-align:center" | <tem:clave>
|<!---Descripción--->    Contraseña de Integración Emitido por el Sistema
|<!---Tipo|Longitud--->  style="text-align:center;"|
|-
|<!---Campo--->          style="color: blue; text-align:center" | <tem:documento>
|<!---Descripción--->RUC,Tipo, serie y correlativo de documento a consultar
|<!---Tipo|Longitud--->  style="text-align:center;"| AN<nowiki>|</nowiki>...16
|<!---Formato--->        style="text-align:center;"| RUC-TT-XZZZ-NNNNNNNN <br/>
  Donde TT hace referencia al tipo de documento según catálogo N° 01 <br/>
  X hace referencia al tipo de documento: <br/>
  ZZZ hace referencia a la serie <br/>
  NNNNNNNN hace referencia al correlativo
|-
|}
 
 
===FoliosRestantes===
----
{| class="wikitable" style="margin: auto;"
! style="text-align:left;"  style="color:red"| Descripción
! ''Método para consultarla cantidad de folios restantes para el usuario''
|-
! style="text-align:left;"  style="color:red"| Respuesta Exitosa
! ''Código, Mensaje''
|}
 
{| style="text-align:left;"
!Nombre del método
! style="color: blue" | FoliosRestantes
|-
!Cantidad de Campos:
!style="text-align:left;"|3
|}
 
{| class="wikitable" style="margin: auto;"
!Campo
!Descripción
!Tipo<nowiki>|</nowiki>Longitud
|-
|<!---Campo--->          style="color: blue; text-align:center" | <tem:ruc>
|<!---Descripción--->    RUC del emisor
|<!---Tipo|Longitud--->  style="text-align:center;"| N<nowiki>|</nowiki>11
|-
|<!---Campo--->          style="color: blue; text-align:center" | <tem:usuario>
|<!---Descripción--->    Usuario de Integración Emitido por el Sistema
|<!---Tipo|Longitud--->  style="text-align:center;"|
|-
|<!---Campo--->          style="color: blue; text-align:center" | <tem:clave>
|<!---Descripción--->    Contraseña de Integración Emitido por el Sistema
|<!---Tipo|Longitud--->  style="text-align:center;"|
|-
|}
 
===Reversión===
----
{| class="wikitable" style="margin: auto;"
! style="text-align:left;"  style="color:red"| Descripción
! ''Método para anular un comprobante de retención o percepción''
|-
! style="text-align:left;"  style="color:red"| Respuesta Exitosa
! ''Código, Mensaje''
|}
 
{| style="text-align:left;"
!Nombre del método
! style="color: blue" | Reversion
|-
!Cantidad de Campos:
!style="text-align:left;"|4
|}
 
{| class="wikitable" style="margin: auto;"
!Campo
!Descripción
!Tipo<nowiki>|</nowiki>Longitud
!Formato
|-
|<!---Campo--->          style="color: blue; text-align:center"| <tem:ruc>
|<!---Descripción--->    RUC del emisor
|<!---Tipo|Longitud--->  style="text-align:center;"| N<nowiki>|</nowiki>11
|
|-
|<!---Campo--->          style="color: blue; text-align:center" | <tem:usuario>
|<!---Descripción--->    Usuario de Integración Emitido por el Sistema
|<!---Tipo|Longitud--->  style="text-align:center;"|
|
|-
|<!---Campo--->          style="color: blue; text-align:center" | <tem:clave>
|<!---Descripción--->    Contraseña de Integración Emitido por el Sistema
|<!---Tipo|Longitud--->  style="text-align:center;"|
|-
|<!---Campo--->          style="color: blue; text-align:center" | <tem:documento>
|<!---Descripción--->    Tipo, serie y correlativo de documento a revertir
|<!---Tipo|Longitud--->  style="text-align:center;"| AN<nowiki>|</nowiki>...16
|<!---Formato--->        style="text-align:center;"| TT-XZZZ-NNNNNNNN <br/>
  Donde TT hace referencia al tipo de documento según catálogo N° 01 <br/>
  X hace referencia al tipo de documento: <br/>
  R: Retenciones <br/>
  P: Percepciones <br/>
  ZZZ hace referencia a la serie <br/>
  NNNNNNNN hace referencia al correlativo
|-
|<!---Campo--->          style="color: blue; text-align:center" | <tem:motivo>
|<!---Descripción--->    Motivo de la anulación del documento
|<!---Tipo|Longitud--->  style="text-align:center;"| AN<nowiki>|</nowiki>...100
|-
|}
 
===ValidaAcceso===
----
{| class="wikitable" style="margin: auto;"
! style="text-align:left;"  style="color:red"| Descripción
! ''Método para validar las credenciales de acceso''
|-
! style="text-align:left;"  style="color:red"| Respuesta Exitosa
! ''Código, Mensaje''
|}
 
{| style="text-align:left;"
!Nombre del método
! style="color: blue" | ValidaAcceso
|-
!Cantidad de Campos:
!style="text-align:left;"|3
|}
 
{| class="wikitable" style="margin: auto;"
!Campo
!Descripción
!Tipo<nowiki>|</nowiki>Longitud
|-
|<!---Campo--->          style="color: blue; text-align:center" | <tem:ruc>
|<!---Descripción--->    RUC del emisor
|<!---Tipo|Longitud--->  style="text-align:center;"| N<nowiki>|</nowiki>11
|-
|<!---Campo--->          style="color: blue; text-align:center" | <tem:usuario>
|<!---Descripción--->    Usuario de Integración Emitido por el Sistema
|<!---Tipo|Longitud--->  style="text-align:center;"|
|-
|<!---Campo--->          style="color: blue; text-align:center" | <tem:clave>
|<!---Descripción--->    Contraseña de Integración Emitido por el Sistema
|<!---Tipo|Longitud--->  style="text-align:center;"|
|-
|}
 
=== GuiasRemision ===
----''Artículo principal:'' [[Web Service SOAP - Método GuiasRemision]]
 
El método '''GuiasRemision''' permite la generación de los siguientes documentos:
* '''Guía Remisión Electrónicas UBL 2.0'''
* '''Guía Remisión Electrónicas UBL 1.0'''
{| class="wikitable" style="margin: auto;"
! style="color:red" | Descripción
! ''Método para enviar documentos (Guías de Remisión 1.0 - 2.0) a OSE/SUNAT''
|-
! style="color:red" | Respuesta Exitosa
! ''Código de aceptación <nowiki>|</nowiki> Mensaje de aceptación <nowiki>|</nowiki> Serie - correlativo del documento y XML timbrado''
|}
 
=== CancelarListado ===
----
{| class="wikitable" style="margin: auto;"
! style="color:red" | Descripción
! ''Método para cancelar un listado enviado.''
|-
! style="color:red" | Respuesta Exitosa
! ''Código, Mensaje''
|}
 
{| style="text-align:left;"
!Nombre del método
! style="color: blue" | CancelarListado
|-
!Cantidad de Campos:
! style="text-align:left;" |4
|}
 
{| class="wikitable" style="margin: auto;"
!Campo
!Descripción
!Tipo<nowiki>|</nowiki>Longitud
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:ruc>
|<!---Descripción--->RUC del emisor
| style="text-align:center;" <!---Tipo|Longitud---> | N<nowiki>|</nowiki>11
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:usuario>
|<!---Descripción--->Usuario de Integración Emitido por el Sistema
| style="text-align:center;" <!---Tipo|Longitud---> |
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:clave>
|<!---Descripción--->Contraseña de Integración Emitido por el Sistema
| style="text-align:center;" <!---Tipo|Longitud---> |
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:tipoCancelar>
|<!---Descripción--->Tipo de listado a cancelar
| style="text-align:center;" <!---Tipo|Longitud---> |
|-
|}
 
=== Logo ===
----
{| class="wikitable" style="margin: auto;"
! style="color:red" | Descripción
! ''Método de carga del logo de la empresa que se usará para generar electrónicamente las representaciones de documentos y comprobantes consignados a OSE/SUNAT.''
|-
! style="color:red" | Respuesta Exitosa
! ''Código, Mensaje''
|}
 
{| style="text-align:left;"
!Nombre del método
! style="color: blue" | Logo
|-
!Cantidad de Campos:
! style="text-align:left;" |5
|}
 
{| class="wikitable" style="margin: auto;"
!Campo
!Descripción
!Tipo<nowiki>|</nowiki>Longitud
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:ruc>
|<!---Descripción--->RUC del emisor
| style="text-align:center;" <!---Tipo|Longitud---> | N<nowiki>|</nowiki>11
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:usuario>
|<!---Descripción--->Usuario de Integración Emitido por el Sistema
| style="text-align:center;" <!---Tipo|Longitud---> |
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:clave>
|<!---Descripción--->Contraseña de Integración Emitido por el Sistema
| style="text-align:center;" <!---Tipo|Longitud---> |
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:extension>
|<!---Descripción--->Extensión de la imagen (jpg, png, ...)
| style="text-align:center;" <!---Tipo|Longitud---> |
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:logo>
|<!---Descripción--->logo
| style="text-align:center;" <!---Tipo|Longitud---> |
|-
|}
 
=== ListadoSerie===
----
{| class="wikitable" style="margin: auto;"
! style="color:red" | Descripción
! ''Permite realizar una petición para realizar las siguientes acciones por el tipo en las series asociadas a la empresa.''
|-
! style="color:red" | Respuesta Exitosa
! ''Código (devuelve 0 si es exitoso), Mensaje''
|}
 
{| style="text-align:left;"
!Nombre del método
! style="color: blue" | ListadoSerie
|-
!Cantidad de Campos:
! style="text-align:left;" |9
|}
 
{| class="wikitable" style="margin: auto;"
!Campo
!Descripción
!Tipo<nowiki>|</nowiki>Longitud
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:ruc>
|<!---Descripción--->RUC del emisor
| style="text-align:center;" <!---Tipo|Longitud---> | N<nowiki>|</nowiki>11
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:usuario>
|<!---Descripción--->Usuario de Integración
| style="text-align:center;" <!---Tipo|Longitud---> |
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:clave>
|<!---Descripción--->Clave de Integración
| style="text-align:center;" <!---Tipo|Longitud---> |
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:tipo>
|<!---Descripción--->Tipo de acción a realizar
| style="text-align:center;" <!---Tipo|Longitud---> |Tipo 1: Te permite crear una serie
Tipo 2: Busca todas las series que posee la empresa.
 
Tipo 3: Actualiza la serie por nomenclatura de la serie
 
Tipo 4: Elimina la serie por nomenclatura de la serie
 
|-
|}
 
 
 
 
{| class="wikitable" style="margin: auto;"
!Campo
!Descripción
!Tipo<nowiki>|</nowiki>Longitud
!Formato
|-
| style="color: blue; text-align:center" <!---Campo---> | <per:folio_actual>
|<!---Descripción--->Folio Actual de la Serie
| style="text-align:center;" <!---Tipo|Longitud---> | N<nowiki>|</nowiki>8
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <per:folio_inicial>
|<!---Descripción--->Folio Inicial de la Serie
| style="text-align:center;" <!---Tipo|Longitud---> | N<nowiki>|</nowiki>8
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <per:serie>
|<!---Descripción--->Nomenclatura de la Serie
| style="text-align:center;" <!---Tipo|Longitud---> | AN<nowiki>|</nowiki>4
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <per:tipo_asignacion>
|<!---Descripción--->Tipo de Asignación Manual o Automático
| style="text-align:center;" <!---Tipo|Longitud---> | A<nowiki>|</nowiki>1
|Automático : A <br> Manual : M
|-
| style="color: blue; text-align:center" <!---Campo---> | <per:tipo_documento>
|<!---Descripción--->Tipo de Documento asociado a la Serie
| style="text-align:center;" <!---Tipo|Longitud---> | N<nowiki>|</nowiki>2
| Catálogo N°01
|-
|}
 
=== ListadoSucursal ===
----
{| class="wikitable" style="margin: auto;"
! style="color:red" | Descripción
! ''Permite realizar una petición para realizar las siguientes acciones por el tipo en las sucursales asociadas a la empresa.''
|-
! style="color:red" | Respuesta Exitosa
! ''Código (devuelve 0 si es exitoso), Mensaje''
|}
 
{| style="text-align:left;"
!Nombre del método
! style="color: blue" | ListadoSucursal
|-
!Cantidad de Campos:
! style="text-align:left;" |4 -11
|}
 
{| class="wikitable" style="margin: auto;"
!Campo
!Descripción
!Tipo<nowiki>|</nowiki>Longitud
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:ruc>
|<!---Descripción--->RUC del emisor
| style="text-align:center;" <!---Tipo|Longitud---> | N<nowiki>|</nowiki>11
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:token>
|<!---Descripción--->Token de acceso
| style="text-align:center;" <!---Tipo|Longitud---> |
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:serial>
|<!---Descripción--->Serial del dispositivo
| style="text-align:center;" <!---Tipo|Longitud---> |
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:tipo>
|<!---Descripción--->Tipo de acción a realizar
| style="text-align:center;" <!---Tipo|Longitud---> |Tipo 1: te permite crear una sucursal
Tipo 2: busca todas las sucursales asociadas a la empresa.
 
Tipo 3: Actualiza la sucursal por código.
 
Tipo 4: Borra la sucursal por código.
|-
|}
Datos Sucursal (Objeto / Listado)
{| class="wikitable" style="margin: auto;"
!Campo
!Descripción
!Tipo<nowiki>|</nowiki>Longitud
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:codigo>
|<!---Descripción--->código de la sucursal
| style="text-align:center;" <!---Tipo|Longitud---> | string
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:descripcion>
|<!---Descripción--->Descripción de la sucursal
| style="text-align:center;" <!---Tipo|Longitud---> |
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:direccion>
|<!---Descripción--->Dirección de la sucursal
| style="text-align:center;" <!---Tipo|Longitud---> |
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:pais>
|<!---Descripción--->Siglas del país Ejemplo: PE
| style="text-align:center;" <!---Tipo|Longitud---> |
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:telefono>
|<!---Descripción--->Teléfonos de la sucursal
| style="text-align:center;" <!---Tipo|Longitud---> |
|-
| style="color: blue; text-align:center" <!---Campo---> |<tem:tipoEstablecimiento>
|<!---Descripción--->Tipo de establecimiento
|
|-
| style="color: blue; text-align:center" <!---Campo---> |<tem:ubigeo>
|<!---Descripción--->Codigo ubigeo de la ubicación de la sucursal
|
|}
 
=== ListadoProductos ===
----
{| class="wikitable" style="margin: auto;"
! style="color:red" | Descripción
! ''Permite realizar el listado , creación , actualización y eliminación de los distintos productos.''
|-
! style="color:red" | Respuesta Exitosa
! ''Código (devuelve 0 si es exitoso), Mensaje''
|}
 
{| style="text-align:left;"
!Nombre del método
! style="color: blue" | ListadoProductos
|-
!Cantidad de Campos:
! style="text-align:left;" |11
|}
 
{| class="wikitable" style="margin: auto;"
!Campo
!Descripción
!Tipo<nowiki>|</nowiki>Longitud
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:ruc>
|<!---Descripción--->RUC del emisor
| style="text-align:center;" <!---Tipo|Longitud---> | N<nowiki>|</nowiki>11
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:usuario>
|<!---Descripción--->Usuario de Integración
| style="text-align:center;" <!---Tipo|Longitud---> |
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:clave>
|<!---Descripción--->Clave de Integración
| style="text-align:center;" <!---Tipo|Longitud---> |
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:tipo>
|<!---Descripción--->Tipo de acción a realizar
| style="text-align:center;" <!---Tipo|Longitud---> |Tipo 1: Te permite crear un producto
Tipo 2: Busca todos los productos que posee la empresa.
 
Tipo 3: Actualiza el producto por códigoUser
 
Tipo 4: Elimina el producto por códigoUser
 
|-
|}
 
 
 
{| class="wikitable" style="margin: auto;"
!Campo
!Descripción
!Tipo<nowiki>|</nowiki>Longitud
!Formato
|-
| style="color: blue; text-align:center" <!---Campo---> | <per:codigoGs1>
|<!---Descripción--->Código GS1 del Producto.
| style="text-align:center;" <!---Tipo|Longitud---> | N<nowiki>|</nowiki>13
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <per:codigoSunat>
|<!---Descripción--->Código Sunat del Producto.
| style="text-align:center;" <!---Tipo|Longitud---> | N<nowiki>|</nowiki>8
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <per:codigoUser>
|<!---Descripción--->Código del Producto que asigna el Usuario internamente.
| style="text-align:center;" <!---Tipo|Longitud---> | AN<nowiki>|</nowiki>30
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <per:descripcion>
|<!---Descripción--->Descripción del Producto
| style="text-align:center;" <!---Tipo|Longitud---> | AN<nowiki>|</nowiki>500
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <per:impuesto>
|<!---Descripción--->Código de Tipo de Afectación del IGV
| style="text-align:center;" <!---Tipo|Longitud---> | N<nowiki>|</nowiki>4
| Catálogo N°07
|-
| style="color: blue; text-align:center" <!---Campo---> | <per:unidad>
|<!---Descripción--->Unidad de Medida del Producto
| style="text-align:center;" <!---Tipo|Longitud---> |AN<nowiki>|</nowiki>3
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <per:valorUnitario>
|<!---Descripción--->Valor Unitario del Producto
| style="text-align:center;" <!---Tipo|Longitud---> |12,10
|
|-
|}
 
=== ListadoClientes===
----
{| class="wikitable" style="margin: auto;"
! style="color:red" | Descripción
! ''Permite realizar una petición para realizar las siguientes acciones por el tipo en los clientes asociados a la empresa.''
|-
! style="color:red" | Respuesta Exitosa
! ''Código (devuelve 0 si es exitoso), Mensaje''
|}
 
{| style="text-align:left;"
!Nombre del método
! style="color: blue" | ListadoClientes
|-
!Cantidad de Campos:
! style="text-align:left;" |9
|}
 
{| class="wikitable" style="margin: auto;"
!Campo
!Descripción
!Tipo<nowiki>|</nowiki>Longitud
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:ruc>
|<!---Descripción--->RUC del emisor
| style="text-align:center;" <!---Tipo|Longitud---> | N<nowiki>|</nowiki>11
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:usuario>
|<!---Descripción--->Usuario de Integración
| style="text-align:center;" <!---Tipo|Longitud---> |
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:clave>
|<!---Descripción--->Clave de Integración
| style="text-align:center;" <!---Tipo|Longitud---> |
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:tipo>
|<!---Descripción--->Tipo de acción a realizar
| style="text-align:center;" <!---Tipo|Longitud---> |Tipo 1: Te permite crear un cliente
Tipo 2: Busca todos los clientes que posee la empresa.
 
Tipo 3: Actualiza la información del cliente por RUC
 
Tipo 4: Elimina la información del cliente por RUC
 
|-
|}
 
 
 
 
{| class="wikitable" style="margin: auto;"
!Campo
!Descripción
!Tipo<nowiki>|</nowiki>Longitud
!Formato
|-
| style="color: blue; text-align:center" <!---Campo---> | <per:direccion>
|<!---Descripción--->Dirección
| style="text-align:center;" <!---Tipo|Longitud---> | AN<nowiki>|</nowiki>200
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <per:email>
|<!---Descripción--->Correo Electrónico del Cliente
| style="text-align:center;" <!---Tipo|Longitud---> | AN<nowiki>|</nowiki>200
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <per:enviarEmail>
|<!---Descripción--->Activar Notificaciones Via Correo Electrónico
| style="text-align:center;" <!---Tipo|Longitud---> | A<nowiki>|</nowiki>2
|SI o NO
|-
| style="color: blue; text-align:center" <!---Campo---> | <per:numDocumento>
|<!---Descripción--->Número de Documento del Cliente
| style="text-align:center;" <!---Tipo|Longitud---> | AN<nowiki>|</nowiki>15
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <per:pais>
|<!---Descripción--->País del Cliente
| style="text-align:center;" <!---Tipo|Longitud---> | A<nowiki>|</nowiki>2
|Catálogo N°04
|-
| style="color: blue; text-align:center" <!---Campo---> | <per:razonSocial>
|<!---Descripción--->Razón Social del Cliente
| style="text-align:center;" <!---Tipo|Longitud---> | AN<nowiki>|</nowiki>100
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <per:telefono>
|<!---Descripción--->Número de Telefono del Cliente
| style="text-align:center;" <!---Tipo|Longitud---> | N<nowiki>|</nowiki>15
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <per:tipoDocumento>
|<!---Descripción--->Tipo de Documento del Cliente
| style="text-align:center;" <!---Tipo|Longitud---> | N<nowiki>|</nowiki>2
| Catálogo N°06
|-
| style="color: blue; text-align:center" <!---Campo---> | <per:ubigeo>
|<!---Descripción--->Ubigeo de la Dirección del Cliente
| style="text-align:center;" <!---Tipo|Longitud---> | N<nowiki>|</nowiki>2
|
|-
|}
 
 
 
 
=== EnvioCorreo===
----
{| class="wikitable" style="margin: auto;"
! style="color:red" | Descripción
! ''Permite enviar via correo electrónico los archivos XML,PDF y CDR ''
|-
! style="color:red" | Respuesta Exitosa
! ''Código (devuelve 0 si es exitoso), Mensaje''
|}
 
{| style="text-align:left;"
!Nombre del método
! style="color: blue" | EnvioCorreo
|-
!Cantidad de Campos:
! style="text-align:left;" |11
|}
 
{| class="wikitable" style="margin: auto;"
!Campo
!Descripción
!Tipo<nowiki>|</nowiki>Longitud
!Formato
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:ruc>
|<!---Descripción--->RUC del emisor
| style="text-align:center;" <!---Tipo|Longitud---> | N<nowiki>|</nowiki>11
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:usuario>
|<!---Descripción--->Usuario de Integración
| style="text-align:center;" <!---Tipo|Longitud---> |
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:clave>
|<!---Descripción--->Clave de Integración
| style="text-align:center;" <!---Tipo|Longitud---> |
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:numeracion>
|<!---Descripción--->Numeración del Documento a Enviar
| style="text-align:center;" <!---Tipo|Longitud---> |AN<nowiki>|</nowiki>13
| style="text-align:center;" <!---Formato---> |ZZZZ-NNNNNNNN, donde: <br/>
ZZZZ corresponde a la serie <br/>
NNNNNNNN al número de documento
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:tipo>
|<!---Descripción--->Tipo de Documento
| style="text-align:center;" <!---Tipo|Longitud---> |N<nowiki>|</nowiki>2
| style="text-align:center;" <!---Formato---> |Catálogo N° 06
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:destinatarios>
|<!---Descripción--->Correo electronico del destinatario. Debe ser una dirección válida para el envío correcto del documento electrónico.
Para enviar varios correos, deben separarse con el caracter , (coma) o ; (punto y coma)
| style="text-align:center;" <!---Tipo|Longitud---> |AN<nowiki>|</nowiki>2000
|
|-
|}
 
=== EstatusCorreo===
----
{| class="wikitable" style="margin: auto;"
! style="color:red" | Descripción
! ''Permite realizar una petición para obtener información sobre el historial de envios del documento consultado.''
|-
! style="color:red" | Respuesta Exitosa
! ''Código (devuelve 0 si es exitoso), Mensaje''
|}
 
{| style="text-align:left;"
!Nombre del método
! style="color: blue" | EstatusCorreo
|-
!Cantidad de Campos:
! style="text-align:left;" |3
|}
 
{| class="wikitable" style="margin: auto;"
!Campo
!Descripción
!Tipo<nowiki>|</nowiki>Longitud
!Formato
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:usuario>
|<!---Descripción--->Usuario de Integración
| style="text-align:center;" <!---Tipo|Longitud---> |
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:clave>
|<!---Descripción--->Clave de Integración
| style="text-align:center;" <!---Tipo|Longitud---> |
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:documento>
|<!---Descripción--->Número de Documento a Consultar
| style="text-align:center;" <!---Tipo|Longitud---> | AN<nowiki>|</nowiki>28
|RUC-TipoDeDocumento-Serie-Correlativo
|-
 
|}
 
 
=== DescargarListado ===
----
{| class="wikitable" style="margin: auto;"
! style="color:red" | Descripción
! ''Permite Descargar los Listados''
|-
! style="color:red" | Respuesta Exitosa
! ''Código (devuelve 0 si es exitoso), Mensaje''
|}
 
{| style="text-align:left;"
!Nombre del método
! style="color: blue" | DescargarListado
|-
!Cantidad de Campos:
! style="text-align:left;" |5
|}
 
{| class="wikitable" style="margin: auto;"
!Campo
!Descripción
!Tipo<nowiki>|</nowiki>Longitud
!Formato
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:ruc>
|<!---Descripción--->RUC del emisor
| style="text-align:center;" <!---Tipo|Longitud---> | N<nowiki>|</nowiki>11
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:usuario>
|<!---Descripción--->Usuario de Integración
| style="text-align:center;" <!---Tipo|Longitud---> |
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:clave>
|<!---Descripción--->Clave de Integración
| style="text-align:center;" <!---Tipo|Longitud---> |
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:lote>
|<!---Descripción--->Numeración del lote
| style="text-align:center;" <!---Tipo|Longitud---> |
| style="text-align:center;" <!---Formato---> |
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:ticket>
|<!---Descripción--->numero del ticket (respuesta de GeneraListado)
| style="text-align:center;" <!---Tipo|Longitud---> |
| style="text-align:center;" <!---Formato---> |
|-
|}
 
=== Retención/Percepción ===
{| class="wikitable" style="margin: auto;"
! style="color:red" | Descripción
! ''Permite enviar via correo electrónico los archivos XML,PDF y CDR ''
|-
! style="color:red" | Respuesta Exitosa
! ''Código (devuelve 0 si es exitoso), Mensaje''
|}
 
{| style="text-align:left;"
!Nombre del método
! style="color: blue" | RetencionPercepcion
|-
!Cantidad de Campos:
! style="text-align:left;" |5
|}
''Artículo principal:'' [[Web Service SOAP - Método Retención/Percepción|Web Service SOAP - Método RetenciónPercción]]
{| class="wikitable" style="margin: auto;"
!Campo
!Descripción
!Tipo<nowiki>|</nowiki>Longitud
!Formato
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:ruc>
|<!---Descripción--->RUC del emisor
| style="text-align:center;" <!---Tipo|Longitud---> | N<nowiki>|</nowiki>11
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:usuario>
|<!---Descripción--->Usuario de Integración
| style="text-align:center;" <!---Tipo|Longitud---> |AN
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:clave>
|<!---Descripción--->Clave de Integración
| style="text-align:center;" <!---Tipo|Longitud---> |AN
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:layout>
|<!---Descripción--->Archivo TXT en base64
| style="text-align:center;" <!---Tipo|Longitud---> |AN
| style="text-align:center;" <!---Formato---> |
|-
|}
 
=== Estatus===
----
{| class="wikitable" style="margin: auto;"
! style="color:red" | Descripción
! ''Permite realizar una petición para obtener el estado de las credenciales de integración''
|-
! style="color:red" | Respuesta Exitosa
! ''Código (devuelve 0 si es exitoso), Mensaje''
|}
 
{| style="text-align:left;"
!Nombre del método
! style="color: blue" | Estatus
|-
!Cantidad de Campos:
! style="text-align:left;" |4
|}
 
{| class="wikitable" style="margin: auto;"
!Campo
!Descripción
!Tipo<nowiki>|</nowiki>Longitud
!Formato
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:ruc>
|<!---Descripción--->Ruc de la empresa
| style="text-align:center;" <!---Tipo|Longitud--->N|11
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:usuario>
|<!---Descripción--->Usuario de Integración
| style="text-align:center;" <!---Tipo|Longitud---> | AN
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:clave>
|<!---Descripción--->Clave de Integración
| style="text-align:center;" <!---Tipo|Longitud---> |AN
|
|-
| style="color: blue; text-align:center" <!---Campo---> | <tem:tipoaplicacion>
|<!---Descripción--->Tipo de aplicación que se consulta
| style="text-align:center;" <!---Tipo|Longitud---> | <nowiki>AN|1</nowiki>
|I
|-
 
|}

Revisión actual del 17:40 10 mar 2025

Proceso


Como requerimiento inicial, es necesario a través de la integración directa, rellenar el objeto del método Enviar con los datos del comprobante de pago a emitir, para luego -si la respuesta es satisfactoria-, descargar y obtener los archivos PDF, XML y CDR del comprobante emitido; caso contrario, recibir el código de error correspondiente.

Proceso del Modelo Online

Consideraciones

  • El Analista de Integraciones asignado a su cuenta le enviará las credenciales de acceso del ambiente de Pruebas en un correo de bienvenida. Si olvidó o desea restaurar sus credenciales de acceso al servicio, puede restablecerlas desde el Portal de Emisión, en la sección Catálogos-->Cajas Registradoras-->Obtener usuario de integración. Haga clic y el sistema habilitará una ventana, en la cual deberá ingresar un correo electrónico válido, al que se enviarán el usuario y contraseña que usará para Integraciones
  • Su desarrollo deberá incluir el manejo de funciones asíncronas, manejo de excepciones así como las validaciones pertinentes a cada campo de datos, atendiendo a las longitudes, tipos y formatos de cada uno
  • Los catálogos de validaciones de SUNAT se encuentran disponibles para su descarga pública, en el portal del ente tributario CPE SUNAT
  • El manejo del envío de documentos de venta (facturas, boletas, notas asociadas) se realiza por medio de un objeto; esto implica el llenado directamente sobre el request del método Enviar.
  • El manejo del envío de las guías de remisión electrónicas se realiza también mediante un objeto, llenando directamente sobre el request del método GuiaRemision
  • La emisión de Comprobantes de Retención, Comprobantes de Percepción, se realizará el envío de un archivo TXT codificado en base64, según los anexos descritos disponibles en esta wiki
  • Para el consumo de los métodos, los nodos aparecen publicados en forma alfabética

Paso a Paso

Enviar un documento electrónico

  • Rellenar objeto de los métodos Enviar o GuiaRemision

Para enviar un documento de venta, es necesario que su sistema de facturación consuma el servicio web de The Factory HKA, para lo cual deberá invocar al método Enviar y llenar los campos correspondientes a los datos de cada documento de venta a emitir, con el fin de generar los archivos XML con la firma digital y realizar la transmisión hacia OSE/SUNAT, con el fin de obtener su validación y aprobación. Para el caso de las Guías de Remisión Electrónicas, deberá hacer el mismo procedimiento, invocando el método GuiaRemision

  • Generar un archivo TXT para el método RetencionPercepcion

Para enviar un comprobante (de retención o percepción) es necesario que su sistema envía un archivo TXT con un layout específico (y posteriormente codificado en base64), descrito en el artículo Layout de Comprobantes de Retención/Percepción

Conexión para la emisión

Según sea el caso, se debe invocar el método Enviar, RetencionPercepcion o GuiaRemision, todos disponibles en el servicio web de The Factory HKA. Al método se deben enviar los datos correspondientes al documento generado en el paso 1 en el caso de enviar un comprobante de retención/Percepción; o llenar el objeto del request para documentos de venta o guías de remisión. Estos métodos abren el canal de comunicación hacia el servicio de The Factory HKA, quien, a su vez, encapsula toda la lógica del proceso y hace posible la generación del documento electrónico firmado en formato XML, así como la transmisión a OSE/SUNAT. Finalmente, la respuesta especificará el proceso de validación por parte de The Factory HKA, a través de un código de éxito o error, devolviendo igualmente el UUID del documento (Universally Unique IDentifier / tipo-serie-correlativo). Documentos incluidos en el método Enviar:

  • Factura
  • Boleta de venta
  • Nota de crédito
  • Nota de débito

Documentos incluidos en el método RetencionPercepcion:

  • Comprobante de Retención
  • Comprobante de Percepción

Documentos incluidos en el método GuiaRemision:

  • Guía de Remisión

Conexión para descarga de documentos

Si la respuesta de validación fue exitosa, su sistema de facturación puede obtener y mostrar los documentos emitidos en formato PDF y XML, a través del método DescargaArchivo. De igual forma, se puede utilizar el mismo método para descargar el CDR, que le permitirá obtener la respuesta que emite OSE/SUNAT con el estatus de aprobación del documento.

Conexión para Comunicación de Baja y Reversión

En caso de que necesite anular un determinado documento emitido, puede invocar el servicio web de The Factory HKA para comunicar la baja o revertir el documento observado, a través de los métodos ComunicacionBaja y Reversión. Es importante tener en cuenta que el plazo para realizar la comunicación de baja es de 7 días calendario y para realizarla es requisito que los documentos hayan sido aceptados por OSE/SUNAT.

Comprantes incluidos para el método ComunicacionBaja:

  • Factura
  • Boleta de venta
  • Nota de crédito
  • Nota de débito

Comprobantes incluidos para el método Reversión:

  • Retención
  • Percepción

NOTA: No existe la anulación de una Guía de Remisión Electrónica emitida desde los SEE- Del Contribuyente. En este caso, deberá realizar una nueva guía de remisión y relacionar la anterior.

Métodos del servicio web de The Factory HKA

Se han implementado diferentes métodos que le permitirán realizar el proceso de facturación electrónica de manera rápida y eficaz. En la especificación de cada uno de ellos se indica la funcionalidad del método, el parámetro que se debe ingresar, y la estructura y ejemplos de las respuestas que puede obtener al ejecutar estos métodos.
El enlace de acceso a nuestro ambiente de pruebas es https://demoint.thefactoryhka.com.pe/Service.svc.

Enviar


Artículo principal: Web Service SOAP - Método Enviar

El método Enviar permite la generación de los siguientes documentos:

  • Factura Electrónica
  • Boleta de Venta Electrónica
  • Nota de Crédito Electrónica
  • Nota de Débito Electrónica
Descripción Método para enviar documentos (factura, boleta de venta, nota de crédito y nota de débito) a OSE/SUNAT
Respuesta Exitosa Código de aceptación | Mensaje de aceptación | Serie - correlativo del documento y XML timbrado

CargarCertificado


Descripción Método de carga de certificado electrónico en la cuenta del usuario que se usará para firmar electrónicamente los documentos y comprobantes a consignar para OSE/SUNAT.
Respuesta Exitosa Código, Mensaje
Nombre del método CargarCertificado
Cantidad de Campos: 5
Campo Descripción Tipo|Longitud
<tem:ruc> RUC del emisor N|11
<tem:usuario> Usuario de Integración Emitido por el Sistema
<tem:clave> Contraseña de Integración Emitido por el Sistema
<tem:certificadoBase64> Certificado autorizado, cifrado en base 64
<tem:certificadoClaveBase64> Clave del certificado, cifrada en base 64

ComunicacionBaja


Descripción Método para dar de baja a los documentos de venta (factura, boleta de venta, nota de crédito y nota de débito) enviados al OSE/SUNAT
Respuesta Exitosa Código, Mensaje
Nombre del método ComunicacionBaja
Cantidad de Campos: 5
Campo Descripción Tipo|Longitud Formato
<tem:ruc> RUC del emisor N|11
<tem:usuario> Usuario de Integración Emitido por el Sistema
<tem:clave> Contraseña de Integración Emitido por el Sistema
<tem:documento> Tipo, serie y correlativo de documento a dar de baja AN|...16 TT-XZZZ-NNNNNNNN

Donde TT hace referencia al tipo de documento según catálogo N° 01
X hace referencia al tipo de documento:
F: Factura o notas asociadas
B: Boletas o notas asociadas
ZZZ hace referencia a la serie
NNNNNNNN hace referencia al correlativo

<tem:motivo> Motivo de la anulación del documento AN|...100

DescargaArchivo


Descripción Método para descargar los diferentes archivos relacionados con los documentos de venta (PDF, XML, CDR) enviados al OSE/SUNAT
Respuesta Exitosa Código, Mensaje
Nombre del método DescargaArchivo
Cantidad de Campos: 4
Campo Descripción Tipo|Longitud Formato
<tem:usuario> Usuario de Integración Emitido por el Sistema
<tem:clave> Contraseña de Integración Emitido por el Sistema
<tem:documento> Tipo, serie y correlativo de documento a dar de baja AN|...16 TT-XZZZ-NNNNNNNN

Donde TT hace referencia al tipo de documento según catálogo N° 01
X hace referencia al tipo de documento:
F: Factura o notas asociadas
B: Boletas o notas asociadas
ZZZ hace referencia a la serie
NNNNNNNN hace referencia al correlativo

<tem:tipoArchivo> Tipo de archivo a descargar AN|3 PDF: Para descargar el pdf (representación impresa)

XML: Para descargar el xml (documento electrónico)
CDR: Para descargar la Constancia de Recepción de OSE/SUNAT

EstatusDocumento


Descripción Método para consultar estatus de documentos (factura, boleta de venta, nota de crédito y nota de débito) en el servicio The Factory HKA, para verificar si ya se envió a OSE/Sunat
Respuesta Exitosa Código, Mensaje
Nombre del método EstatusDocumento
Cantidad de Campos: 3
Campo Descripción Tipo|Longitud Formato
<tem:usuario> Usuario de Integración Emitido por el Sistema
<tem:clave> Contraseña de Integración Emitido por el Sistema
<tem:documento> RUC,Tipo, serie y correlativo de documento a consultar AN|...16 RUC-TT-XZZZ-NNNNNNNN

Donde TT hace referencia al tipo de documento según catálogo N° 01
X hace referencia al tipo de documento:
ZZZ hace referencia a la serie
NNNNNNNN hace referencia al correlativo


FoliosRestantes


Descripción Método para consultarla cantidad de folios restantes para el usuario
Respuesta Exitosa Código, Mensaje
Nombre del método FoliosRestantes
Cantidad de Campos: 3
Campo Descripción Tipo|Longitud
<tem:ruc> RUC del emisor N|11
<tem:usuario> Usuario de Integración Emitido por el Sistema
<tem:clave> Contraseña de Integración Emitido por el Sistema

Reversión


Descripción Método para anular un comprobante de retención o percepción
Respuesta Exitosa Código, Mensaje
Nombre del método Reversion
Cantidad de Campos: 4
Campo Descripción Tipo|Longitud Formato
<tem:ruc> RUC del emisor N|11
<tem:usuario> Usuario de Integración Emitido por el Sistema
<tem:clave> Contraseña de Integración Emitido por el Sistema
<tem:documento> Tipo, serie y correlativo de documento a revertir AN|...16 TT-XZZZ-NNNNNNNN

Donde TT hace referencia al tipo de documento según catálogo N° 01
X hace referencia al tipo de documento:
R: Retenciones
P: Percepciones
ZZZ hace referencia a la serie
NNNNNNNN hace referencia al correlativo

<tem:motivo> Motivo de la anulación del documento AN|...100

ValidaAcceso


Descripción Método para validar las credenciales de acceso
Respuesta Exitosa Código, Mensaje
Nombre del método ValidaAcceso
Cantidad de Campos: 3
Campo Descripción Tipo|Longitud
<tem:ruc> RUC del emisor N|11
<tem:usuario> Usuario de Integración Emitido por el Sistema
<tem:clave> Contraseña de Integración Emitido por el Sistema

GuiasRemision


Artículo principal: Web Service SOAP - Método GuiasRemision

El método GuiasRemision permite la generación de los siguientes documentos:

  • Guía Remisión Electrónicas UBL 2.0
  • Guía Remisión Electrónicas UBL 1.0
Descripción Método para enviar documentos (Guías de Remisión 1.0 - 2.0) a OSE/SUNAT
Respuesta Exitosa Código de aceptación | Mensaje de aceptación | Serie - correlativo del documento y XML timbrado

CancelarListado


Descripción Método para cancelar un listado enviado.
Respuesta Exitosa Código, Mensaje
Nombre del método CancelarListado
Cantidad de Campos: 4
Campo Descripción Tipo|Longitud
<tem:ruc> RUC del emisor N|11
<tem:usuario> Usuario de Integración Emitido por el Sistema
<tem:clave> Contraseña de Integración Emitido por el Sistema
<tem:tipoCancelar> Tipo de listado a cancelar


Descripción Método de carga del logo de la empresa que se usará para generar electrónicamente las representaciones de documentos y comprobantes consignados a OSE/SUNAT.
Respuesta Exitosa Código, Mensaje
Nombre del método Logo
Cantidad de Campos: 5
Campo Descripción Tipo|Longitud
<tem:ruc> RUC del emisor N|11
<tem:usuario> Usuario de Integración Emitido por el Sistema
<tem:clave> Contraseña de Integración Emitido por el Sistema
<tem:extension> Extensión de la imagen (jpg, png, ...)
<tem:logo> logo

ListadoSerie


Descripción Permite realizar una petición para realizar las siguientes acciones por el tipo en las series asociadas a la empresa.
Respuesta Exitosa Código (devuelve 0 si es exitoso), Mensaje
Nombre del método ListadoSerie
Cantidad de Campos: 9
Campo Descripción Tipo|Longitud
<tem:ruc> RUC del emisor N|11
<tem:usuario> Usuario de Integración
<tem:clave> Clave de Integración
<tem:tipo> Tipo de acción a realizar Tipo 1: Te permite crear una serie

Tipo 2: Busca todas las series que posee la empresa.

Tipo 3: Actualiza la serie por nomenclatura de la serie

Tipo 4: Elimina la serie por nomenclatura de la serie



Campo Descripción Tipo|Longitud Formato
<per:folio_actual> Folio Actual de la Serie N|8
<per:folio_inicial> Folio Inicial de la Serie N|8
<per:serie> Nomenclatura de la Serie AN|4
<per:tipo_asignacion> Tipo de Asignación Manual o Automático A|1 Automático : A
Manual : M
<per:tipo_documento> Tipo de Documento asociado a la Serie N|2 Catálogo N°01

ListadoSucursal


Descripción Permite realizar una petición para realizar las siguientes acciones por el tipo en las sucursales asociadas a la empresa.
Respuesta Exitosa Código (devuelve 0 si es exitoso), Mensaje
Nombre del método ListadoSucursal
Cantidad de Campos: 4 -11
Campo Descripción Tipo|Longitud
<tem:ruc> RUC del emisor N|11
<tem:token> Token de acceso
<tem:serial> Serial del dispositivo
<tem:tipo> Tipo de acción a realizar Tipo 1: te permite crear una sucursal

Tipo 2: busca todas las sucursales asociadas a la empresa.

Tipo 3: Actualiza la sucursal por código.

Tipo 4: Borra la sucursal por código.

Datos Sucursal (Objeto / Listado)

Campo Descripción Tipo|Longitud
<tem:codigo> código de la sucursal string
<tem:descripcion> Descripción de la sucursal
<tem:direccion> Dirección de la sucursal
<tem:pais> Siglas del país Ejemplo: PE
<tem:telefono> Teléfonos de la sucursal
<tem:tipoEstablecimiento> Tipo de establecimiento
<tem:ubigeo> Codigo ubigeo de la ubicación de la sucursal

ListadoProductos


Descripción Permite realizar el listado , creación , actualización y eliminación de los distintos productos.
Respuesta Exitosa Código (devuelve 0 si es exitoso), Mensaje
Nombre del método ListadoProductos
Cantidad de Campos: 11
Campo Descripción Tipo|Longitud
<tem:ruc> RUC del emisor N|11
<tem:usuario> Usuario de Integración
<tem:clave> Clave de Integración
<tem:tipo> Tipo de acción a realizar Tipo 1: Te permite crear un producto

Tipo 2: Busca todos los productos que posee la empresa.

Tipo 3: Actualiza el producto por códigoUser

Tipo 4: Elimina el producto por códigoUser


Campo Descripción Tipo|Longitud Formato
<per:codigoGs1> Código GS1 del Producto. N|13
<per:codigoSunat> Código Sunat del Producto. N|8
<per:codigoUser> Código del Producto que asigna el Usuario internamente. AN|30
<per:descripcion> Descripción del Producto AN|500
<per:impuesto> Código de Tipo de Afectación del IGV N|4 Catálogo N°07
<per:unidad> Unidad de Medida del Producto AN|3
<per:valorUnitario> Valor Unitario del Producto 12,10

ListadoClientes


Descripción Permite realizar una petición para realizar las siguientes acciones por el tipo en los clientes asociados a la empresa.
Respuesta Exitosa Código (devuelve 0 si es exitoso), Mensaje
Nombre del método ListadoClientes
Cantidad de Campos: 9
Campo Descripción Tipo|Longitud
<tem:ruc> RUC del emisor N|11
<tem:usuario> Usuario de Integración
<tem:clave> Clave de Integración
<tem:tipo> Tipo de acción a realizar Tipo 1: Te permite crear un cliente

Tipo 2: Busca todos los clientes que posee la empresa.

Tipo 3: Actualiza la información del cliente por RUC

Tipo 4: Elimina la información del cliente por RUC



Campo Descripción Tipo|Longitud Formato
<per:direccion> Dirección AN|200
<per:email> Correo Electrónico del Cliente AN|200
<per:enviarEmail> Activar Notificaciones Via Correo Electrónico A|2 SI o NO
<per:numDocumento> Número de Documento del Cliente AN|15
<per:pais> País del Cliente A|2 Catálogo N°04
<per:razonSocial> Razón Social del Cliente AN|100
<per:telefono> Número de Telefono del Cliente N|15
<per:tipoDocumento> Tipo de Documento del Cliente N|2 Catálogo N°06
<per:ubigeo> Ubigeo de la Dirección del Cliente N|2



EnvioCorreo


Descripción Permite enviar via correo electrónico los archivos XML,PDF y CDR
Respuesta Exitosa Código (devuelve 0 si es exitoso), Mensaje
Nombre del método EnvioCorreo
Cantidad de Campos: 11
Campo Descripción Tipo|Longitud Formato
<tem:ruc> RUC del emisor N|11
<tem:usuario> Usuario de Integración
<tem:clave> Clave de Integración
<tem:numeracion> Numeración del Documento a Enviar AN|13 ZZZZ-NNNNNNNN, donde:

ZZZZ corresponde a la serie
NNNNNNNN al número de documento

<tem:tipo> Tipo de Documento N|2 Catálogo N° 06
<tem:destinatarios> Correo electronico del destinatario. Debe ser una dirección válida para el envío correcto del documento electrónico.

Para enviar varios correos, deben separarse con el caracter , (coma) o ; (punto y coma)

AN|2000

EstatusCorreo


Descripción Permite realizar una petición para obtener información sobre el historial de envios del documento consultado.
Respuesta Exitosa Código (devuelve 0 si es exitoso), Mensaje
Nombre del método EstatusCorreo
Cantidad de Campos: 3
Campo Descripción Tipo|Longitud Formato
<tem:usuario> Usuario de Integración
<tem:clave> Clave de Integración
<tem:documento> Número de Documento a Consultar AN|28 RUC-TipoDeDocumento-Serie-Correlativo


DescargarListado


Descripción Permite Descargar los Listados
Respuesta Exitosa Código (devuelve 0 si es exitoso), Mensaje
Nombre del método DescargarListado
Cantidad de Campos: 5
Campo Descripción Tipo|Longitud Formato
<tem:ruc> RUC del emisor N|11
<tem:usuario> Usuario de Integración
<tem:clave> Clave de Integración
<tem:lote> Numeración del lote
<tem:ticket> numero del ticket (respuesta de GeneraListado)

Retención/Percepción

Descripción Permite enviar via correo electrónico los archivos XML,PDF y CDR
Respuesta Exitosa Código (devuelve 0 si es exitoso), Mensaje
Nombre del método RetencionPercepcion
Cantidad de Campos: 5

Artículo principal: Web Service SOAP - Método RetenciónPercción

Campo Descripción Tipo|Longitud Formato
<tem:ruc> RUC del emisor N|11
<tem:usuario> Usuario de Integración AN
<tem:clave> Clave de Integración AN
<tem:layout> Archivo TXT en base64 AN

Estatus


Descripción Permite realizar una petición para obtener el estado de las credenciales de integración
Respuesta Exitosa Código (devuelve 0 si es exitoso), Mensaje
Nombre del método Estatus
Cantidad de Campos: 4
Campo Descripción Tipo|Longitud Formato
<tem:ruc> Ruc de la empresa 11
<tem:usuario> Usuario de Integración AN
<tem:clave> Clave de Integración AN
<tem:tipoaplicacion> Tipo de aplicación que se consulta AN|1 I