Emitir con el CLI
Emite uno o muchos comprobantes desde archivos JSON con ecuafact emitir y sigue cada uno hasta que el SRI responde.
Con ecuafact emitir puedes emitir un comprobante, un lote de comprobantes o
una carpeta entera, y ver el resultado de cada uno. Cada archivo
lleva la misma estructura de
comprobante que recibe la API, que
se explica en Emisión de comprobantes, así que puedes
reutilizar los JSON que ya genera tu sistema.
En esta página verás cómo emitir y validar antes de enviar, qué significa cada estado que muestra el CLI, cómo reanudar un lote que se cortó y cómo consultar, descargar y reenviar lo que ya emitiste.
Importante
Ambiente de pruebas: sin validez fiscal. Los ejemplos usan el entorno
sandbox configurado en tu perfil, como se explica en el
inicio rápido del CLI.
Emitir#
ecuafact emitir factura.json
ecuafact emitir lote.json ventas.jsonl
ecuafact emitir ./pendientes -r
ecuafact emitir factura.json --esperar --descargar ride,xml
mi-erp exportar | ecuafact emitir -
emitir acepta archivos .json con un comprobante o con un array de
comprobantes, archivos .jsonl, carpetas y la entrada estándar si escribes
-. Si tus datos están en un CSV o un Excel, sigue la guía
Emitir desde CSV o Excel.
Cuando un comprobante del lote tiene errores, el CLI no envía ninguno. Corrige el comprobante y vuelve a ejecutar el
comando, o agrega --continuar-con-errores si prefieres enviar los válidos.
Puedes reenviar el mismo comprobante sin duplicarlo, porque el CLI lo reconoce por su
origenReferencia y su
referenciaExterna. Por eso, cuando
quieras emitir un comprobante nuevo o una versión corregida de uno rechazado,
dale otra referenciaExterna.
Antes de emitir puedes revisar el comprobante sin enviar nada. validar busca
errores en el archivo, y --dry-run hace lo mismo y además comprueba con la
API que tu RUC esté habilitado.
ecuafact validar factura.json
ecuafact emitir factura.json --dry-run
Todas las opciones de emitir están en la
referencia.
Resultado de cada comprobante#
Al terminar, el CLI muestra una fila por comprobante con su estado. Esta tabla dice qué significa cada uno y qué hacer.
| Estado | Qué hacer |
|---|---|
autorizado |
No hagas nada. En produccion tiene validez fiscal. |
enviado |
La API lo recibió y aún no hay resultado del SRI. Usa --esperar o consulta con ecuafact estado <idOperacion>. |
en_proceso |
Seguía sin resultado al terminar la espera. Consulta más tarde y no lo emitas con otra referenciaExterna, porque lo duplicarías. |
rechazado |
El SRI no lo autorizó. Corrígelo y emítelo con una referenciaExterna nueva. |
invalido, error |
Tiene errores y no llegó al SRI. Corrígelo según el mensaje. |
no_enviado |
No se envió porque otro comprobante del lote tiene errores. |
pendiente |
No se confirmó el envío. Reanuda el lote. |
cancelado |
No se emitió. Emítelo con una referenciaExterna nueva. |
Si necesitas conservar el resultado, agrega --reporte resultado.csv (o
.json). El CLI guarda una fila por comprobante, con su idOperacion y su
clave de acceso.
Lotes#
Cada ejecución de emitir queda registrada como un lote, así que si se corta a
la mitad, por ejemplo porque se cayó la conexión, puedes reanudarlo en el mismo
entorno en el que lo empezaste sin duplicar los comprobantes que ya se
enviaron.
ecuafact lote listar
ecuafact lote estado 20261017-093012-0a66
ecuafact lote reanudar 20261017-093012-0a66 --esperar
Seguimiento y consultas#
Para saber en qué quedó una emisión, consulta su operación con estado. Para
revisar lo que emitiste en un período, usa comprobantes listar, que también
puede exportar el listado a un CSV.
ecuafact estado 3f1c8c1e-6f2a-4b7e-9c3d-2a1b0c9d8e7f
ecuafact comprobantes listar --desde 2026-10-01 --hasta 2026-10-15 --tipo 01 --todas
ecuafact comprobantes listar --todas --salida csv > emitidos.csv
Descargar y reenviar#
descargar baja el RIDE y el XML de los comprobantes autorizados, y
correo reenviar vuelve a enviar un comprobante por correo a las direcciones
que indiques.
ecuafact descargar 0710202601012345678900110010010000001231234567811 --tipo ride,xml
ecuafact descargar --desde 2026-10-01 --hasta 2026-10-31 --destino ./octubre
ecuafact correo reenviar 0710202601012345678900110010010000001231234567811 --a cliente@correo.com
Si llamas a descargar sin claves de acceso, descarga todos los comprobantes
autorizados del período que indiques.
Errores frecuentes#
| Mensaje | Qué hacer |
|---|---|
Credenciales invalidas. |
Ejecuta ecuafact doctor y revisa la API Key del entorno y que tu IP esté registrada. |
El RUC ... no esta habilitado para esta API Key en este entorno. |
Usa uno de tus RUC, que puedes ver con ecuafact cuenta, y revisa el entorno. |
Cupo insuficiente: ... |
Revisa tu cupo con ecuafact consumo. |
Operacion en PRODUCCION sin confirmar |
En un script, agrega --confirmar produccion. |
El lote es del entorno '...' |
Reanuda el lote con el mismo --entorno con el que lo emitiste. |
Siguientes pasos#
- Emitir desde CSV o Excel: emite desde las filas de tu archivo sin escribir JSON.
- Vigilar una carpeta: emite automáticamente los archivos que deja tu ERP.
- Referencia de comandos: consulta todas las opciones y los códigos de salida.