Envío de factura manualmente al webservice de la SUNAT utilizando SoapUI, sin programación en 4 pasos - Perú
20 Nov, 2017 • 5 min de lectura
Contenidos
Paso 1 - Descripción de los webservices disponibles de la SUNAT
El proceso que describo aquí permite la comunicación directa a la SUNAT, práctico para la identificación de errores con el ERP, o el envío de una factura puntual, u otro envío incluido en cualquiera de sus web services que vienen detallados en el documento manual del programador pdf, en la página 12:
Servicios en producción:
//Factura. Notas vinculadas. Servicios Públicos. Resumen Diario. Comunicación de Baja. Lotes de Facturas.</p> https://e-factura.sunat.gob.pe/ol-ti-itcpfegem/billService?wsdl //Retención y Percepción Resumen de Reversión de comprobantes de percepción o retención. https://www.sunat.gob.pe/ol-ti-itemision-otroscpegem/billService?wsdl //Guía de Remisión Remitente Electrónica https://e-guiaremision.sunat.gob.pe/ol-ti-itemision-guia-gembeta/billService?wsdl
Servicios en Beta:
//Factura. Notas vinculadas. Servicios Públicos. Resumen Diario. Comunicación de Baja. Lotes de Facturas.</p> https://e-factura.sunat.gob.pe/ol-ti-itcpfegem/billService?wsdl //Retención y Percepción Resumen de Reversión de comprobantes de percepción o retención. https://www.sunat.gob.pe/ol-ti-itemision-otroscpe-gem/billService?wsdl //Guía de Remisión Remitente Electrónica https://e-guiaremision.sunat.gob.pe/ol-ti-itemision-guia-gembeta/billService?wsdl
Para este manual utilizaré el de pruebas:
https://e-beta.sunat.gob.pe:443/ol-ti-itcpfegem-beta/billService?wsdl
</p>
[caption id=”attachment_619” align=”aligncenter” width=”558”]

Envío vía web service a la SUNAT[/caption]
Paso 2 - Configuración de SoapUI para la comunicación web service con la SUNAT
La herramienta gratuita que utilizaremos para el envío será la versión open source de SoapUI. Para descargar SoapUI desde su página de descarga https://www.soapui.org/downloads/soapui.html y seleccionar la versión Open Source. La versión Linux, que es la que utilizo va muy bien, la instalación es sencilla, llamando el comando desde el directorio de descarga:
sudo sh SoapUI-x64-5.3.0.sh
</p> Iniciar SoapUI y crear un nuevo proyecto
[caption id=”attachment_640” align=”aligncenter” width=”608”]

SoapUI nuevo proyecto[/caption]
Se abrirá un diálogo como el que sigue, indicar el nombre del proyecto y la URL del webservice de la SUNAT: https://e-beta.sunat.gob.pe:443/ol-ti-itcpfegem-beta/billService?wsdl
[caption id=”attachment_641” align=”aligncenter” width=”585”]

Cargar webservice de test de la SUNAT[/caption]
A continuación ‘OK’, y conectará con el web service y descargará las llamadas SOAP publicadas:
[caption id=”attachment_644” align=”aligncenter” width=”251”]

Llamadas SOAP disponibles[/caption]
A continuación podemos desplegar y abrir la llamada SOAP correspondiente a sendBill
[caption id=”attachment_645” align=”aligncenter” width=”742”]

Llamada SOAP sendBill[/caption]
Según la documentación: Este método recibe un archivo ZIP con un único documento XML de comprobante y devuelve un archivo Zip que contiene un documento XML que es la constancia de aceptación o rechazo.
Paso 3 - Preparación del fichero para enviar a la SUNAT
Según la documentación la definición de los parámetros es la siguiente para la llamada sendBill

[caption id=”attachment_650” align=”aligncenter” width=”602”]

Contenido de SOAP sendBill[/caption]
Como plantilla de sendBill tomamos el de la documentación en lugar del que se ha descargado automáticamente:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.sunat.gob.pe" xmlns:wsse="http://docs.oasisopen.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"></p> <soapenv:Header> <wsse:Security> <wsse:UsernameToken> <wsse:Username>20100066603MODDATOS</wsse:Username> <wsse:Password>moddatos</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <ser:sendBill> <fileName>20100066603-01-F001-1.zip</fileName> <contentFile>cid:20100066603-01-F001-1.zip</contentFile> </ser:sendBill> </soapenv:Body> </soapenv:Envelope>
[caption id=”attachment_626” align=”aligncenter” width=”500”]

Estructura de la llamada Soap[/caption]
Construcción del nombre del fichero que se comunica en el fileName:
[caption id=”attachment_658” align=”aligncenter” width=”519”]

Construcción del nombre del fichero - fileName[/caption]
En el campo contentFile, se enviará el fichero dentro de un zip. Se debe disponer del fichero XML que ya debe de llevar el mismo nombre que el del fichero ZIP.
Para poder enviar el contenido de este zip, lo abriremos con un editor y lo convertiremos en base64 para que no se pierdan los caracteres de control que de otro modo no podrían enviarse. SoapUI dispone de la facilidad de conversión a base64 directamente, para ello, hay que dejar vacío y situarse dentro de la etiqueta <contentFile></contentFile> y realizar botón derecho y seleccionar “insert file as base64”.
Paso 4 - Envío del fichero a la SUNAT
Último paso para realizar el envío desde SoapUI a la SUNAT, presionar el botón de play arriba a la izquierda:
[caption id=”attachment_664” align=”aligncenter” width=”920”]

Envío del documento con SoapUI a la SUNAT Web Service[/caption]
Una vez se envía, en el lado derecho, después de unos segundos, aparecerá la respuesta de la SUNAT. Ambos casos pueden ser guardados para futuro análisis con el botón derecho ‘Save as’ Ctrl + s.
Te podría interesar
-
0111 - no tiene el perfil para enviar comprobantes electrónicos
0111 - No Tienes el Perfil Para Enviar Comprobantes Electrónicos Si estás viendo el código de error 0111, significa que no tienes el perfil correcto...
-
Doc.trib.no.dom.sin.ruc que significa
Doc.trib.no.dom.sin.ruc: Lo que significa
-
XSD de Oasis útiles en la validación UBL 2.0 SUNAT Perú
http://docs.oasis-open.org/ubl/os-UBL-2.0-update/UBL-2.0.html
-
Aplicativos apoyo Homologación SUNAT Perú
Interesante herramienta de apoyo para realizar los envíos de prueba a través del webservice de la SUNAT para la homologación, tanto para Emisores como para...
-
Ejemplo documento UBL 2 SUNAT Perú
Ejemplo documento de UBL 2 de la SUNAT Perú.
Becommerce.es