arcli 1.7.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +78 -1
- package/README.md +11 -18
- package/dist/cli/commands/billing.command.options.js +17 -15
- package/dist/cli/commands/billing.command.options.js.map +1 -1
- package/dist/cli/commands/billing.command.parser.js +57 -28
- package/dist/cli/commands/billing.command.parser.js.map +1 -1
- package/dist/cli/commands/billing.command.pdf.d.ts +1 -1
- package/dist/cli/commands/billing.command.pdf.js +17 -2
- package/dist/cli/commands/billing.command.pdf.js.map +1 -1
- package/dist/cli/commands/config.command.js +4 -2
- package/dist/cli/commands/config.command.js.map +1 -1
- package/dist/cli/commands/vouchers.command.js +7 -6
- package/dist/cli/commands/vouchers.command.js.map +1 -1
- package/dist/cli/error-output.d.ts +7 -0
- package/dist/cli/error-output.js +26 -0
- package/dist/cli/error-output.js.map +1 -0
- package/dist/cli/help-argv.d.ts +5 -0
- package/dist/cli/help-argv.js +21 -0
- package/dist/cli/help-argv.js.map +1 -0
- package/dist/cli/help.js +4 -3
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/index.js +14 -20
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/interactive/advanced-options.js +2 -2
- package/dist/cli/interactive/advanced-options.js.map +1 -1
- package/dist/cli/interactive/config.flow.d.ts +1 -1
- package/dist/cli/interactive/config.flow.js +53 -18
- package/dist/cli/interactive/config.flow.js.map +1 -1
- package/dist/cli/interactive/history.flow.d.ts +4 -0
- package/dist/cli/interactive/history.flow.js +22 -8
- package/dist/cli/interactive/history.flow.js.map +1 -1
- package/dist/cli/interactive/interactive-mode.js +99 -17
- package/dist/cli/interactive/interactive-mode.js.map +1 -1
- package/dist/cli/interactive/invoice-picker.d.ts +25 -0
- package/dist/cli/interactive/invoice-picker.js +153 -0
- package/dist/cli/interactive/invoice-picker.js.map +1 -0
- package/dist/cli/interactive/note.flow.d.ts +8 -2
- package/dist/cli/interactive/note.flow.js +39 -37
- package/dist/cli/interactive/note.flow.js.map +1 -1
- package/dist/cli/interactive/pdf.flow.js +33 -22
- package/dist/cli/interactive/pdf.flow.js.map +1 -1
- package/dist/cli/interactive/prompts.d.ts +36 -5
- package/dist/cli/interactive/prompts.js +185 -19
- package/dist/cli/interactive/prompts.js.map +1 -1
- package/dist/cli/interactive/repeat.flow.js +26 -17
- package/dist/cli/interactive/repeat.flow.js.map +1 -1
- package/dist/cli/interactive/status.flow.d.ts +3 -0
- package/dist/cli/interactive/status.flow.js +29 -0
- package/dist/cli/interactive/status.flow.js.map +1 -0
- package/dist/cli/interactive/update.flow.d.ts +6 -0
- package/dist/cli/interactive/update.flow.js +26 -0
- package/dist/cli/interactive/update.flow.js.map +1 -0
- package/dist/cli/interactive/validators.js +8 -4
- package/dist/cli/interactive/validators.js.map +1 -1
- package/dist/cli/option-parsers.d.ts +6 -0
- package/dist/cli/option-parsers.js +34 -0
- package/dist/cli/option-parsers.js.map +1 -0
- package/dist/cli/version.d.ts +1 -1
- package/dist/cli/version.js +1 -1
- package/dist/lib/dates/arca-date.d.ts +13 -0
- package/dist/lib/dates/arca-date.js +28 -11
- package/dist/lib/dates/arca-date.js.map +1 -1
- package/dist/lib/errors/app-error.d.ts +3 -0
- package/dist/lib/errors/app-error.js +3 -0
- package/dist/lib/errors/app-error.js.map +1 -1
- package/dist/lib/files/restrict-to-owner.d.ts +7 -0
- package/dist/lib/files/restrict-to-owner.js +19 -0
- package/dist/lib/files/restrict-to-owner.js.map +1 -0
- package/dist/lib/identity/format-cuit.d.ts +2 -0
- package/dist/lib/identity/format-cuit.js +6 -0
- package/dist/lib/identity/format-cuit.js.map +1 -0
- package/dist/lib/numbers/argentine-amount.d.ts +23 -0
- package/dist/lib/numbers/argentine-amount.js +37 -0
- package/dist/lib/numbers/argentine-amount.js.map +1 -0
- package/dist/lib/numbers/strict-integer.d.ts +4 -0
- package/dist/lib/numbers/strict-integer.js +10 -0
- package/dist/lib/numbers/strict-integer.js.map +1 -0
- package/dist/lib/security/pem.js +5 -1
- package/dist/lib/security/pem.js.map +1 -1
- package/dist/modules/billing/billing-response.js +3 -2
- package/dist/modules/billing/billing-response.js.map +1 -1
- package/dist/modules/billing/billing.amounts.d.ts +2 -0
- package/dist/modules/billing/billing.amounts.js +6 -3
- package/dist/modules/billing/billing.amounts.js.map +1 -1
- package/dist/modules/billing/billing.associated-vouchers.js +14 -3
- package/dist/modules/billing/billing.associated-vouchers.js.map +1 -1
- package/dist/modules/billing/billing.batch.js +6 -0
- package/dist/modules/billing/billing.batch.js.map +1 -1
- package/dist/modules/billing/billing.date-range.js +14 -9
- package/dist/modules/billing/billing.date-range.js.map +1 -1
- package/dist/modules/billing/billing.display.js +4 -4
- package/dist/modules/billing/billing.display.js.map +1 -1
- package/dist/modules/billing/billing.errors.d.ts +12 -0
- package/dist/modules/billing/billing.errors.js +18 -0
- package/dist/modules/billing/billing.errors.js.map +1 -0
- package/dist/modules/billing/billing.schemas.js +13 -5
- package/dist/modules/billing/billing.schemas.js.map +1 -1
- package/dist/modules/billing/billing.service.js +10 -3
- package/dist/modules/billing/billing.service.js.map +1 -1
- package/dist/modules/billing/billing.validation.js +4 -0
- package/dist/modules/billing/billing.validation.js.map +1 -1
- package/dist/modules/config/config-value-parser.d.ts +1 -1
- package/dist/modules/config/config-value-parser.js +21 -9
- package/dist/modules/config/config-value-parser.js.map +1 -1
- package/dist/modules/config/config.presenter.d.ts +4 -0
- package/dist/modules/config/config.presenter.js +57 -37
- package/dist/modules/config/config.presenter.js.map +1 -1
- package/dist/modules/config/config.schemas.d.ts +4 -2
- package/dist/modules/config/config.schemas.js +4 -0
- package/dist/modules/config/config.schemas.js.map +1 -1
- package/dist/modules/config/config.sections.d.ts +14 -0
- package/dist/modules/config/config.sections.js +61 -0
- package/dist/modules/config/config.sections.js.map +1 -0
- package/dist/modules/config/config.service.d.ts +5 -0
- package/dist/modules/config/config.service.js +30 -6
- package/dist/modules/config/config.service.js.map +1 -1
- package/dist/modules/examples/examples.js +5 -1
- package/dist/modules/examples/examples.js.map +1 -1
- package/dist/modules/interactive/amount-input.d.ts +3 -5
- package/dist/modules/interactive/amount-input.js +9 -26
- package/dist/modules/interactive/amount-input.js.map +1 -1
- package/dist/modules/interactive/config-fields.d.ts +1 -3
- package/dist/modules/interactive/config-fields.js +37 -42
- package/dist/modules/interactive/config-fields.js.map +1 -1
- package/dist/modules/interactive/equivalent-command.js +6 -8
- package/dist/modules/interactive/equivalent-command.js.map +1 -1
- package/dist/modules/interactive/invoice-copy.d.ts +19 -0
- package/dist/modules/interactive/invoice-copy.js +26 -0
- package/dist/modules/interactive/invoice-copy.js.map +1 -0
- package/dist/modules/interactive/periods.d.ts +2 -2
- package/dist/modules/interactive/periods.js +8 -4
- package/dist/modules/interactive/periods.js.map +1 -1
- package/dist/modules/parameters/health.d.ts +17 -0
- package/dist/modules/parameters/health.js +29 -0
- package/dist/modules/parameters/health.js.map +1 -0
- package/dist/modules/pdf/pdf.errors.d.ts +0 -1
- package/dist/modules/pdf/pdf.errors.js +1 -3
- package/dist/modules/pdf/pdf.errors.js.map +1 -1
- package/dist/modules/storybook/showcase.js +4 -1
- package/dist/modules/storybook/showcase.js.map +1 -1
- package/dist/modules/update-check/changelog.d.ts +23 -0
- package/dist/modules/update-check/changelog.js +99 -0
- package/dist/modules/update-check/changelog.js.map +1 -0
- package/dist/modules/update-check/update-check.presenter.d.ts +4 -0
- package/dist/modules/update-check/update-check.presenter.js +80 -2
- package/dist/modules/update-check/update-check.presenter.js.map +1 -1
- package/dist/modules/update-check/update-check.service.d.ts +3 -0
- package/dist/modules/update-check/update-check.service.js +2 -2
- package/dist/modules/update-check/update-check.service.js.map +1 -1
- package/dist/modules/vouchers/voucher-history.d.ts +9 -4
- package/dist/modules/vouchers/voucher-history.js +8 -3
- package/dist/modules/vouchers/voucher-history.js.map +1 -1
- package/dist/modules/vouchers/voucher-history.presenter.d.ts +9 -2
- package/dist/modules/vouchers/voucher-history.presenter.js +53 -15
- package/dist/modules/vouchers/voucher-history.presenter.js.map +1 -1
- package/dist/services/arca/arca-context.resolver.js +5 -0
- package/dist/services/arca/arca-context.resolver.js.map +1 -1
- package/dist/services/clipboard/clipboard.d.ts +2 -0
- package/dist/services/clipboard/clipboard.js +17 -0
- package/dist/services/clipboard/clipboard.js.map +1 -0
- package/dist/services/pdf/escape-html.d.ts +6 -0
- package/dist/services/pdf/escape-html.js +25 -0
- package/dist/services/pdf/escape-html.js.map +1 -0
- package/dist/services/pdf/pdf-exporter.js +2 -1
- package/dist/services/pdf/pdf-exporter.js.map +1 -1
- package/dist/ui/components/statusBar.d.ts +15 -2
- package/dist/ui/components/statusBar.js +18 -9
- package/dist/ui/components/statusBar.js.map +1 -1
- package/dist/ui/presenters/errors.presenter.js +5 -4
- package/dist/ui/presenters/errors.presenter.js.map +1 -1
- package/dist/ui/primitives/renderLogo.d.ts +2 -1
- package/dist/ui/primitives/renderLogo.js +21 -4
- package/dist/ui/primitives/renderLogo.js.map +1 -1
- package/dist/ui/primitives/renderPanel.d.ts +2 -0
- package/dist/ui/primitives/renderPanel.js +15 -5
- package/dist/ui/primitives/renderPanel.js.map +1 -1
- package/dist/ui/stream/terminal-stream.d.ts +6 -0
- package/dist/ui/stream/terminal-stream.js +15 -1
- package/dist/ui/stream/terminal-stream.js.map +1 -1
- package/dist/ui/theme/theme.d.ts +3 -3
- package/dist/ui/theme/theme.js +14 -3
- package/dist/ui/theme/theme.js.map +1 -1
- package/llms.txt +12 -10
- package/package.json +1 -1
- package/dist/cli/interactive/lookup.flow.d.ts +0 -5
- package/dist/cli/interactive/lookup.flow.js +0 -72
- package/dist/cli/interactive/lookup.flow.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,81 @@ El formato sigue [Keep a Changelog](https://keepachangelog.com/es-ES/1.1.0/) y e
|
|
|
8
8
|
|
|
9
9
|
## [Sin publicar]
|
|
10
10
|
|
|
11
|
+
## [2.0.0] - 2026-10-12
|
|
12
|
+
|
|
13
|
+
Versión mayor: sale de una auditoría del proyecto. Lo que rompe es cómo se escriben algunos valores en los flags:
|
|
14
|
+
|
|
15
|
+
- **Montos en formato argentino:** punto para miles y coma para decimales (`15.000`, `1.500,50`). `-m 1500.50` ahora da error; escribí `1500,50`.
|
|
16
|
+
- **Enteros solo con dígitos:** `--pv 3a` da error en vez de leerse como 3.
|
|
17
|
+
- **`--dia` no se combina con `--fecha` ni `--servicio-hasta`.**
|
|
18
|
+
- **Varias alícuotas:** la suma tiene que coincidir exacta con `--monto`.
|
|
19
|
+
- **Un error de red al emitir** sale como `EMISSION_UNCERTAIN`, no como `TRANSIENT_ERROR`/`UNEXPECTED_ERROR`.
|
|
20
|
+
|
|
21
|
+
El resto son correcciones: evitar comprobantes duplicados, fecha argentina en cualquier zona horaria, `ImpTotal` exacto, PDF escapado, archivos privados y validaciones más estrictas.
|
|
22
|
+
|
|
23
|
+
### Agregado
|
|
24
|
+
|
|
25
|
+
- **Modo interactivo, estado de ARCA en la barra:** la barra de arriba del menú ya no dice "Modo interactivo": muestra **ARCA funcionando**, **con demoras** (más de 3 segundos), **con problemas** (algún servidor no responde OK) o **sin respuesta**, en color, seguido del entorno (`TESTING` en naranja, `PRODUCCION` en celeste). A la izquierda, la razón social del emisor (o el CUIT, si no está configurada) y el punto de venta.
|
|
26
|
+
- **Versión debajo del logo** (`v1.8.0 | LcsGrz`), en el modo interactivo y en la ayuda.
|
|
27
|
+
- **Mismo ancho para todo:** las cajas de la salida en texto, la barra de estado y el logo (ahora centrado) ocupan 92 columnas, o menos si la terminal es más angosta. Antes cada caja medía distinto según su contenido. Los comprobantes (vista previa, resultado de la emisión y `consultar`) mantienen su ancho de ticket, de 68 a 80 columnas, y van centrados. El JSON no cambia.
|
|
28
|
+
- **Modo interactivo, listas de comprobantes:** las filas ocupan todo el ancho de la línea punteada que las enmarca.
|
|
29
|
+
- **Modo interactivo, actualizar:** si hay una versión nueva, la primera opción del menú es **Actualizar a la versión X.Y.Z**. Muestra tu versión, la nueva y sus novedades, y con **Cerrar para actualizar** copia `npm install -g arcli@latest` al portapapeles y cierra el asistente para que lo ejecutes. En el modo interactivo el aviso de nueva versión ya no aparece al salir.
|
|
30
|
+
|
|
31
|
+
### Cambiado
|
|
32
|
+
|
|
33
|
+
- **Enteros estrictos, y es un cambio que rompe:** `--pv`, `--punto-venta`, `--ar`, `--apv`, `--at`, `--dia` y `--cantidad` aceptan solo dígitos; antes `--pv 3a` se leía como 3. `--cuit`, `--cuil` y `--dni` aceptan además guiones y puntos (`20-11111111-2`), como el modo interactivo; antes `--cuit 20111111112xyz` pasaba.
|
|
34
|
+
- **`--dia` con `--fecha` o `--servicio-hasta` da error:** antes `--dia` se ignoraba sin aviso.
|
|
35
|
+
- **Montos del JSON con 2 decimales como máximo** (la cotización, 6), igual que los flags.
|
|
36
|
+
- **Varias alícuotas: la suma tiene que coincidir exacta** con `--monto`; antes se aceptaba un centavo de diferencia, y el `ImpTotal` enviado podía no coincidir con la suma de sus partes.
|
|
37
|
+
- **Montos en formato argentino, y es un cambio que rompe:** `--monto`, `--exento`, `--nogravado`, `--cotizacion-moneda`/`--cm`, el monto de `--alicuota TASA:MONTO` y `config establecer cotizacion` usan punto para miles y coma para decimales. `15.000` es quince mil y `1.500,50` es mil quinientos con cincuenta. Antes `-m 15.000` se leía como 15 y `-m 1500,50` como 1500, sin aviso. Ahora `1500.50` da error ("use coma para los decimales"), igual que el texto sobrante (`12abc`) y más de 2 decimales (la cotización acepta hasta 6). El JSON de `--cargar` no cambia: ahí los montos son números.
|
|
38
|
+
- **Modo interactivo:** los montos siguen la misma regla. `1500.50` ya no se acepta y más de 2 decimales da error en lugar de redondearse en silencio. El comando equivalente que muestra al final escribe los montos con coma.
|
|
39
|
+
|
|
40
|
+
### Corregido
|
|
41
|
+
|
|
42
|
+
- **Modo interactivo, notas y repetir factura copian más de la original:**
|
|
43
|
+
- Una NC o ND sobre una factura en dólares va en dólares, con la cotización de la factura; antes salía en pesos.
|
|
44
|
+
- "Anular el total" copia también exento y no gravado.
|
|
45
|
+
- "Repetir factura" copia exento y no gravado.
|
|
46
|
+
- Si la factura tiene varias alícuotas o tributos, ARCA no devuelve el detalle para reproducirla. En ese caso se avisa, no se ofrece "anular el total" ni "mismo monto", y se pide elegir la alícuota.
|
|
47
|
+
- **Salida de terminal sin secuencias de control:** observaciones de ARCA, datos del JSON o errores de npm ya no pueden mover el cursor, borrar la pantalla, pisar una línea ni meter hipervínculos. Solo pasan colores, saltos de línea y tabs. `--json` no cambia.
|
|
48
|
+
- **Rutas absolutas en la config:** `cert.*`, `key.*` y `ticketPath` se guardan resueltas, como `pdfCarpeta`. Antes una ruta relativa dependía de la carpeta desde donde se corría ARCLI.
|
|
49
|
+
- **Clave privada cifrada:** `config establecer key.*` la rechaza con un mensaje claro y cómo descifrarla. Antes se aceptaba y fallaba recién al hablar con ARCA.
|
|
50
|
+
- **PDF: textos escapados.** La plantilla de `@arcasdk/pdf` no escapa HTML y Chromium la renderiza con JavaScript: una razón social o descripción con `<script>` (por ejemplo, de un JSON de terceros) se ejecutaba, y un `&` legítimo se veía mal. Ahora todos los textos se escapan antes de generar el PDF.
|
|
51
|
+
- **Tickets de ARCA y config solo para tu usuario:** ARCLI crea sus archivos con permisos `0600`/`0700` (umask `077`), incluidos los tickets que escribe el SDK, y deja en `0700` la carpeta de config y la de tickets que ya existían. Antes quedaban `0644`/`0755`, y en Linux otro usuario del equipo podía leer un ticket y usarlo para emitir durante su validez. Los PDFs nuevos también quedan solo para tu usuario.
|
|
52
|
+
- **`config establecer` ya no guarda valores inválidos:** antes `config establecer cuit abc` lo guardaba igual y dejaba el CLI inutilizable, incluso `config eliminar`. Ahora se valida antes de guardar, y una config que ya estaba rota se arregla con `config establecer` o `config eliminar` de la clave que falla.
|
|
53
|
+
- **Fecha argentina siempre:** en un equipo con otra zona horaria (por ejemplo un servidor en UTC), entre las 21 y las 24 h la fecha del comprobante salía con el día siguiente. Ahora "hoy" es siempre el día en Argentina.
|
|
54
|
+
- **`ImpTotal` exacto:** se calcula como la suma de no gravado, exento, neto e IVA con aritmética decimal. Con varias alícuotas, el total ya no sale como `300.29999999999995`.
|
|
55
|
+
- **`--at` se valida como `--ac`:** una NC A ya no puede asociar una factura B por código; si `tipo` y `atajo` vienen juntos tienen que coincidir.
|
|
56
|
+
- **`ayuda` como valor de un flag** (`--descripcion ayuda`) ya no abre la ayuda.
|
|
57
|
+
- **Emisión sin confirmar:** si falla la llamada que emite en ARCA (red, timeout, transacción activa), el error ahora es `EMISSION_UNCERTAIN` y avisa que el comprobante puede haberse emitido igual, con el `arcli ultimos <tipo> --pv <n>` para verificarlo antes de reintentar. Antes salía como `TRANSIENT_ERROR` o `UNEXPECTED_ERROR` y sugería reintentar, lo que podía duplicarlo. En un lote, `BATCH_EMISSION_ERROR` suma `detalles.sinConfirmar`.
|
|
58
|
+
- **Ctrl+C en las preguntas del PDF**, que llegan después de emitir: el modo interactivo decía "Cancelado. No se emitio nada." aunque el comprobante ya estaba emitido, y el comando terminaba en "Error inesperado" con exit 1. Ahora se toma como "no generar el PDF" y se avisa que el comprobante quedó emitido.
|
|
59
|
+
- **Un flag escrito siempre gana:** `--previsualizar` ya no choca con `emitir=true` en la config o `"emitir": true` en el JSON, y `--emitir` gana a `"previsualizar": true`. Lo mismo con `--alicuota TASA` sobre las `alicuotas` del JSON, `--cm` sobre `"mismaMoneda"` y `--misma-moneda` sobre `"cotizacionMoneda"`. El error de "ambos a la vez" queda solo si los dos vienen del mismo lugar.
|
|
60
|
+
- **Errores en JSON con `json=true` en la config:** antes solo salían en JSON con el flag `--json`.
|
|
61
|
+
- **`cae` y `caeVencimiento` son `null` en un comprobante rechazado**, como dice la documentación; antes venían como `""`.
|
|
62
|
+
- Los errores con sugerencia la incluyen en `sugerencia` también en JSON (antes solo los del PDF).
|
|
63
|
+
- **Documentación de la emisión en producción:** decía que emitir en producción exige `--produccion --emitir`. En realidad el entorno sale de `config.entorno` y la emisión de `config.emitir` cuando no pasás flags: con `entorno produccion` y `emitir true` se emite en producción sin flags. El comportamiento no cambió; se corrigieron SECURITY.md, README, `llms.txt`, la ayuda y los docs.
|
|
64
|
+
|
|
65
|
+
## [1.8.0] - 2026-10-09
|
|
66
|
+
|
|
67
|
+
Suma la clave `comprobantesPorLista` y sube a 15 el default de `arcli ultimos`; el resto son cambios del modo interactivo. Ningún flag ni formato JSON cambia.
|
|
68
|
+
|
|
69
|
+
### Agregado
|
|
70
|
+
|
|
71
|
+
- **Modo interactivo, elegir factura:** en notas de crédito/débito, en "Repetir factura" y en "Consultar comprobantes", la lista ahora muestra los últimos 15, con el formato de `arcli ultimos`, y tiene **Cargar más…** para traer los anteriores e **Ingresar el número a mano…**, que pide punto de venta y número. Así se puede hacer una nota sobre una factura vieja o emitida desde otro punto de venta.
|
|
72
|
+
- **Nueva clave de config `comprobantesPorLista`** (1 a 50, por defecto 15): cuántos comprobantes muestran `arcli ultimos` y las listas del modo interactivo. `arcli config establecer comprobantesPorLista 25`.
|
|
73
|
+
|
|
74
|
+
### Cambiado
|
|
75
|
+
|
|
76
|
+
- **`arcli ultimos` muestra 15 comprobantes por defecto** (antes 10), o los de `config.comprobantesPorLista`. `--cantidad` sigue mandando. Si un script dependía de que vinieran 10, agregá `--cantidad 10`.
|
|
77
|
+
- **Modo interactivo:** "Nota de crédito o débito sobre una factura" se separó en **Emitir nota de crédito** y **Emitir nota de débito**, así el flujo ya no pregunta cuál.
|
|
78
|
+
- **Modo interactivo:** "Ver últimos comprobantes" y "Consultar un comprobante" se unificaron en **Consultar comprobantes**: elegís el tipo, la lista muestra los últimos y al elegir uno ves el detalle y volvés a la lista.
|
|
79
|
+
- **Modo interactivo:** **Esc** vuelve al paso anterior, en listas y en preguntas de texto (antes había que escribir `<`, que sigue funcionando). La pregunta abandonada no queda en pantalla. La ayuda de teclas de las listas pasó a castellano.
|
|
80
|
+
- **`arcli config` por secciones:** cuenta, certificados, al facturar, FCE, datos del emisor, PDF, y salida y listados. Cambia solo la salida en texto; `arcli config --json` queda igual.
|
|
81
|
+
- **Modo interactivo, configuración:** nueva opción **Ver configuración**. "Cambiar un dato" pasó a llamarse **Modificar configuración**: usa las mismas secciones que `arcli config`, suma moneda, cotización y carpeta de tickets, y vuelve a la lista después de cada cambio.
|
|
82
|
+
- **Docs:** GIF del modo interactivo regrabado y uno nuevo de "Consultar comprobantes" en la guía del modo interactivo. `scripts/demo/record.sh` acepta los guiones a grabar. README con el logo en alta resolución y los chips centrados.
|
|
83
|
+
- **Modo interactivo:** Esc en el menú principal cierra el asistente. Más aire entre preguntas: dos líneas arriba de la activa, una debajo de la pregunta y otra entre la descripción y la ayuda de teclas.
|
|
84
|
+
- **Modo interactivo:** la pregunta activa tiene una línea en blanco arriba, así se distingue de las ya respondidas, que quedan juntas. "← Volver" queda separado de las opciones por una línea en blanco.
|
|
85
|
+
|
|
11
86
|
## [1.7.1] - 2026-10-06
|
|
12
87
|
|
|
13
88
|
Versión de documentación. No cambia ningún comando, flag, clave de config ni JSON.
|
|
@@ -210,7 +285,9 @@ Primera versión publicada en npm.
|
|
|
210
285
|
- `llms.txt`: referencia condensada para que un agente de IA con acceso a terminal ejecute el CLI.
|
|
211
286
|
- Publicación con npm Trusted Publishers (OIDC).
|
|
212
287
|
|
|
213
|
-
[Sin publicar]: https://github.com/LcsGrz/arcli/compare/
|
|
288
|
+
[Sin publicar]: https://github.com/LcsGrz/arcli/compare/v2.0.0...HEAD
|
|
289
|
+
[2.0.0]: https://github.com/LcsGrz/arcli/compare/v1.8.0...v2.0.0
|
|
290
|
+
[1.8.0]: https://github.com/LcsGrz/arcli/compare/v1.7.1...v1.8.0
|
|
214
291
|
[1.7.1]: https://github.com/LcsGrz/arcli/compare/v1.7.0...v1.7.1
|
|
215
292
|
[1.7.0]: https://github.com/LcsGrz/arcli/compare/v1.6.0...v1.7.0
|
|
216
293
|
[1.6.0]: https://github.com/LcsGrz/arcli/compare/v1.5.0...v1.6.0
|
package/README.md
CHANGED
|
@@ -1,19 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
d88P888 888 888 888 888 888 888
|
|
11
|
-
d88P 888 888 d88P 888 888 888
|
|
12
|
-
d88P 888 8888888P" 888 888 888
|
|
13
|
-
d88P 888 888 T88b 888 888 888 888
|
|
14
|
-
d8888888888 888 T88b Y88b d88P 888 888
|
|
15
|
-
d88P 888 888 T88b "Y8888P" 88888888 8888888
|
|
16
|
-
```
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://raw.githubusercontent.com/LcsGrz/arcli/main/docs/assets/imagenes/arcliChip.png" alt="ARCLI" width="560">
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<p align="center">
|
|
6
|
+
<a href="https://www.npmjs.com/package/arcli"><img src="https://img.shields.io/npm/v/arcli.svg" alt="npm version"></a>
|
|
7
|
+
<a href="https://github.com/LcsGrz/arcli/actions/workflows/ci.yml"><img src="https://github.com/LcsGrz/arcli/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
|
|
8
|
+
<a href="https://github.com/LcsGrz/arcli/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/arcli.svg" alt="license: MIT"></a>
|
|
9
|
+
</p>
|
|
17
10
|
|
|
18
11
|
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.
|
|
19
12
|
|
|
@@ -22,7 +15,7 @@ CLI para previsualizar y emitir comprobantes electrónicos de ARCA (ex AFIP) des
|
|
|
22
15
|
## Características
|
|
23
16
|
|
|
24
17
|
- **Modo interactivo:** `arcli` sin 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.
|
|
25
|
-
- **Vista previa por defecto:**
|
|
18
|
+
- **Vista previa por defecto:** sin `--emitir`, muestra la solicitud y, en una terminal, pregunta antes de emitir.
|
|
26
19
|
- **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), con CBU, transferencia, anulación y consulta del régimen del receptor.
|
|
27
20
|
- **Entrada y salida flexibles:** flags o JSON (incluso lotes); salida legible, `--json` o respuesta bruta de ARCA.
|
|
28
21
|
- **Validaciones locales** basadas en el manual de ARCA, para detectar errores antes de llamar al servicio.
|
|
@@ -70,7 +63,7 @@ La prioridad de los valores es `flags > JSON > config > defaults`. Ver el [model
|
|
|
70
63
|
|
|
71
64
|
### Testing y producción
|
|
72
65
|
|
|
73
|
-
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
|
|
66
|
+
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.
|
|
74
67
|
|
|
75
68
|
## Documentación
|
|
76
69
|
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { Option } from 'commander';
|
|
2
|
+
import { EXCHANGE_RATE_DECIMALS } from '../../lib/numbers/argentine-amount.js';
|
|
3
|
+
import { amountOption, documentNumberOption, integerOption } from '../option-parsers.js';
|
|
2
4
|
export function registerBillingOptions(command) {
|
|
3
5
|
command
|
|
4
|
-
.option('-m, --monto <number>', 'importe total del comprobante',
|
|
6
|
+
.option('-m, --monto <number>', 'importe total del comprobante, por ejemplo 15000 o 1.500,50', amountOption('--monto'))
|
|
5
7
|
.option('--alicuota <tasa>', 'alicuota de IVA para A y B: general (21), reducida (10.5), incrementada (27), cero (0), 5 o 2.5. Repetible como TASA:MONTO para varias alicuotas', (value, previous) => [...(previous ?? []), value])
|
|
6
|
-
.option('--exento <number>', 'parte exenta del monto total (A y B)',
|
|
8
|
+
.option('--exento <number>', 'parte exenta del monto total (A y B)', amountOption('--exento'))
|
|
7
9
|
// No puede llamarse --no-gravado: commander interpreta --no-* como negacion de un flag booleano.
|
|
8
|
-
.option('--nogravado <number>', 'parte no gravada del monto total (A y B)',
|
|
9
|
-
.option('-d, --dia <number>', 'dia de vencimiento o referencia del servicio', (
|
|
10
|
-
.option('--punto-venta <number>', 'punto de venta', (
|
|
11
|
-
.option('--pv <number>', 'alias de punto de venta', (
|
|
10
|
+
.option('--nogravado <number>', 'parte no gravada del monto total (A y B)', amountOption('--nogravado'))
|
|
11
|
+
.option('-d, --dia <number>', 'dia de vencimiento o referencia del servicio', integerOption('--dia'))
|
|
12
|
+
.option('--punto-venta <number>', 'punto de venta', integerOption('--punto-venta'))
|
|
13
|
+
.option('--pv <number>', 'alias de punto de venta', integerOption('--pv'))
|
|
12
14
|
.option('--cargar <path>', 'cargar datos base desde un archivo JSON')
|
|
13
15
|
.option('-f, --fecha <fecha>', 'fecha del comprobante; acepta D, D/M, D/M/YY o D/M/YYYY con - o /')
|
|
14
16
|
.option('-c, --concepto <tipo>', 'productos, servicios o productos y servicios (alias: cs, cp, csp)')
|
|
@@ -17,12 +19,12 @@ export function registerBillingOptions(command) {
|
|
|
17
19
|
.option('--csp', 'usar concepto productos y servicios')
|
|
18
20
|
.option('--moneda <codigo>', 'codigo de moneda, por ejemplo ARS o USD')
|
|
19
21
|
.option('--mda <codigo>', 'alias de moneda, por ejemplo ARS o USD')
|
|
20
|
-
.option('--cm <number>', 'alias de cotizacion de la moneda',
|
|
21
|
-
.option('--cotizacion-moneda <number>', 'cotizacion de la moneda',
|
|
22
|
+
.option('--cm <number>', 'alias de cotizacion de la moneda', amountOption('--cm', EXCHANGE_RATE_DECIMALS))
|
|
23
|
+
.option('--cotizacion-moneda <number>', 'cotizacion de la moneda, por ejemplo 1.452,50', amountOption('--cotizacion-moneda', EXCHANGE_RATE_DECIMALS))
|
|
22
24
|
.option('--misma-moneda', 'el pago se cancela en la misma moneda extranjera; usa la cotizacion oficial de ARCA')
|
|
23
|
-
.option('--cuit <number>', 'usar CUIT del receptor', (
|
|
24
|
-
.option('--cuil <number>', 'usar CUIL del receptor', (
|
|
25
|
-
.option('--dni <number>', 'usar DNI del receptor', (
|
|
25
|
+
.option('--cuit <number>', 'usar CUIT del receptor', documentNumberOption('--cuit'))
|
|
26
|
+
.option('--cuil <number>', 'usar CUIL del receptor', documentNumberOption('--cuil'))
|
|
27
|
+
.option('--dni <number>', 'usar DNI del receptor', documentNumberOption('--dni'))
|
|
26
28
|
.option('--consumidor-final', 'usar consumidor final con documento 0')
|
|
27
29
|
.option('--cfinal', 'alias de consumidor final con documento 0')
|
|
28
30
|
.option('--iva-receptor <tipo>', 'condicion IVA del receptor')
|
|
@@ -44,10 +46,10 @@ export function registerBillingOptions(command) {
|
|
|
44
46
|
.option('--servicio-hasta <fecha>', 'fecha de fin de servicio')
|
|
45
47
|
.option('--vencimiento <fecha>', 'fecha de vencimiento del pago; por defecto el fin del servicio')
|
|
46
48
|
.option('--vto <fecha>', 'alias de fecha de vencimiento del pago')
|
|
47
|
-
.option('--at <number>', 'tipo ARCA del comprobante asociado', (
|
|
48
|
-
.option('--apv <number>', 'punto de venta del comprobante asociado', (
|
|
49
|
-
.option('--asociado-punto-venta <number>', 'punto de venta del comprobante asociado', (
|
|
50
|
-
.option('--ar <number>', 'numero del comprobante asociado', (
|
|
49
|
+
.option('--at <number>', 'tipo ARCA del comprobante asociado', integerOption('--at'))
|
|
50
|
+
.option('--apv <number>', 'punto de venta del comprobante asociado', integerOption('--apv'))
|
|
51
|
+
.option('--asociado-punto-venta <number>', 'punto de venta del comprobante asociado', integerOption('--asociado-punto-venta'))
|
|
52
|
+
.option('--ar <number>', 'numero del comprobante asociado', integerOption('--ar'))
|
|
51
53
|
.option('--ac <shortcut>', 'atajo del comprobante asociado, por ejemplo fc o fa')
|
|
52
54
|
.option('--acuit <number>', 'CUIT del comprobante asociado; en NC/ND FCE por defecto el CUIT emisor')
|
|
53
55
|
.option('--periodo-desde <fecha>', 'inicio del periodo asociado; alternativa a --ac en notas comunes')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.command.options.js","sourceRoot":"","sources":["../../../src/cli/commands/billing.command.options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,OAAO;SACJ,MAAM,
|
|
1
|
+
{"version":3,"file":"billing.command.options.js","sourceRoot":"","sources":["../../../src/cli/commands/billing.command.options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEtF,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,OAAO;SACJ,MAAM,CACL,sBAAsB,EACtB,6DAA6D,EAC7D,YAAY,CAAC,SAAS,CAAC,CACxB;SACA,MAAM,CACL,mBAAmB,EACnB,kJAAkJ,EAClJ,CAAC,KAAa,EAAE,QAA8B,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAChF;SACA,MAAM,CAAC,mBAAmB,EAAE,sCAAsC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;QAC9F,iGAAiG;SAChG,MAAM,CAAC,sBAAsB,EAAE,0CAA0C,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;SACvG,MAAM,CAAC,oBAAoB,EAAE,8CAA8C,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;SACpG,MAAM,CAAC,wBAAwB,EAAE,gBAAgB,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;SAClF,MAAM,CAAC,eAAe,EAAE,yBAAyB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;SACzE,MAAM,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;SACpE,MAAM,CAAC,qBAAqB,EAAE,mEAAmE,CAAC;SAClG,MAAM,CAAC,uBAAuB,EAAE,mEAAmE,CAAC;SACpG,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC;SACzC,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC;SACzC,MAAM,CAAC,OAAO,EAAE,qCAAqC,CAAC;SACtD,MAAM,CAAC,mBAAmB,EAAE,yCAAyC,CAAC;SACtE,MAAM,CAAC,gBAAgB,EAAE,wCAAwC,CAAC;SAClE,MAAM,CAAC,eAAe,EAAE,kCAAkC,EAAE,YAAY,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;SACzG,MAAM,CACL,8BAA8B,EAC9B,+CAA+C,EAC/C,YAAY,CAAC,qBAAqB,EAAE,sBAAsB,CAAC,CAC5D;SACA,MAAM,CAAC,gBAAgB,EAAE,qFAAqF,CAAC;SAC/G,MAAM,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;SACnF,MAAM,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;SACnF,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;SAChF,MAAM,CAAC,oBAAoB,EAAE,uCAAuC,CAAC;SACrE,MAAM,CAAC,UAAU,EAAE,2CAA2C,CAAC;SAC/D,MAAM,CAAC,uBAAuB,EAAE,4BAA4B,CAAC;SAC7D,MAAM,CAAC,aAAa,EAAE,4CAA4C,CAAC;SACnE,MAAM,CAAC,SAAS,EAAE,oCAAoC,CAAC;SACvD,MAAM,CAAC,SAAS,EAAE,gCAAgC,CAAC;SACnD,MAAM,CAAC,SAAS,EAAE,4BAA4B,CAAC;SAC/C,MAAM,CAAC,UAAU,EAAE,gCAAgC,CAAC;SACpD,MAAM,CAAC,SAAS,EAAE,qCAAqC,CAAC;SACxD,MAAM,CAAC,WAAW,EAAE,8DAA8D,CAAC;SACnF,MAAM,CAAC,SAAS,EAAE,sCAAsC,CAAC;SACzD,MAAM,CAAC,SAAS,EAAE,qCAAqC,CAAC;SACxD,MAAM,CAAC,SAAS,EAAE,uCAAuC,CAAC;SAC1D,MAAM,CAAC,SAAS,EAAE,6BAA6B,CAAC;SAChD,MAAM,CAAC,UAAU,EAAE,sCAAsC,CAAC;SAC1D,MAAM,CAAC,cAAc,EAAE,6CAA6C,CAAC;SACrE,MAAM,CAAC,0BAA0B,EAAE,6BAA6B,CAAC;SACjE,MAAM,CAAC,cAAc,EAAE,0CAA0C,CAAC;SAClE,MAAM,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;SAC9D,MAAM,CAAC,uBAAuB,EAAE,gEAAgE,CAAC;SACjG,MAAM,CAAC,eAAe,EAAE,wCAAwC,CAAC;SACjE,MAAM,CAAC,eAAe,EAAE,oCAAoC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;SACpF,MAAM,CAAC,gBAAgB,EAAE,yCAAyC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;SAC3F,MAAM,CACL,iCAAiC,EACjC,yCAAyC,EACzC,aAAa,CAAC,wBAAwB,CAAC,CACxC;SACA,MAAM,CAAC,eAAe,EAAE,iCAAiC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;SACjF,MAAM,CAAC,iBAAiB,EAAE,qDAAqD,CAAC;SAChF,MAAM,CAAC,kBAAkB,EAAE,wEAAwE,CAAC;SACpG,MAAM,CAAC,yBAAyB,EAAE,kEAAkE,CAAC;SACrG,MAAM,CAAC,cAAc,EAAE,sCAAsC,CAAC;SAC9D,MAAM,CAAC,yBAAyB,EAAE,+DAA+D,CAAC;SAClG,MAAM,CAAC,cAAc,EAAE,mCAAmC,CAAC;SAC3D,MAAM,CAAC,kBAAkB,EAAE,0DAA0D,CAAC;SACtF,MAAM,CAAC,aAAa,EAAE,+CAA+C,CAAC;SACtE,MAAM,CAAC,iBAAiB,EAAE,4CAA4C,CAAC;SACvE,MAAM,CAAC,6BAA6B,EAAE,6DAA6D,CAAC;SACpG,MAAM,CAAC,aAAa,EAAE,6EAA6E,CAAC;SACpG,MAAM,CAAC,gBAAgB,EAAE,yEAAyE,CAAC;SACnG,MAAM,CAAC,OAAO,EAAE,yBAAyB,CAAC;SAC1C,MAAM,CAAC,WAAW,EAAE,oDAAoD,CAAC;SACzE,MAAM,CAAC,uBAAuB,EAAE,gEAAgE,CAAC;SACjG,MAAM,CAAC,2BAA2B,EAAE,8CAA8C,CAAC;SACnF,MAAM,CAAC,8BAA8B,EAAE,kCAAkC,CAAC;SAC1E,MAAM,CAAC,iBAAiB,EAAE,4CAA4C,CAAC;SACvE,SAAS,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,0BAA0B,CAAC,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import Big from 'big.js';
|
|
1
2
|
import { InputValidationError } from '../../lib/errors/app-error.js';
|
|
2
3
|
import { readJsonFile } from '../../lib/files/read-json-file.js';
|
|
4
|
+
import { parseArgentineAmount } from '../../lib/numbers/argentine-amount.js';
|
|
3
5
|
import { BatchValidationError, describeBatchItemError } from '../../modules/billing/billing.batch.js';
|
|
4
6
|
import { isForeignCurrency } from '../../modules/billing/billing.currency.js';
|
|
5
7
|
import { billingCommandSchema } from '../../modules/billing/billing.schemas.js';
|
|
@@ -12,10 +14,12 @@ function pickString(...values) {
|
|
|
12
14
|
function pickNumber(...values) {
|
|
13
15
|
return values.find((value) => typeof value === 'number');
|
|
14
16
|
}
|
|
15
|
-
function
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
function parseRateAmount(flagValue, raw) {
|
|
18
|
+
const result = parseArgentineAmount(raw);
|
|
19
|
+
if (!result.ok) {
|
|
20
|
+
throw new InputValidationError(`--alicuota "${flagValue}": el monto no es valido: ${result.reason}.`);
|
|
21
|
+
}
|
|
22
|
+
return result.value;
|
|
19
23
|
}
|
|
20
24
|
/**
|
|
21
25
|
* `--alicuota` acepta una tasa sola ("reducida", "10.5") o, repetido, pares TASA:MONTO con el importe
|
|
@@ -28,7 +32,7 @@ function parseIvaRateFlags(values) {
|
|
|
28
32
|
const withAmount = values.filter((value) => value.includes(':'));
|
|
29
33
|
if (withAmount.length === 0) {
|
|
30
34
|
if (values.length > 1) {
|
|
31
|
-
throw new InputValidationError('Para varias alicuotas use --alicuota TASA:MONTO en cada una, por ejemplo --alicuota general:1210 --alicuota reducida:552
|
|
35
|
+
throw new InputValidationError('Para varias alicuotas use --alicuota TASA:MONTO en cada una, por ejemplo --alicuota general:1210 --alicuota reducida:552,50.');
|
|
32
36
|
}
|
|
33
37
|
return { ivaRate: values[0] };
|
|
34
38
|
}
|
|
@@ -38,10 +42,41 @@ function parseIvaRateFlags(values) {
|
|
|
38
42
|
return {
|
|
39
43
|
ivaRateAmounts: values.map((value) => {
|
|
40
44
|
const separator = value.indexOf(':');
|
|
41
|
-
return { amount:
|
|
45
|
+
return { amount: parseRateAmount(value, value.slice(separator + 1)), rate: value.slice(0, separator) };
|
|
42
46
|
}),
|
|
43
47
|
};
|
|
44
48
|
}
|
|
49
|
+
/** Total de un comprobante con varias alicuotas, sumado con Big: 100.1 + 200.2 da 300.3, no 300.29999999999995. */
|
|
50
|
+
function sumRateAmounts(rateAmounts, exemptAmount, untaxedAmount) {
|
|
51
|
+
return rateAmounts
|
|
52
|
+
.reduce((sum, item) => sum.plus(typeof item.amount === 'number' ? item.amount : 0), new Big(0))
|
|
53
|
+
.plus(exemptAmount ?? 0)
|
|
54
|
+
.plus(untaxedAmount ?? 0)
|
|
55
|
+
.toNumber();
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Emitir o no, por nivel: lo escrito en el comando, despues el archivo y por ultimo la config.
|
|
59
|
+
* El primer nivel que diga algo decide; solo es error que un mismo nivel pida las dos cosas.
|
|
60
|
+
*/
|
|
61
|
+
function resolveShouldEmit(options) {
|
|
62
|
+
if (options.cliEmit && options.cliPreview) {
|
|
63
|
+
throw new InputValidationError('Use --emitir o --previsualizar, pero no ambos a la vez.');
|
|
64
|
+
}
|
|
65
|
+
if (options.cliEmit !== undefined || options.cliPreview !== undefined) {
|
|
66
|
+
return options.cliEmit === true;
|
|
67
|
+
}
|
|
68
|
+
if (options.fileEmit === true && options.filePreview === true) {
|
|
69
|
+
throw new InputValidationError('En el archivo use "emitir" o "previsualizar", pero no ambos en true.');
|
|
70
|
+
}
|
|
71
|
+
if (typeof options.fileEmit === 'boolean') {
|
|
72
|
+
return options.fileEmit;
|
|
73
|
+
}
|
|
74
|
+
// "previsualizar": false no es lo mismo que "emitir": true; sin "emitir" decide la config.
|
|
75
|
+
if (options.filePreview === true) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
return Boolean(options.defaultEmit);
|
|
79
|
+
}
|
|
45
80
|
function resolvePdfFlag(commandOptions, fileInput) {
|
|
46
81
|
const exportPdf = commandOptions.exportarPdf === true || commandOptions.pdf === true;
|
|
47
82
|
if (exportPdf && commandOptions.sinPdf === true) {
|
|
@@ -82,16 +117,13 @@ function parseBillingCommandInputFromSource(command, shortcut, fileInput, defaul
|
|
|
82
117
|
: typeof fileInput?.emitir === 'boolean' || typeof fileInput?.previsualizar === 'boolean'
|
|
83
118
|
? 'file'
|
|
84
119
|
: 'default';
|
|
85
|
-
const shouldEmit =
|
|
86
|
-
?
|
|
87
|
-
:
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
: typeof fileInput?.previsualizar === 'boolean'
|
|
93
|
-
? fileInput.previsualizar
|
|
94
|
-
: !shouldEmit;
|
|
120
|
+
const shouldEmit = resolveShouldEmit({
|
|
121
|
+
cliEmit: emitirSource === 'cli' ? commandOptions.emitir === true : undefined,
|
|
122
|
+
cliPreview: previsualizarSource === 'cli' ? commandOptions.previsualizar === true : undefined,
|
|
123
|
+
defaultEmit: defaults.defaultEmit,
|
|
124
|
+
fileEmit: fileInput?.emitir,
|
|
125
|
+
filePreview: fileInput?.previsualizar,
|
|
126
|
+
});
|
|
95
127
|
const conceptShortcut = resolveConceptShortcut(commandOptions);
|
|
96
128
|
const documentIdentity = resolveDocumentIdentity(commandOptions);
|
|
97
129
|
const ivaShortcut = resolveIvaShortcut(commandOptions);
|
|
@@ -109,9 +141,6 @@ function parseBillingCommandInputFromSource(command, shortcut, fileInput, defaul
|
|
|
109
141
|
if ((typeof commandOptions.ivaReceptor === 'string' || typeof commandOptions.ir === 'string') && ivaShortcut) {
|
|
110
142
|
throw new InputValidationError('Use --iva-receptor, --ir o un flag corto --ir-*, pero no varios a la vez.');
|
|
111
143
|
}
|
|
112
|
-
if (shouldEmit && shouldDryRun) {
|
|
113
|
-
throw new InputValidationError('Use --emitir o --previsualizar, pero no ambos a la vez.');
|
|
114
|
-
}
|
|
115
144
|
if (!resolvedConcept) {
|
|
116
145
|
throw new InputValidationError('Falta el concepto. Use --concepto <tipo>, o bien --cs/--cp/--csp, o configure uno por defecto con "arcli config establecer concepto servicios".');
|
|
117
146
|
}
|
|
@@ -129,8 +158,11 @@ function parseBillingCommandInputFromSource(command, shortcut, fileInput, defaul
|
|
|
129
158
|
}
|
|
130
159
|
: undefined;
|
|
131
160
|
const currencyCode = pickString(commandOptions.moneda, commandOptions.mda, fileInput?.codigoMoneda, defaults.defaultCurrencyCode);
|
|
132
|
-
|
|
133
|
-
const
|
|
161
|
+
// Un flag pisa lo del archivo: --cm descarta "mismaMoneda" del JSON y --misma-moneda, su "cotizacionMoneda".
|
|
162
|
+
const flagExchangeRate = pickNumber(commandOptions.cotizacionMoneda, commandOptions.cm);
|
|
163
|
+
const flagSameCurrency = commandOptions.mismaMoneda === true;
|
|
164
|
+
const sameCurrency = flagSameCurrency || (flagExchangeRate === undefined && fileInput?.mismaMoneda === true);
|
|
165
|
+
const explicitExchangeRate = flagExchangeRate ?? (flagSameCurrency ? undefined : fileInput?.cotizacionMoneda);
|
|
134
166
|
if (sameCurrency && typeof explicitExchangeRate === 'number') {
|
|
135
167
|
throw new InputValidationError('Con --misma-moneda la cotizacion se toma de ARCA. Quite --cotizacion-moneda o --cm.');
|
|
136
168
|
}
|
|
@@ -147,16 +179,13 @@ function parseBillingCommandInputFromSource(command, shortcut, fileInput, defaul
|
|
|
147
179
|
const associatedPeriod = periodFrom || periodTo ? { desde: periodFrom, hasta: periodTo } : fileInput?.periodoAsociado;
|
|
148
180
|
const flagRates = parseIvaRateFlags(commandOptions.alicuota);
|
|
149
181
|
const fileRateAmounts = fileInput?.alicuotas?.map((item) => ({ amount: item.monto, rate: item.tasa }));
|
|
150
|
-
|
|
182
|
+
// --alicuota TASA tambien pisa las "alicuotas" del archivo.
|
|
183
|
+
const ivaRateAmounts = flagRates.ivaRateAmounts ?? (flagRates.ivaRate ? undefined : fileRateAmounts);
|
|
151
184
|
const exemptAmount = pickNumber(commandOptions.exento, fileInput?.importeExento);
|
|
152
185
|
const untaxedAmount = pickNumber(commandOptions.nogravado, fileInput?.importeNoGravado);
|
|
153
186
|
// Con varias alicuotas el monto total se puede omitir: es la suma de cada una mas exento y no gravado.
|
|
154
187
|
const totalAmount = pickNumber(commandOptions.monto, fileInput?.montoTotal) ??
|
|
155
|
-
(ivaRateAmounts
|
|
156
|
-
? ivaRateAmounts.reduce((sum, item) => sum + (typeof item.amount === 'number' ? item.amount : 0), 0) +
|
|
157
|
-
(exemptAmount ?? 0) +
|
|
158
|
-
(untaxedAmount ?? 0)
|
|
159
|
-
: undefined);
|
|
188
|
+
(ivaRateAmounts ? sumRateAmounts(ivaRateAmounts, exemptAmount, untaxedAmount) : undefined);
|
|
160
189
|
return {
|
|
161
190
|
...billingCommandSchema.parse({
|
|
162
191
|
associatedPeriod,
|
|
@@ -169,7 +198,7 @@ function parseBillingCommandInputFromSource(command, shortcut, fileInput, defaul
|
|
|
169
198
|
currencyCode,
|
|
170
199
|
documentNumber: documentIdentity.documentNumber ?? fileInput?.numeroDocumento,
|
|
171
200
|
documentType: documentIdentity.documentType ?? fileInput?.tipoDocumento,
|
|
172
|
-
dryRun:
|
|
201
|
+
dryRun: !shouldEmit,
|
|
173
202
|
dueDay: pickNumber(commandOptions.dia, fileInput?.dia),
|
|
174
203
|
emit: shouldEmit,
|
|
175
204
|
exchangeRate,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.command.parser.js","sourceRoot":"","sources":["../../../src/cli/commands/billing.command.parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"billing.command.parser.js","sourceRoot":"","sources":["../../../src/cli/commands/billing.command.parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,4 +21,4 @@ export interface PdfStepOptions {
|
|
|
21
21
|
* Genera los PDFs de los comprobantes emitidos. Nunca lanza: el comprobante ya esta emitido, asi que un
|
|
22
22
|
* error del PDF se devuelve en `pdf.error` y no cambia el codigo de salida.
|
|
23
23
|
*/
|
|
24
|
-
export declare function attachPdfs(options: PdfStepOptions,
|
|
24
|
+
export declare function attachPdfs(options: PdfStepOptions, defaultDeps?: PdfStepDependencies): Promise<BillingExecutionResult[]>;
|
|
@@ -5,7 +5,7 @@ import { canHavePdf, resolvePdfDecision } from '../../modules/pdf/pdf-decision.j
|
|
|
5
5
|
import { resolvePdfIssuer } from '../../modules/pdf/pdf-issuer.js';
|
|
6
6
|
import { exportBillingPdf, toPdfFailure } from '../../services/pdf/pdf-exporter.js';
|
|
7
7
|
import { PdfPlugin } from '../../services/pdf/pdf-plugin.js';
|
|
8
|
-
import { confirm } from '../interactive/prompts.js';
|
|
8
|
+
import { confirm, isPromptCancellation } from '../interactive/prompts.js';
|
|
9
9
|
import { startSpinner } from '../spinner.js';
|
|
10
10
|
export const PDF_ONLY_FLAGS_WARNING = '--descripcion, --receptor-nombre y --receptor-domicilio solo se usan en el PDF; no se genero ninguno.';
|
|
11
11
|
export const defaultPdfStepDependencies = {
|
|
@@ -74,7 +74,22 @@ async function loadRenderer(plugin, interactive, deps) {
|
|
|
74
74
|
* Genera los PDFs de los comprobantes emitidos. Nunca lanza: el comprobante ya esta emitido, asi que un
|
|
75
75
|
* error del PDF se devuelve en `pdf.error` y no cambia el codigo de salida.
|
|
76
76
|
*/
|
|
77
|
-
export async function attachPdfs(options,
|
|
77
|
+
export async function attachPdfs(options, defaultDeps = defaultPdfStepDependencies) {
|
|
78
|
+
// El comprobante ya se emitio: Ctrl+C en una pregunta del PDF es "No", no un error del comando.
|
|
79
|
+
const deps = {
|
|
80
|
+
...defaultDeps,
|
|
81
|
+
confirm: async (...args) => {
|
|
82
|
+
try {
|
|
83
|
+
return await defaultDeps.confirm(...args);
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
if (isPromptCancellation(error)) {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
throw error;
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
};
|
|
78
93
|
const decisions = await resolveDecisions(options, deps);
|
|
79
94
|
const targets = decisions.flatMap((decision, index) => (decision === 'generar' ? [index] : []));
|
|
80
95
|
const outcomes = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.command.pdf.js","sourceRoot":"","sources":["../../../src/cli/commands/billing.command.pdf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAKjC,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAEhF,OAAO,EAAE,UAAU,EAAoB,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,SAAS,EAAoB,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"billing.command.pdf.js","sourceRoot":"","sources":["../../../src/cli/commands/billing.command.pdf.ts"],"names":[],"mappings":"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"}
|
|
@@ -93,7 +93,8 @@ export function registerConfigCommand(program) {
|
|
|
93
93
|
.argument('<clave>', 'clave publica de configuracion')
|
|
94
94
|
.argument('<valor>', 'valor a guardar')
|
|
95
95
|
.action((key, value, options) => {
|
|
96
|
-
|
|
96
|
+
// Sin ensureInitialized: si la config quedo invalida, establecer o eliminar la clave es la forma de arreglarla.
|
|
97
|
+
const service = new ConfigService();
|
|
97
98
|
try {
|
|
98
99
|
const config = service.setValue(key, value);
|
|
99
100
|
const paths = service.resolvePaths(config);
|
|
@@ -110,7 +111,8 @@ export function registerConfigCommand(program) {
|
|
|
110
111
|
.option('--json', 'imprimir salida JSON')
|
|
111
112
|
.argument('<clave>', 'clave publica de configuracion')
|
|
112
113
|
.action((key, options) => {
|
|
113
|
-
|
|
114
|
+
// Sin ensureInitialized: si la config quedo invalida, establecer o eliminar la clave es la forma de arreglarla.
|
|
115
|
+
const service = new ConfigService();
|
|
114
116
|
try {
|
|
115
117
|
const config = service.unsetValue(key);
|
|
116
118
|
const paths = service.resolvePaths(config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.command.js","sourceRoot":"","sources":["../../../src/cli/commands/config.command.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.command.js","sourceRoot":"","sources":["../../../src/cli/commands/config.command.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,9 +7,9 @@ import { ArcaContextResolver } from '../../services/arca/arca-context.resolver.j
|
|
|
7
7
|
import { ArcaVoucherHistoryGateway } from '../../services/arca/arca-voucher-history.gateway.js';
|
|
8
8
|
import { writeTerminalJson, writeTerminalOutput } from '../../ui/index.js';
|
|
9
9
|
import { configureSpanishHelp, createVoucherQueryHelp } from '../help.js';
|
|
10
|
+
import { integerOption } from '../option-parsers.js';
|
|
10
11
|
import { startSpinner } from '../spinner.js';
|
|
11
12
|
import { getGlobalOptions, registerGlobalOptions } from './billing.command.shared.js';
|
|
12
|
-
const parseInteger = (value) => Number.parseInt(value, 10);
|
|
13
13
|
function requireVoucherKind(shortcut) {
|
|
14
14
|
const voucherKind = getVoucherKindByShortcut(shortcut.trim().toLowerCase());
|
|
15
15
|
if (!voucherKind) {
|
|
@@ -30,8 +30,8 @@ function createContext(command) {
|
|
|
30
30
|
}
|
|
31
31
|
function addPointOfSaleOptions(command) {
|
|
32
32
|
return command
|
|
33
|
-
.option('--pv <numero>', 'punto de venta; por defecto el de la config',
|
|
34
|
-
.option('--punto-venta <numero>', 'punto de venta; por defecto el de la config',
|
|
33
|
+
.option('--pv <numero>', 'punto de venta; por defecto el de la config', integerOption('--pv'))
|
|
34
|
+
.option('--punto-venta <numero>', 'punto de venta; por defecto el de la config', integerOption('--punto-venta'));
|
|
35
35
|
}
|
|
36
36
|
async function withSpinner(runtime, run) {
|
|
37
37
|
const spinner = runtime.outputJson ? null : startSpinner('Consultando ARCA...');
|
|
@@ -47,16 +47,17 @@ export function registerVoucherQueryCommands(program) {
|
|
|
47
47
|
.command('ultimos')
|
|
48
48
|
.argument('<tipo>', 'atajo del comprobante, por ejemplo fb, fc o nca')
|
|
49
49
|
.description('listar los ultimos comprobantes emitidos en ARCA')
|
|
50
|
-
.option('--cantidad <numero>', `cuantos comprobantes mostrar (1 a ${MAX_RECENT_VOUCHERS})`,
|
|
50
|
+
.option('--cantidad <numero>', `cuantos comprobantes mostrar (1 a ${MAX_RECENT_VOUCHERS}; por defecto config.comprobantesPorLista o ${RECENT_VOUCHERS_LIMIT})`, integerOption('--cantidad'))).addHelpText('after', createVoucherQueryHelp());
|
|
51
51
|
registerGlobalOptions(recent);
|
|
52
52
|
configureSpanishHelp(recent);
|
|
53
53
|
recent.action(async (shortcut, options, self) => {
|
|
54
54
|
const voucherKind = requireVoucherKind(shortcut);
|
|
55
|
-
const
|
|
56
|
-
if (!Number.isInteger(
|
|
55
|
+
const { cantidad } = options;
|
|
56
|
+
if (cantidad !== undefined && (!Number.isInteger(cantidad) || cantidad < 1 || cantidad > MAX_RECENT_VOUCHERS)) {
|
|
57
57
|
throw new InputValidationError(`--cantidad tiene que ser un numero entre 1 y ${MAX_RECENT_VOUCHERS}.`);
|
|
58
58
|
}
|
|
59
59
|
const { gateway, runtime } = createContext(self);
|
|
60
|
+
const limit = cantidad ?? runtime.config.comprobantesPorLista ?? RECENT_VOUCHERS_LIMIT;
|
|
60
61
|
const pointOfSale = requirePointOfSale(options, runtime);
|
|
61
62
|
const vouchers = await withSpinner(runtime, () => listRecentVouchers(gateway, pointOfSale, voucherKind.arcaType, { limit }));
|
|
62
63
|
const report = { environment: runtime.environment, pointOfSale, voucherKind, vouchers };
|