Vigilar una carpeta
Emite automáticamente cada comprobante que tu ERP deja en una carpeta, con el comando ecuafact vigilar o como un servicio del equipo.
Si tu ERP no puede llamar a una API pero sí guarda cada comprobante como un
archivo en una carpeta, puedes integrarlo sin cambiar su código. Con
ecuafact vigilar, nuestro CLI revisa esa carpeta cada pocos segundos, emite
cada archivo nuevo y lo mueve a otra carpeta según el resultado.
En esta página verás cómo vigilar una carpeta desde la terminal, cómo dejar la vigilancia instalada como servicio para que arranque sola con el equipo y qué hacer ante los errores más comunes.
Importante
Ambiente de pruebas: sin validez fiscal. Los ejemplos usan el entorno
sandbox.
Vigilar#
ecuafact --entorno sandbox vigilar ./bandeja
Mientras el comando está en ejecución, cada archivo que aparece en ./bandeja
se emite y después se mueve a una de estas carpetas:
| Carpeta | Cuándo |
|---|---|
procesados/ |
Todos sus comprobantes se enviaron bien. |
errores/ |
Algún comprobante tiene errores. Junto al archivo queda <archivo>.error.json con el detalle. |
Si falla la conexión o se agota el cupo, el archivo se queda en la bandeja y el CLI lo vuelve a intentar más tarde, sin duplicar los comprobantes.
Estas opciones cambian cómo se vigila la carpeta:
| Opción | Descripción |
|---|---|
--plantilla <archivo> |
Lee también CSV y Excel con esa plantilla (Emitir desde CSV o Excel). |
-w, --esperar |
Espera la autorización del SRI antes de mover el archivo; un rechazo lo manda a errores/. |
--descargar ride |
Descarga el RIDE de cada autorizado (xml o ride,xml también). |
-d, --destino <carpeta> |
Carpeta de las descargas. |
--intervalo <segundos> |
Cada cuánto revisa la carpeta. Por defecto 10. |
--una-vez |
Revisa la carpeta una vez y termina, para una tarea programada o cron. Termina con 0 si todos los archivos salieron bien, con 7 si alguno fue a errores/ y con el código del fallo si ninguno salió bien, así que tu tarea programada puede avisarte (códigos de salida). |
Como servicio#
Si no quieres depender de una terminal abierta, puedes instalar la vigilancia como un servicio que arranca junto con el equipo. El servicio usa la API Key y el entorno de tu perfil.
# Windows, en una terminal como administrador
ecuafact --entorno sandbox vigilar instalar C:\ERP\salida --nombre erp --destino C:\ERP\rides
# Linux (systemd) y macOS
sudo ecuafact --entorno sandbox vigilar instalar /srv/erp/salida --nombre erp --destino /srv/erp/rides
Después, consulta el estado del servicio o desinstálalo con el nombre que le diste:
ecuafact vigilar estado --nombre erp
ecuafact vigilar desinstalar --nombre erp
Al instalar el servicio, escribe las carpetas con rutas absolutas. En Linux y
macOS puedes agregar --usuario para instalar un servicio de tu usuario, sin
sudo. Si actualizas el CLI o quieres cambiar la API Key o el entorno,
desinstala el servicio y vuelve a instalarlo.
Atención
Todo archivo válido que llegue a la carpeta se emite. Limita quién puede escribir en ella, porque cualquiera con acceso podría emitir comprobantes con tu API Key.
Errores frecuentes#
| Mensaje | Qué hacer |
|---|---|
Instalar un servicio del sistema requiere permisos de administrador. |
Abre una terminal como administrador o usa sudo. En Linux y macOS también puedes instalar el servicio con --usuario. |
No hay API Key para el perfil ... al instalar con sudo |
Guarda la API Key también para el administrador con sudo ecuafact --entorno sandbox login. |
La carpeta ... la puede escribir ... |
Cualquier usuario del equipo puede escribir en la carpeta. Agrega --restringir-carpeta o cambia sus permisos. Si aceptas que cualquier usuario del equipo pueda emitir con tu API Key, puedes usar --permitir-carpeta-compartida, aunque no es recomendable. |
Este equipo no usa systemd ... |
Programa vigilar --una-vez en cron. |
Siguientes pasos#
- Emitir con el CLI: entiende el estado de cada comprobante y reanuda lotes.
- Webhooks: recibe en tu sistema el resultado del SRI de cada comprobante.
- Referencia de comandos: consulta todas las opciones de
vigilar.