CLI para previsualizar y emitir comprobantes electrónicos de ARCA (ex AFIP) desde la terminal. Sin emitir hasta que lo pedís, con validaciones locales y salida lista para automatizar.
- Modo interactivo:
arclisin argumentos abre un asistente que guía la emisión, repite facturas anteriores, arma notas de crédito y débito, consulta comprobantes y configura el CLI. Cada paso muestra el comando equivalente. - Vista previa por defecto: sin
--emitir, muestra la solicitud y, en una terminal, pregunta antes de emitir. - Comprobantes: Factura, Nota de Crédito y Nota de Débito A, B y C, y sus versiones de Factura de Crédito Electrónica (FCE), y Recibo C, con CBU, transferencia, anulación y consulta del régimen del receptor.
- Factura de exportación E:
arcli feemite con WSFEX, con cliente y país de destino, incoterm, items detallados y permisos de embarque; acepta certificado propio conexportacion.cert.*/exportacion.key.*. - Entrada y salida flexibles: flags o JSON (incluso lotes); salida legible,
--jsono respuesta bruta de ARCA. - Validaciones locales basadas en el manual de ARCA, para detectar errores antes de llamar al servicio.
- Consultas sin emitir: últimos comprobantes, detalle de uno, estado de los servidores, tablas de parámetros, cotización oficial y padrón de un CUIT.
- IVA receptor automático: con
--cuity sin--ir, toma la condición IVA del padrón de ARCA. - PDF con el QR de ARCA mediante un plugin que se descarga solo si lo usás.
Requiere Node.js 22.22.1 o superior. Si no lo tenés, bajá la versión LTS de nodejs.org: trae npm.
npm install -g arcliTambién con otros gestores de paquetes:
pnpm add -g arcli
yarn global add arcli # Yarn 1; Yarn 2 o superior no instala paquetes globalesPara probarlo sin instalar nada: npx arcli --ayuda.
Para actualizar, repetí la instalación con arcli@latest (por ejemplo, npm install -g arcli@latest). Cuando hay una versión nueva, el aviso de arcli muestra el comando del gestor con que lo instalaste. Funciona en macOS, Linux y Windows.
Opcional: autocompletado con Tab de comandos, flags y valores, en bash, zsh o fish. Se instala con arcli completado instalar y se saca con arcli completado desinstalar (detalle).
Necesitás tu CUIT, un punto de venta y un certificado con su clave privada de ARCA. Si todavía no tenés el certificado, arcli certificado generar arma el pedido para ARCA y arcli certificado importar carga el que te devuelve; el paso a paso está en Cómo obtener los certificados.
Lo más simple es correr arcli y seguir la configuración guiada. Para hacerlo por comandos (por ejemplo, en un servidor):
arcli config establecer cuit 20168598204
arcli config establecer puntoVenta 3
arcli certificado generar --testing # arma la clave y el pedido (CSR) para subir a ARCA
arcli certificado importar testing.crt # carga el certificado que te devuelve ARCA
arcli config revisarSi ya tenés el certificado y la clave, cargalos directo con arcli config establecer cert.testing <ruta> y arcli config establecer key.testing <ruta>.
arcli config revisar verifica que cada entorno (testing y producción) esté listo para emitir. Todas las claves disponibles están en Configuración.
arcli fc -m 15000 --cs --consumidor-final # vista previa de una Factura C
arcli fc -m 15000 --cs --consumidor-final --emitir # emitir
arcli fc --cargar ./facturas.json --emitir --json # lote desde JSON, salida JSON
arcli fc -m 15000 --cs --consumidor-final --emitir --exportar-pdf
arcli fe -m 1500 --cliente "ACME LLC" --domicilio-cliente "123 Main St" --pais-destino 203 \
--numero 1 --actividad 620100 --previsualizar # Factura de exportación EOtras consultas: arcli ultimos, arcli consultar, arcli estado, arcli parametros, arcli fce-obligado, arcli padron. Para ver todos los comprobantes y ejemplos: arcli --ayuda y arcli ejemplos.
La prioridad de los valores es flags > JSON > config > defaults. Ver el modelo mental y la referencia del CLI.
Por defecto se usa el entorno testing, con cert.testing y key.testing. Para emitir en producción hay que configurar cert.produccion y key.produccion y pasar --produccion (o guardar entorno produccion). Con la config por defecto, además hace falta --emitir o confirmar la pregunta.
El índice completo está en docs/. Lo principal:
- Modo interactivo y Patrones de uso
- Referencia del CLI y Configuración
- Entrada y salida: formato del JSON
- PDF de comprobantes
- Cómo obtener los certificados
- Troubleshooting, Reglas de validación y Limitaciones
- llms.txt: referencia condensada para agentes de IA con acceso a terminal
- Changelog
git clone https://github.com/LcsGrz/arcli.git
cd arcli
yarn install
yarn dev --ayudaAntes de abrir un PR: yarn typecheck, yarn lint y yarn test. Más en la guía de desarrollo y la arquitectura.
- Preguntas y dudas de uso (configuración, certificados, cómo facturar algo): GitHub Discussions.
- Bugs y propuestas: issues, con las plantillas.
- Vulnerabilidades: en privado, como dice SECURITY.md.
Antes de preguntar, puede que ya esté en Troubleshooting. No pegues certificados, claves, tickets ni la salida de --bruto en ningún lado.
ARCLI usa versionado semántico. Son contrato público, y solo cambian de forma incompatible en una versión mayor y avisándolo en el CHANGELOG:
- los comandos y sus flags,
- las claves de configuración,
- el JSON de entrada (
--cargar) y de salida (--json), incluidos loscodigode error.
La salida en texto (tablas, mensajes, colores) es para leer, no para parsear, y puede cambiar en cualquier versión. Para scripts, usá --json.
Leé CONTRIBUTING.md y el código de conducta. Para vulnerabilidades, ver SECURITY.md; no subas certificados, claves ni tokens reales a issues ni PRs.
@arcasdk/corey@arcasdk/pdf, de Rodrigo Alcorta.- Arpit Bhayani, por ceder el nombre
arclien npm. - Manuel Aller, por la factura de exportación E.
- Guillermo Britos, por el Recibo C.
- Kevin Tea, por la condición de venta en el PDF.
Si el proyecto te resulta útil, podés dejar una estrella o invitarme un Cafecito.


