La administración del centro comercial te invita a conocer la sección donde encontrarás la documentación necesaria para que tu local comercial pueda implementar de forma muy sencilla la integración al nuevo sistema de envío de facturas SRI, mediante una Integración SFTP o mediante una integración REST API.
En las siguientes secciones encontrará los pasos iniciales para crear su Usuario como Local, crear sus Locales y obtener las respectivas credenciales por Local. Una vez realizados estos pasos iniciales, podrá seleccionar el tipo de conexión de cliente SFTP de su preferencia para subir las facturas como archivos XML diariamente. Les mostramos ejemplos de lo que realizará empleando alguna de las siguientes aplicaciones: Consola, Filezilla, Python, NodeJS o Java. En caso de requerir ampliar esta información también podrá dejar sus consultas a través de nuestro canal de soporte al final de esta sección.
En caso de seleccionar la integración vía REST API utilizando archivos JSON, les mostraremos el proceso correcto para realizar la carga de la documentación utilizando la plataforma Postman.
Se debe crear un usuario del local, completar registro y aceptar los términos y condiciones.
1. En la página de inicio seleccionar crear cuenta.
2. Registrar correo y contraseña.
3. Completar la información del usuario
Se debe crear el Local que va a registrar las facturas.
1. En la sección locales, seleccionar agregar uno nuevo.
2. Completar la información tributaria.
3. Completar la información del local y del responsable del local.
Para realizar la integración por SFTP se debe obtener las credenciales de conexión aceptando términos y condiciones.
1. En la sección de credenciales seleccionar el local.
2. Aceptar términos y condiciones.
3. Copiar credenciales
Subir facturas en formato XML, mediante una conexión SFTP.
Nota: El carácter se debe colocar entre el usuario y el host. Para pegar los datos en consola (cmd), puedes usar clic derecho. De igual manera puede aparecer un mensaje de permisos de seguridad donde tendrás que colocar la palabra ves o la letra y.
1. Ejemplo usando una aplicación consola
Nota: Se puede definir una aplicación de consola como aquella que se ejecuta en una ventana de MS-DOS, es decir, en línea de comandos. En Windows se ingresa desde el búscador, escribiendo CMD y seleccionando posteriormente "Símbolo del sistema" y en sistema operativo MAC se ingresa desde el búscador, escribiendo Terminal.
Nota: Aunque no se visualiza lo que se escribe, este se está registrando. En el caso de ser necesario, puede copiarse en un block de notas para luego pegarlo a la herramienta.
Nota: Al colocar el directorio donde se encuentran los archivos, este debe estar entre comillas
2. Ejemplo, usando la aplicación Filezilla. (Puerto 22)
Nota: Al abrir FIlezilla por primera vez puede aparecer una ventana de permisos de seguridad por el uso del puerto 22. Debes aceptar los permisos para continuar sin problema
3. Usando Python.
En este ejemplo las variables hostname, username y password se utilizan para almacenar los valores de conexión para el servidor SFTP. La variable local_dir contiene la ruta del directorio local que se subirá y la variable remote_dir contiene la ruta del directorio remoto en el servidor SFTP donde se subirán los archivos. Finalmente, se itera sobre la lista de archivos en el directorio local y se suben al servidor SFTP.
4. Usando Java.
En este ejemplo, se utiliza la biblioteca JSch para realizar la conexión SFTP. Las variables hostname, username y password se utilizan para almacenar los valores de conexión para el servidor SFTP, y las variables localDir y remoteDir contienen las rutas de los directorios local y remoto, respectivamente. Finalmente, se itera sobre los archivos en el directorio local y se suben al servidor SFTP.
Nota: Una vez cargadas las facturas se tiene un tiempo de procesamiento (aproximadamente 1minuto para 200 facturas)
5. Usando NodeJS.
Test mode secret keys have the prefix Alternatively, you can use for granular permissions.
All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.
Para realizar integración por REST se debe obtener las credenciales de conexión aceptando los términos y condiciones.
En la sección de credenciales, seleccionar el local.
1. En la página de inicio seleccionar crear cuenta.
Aceptar términos y condiciones.
Copiar Credenciales y API REST URL.
Realizar petición POST https://i53rxqpr08.execute-api.us-east-1.amazonaws.com/prod/api/smo/login para obtener Token.
Reemplazar el API REST URL de la plataforma en {{api_smo_url}}, con el endpoint/smo/login.
En el body reemplazar el usuario y contraseña, en los campos 'username' y'password'.
Por último realizar petición POST y almacenar el campo token.
1. En la página de inicio seleccionar crear cuenta.
Realizar petición POST https://i53rxqpr08.execute-api.us-east-1.amazonaws.com/prod/api/invoices/register para subir facturas.
Reemplazar el token obtenido en {{access_token}} en el header Authorization.
1. En la página de inicio seleccionar crear cuenta.
Completar datos de RUC, código de establecimiento y punto de emisión de la tienda en los campos RUC, establishmentCode y salePointCode. Además completar los datos de total, total sin impuestos, número de autorización y fecha de autorización de la factura en los campos total, totalWithoutTaxes, authorizationNumber, authorizationDate.
Nota: En la sección Recuperación de campos desde XML encontrarás un ejemplo de como extraer los datos del XML.
En caso la factura se registre correctamente, se obtendrá el mensaje “Se registró correctamente” en el campo 'Ok'. En caso no se registre correctamente la razón del error se especifica en el campo 'error'.
Número de autorización y fecha de autorización
Dentro de la sección autorización se recupera el número de autorización y fecha de autorización en los campos numeroAutorizacion y fechaAutorizacion.
RUC, código de establecimiento,punto de emisión
Dentro de la sección comprobante se encuentra la sección de factura, y dentro de esta se encuentrala sección infoTributaria, donde se recupera el RUC, código de establecimiento y punto de emisión en los campos ruc, estab y ptoEmi.
Total y total sin impuestos
Dentro de la sección comprobante se encuentra la sección de factura, y dentro de esta se encuentra la sección infoFactura, donde se recupera el total y total sin impuestos de los campos totalSinImpuestos y importeTotal.
Impuestos de IVA, ICE, IRBPNR
El impuesto total de ICE, es la suma de todos los valores del campo valor dentro de la sección totalConImpuestos que tengan el valor de campo codigo con 3. Se debe enviar el total en el campo totalTaxICE.
Subir facturas en formato JSON, mediante una integración REST API utilizando la plataforma Postman.
Integración SFTP
Download data as CSV: Descargar datos como CSV.
Reload table data: Recargar datos de la tabla.
Showing 0 Results 0 of 1: Mostrando 0 Resultados 0 de 1.
Sort ascending (A-Z): Orden ascendente (A-Z)
Sort descending (A-Z): Orden descendiente (A-Z)
Sort newest to oldest: Ordenar de más reciente a más antiguo.
Sort oldest to newest: Ordenar de más antiguo a más reciente.
Remove sorting: Eliminar clasificación o filtro.
Each API request has an associated request identifier. You can find this value in the response headers, under Request-Id. You can also find request identifiers in the URLs of individual request logs in your Dashboard. If you need to contact us about a specific request, providing the request identifier will ensure the fastest possible resolution.
Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.
Test mode secret keys have the prefix Alternatively, you can use for granular permissions.
All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.
Test mode secret keys have the prefix Alternatively, you can use for granular permissions.
All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.