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:
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:
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.
Método 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
|
Método 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
|
Parámetros de Entrada
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
|
|
Método 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
|
Parámetros de Entrada
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
|
Método 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
|
Parámetros de Entrada
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
|
Método 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
|
Parámetros de Entrada
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:
F: Factura o notas asociadas
B: Boletas o notas asociadas
ZZZ hace referencia a la serie
NNNNNNNN hace referencia al correlativo
|
Método FoliosRestantes
Descripción
|
Método para consultarla cantidad de folios restantes para el usuario
|
Respuesta Exitosa
|
Código, Mensaje
|
Parámetros de Entrada
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
|
|
Método Reversion
Descripción
|
Método para anular un comprobante de retención o percepción
|
Respuesta Exitosa
|
Código, Mensaje
|
Parámetros de Entrada
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
|
Método ValidaAcceso
Descripción
|
Método para validar las credenciales de acceso
|
Respuesta Exitosa
|
Código, Mensaje
|
Parámetros de Entrada
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
|
|