arcli 1.5.0 → 1.6.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 +15 -1
- package/dist/cli/commands/parameters.command.d.ts +2 -0
- package/dist/cli/commands/parameters.command.js +88 -0
- package/dist/cli/commands/parameters.command.js.map +1 -0
- package/dist/cli/help.js +2 -0
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/interactive/advanced-options.d.ts +6 -3
- package/dist/cli/interactive/advanced-options.js +85 -45
- package/dist/cli/interactive/advanced-options.js.map +1 -1
- package/dist/cli/interactive/invoice.flow.d.ts +0 -2
- package/dist/cli/interactive/invoice.flow.js +5 -22
- package/dist/cli/interactive/invoice.flow.js.map +1 -1
- package/dist/cli/interactive/prompts.d.ts +5 -0
- package/dist/cli/interactive/prompts.js +14 -0
- package/dist/cli/interactive/prompts.js.map +1 -1
- package/dist/cli/program.js +2 -0
- package/dist/cli/program.js.map +1 -1
- package/dist/cli/version.d.ts +1 -1
- package/dist/cli/version.js +1 -1
- package/dist/modules/parameters/parameters.d.ts +50 -0
- package/dist/modules/parameters/parameters.js +34 -0
- package/dist/modules/parameters/parameters.js.map +1 -0
- package/dist/modules/parameters/parameters.presenter.d.ts +12 -0
- package/dist/modules/parameters/parameters.presenter.js +103 -0
- package/dist/modules/parameters/parameters.presenter.js.map +1 -0
- package/dist/modules/parameters/status.d.ts +31 -0
- package/dist/modules/parameters/status.js +35 -0
- package/dist/modules/parameters/status.js.map +1 -0
- package/dist/services/arca/arca-parameters.gateway.d.ts +10 -0
- package/dist/services/arca/arca-parameters.gateway.js +71 -0
- package/dist/services/arca/arca-parameters.gateway.js.map +1 -0
- package/llms.txt +2 -0
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,19 @@ 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
|
+
## [1.6.0] - 2026-10-05
|
|
12
|
+
|
|
13
|
+
Esta versión suma `arcli estado` y `arcli parametros` para consultar ARCA sin emitir, y simplifica la factura del modo interactivo: primero lo requerido y después todos los opcionales en una sola pregunta. No se rompe ningún comando, flag ni JSON existente.
|
|
14
|
+
|
|
15
|
+
### Agregado
|
|
16
|
+
|
|
17
|
+
- `arcli estado`: muestra si los servidores de ARCA responden, cuánto tardan y si el punto de venta configurado está habilitado para tu CUIT (en producción; en testing ARCA no informa puntos de venta). Con `--json`, `listo` dice si se puede emitir.
|
|
18
|
+
- `arcli parametros <tabla>`: consulta las tablas de ARCA vigentes (`puntos-venta`, `comprobantes`, `documentos`, `alicuotas`, `iva-receptor`, `monedas`, `conceptos`, `opcionales` y `tributos`). `arcli parametros cotizacion USD` muestra la cotización oficial. Sin tabla, lista las disponibles.
|
|
19
|
+
|
|
20
|
+
### Cambiado
|
|
21
|
+
|
|
22
|
+
- **Modo interactivo:** la factura pregunta primero solo lo requerido y después, en **una sola pregunta**, todos los opcionales: se marcan con espacio y Enter sigue. Sin marcar nada se usan los valores por defecto. La alícuota de IVA (A y B) y la modalidad de transferencia (FCE) pasan a ser opcionales: antes se preguntaban siempre, aunque casi siempre quedaban en 21% y SCA. Las opciones avanzadas ya no son un menú que se recorre de a una.
|
|
23
|
+
|
|
11
24
|
## [1.5.0] - 2026-10-04
|
|
12
25
|
|
|
13
26
|
Esta versión suma el PDF del comprobante con el QR de ARCA, para mandarle al cliente. El PDF lo genera un plugin que se descarga solo si lo usás, así que ARCLI no pesa más para quien no quiere PDFs. No se rompe ningún comando, flag ni JSON existente: todo lo nuevo es opcional, y el JSON suma la clave `pdf` solo cuando se intenta generar el PDF.
|
|
@@ -165,7 +178,8 @@ Primera versión publicada en npm.
|
|
|
165
178
|
- `llms.txt`: referencia condensada para que un agente de IA con acceso a terminal ejecute el CLI.
|
|
166
179
|
- Publicación con npm Trusted Publishers (OIDC).
|
|
167
180
|
|
|
168
|
-
[Sin publicar]: https://github.com/LcsGrz/arcli/compare/v1.
|
|
181
|
+
[Sin publicar]: https://github.com/LcsGrz/arcli/compare/v1.6.0...HEAD
|
|
182
|
+
[1.6.0]: https://github.com/LcsGrz/arcli/compare/v1.5.0...v1.6.0
|
|
169
183
|
[1.5.0]: https://github.com/LcsGrz/arcli/compare/v1.4.0...v1.5.0
|
|
170
184
|
[1.4.0]: https://github.com/LcsGrz/arcli/compare/v1.3.0...v1.4.0
|
|
171
185
|
[1.3.0]: https://github.com/LcsGrz/arcli/compare/v1.2.0...v1.3.0
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { formatDateAsArcaDate } from '../../lib/dates/arca-date.js';
|
|
2
|
+
import { AppError, InputValidationError } from '../../lib/errors/app-error.js';
|
|
3
|
+
import { filterCurrentEntries, resolveParameterTable, salesPointToEntry } from '../../modules/parameters/parameters.js';
|
|
4
|
+
import { formatParameterEntriesAsJson, formatParameterEntriesAsText, formatParameterTablesAsJson, formatParameterTablesAsText, formatQuotationAsJson, formatQuotationAsText, formatStatusAsJson, formatStatusAsText, } from '../../modules/parameters/parameters.presenter.js';
|
|
5
|
+
import { buildStatusReport } from '../../modules/parameters/status.js';
|
|
6
|
+
import { ArcaClientFactory } from '../../services/arca/arca-client.factory.js';
|
|
7
|
+
import { ArcaContextResolver } from '../../services/arca/arca-context.resolver.js';
|
|
8
|
+
import { ArcaParametersGateway } from '../../services/arca/arca-parameters.gateway.js';
|
|
9
|
+
import { writeTerminalJson, writeTerminalOutput } from '../../ui/index.js';
|
|
10
|
+
import { configureSpanishHelp } from '../help.js';
|
|
11
|
+
import { startSpinner } from '../spinner.js';
|
|
12
|
+
import { getGlobalOptions, registerGlobalOptions } from './billing.command.shared.js';
|
|
13
|
+
function createContext(command) {
|
|
14
|
+
const runtime = new ArcaContextResolver({ options: getGlobalOptions(command) }).resolve();
|
|
15
|
+
return { gateway: new ArcaParametersGateway(new ArcaClientFactory().create(runtime)), runtime };
|
|
16
|
+
}
|
|
17
|
+
async function withSpinner(runtime, run) {
|
|
18
|
+
const spinner = runtime.outputJson ? null : startSpinner('Consultando ARCA...');
|
|
19
|
+
try {
|
|
20
|
+
return await run();
|
|
21
|
+
}
|
|
22
|
+
finally {
|
|
23
|
+
spinner?.stop();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function write(runtime, text, json) {
|
|
27
|
+
if (runtime.outputJson) {
|
|
28
|
+
writeTerminalJson(json);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
writeTerminalOutput(text);
|
|
32
|
+
}
|
|
33
|
+
export function registerParametersCommands(program) {
|
|
34
|
+
const parameters = program
|
|
35
|
+
.command('parametros')
|
|
36
|
+
.argument('[tabla]', 'tabla a consultar; sin tabla lista las disponibles')
|
|
37
|
+
.argument('[moneda]', 'solo para "cotizacion": codigo de moneda, por ejemplo USD')
|
|
38
|
+
.description('consultar tablas de ARCA: puntos de venta, tipos, alicuotas, monedas y cotizacion');
|
|
39
|
+
registerGlobalOptions(parameters);
|
|
40
|
+
configureSpanishHelp(parameters);
|
|
41
|
+
parameters.action(async (rawTable, currency, _options, self) => {
|
|
42
|
+
if (!rawTable) {
|
|
43
|
+
// No consulta ARCA: no hace falta config ni credenciales para ver las tablas.
|
|
44
|
+
if (getGlobalOptions(self).json) {
|
|
45
|
+
writeTerminalJson(formatParameterTablesAsJson());
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
writeTerminalOutput(formatParameterTablesAsText());
|
|
49
|
+
}
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
if (rawTable.trim().toLowerCase() === 'cotizacion') {
|
|
53
|
+
if (!currency) {
|
|
54
|
+
throw new InputValidationError('Indique la moneda, por ejemplo: arcli parametros cotizacion USD.');
|
|
55
|
+
}
|
|
56
|
+
const { gateway, runtime } = createContext(self);
|
|
57
|
+
const quotation = await withSpinner(runtime, () => gateway.getQuotation(currency));
|
|
58
|
+
write(runtime, formatQuotationAsText(quotation, runtime.environment), formatQuotationAsJson(quotation, runtime.environment));
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const table = resolveParameterTable(rawTable);
|
|
62
|
+
const { gateway, runtime } = createContext(self);
|
|
63
|
+
const entries = await withSpinner(runtime, async () => table === 'puntos-venta'
|
|
64
|
+
? (await gateway.getSalesPoints()).map(salesPointToEntry)
|
|
65
|
+
: filterCurrentEntries(await gateway.listTable(table), formatDateAsArcaDate(new Date())));
|
|
66
|
+
write(runtime, formatParameterEntriesAsText(table, entries, runtime.environment), formatParameterEntriesAsJson(table, entries, runtime.environment));
|
|
67
|
+
});
|
|
68
|
+
const status = program
|
|
69
|
+
.command('estado')
|
|
70
|
+
.description('ver si ARCA responde y si el punto de venta configurado esta habilitado');
|
|
71
|
+
registerGlobalOptions(status);
|
|
72
|
+
configureSpanishHelp(status);
|
|
73
|
+
status.action(async (_options, self) => {
|
|
74
|
+
const { gateway, runtime } = createContext(self);
|
|
75
|
+
const report = await withSpinner(runtime, async () => {
|
|
76
|
+
try {
|
|
77
|
+
return await buildStatusReport({ environment: runtime.environment, gateway, pointOfSale: runtime.pointOfSale });
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
throw new AppError(`ARCA no respondio: ${error instanceof Error ? error.message : String(error)}`, {
|
|
81
|
+
code: 'ARCA_UNAVAILABLE',
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
write(runtime, formatStatusAsText(report), formatStatusAsJson(report));
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=parameters.command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameters.command.js","sourceRoot":"","sources":["../../../src/cli/commands/parameters.command.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/help.js
CHANGED
|
@@ -135,6 +135,8 @@ function createProgramCommands() {
|
|
|
135
135
|
' - Asistente paso a paso: arcli (sin argumentos) o arcli interactivo',
|
|
136
136
|
' - Ver los ultimos comprobantes emitidos: arcli ultimos fb',
|
|
137
137
|
' - Ver el detalle de un comprobante: arcli consultar fb 14',
|
|
138
|
+
' - Ver si ARCA responde y el punto de venta esta habilitado: arcli estado',
|
|
139
|
+
' - Ver tablas de ARCA (puntos de venta, alicuotas, cotizacion): arcli parametros',
|
|
138
140
|
' - Generar el PDF al emitir: arcli fc ... --emitir --exportar-pdf (plugin: arcli pdf instalar)',
|
|
139
141
|
' - Ver escenas de UI: arcli storybook',
|
|
140
142
|
].join('\n'));
|
package/dist/cli/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import type { BillingCommandInput } from '../../modules/billing/billing.schemas';
|
|
2
2
|
import type { VoucherKindDefinition } from '../../modules/billing/billing.types';
|
|
3
3
|
import { type Back } from '../../modules/interactive/wizard';
|
|
4
|
-
export type AdvancedOptions = Pick<BillingCommandInput, 'currencyCode' | 'exchangeRate' | 'exemptAmount' | 'paymentDueDate' | 'sameCurrency' | 'serviceEndDate' | 'serviceStartDate' | 'untaxedAmount'>;
|
|
4
|
+
export type AdvancedOptions = Pick<BillingCommandInput, 'currencyCode' | 'exchangeRate' | 'exemptAmount' | 'ivaRate' | 'paymentDueDate' | 'sameCurrency' | 'serviceEndDate' | 'serviceStartDate' | 'transferMode' | 'untaxedAmount'>;
|
|
5
5
|
interface AdvancedContext {
|
|
6
6
|
readonly concept: BillingCommandInput['concept'];
|
|
7
|
+
/** Alicuota que se usa si no se elige otra: la de la config o 21%. */
|
|
8
|
+
readonly defaultIvaRate: NonNullable<BillingCommandInput['ivaRate']>;
|
|
7
9
|
readonly voucherKind: VoucherKindDefinition;
|
|
8
10
|
}
|
|
9
11
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
+
* Despues de lo requerido, una sola pregunta con todos los opcionales: se marcan con espacio y Enter sigue
|
|
13
|
+
* (sin marcar nada, todo queda por defecto). Despues se pregunta solo lo marcado, en orden. "Volver" en una
|
|
14
|
+
* de esas preguntas vuelve a la seleccion, con lo marcado y lo ya respondido.
|
|
12
15
|
*/
|
|
13
16
|
export declare function askAdvancedOptions(initial: AdvancedOptions, context: AdvancedContext): Promise<AdvancedOptions | Back>;
|
|
14
17
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { parseAmountInput } from '../../modules/interactive/amount-input.js';
|
|
2
|
+
import { ivaRateChoices } from '../../modules/interactive/choices.js';
|
|
2
3
|
import { BACK } from '../../modules/interactive/wizard.js';
|
|
3
|
-
import { askTextStep, chooseStep } from './prompts.js';
|
|
4
|
+
import { askTextStep, chooseManyStep, chooseStep } from './prompts.js';
|
|
4
5
|
import { validateDate, validateExchangeRate, validateOptionalAmount } from './validators.js';
|
|
5
6
|
function describeCurrency(options) {
|
|
6
7
|
if (!options.currencyCode || options.currencyCode === 'PES' || options.currencyCode === 'ARS') {
|
|
@@ -68,59 +69,98 @@ async function askPaymentDueDate(current) {
|
|
|
68
69
|
const due = await askTextStep('Vencimiento del pago:', { validate: validateDate });
|
|
69
70
|
return due === BACK ? BACK : { ...current, paymentDueDate: due };
|
|
70
71
|
}
|
|
72
|
+
async function askIvaRate(current, context) {
|
|
73
|
+
const ivaRate = await chooseStep('Alicuota de IVA:', ivaRateChoices(), current.ivaRate ?? context.defaultIvaRate);
|
|
74
|
+
return ivaRate === BACK ? BACK : { ...current, ivaRate };
|
|
75
|
+
}
|
|
76
|
+
async function askTransferMode(current) {
|
|
77
|
+
const transferMode = await chooseStep('Modalidad de transferencia:', [
|
|
78
|
+
{ description: 'La opcion habitual', name: 'Sistema de circulacion abierta (SCA)', value: 'sca' },
|
|
79
|
+
{ name: 'Agente de deposito colectivo (ADC)', value: 'adc' },
|
|
80
|
+
], current.transferMode ?? 'sca');
|
|
81
|
+
return transferMode === BACK ? BACK : { ...current, transferMode };
|
|
82
|
+
}
|
|
83
|
+
function optionalChoices(options, context) {
|
|
84
|
+
const usesService = context.concept !== 'productos';
|
|
85
|
+
const isFceInvoice = context.voucherKind.family === 'factura-credito-electronica';
|
|
86
|
+
const discriminatesIva = context.voucherKind.letter !== 'c';
|
|
87
|
+
return [
|
|
88
|
+
...(discriminatesIva
|
|
89
|
+
? [
|
|
90
|
+
{
|
|
91
|
+
description: `${(options.ivaRate ?? context.defaultIvaRate).replace('.', ',')}%`,
|
|
92
|
+
name: 'Alicuota de IVA',
|
|
93
|
+
value: 'alicuota',
|
|
94
|
+
},
|
|
95
|
+
]
|
|
96
|
+
: []),
|
|
97
|
+
{ description: describeCurrency(options), name: 'Moneda extranjera', value: 'divisas' },
|
|
98
|
+
...(discriminatesIva
|
|
99
|
+
? [{ description: describeAmounts(options), name: 'Importe exento o no gravado', value: 'exento' }]
|
|
100
|
+
: []),
|
|
101
|
+
...(usesService
|
|
102
|
+
? [
|
|
103
|
+
{
|
|
104
|
+
description: options.serviceStartDate ? `${options.serviceStartDate} al ${options.serviceEndDate}` : 'hoy',
|
|
105
|
+
name: 'Periodo del servicio',
|
|
106
|
+
value: 'servicio',
|
|
107
|
+
},
|
|
108
|
+
]
|
|
109
|
+
: []),
|
|
110
|
+
...(usesService || isFceInvoice
|
|
111
|
+
? [
|
|
112
|
+
{
|
|
113
|
+
description: options.paymentDueDate ?? 'por defecto',
|
|
114
|
+
name: 'Vencimiento del pago',
|
|
115
|
+
value: 'vencimiento',
|
|
116
|
+
},
|
|
117
|
+
]
|
|
118
|
+
: []),
|
|
119
|
+
...(isFceInvoice
|
|
120
|
+
? [
|
|
121
|
+
{
|
|
122
|
+
description: (options.transferMode ?? 'sca').toUpperCase(),
|
|
123
|
+
name: 'Modalidad de transferencia',
|
|
124
|
+
value: 'transferencia',
|
|
125
|
+
},
|
|
126
|
+
]
|
|
127
|
+
: []),
|
|
128
|
+
];
|
|
129
|
+
}
|
|
71
130
|
/**
|
|
72
|
-
*
|
|
73
|
-
*
|
|
131
|
+
* Despues de lo requerido, una sola pregunta con todos los opcionales: se marcan con espacio y Enter sigue
|
|
132
|
+
* (sin marcar nada, todo queda por defecto). Despues se pregunta solo lo marcado, en orden. "Volver" en una
|
|
133
|
+
* de esas preguntas vuelve a la seleccion, con lo marcado y lo ya respondido.
|
|
74
134
|
*/
|
|
75
135
|
export async function askAdvancedOptions(initial, context) {
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
136
|
+
const asks = {
|
|
137
|
+
alicuota: (current) => askIvaRate(current, context),
|
|
138
|
+
divisas: askCurrency,
|
|
139
|
+
exento: askExemptAmounts,
|
|
140
|
+
servicio: askServicePeriod,
|
|
141
|
+
transferencia: askTransferMode,
|
|
142
|
+
vencimiento: askPaymentDueDate,
|
|
143
|
+
};
|
|
79
144
|
let options = initial;
|
|
145
|
+
let selected = [];
|
|
80
146
|
for (;;) {
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
{ description: describeCurrency(options), name: 'Moneda extranjera', value: 'divisas' },
|
|
84
|
-
...(allowsExempt
|
|
85
|
-
? [{ description: describeAmounts(options), name: 'Importe exento o no gravado', value: 'exento' }]
|
|
86
|
-
: []),
|
|
87
|
-
...(usesService
|
|
88
|
-
? [
|
|
89
|
-
{
|
|
90
|
-
description: options.serviceStartDate
|
|
91
|
-
? `${options.serviceStartDate} al ${options.serviceEndDate}`
|
|
92
|
-
: 'hoy',
|
|
93
|
-
name: 'Periodo del servicio',
|
|
94
|
-
value: 'servicio',
|
|
95
|
-
},
|
|
96
|
-
]
|
|
97
|
-
: []),
|
|
98
|
-
...(usesPaymentDue
|
|
99
|
-
? [
|
|
100
|
-
{
|
|
101
|
-
description: options.paymentDueDate ?? 'por defecto',
|
|
102
|
-
name: 'Vencimiento del pago',
|
|
103
|
-
value: 'vencimiento',
|
|
104
|
-
},
|
|
105
|
-
]
|
|
106
|
-
: []),
|
|
107
|
-
]);
|
|
108
|
-
if (choice === BACK) {
|
|
147
|
+
const picked = await chooseManyStep('¿Agregamos algun opcional? (espacio para marcar, Enter para seguir)', optionalChoices(options, context), selected);
|
|
148
|
+
if (picked === BACK) {
|
|
109
149
|
return BACK;
|
|
110
150
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}[choice];
|
|
120
|
-
const updated = await ask(options);
|
|
121
|
-
if (updated !== BACK) {
|
|
151
|
+
selected = picked;
|
|
152
|
+
let completed = true;
|
|
153
|
+
for (const option of picked) {
|
|
154
|
+
const updated = await asks[option](options);
|
|
155
|
+
if (updated === BACK) {
|
|
156
|
+
completed = false;
|
|
157
|
+
break;
|
|
158
|
+
}
|
|
122
159
|
options = updated;
|
|
123
160
|
}
|
|
161
|
+
if (completed) {
|
|
162
|
+
return options;
|
|
163
|
+
}
|
|
124
164
|
}
|
|
125
165
|
}
|
|
126
166
|
//# sourceMappingURL=advanced-options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advanced-options.js","sourceRoot":"","sources":["../../../src/cli/interactive/advanced-options.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAa,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"advanced-options.js","sourceRoot":"","sources":["../../../src/cli/interactive/advanced-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,9 +10,7 @@ export interface InvoiceState {
|
|
|
10
10
|
readonly documentNumber?: number;
|
|
11
11
|
readonly documentType?: BillingCommandInput['documentType'];
|
|
12
12
|
readonly ivaCondition?: BillingCommandInput['ivaCondition'];
|
|
13
|
-
readonly ivaRate?: BillingCommandInput['ivaRate'];
|
|
14
13
|
readonly totalAmount?: number;
|
|
15
|
-
readonly transferMode?: BillingCommandInput['transferMode'];
|
|
16
14
|
readonly voucherKind?: VoucherKindDefinition;
|
|
17
15
|
}
|
|
18
16
|
/** Pasos del flujo de factura; cada uno se puede deshacer con "Volver". */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { billingCommandSchema } from '../../modules/billing/billing.schemas.js';
|
|
2
2
|
import { parseAmountInput } from '../../modules/interactive/amount-input.js';
|
|
3
|
-
import { conceptChoices, invoiceKindChoices, ivaConditionChoices,
|
|
3
|
+
import { conceptChoices, invoiceKindChoices, ivaConditionChoices, receiverChoices, } from '../../modules/interactive/choices.js';
|
|
4
4
|
import { BACK, runWizard } from '../../modules/interactive/wizard.js';
|
|
5
5
|
import { askAdvancedOptions } from './advanced-options.js';
|
|
6
6
|
import { askTextStep, chooseStep } from './prompts.js';
|
|
@@ -64,14 +64,6 @@ export function invoiceSteps(session) {
|
|
|
64
64
|
return answer === BACK ? BACK : { totalAmount: parseAmountInput(answer) };
|
|
65
65
|
},
|
|
66
66
|
},
|
|
67
|
-
{
|
|
68
|
-
name: 'alicuota',
|
|
69
|
-
run: async () => {
|
|
70
|
-
const ivaRate = await chooseStep('Alicuota de IVA:', ivaRateChoices(), config.alicuotaPorDefecto ?? '21');
|
|
71
|
-
return ivaRate === BACK ? BACK : { ivaRate };
|
|
72
|
-
},
|
|
73
|
-
skip: (state) => state.voucherKind?.letter === 'c',
|
|
74
|
-
},
|
|
75
67
|
{
|
|
76
68
|
name: 'cbu',
|
|
77
69
|
run: async () => {
|
|
@@ -80,22 +72,12 @@ export function invoiceSteps(session) {
|
|
|
80
72
|
},
|
|
81
73
|
skip: (state) => !isFceInvoice(state) || Boolean(config.cbu),
|
|
82
74
|
},
|
|
83
|
-
{
|
|
84
|
-
name: 'transferencia',
|
|
85
|
-
run: async () => {
|
|
86
|
-
const transferMode = await chooseStep('Modalidad de transferencia:', [
|
|
87
|
-
{ description: 'La opcion habitual', name: 'Sistema de circulacion abierta (SCA)', value: 'sca' },
|
|
88
|
-
{ name: 'Agente de deposito colectivo (ADC)', value: 'adc' },
|
|
89
|
-
]);
|
|
90
|
-
return transferMode === BACK ? BACK : { transferMode };
|
|
91
|
-
},
|
|
92
|
-
skip: (state) => !isFceInvoice(state),
|
|
93
|
-
},
|
|
94
75
|
{
|
|
95
76
|
name: 'avanzadas',
|
|
96
77
|
run: async (state) => {
|
|
97
78
|
const advanced = await askAdvancedOptions(state.advanced, {
|
|
98
79
|
concept: state.concept ?? 'servicios',
|
|
80
|
+
defaultIvaRate: config.alicuotaPorDefecto ?? '21',
|
|
99
81
|
voucherKind: state.voucherKind,
|
|
100
82
|
});
|
|
101
83
|
return advanced === BACK ? BACK : { advanced };
|
|
@@ -107,6 +89,7 @@ export function invoiceSteps(session) {
|
|
|
107
89
|
export function buildInvoiceInput(state, session) {
|
|
108
90
|
const { config } = session.runtime;
|
|
109
91
|
const voucherKind = state.voucherKind;
|
|
92
|
+
const ivaRate = voucherKind.letter === 'c' ? undefined : (state.advanced.ivaRate ?? config.alicuotaPorDefecto ?? '21');
|
|
110
93
|
return billingCommandSchema.parse({
|
|
111
94
|
...state.advanced,
|
|
112
95
|
cbu: isFceInvoice(state) ? (state.cbu ?? config.cbu) : undefined,
|
|
@@ -116,10 +99,10 @@ export function buildInvoiceInput(state, session) {
|
|
|
116
99
|
ivaCondition: state.ivaCondition,
|
|
117
100
|
// 21% sin alicuota configurada es el default del CLI. Si hay config, se deja explicito para que el
|
|
118
101
|
// comando equivalente no tome la de la config.
|
|
119
|
-
ivaRate:
|
|
102
|
+
ivaRate: ivaRate === '21' && !config.alicuotaPorDefecto ? undefined : ivaRate,
|
|
120
103
|
shortcut: voucherKind.shortcut,
|
|
121
104
|
totalAmount: state.totalAmount,
|
|
122
|
-
transferMode: isFceInvoice(state) ? state.transferMode : undefined,
|
|
105
|
+
transferMode: isFceInvoice(state) ? state.advanced.transferMode : undefined,
|
|
123
106
|
});
|
|
124
107
|
}
|
|
125
108
|
export async function runInvoiceFlow(session) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoice.flow.js","sourceRoot":"","sources":["../../../src/cli/interactive/invoice.flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAEvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"invoice.flow.js","sourceRoot":"","sources":["../../../src/cli/interactive/invoice.flow.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,3 +19,8 @@ export declare function askTextStep(message: string, options?: {
|
|
|
19
19
|
readonly defaultValue?: string;
|
|
20
20
|
readonly validate?: (value: string) => string | true;
|
|
21
21
|
}): Promise<Back | string>;
|
|
22
|
+
/**
|
|
23
|
+
* Seleccion multiple: espacio marca, Enter confirma (sin marcar nada tambien vale). Tiene un "← Volver" al
|
|
24
|
+
* final para el motor de pasos: si se marca, vuelve al paso anterior.
|
|
25
|
+
*/
|
|
26
|
+
export declare function chooseManyStep<T>(message: string, choices: ReadonlyArray<Choice<T>>, selected?: readonly T[]): Promise<Back | T[]>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import checkbox from '@inquirer/checkbox';
|
|
1
2
|
import input from '@inquirer/input';
|
|
2
3
|
import select from '@inquirer/select';
|
|
3
4
|
import { BACK } from '../../modules/interactive/wizard.js';
|
|
@@ -43,4 +44,17 @@ export async function askTextStep(message, options = {}) {
|
|
|
43
44
|
});
|
|
44
45
|
return answer === BACK_TEXT ? BACK : answer;
|
|
45
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Seleccion multiple: espacio marca, Enter confirma (sin marcar nada tambien vale). Tiene un "← Volver" al
|
|
49
|
+
* final para el motor de pasos: si se marca, vuelve al paso anterior.
|
|
50
|
+
*/
|
|
51
|
+
export async function chooseManyStep(message, choices, selected = []) {
|
|
52
|
+
const answer = await checkbox({
|
|
53
|
+
choices: [...choices.map((choice) => ({ ...choice, checked: selected.includes(choice.value) })), BACK_CHOICE],
|
|
54
|
+
loop: false,
|
|
55
|
+
message,
|
|
56
|
+
pageSize: 12,
|
|
57
|
+
});
|
|
58
|
+
return answer.includes(BACK) ? BACK : answer;
|
|
59
|
+
}
|
|
46
60
|
//# sourceMappingURL=prompts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/cli/interactive/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,iBAAiB,CAAC;AACpC,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAE,IAAI,EAAa,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAQpC,MAAM,CAAC,KAAK,UAAU,SAAS,CAAI,OAAe,EAAE,OAAiC,EAAE,YAAgB;IACrG,OAAO,MAAM,CAAI,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AACzG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,OAAe,EACf,UAAoG,EAAE;IAEtG,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC;QACzB,OAAO,EAAE,OAAO,CAAC,YAAY;QAC7B,OAAO;QACP,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAe,EAAE,QAAgB,EAAE,OAAO,GAAG,UAAU;IACnF,OAAO,SAAS,CAAC,OAAO,EAAE;QACxB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE;QAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE;KAChC,CAAC,CAAC;AACL,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,OAAO,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAAC;AACpE,CAAC;AAED,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAW,CAAC;AAC/D,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAe,EACf,OAAiC,EACjC,YAAgB;IAEhB,OAAO,MAAM,CAAW;QACtB,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,WAAW,CAAC;QAClC,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,KAAK;QACX,OAAO;QACP,QAAQ,EAAE,EAAE;KACb,CAAC,CAAC;AACL,CAAC;AAED,+DAA+D;AAC/D,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAe,EACf,UAAoG,EAAE;IAEtG,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,OAAO,IAAI,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAAE,EAAE;QACjF,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;KAC/F,CAAC,CAAC;IAEH,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AAC9C,CAAC"}
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/cli/interactive/prompts.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/program.js
CHANGED
|
@@ -6,6 +6,7 @@ import { registerConfigCommand } from './commands/config.command.js';
|
|
|
6
6
|
import { registerExamplesCommand } from './commands/examples.command.js';
|
|
7
7
|
import { registerFceObligationCommand } from './commands/fce-obligation.command.js';
|
|
8
8
|
import { registerInteractiveCommand } from './commands/interactive.command.js';
|
|
9
|
+
import { registerParametersCommands } from './commands/parameters.command.js';
|
|
9
10
|
import { registerPdfCommand } from './commands/pdf.command.js';
|
|
10
11
|
import { registerStorybookCommand } from './commands/storybook.command.js';
|
|
11
12
|
import { registerVoucherQueryCommands } from './commands/vouchers.command.js';
|
|
@@ -27,6 +28,7 @@ export function createProgram() {
|
|
|
27
28
|
registerFceObligationCommand(program);
|
|
28
29
|
registerInteractiveCommand(program);
|
|
29
30
|
registerPdfCommand(program);
|
|
31
|
+
registerParametersCommands(program);
|
|
30
32
|
registerVoucherQueryCommands(program);
|
|
31
33
|
registerStorybookCommand(program);
|
|
32
34
|
program.addHelpText('beforeAll', ({ command }) => (command === program ? createProgramHeader() : ''));
|
package/dist/cli/program.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,OAAO,CAAC;SACb,WAAW,CACV,6HAA6H,CAC9H;SACA,OAAO,CAAC,WAAW,CAAC;SACpB,kBAAkB,CAAC,4CAA4C,CAAC,CAAC;IAEpE,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAE/B,+BAA+B,CAAC,OAAO,CAAC,CAAC;IACzC,6BAA6B,CAAC,OAAO,CAAC,CAAC;IACvC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,4BAA4B,CAAC,OAAO,CAAC,CAAC;IACtC,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACpC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,4BAA4B,CAAC,OAAO,CAAC,CAAC;IACtC,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAElC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtG,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEnG,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,OAAO,CAAC;SACb,WAAW,CACV,6HAA6H,CAC9H;SACA,OAAO,CAAC,WAAW,CAAC;SACpB,kBAAkB,CAAC,4CAA4C,CAAC,CAAC;IAEpE,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAE/B,+BAA+B,CAAC,OAAO,CAAC,CAAC;IACzC,6BAA6B,CAAC,OAAO,CAAC,CAAC;IACvC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,4BAA4B,CAAC,OAAO,CAAC,CAAC;IACtC,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACpC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACpC,4BAA4B,CAAC,OAAO,CAAC,CAAC;IACtC,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAElC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtG,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEnG,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/cli/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const CLI_VERSION = "1.
|
|
1
|
+
export declare const CLI_VERSION = "1.6.0";
|
package/dist/cli/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const CLI_VERSION = '1.
|
|
1
|
+
export const CLI_VERSION = '1.6.0';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/** Tablas de referencia de ARCA (wsfe) que se pueden consultar con `arcli parametros <tabla>`. */
|
|
2
|
+
export declare const PARAMETER_TABLES: {
|
|
3
|
+
readonly alicuotas: "Alicuotas de IVA";
|
|
4
|
+
readonly comprobantes: "Tipos de comprobante";
|
|
5
|
+
readonly conceptos: "Conceptos";
|
|
6
|
+
readonly documentos: "Tipos de documento";
|
|
7
|
+
readonly 'iva-receptor': "Condiciones de IVA del receptor";
|
|
8
|
+
readonly monedas: "Monedas";
|
|
9
|
+
readonly opcionales: "Datos opcionales";
|
|
10
|
+
readonly 'puntos-venta': "Puntos de venta";
|
|
11
|
+
readonly tributos: "Tributos";
|
|
12
|
+
};
|
|
13
|
+
export type ParameterTable = keyof typeof PARAMETER_TABLES;
|
|
14
|
+
export declare const PARAMETER_TABLE_NAMES: ParameterTable[];
|
|
15
|
+
export interface ParameterEntry {
|
|
16
|
+
/** Dato propio de la tabla: clase de comprobante en iva-receptor, "bloqueado" en puntos de venta. */
|
|
17
|
+
readonly detail?: string;
|
|
18
|
+
readonly description: string;
|
|
19
|
+
readonly id: string;
|
|
20
|
+
/** yyyymmdd; sin definir si no vence. */
|
|
21
|
+
readonly validTo?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface Quotation {
|
|
24
|
+
readonly currency: string;
|
|
25
|
+
/** yyyymmdd */
|
|
26
|
+
readonly date?: string;
|
|
27
|
+
readonly rate: number;
|
|
28
|
+
}
|
|
29
|
+
export interface ServerStatus {
|
|
30
|
+
readonly app: string;
|
|
31
|
+
readonly auth: string;
|
|
32
|
+
readonly db: string;
|
|
33
|
+
}
|
|
34
|
+
export interface SalesPoint {
|
|
35
|
+
readonly blocked: boolean;
|
|
36
|
+
/** yyyymmdd */
|
|
37
|
+
readonly closedOn?: string;
|
|
38
|
+
readonly emissionType: string;
|
|
39
|
+
readonly number: number;
|
|
40
|
+
}
|
|
41
|
+
export interface ParametersGateway {
|
|
42
|
+
getQuotation(currency: string): Promise<Quotation>;
|
|
43
|
+
getSalesPoints(): Promise<SalesPoint[]>;
|
|
44
|
+
getServerStatus(): Promise<ServerStatus>;
|
|
45
|
+
listTable(table: Exclude<ParameterTable, 'puntos-venta'>): Promise<ParameterEntry[]>;
|
|
46
|
+
}
|
|
47
|
+
export declare function resolveParameterTable(value: string): ParameterTable;
|
|
48
|
+
/** ARCA devuelve tambien valores dados de baja: solo quedan los vigentes a `today` (yyyymmdd). */
|
|
49
|
+
export declare function filterCurrentEntries(entries: readonly ParameterEntry[], today: string): ParameterEntry[];
|
|
50
|
+
export declare function salesPointToEntry(point: SalesPoint): ParameterEntry;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { InputValidationError } from '../../lib/errors/app-error.js';
|
|
2
|
+
/** Tablas de referencia de ARCA (wsfe) que se pueden consultar con `arcli parametros <tabla>`. */
|
|
3
|
+
export const PARAMETER_TABLES = {
|
|
4
|
+
alicuotas: 'Alicuotas de IVA',
|
|
5
|
+
comprobantes: 'Tipos de comprobante',
|
|
6
|
+
conceptos: 'Conceptos',
|
|
7
|
+
documentos: 'Tipos de documento',
|
|
8
|
+
'iva-receptor': 'Condiciones de IVA del receptor',
|
|
9
|
+
monedas: 'Monedas',
|
|
10
|
+
opcionales: 'Datos opcionales',
|
|
11
|
+
'puntos-venta': 'Puntos de venta',
|
|
12
|
+
tributos: 'Tributos',
|
|
13
|
+
};
|
|
14
|
+
export const PARAMETER_TABLE_NAMES = Object.keys(PARAMETER_TABLES);
|
|
15
|
+
export function resolveParameterTable(value) {
|
|
16
|
+
const normalized = value.trim().toLowerCase();
|
|
17
|
+
if (normalized in PARAMETER_TABLES) {
|
|
18
|
+
return normalized;
|
|
19
|
+
}
|
|
20
|
+
throw new InputValidationError(`La tabla "${value}" no existe. Use una de estas: ${PARAMETER_TABLE_NAMES.join(', ')}, o "cotizacion <moneda>".`);
|
|
21
|
+
}
|
|
22
|
+
/** ARCA devuelve tambien valores dados de baja: solo quedan los vigentes a `today` (yyyymmdd). */
|
|
23
|
+
export function filterCurrentEntries(entries, today) {
|
|
24
|
+
return entries.filter((entry) => !entry.validTo || entry.validTo >= today);
|
|
25
|
+
}
|
|
26
|
+
export function salesPointToEntry(point) {
|
|
27
|
+
return {
|
|
28
|
+
description: point.emissionType,
|
|
29
|
+
detail: point.blocked ? 'bloqueado' : point.closedOn ? `de baja desde ${point.closedOn}` : 'habilitado',
|
|
30
|
+
id: String(point.number),
|
|
31
|
+
validTo: point.closedOn,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=parameters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../../src/modules/parameters/parameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,kGAAkG;AAClG,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,SAAS,EAAE,kBAAkB;IAC7B,YAAY,EAAE,sBAAsB;IACpC,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,oBAAoB;IAChC,cAAc,EAAE,iCAAiC;IACjD,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,kBAAkB;IAC9B,cAAc,EAAE,iBAAiB;IACjC,QAAQ,EAAE,UAAU;CACZ,CAAC;AAIX,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAqB,CAAC;AAuCvF,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE9C,IAAI,UAAU,IAAI,gBAAgB,EAAE,CAAC;QACnC,OAAO,UAA4B,CAAC;IACtC,CAAC;IAED,MAAM,IAAI,oBAAoB,CAC5B,aAAa,KAAK,kCAAkC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,CACjH,CAAC;AACJ,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,oBAAoB,CAAC,OAAkC,EAAE,KAAa;IACpF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAiB;IACjD,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,YAAY;QAC/B,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,YAAY;QACvG,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QACxB,OAAO,EAAE,KAAK,CAAC,QAAQ;KACxB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type ParameterEntry, type ParameterTable, type Quotation } from './parameters';
|
|
2
|
+
import type { StatusReport } from './status';
|
|
3
|
+
type Environment = 'produccion' | 'testing';
|
|
4
|
+
export declare function formatParameterTablesAsText(): string;
|
|
5
|
+
export declare function formatParameterTablesAsJson(): string;
|
|
6
|
+
export declare function formatParameterEntriesAsText(table: ParameterTable, entries: readonly ParameterEntry[], environment: Environment): string;
|
|
7
|
+
export declare function formatParameterEntriesAsJson(table: ParameterTable, entries: readonly ParameterEntry[], environment: Environment): string;
|
|
8
|
+
export declare function formatQuotationAsText(quotation: Quotation, environment: Environment): string;
|
|
9
|
+
export declare function formatQuotationAsJson(quotation: Quotation, environment: Environment): string;
|
|
10
|
+
export declare function formatStatusAsText(report: StatusReport): string;
|
|
11
|
+
export declare function formatStatusAsJson(report: StatusReport): string;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { formatArcaDateAsArgentineDate } from '../../lib/dates/arca-date.js';
|
|
2
|
+
import { keyValuePanel, noticePanel, renderKeyValueRows, resolveKeyValueLabelWidth } from '../../ui/index.js';
|
|
3
|
+
import { PARAMETER_TABLE_NAMES, PARAMETER_TABLES, } from './parameters.js';
|
|
4
|
+
export function formatParameterTablesAsText() {
|
|
5
|
+
const rows = PARAMETER_TABLE_NAMES.map((name) => [name, PARAMETER_TABLES[name]]);
|
|
6
|
+
const allRows = [...rows, ['cotizacion <moneda>', 'Cotizacion oficial de ARCA, por ejemplo USD']];
|
|
7
|
+
return keyValuePanel('Tablas de ARCA', renderKeyValueRows(allRows, { labelWidth: resolveKeyValueLabelWidth('standard', allRows, [30, 70]) }), 'Uso: arcli parametros <tabla>', 'standard', undefined, 'sheet');
|
|
8
|
+
}
|
|
9
|
+
export function formatParameterTablesAsJson() {
|
|
10
|
+
return JSON.stringify({
|
|
11
|
+
tablas: [
|
|
12
|
+
...PARAMETER_TABLE_NAMES.map((name) => ({ descripcion: PARAMETER_TABLES[name], tabla: name })),
|
|
13
|
+
{ descripcion: 'Cotizacion oficial de ARCA', tabla: 'cotizacion' },
|
|
14
|
+
],
|
|
15
|
+
}, null, 2);
|
|
16
|
+
}
|
|
17
|
+
export function formatParameterEntriesAsText(table, entries, environment) {
|
|
18
|
+
if (entries.length === 0) {
|
|
19
|
+
const reason = table === 'puntos-venta' && environment === 'testing'
|
|
20
|
+
? 'En testing ARCA no informa puntos de venta: cualquier numero sirve para probar.'
|
|
21
|
+
: `ARCA no devolvio valores para ${PARAMETER_TABLES[table].toLowerCase()}.`;
|
|
22
|
+
return noticePanel(reason, 'muted');
|
|
23
|
+
}
|
|
24
|
+
const idWidth = Math.max(...entries.map((entry) => entry.id.length));
|
|
25
|
+
const rows = entries.map((entry) => [entry.id.padStart(idWidth), entry.description, entry.detail ? `(${entry.detail})` : ''].filter(Boolean).join(' '));
|
|
26
|
+
return keyValuePanel(`${PARAMETER_TABLES[table]} · ${environment}`, rows, undefined, 'wide', undefined, 'listing');
|
|
27
|
+
}
|
|
28
|
+
export function formatParameterEntriesAsJson(table, entries, environment) {
|
|
29
|
+
return JSON.stringify({
|
|
30
|
+
entorno: environment,
|
|
31
|
+
tabla: table,
|
|
32
|
+
valores: entries.map((entry) => ({
|
|
33
|
+
descripcion: entry.description,
|
|
34
|
+
detalle: entry.detail ?? null,
|
|
35
|
+
id: entry.id,
|
|
36
|
+
vigenteHasta: entry.validTo ?? null,
|
|
37
|
+
})),
|
|
38
|
+
}, null, 2);
|
|
39
|
+
}
|
|
40
|
+
export function formatQuotationAsText(quotation, environment) {
|
|
41
|
+
const rows = [
|
|
42
|
+
['Moneda', quotation.currency],
|
|
43
|
+
['Cotizacion', new Intl.NumberFormat('es-AR', { maximumFractionDigits: 6 }).format(quotation.rate)],
|
|
44
|
+
['Fecha', quotation.date ? formatArcaDateAsArgentineDate(quotation.date) : 'N/D'],
|
|
45
|
+
];
|
|
46
|
+
return keyValuePanel(`Cotizacion oficial · ${environment}`, renderKeyValueRows(rows, { labelWidth: resolveKeyValueLabelWidth('standard', rows, [30, 70]) }), undefined, 'standard', undefined, 'sheet');
|
|
47
|
+
}
|
|
48
|
+
export function formatQuotationAsJson(quotation, environment) {
|
|
49
|
+
return JSON.stringify({ cotizacion: quotation.rate, entorno: environment, fecha: quotation.date ?? null, moneda: quotation.currency }, null, 2);
|
|
50
|
+
}
|
|
51
|
+
function describePointOfSale(check, number) {
|
|
52
|
+
switch (check.kind) {
|
|
53
|
+
case 'habilitado':
|
|
54
|
+
return `${number} habilitado (${check.point.emissionType})`;
|
|
55
|
+
case 'bloqueado':
|
|
56
|
+
return `${number} bloqueado en ARCA`;
|
|
57
|
+
case 'de-baja':
|
|
58
|
+
return `${number} dado de baja`;
|
|
59
|
+
case 'no-encontrado':
|
|
60
|
+
return `${number} no existe en ARCA para este CUIT`;
|
|
61
|
+
case 'sin-datos':
|
|
62
|
+
return `${number} (en testing ARCA no informa puntos de venta)`;
|
|
63
|
+
case 'sin-configurar':
|
|
64
|
+
return 'no configurado';
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
export function formatStatusAsText(report) {
|
|
68
|
+
const rows = [
|
|
69
|
+
['Entorno', report.environment],
|
|
70
|
+
['Servidor de aplicacion', report.servers.app],
|
|
71
|
+
['Base de datos', report.servers.db],
|
|
72
|
+
['Autenticacion', report.servers.auth],
|
|
73
|
+
['Tiempo de respuesta', `${report.latencyMs} ms`],
|
|
74
|
+
['Punto de venta', describePointOfSale(report.pointOfSale, report.pointOfSaleNumber)],
|
|
75
|
+
];
|
|
76
|
+
const footer = report.ready
|
|
77
|
+
? 'ARCA responde: se puede emitir'
|
|
78
|
+
: report.pointOfSale.kind === 'sin-configurar'
|
|
79
|
+
? 'Configure el punto de venta: arcli config establecer puntoVenta <numero>'
|
|
80
|
+
: report.pointOfSale.kind === 'habilitado' || report.pointOfSale.kind === 'sin-datos'
|
|
81
|
+
? 'ARCA tiene problemas: espere unos minutos y reintente'
|
|
82
|
+
: 'Revise el punto de venta: arcli parametros puntos-venta';
|
|
83
|
+
return keyValuePanel('Estado de ARCA', renderKeyValueRows(rows, { labelWidth: resolveKeyValueLabelWidth('standard', rows, [30, 70]) }), footer, 'standard', report.ready ? 'success' : 'warning', 'sheet');
|
|
84
|
+
}
|
|
85
|
+
export function formatStatusAsJson(report) {
|
|
86
|
+
const point = 'point' in report.pointOfSale ? report.pointOfSale.point : undefined;
|
|
87
|
+
return JSON.stringify({
|
|
88
|
+
entorno: report.environment,
|
|
89
|
+
latenciaMs: report.latencyMs,
|
|
90
|
+
listo: report.ready,
|
|
91
|
+
puntoVenta: {
|
|
92
|
+
estado: report.pointOfSale.kind,
|
|
93
|
+
numero: report.pointOfSaleNumber ?? null,
|
|
94
|
+
tipoEmision: point?.emissionType ?? null,
|
|
95
|
+
},
|
|
96
|
+
servidores: {
|
|
97
|
+
aplicacion: report.servers.app,
|
|
98
|
+
autenticacion: report.servers.auth,
|
|
99
|
+
baseDeDatos: report.servers.db,
|
|
100
|
+
},
|
|
101
|
+
}, null, 2);
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=parameters.presenter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameters.presenter.js","sourceRoot":"","sources":["../../../src/modules/parameters/parameters.presenter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ParametersGateway, SalesPoint, ServerStatus } from './parameters';
|
|
2
|
+
export type PointOfSaleCheck = {
|
|
3
|
+
readonly kind: 'habilitado';
|
|
4
|
+
readonly point: SalesPoint;
|
|
5
|
+
} | {
|
|
6
|
+
readonly kind: 'bloqueado' | 'de-baja';
|
|
7
|
+
readonly point: SalesPoint;
|
|
8
|
+
} | {
|
|
9
|
+
readonly kind: 'no-encontrado';
|
|
10
|
+
}
|
|
11
|
+
/** En testing ARCA no informa puntos de venta (error 602): no se puede verificar. */
|
|
12
|
+
| {
|
|
13
|
+
readonly kind: 'sin-datos';
|
|
14
|
+
} | {
|
|
15
|
+
readonly kind: 'sin-configurar';
|
|
16
|
+
};
|
|
17
|
+
export interface StatusReport {
|
|
18
|
+
readonly environment: 'produccion' | 'testing';
|
|
19
|
+
readonly latencyMs: number;
|
|
20
|
+
readonly pointOfSale: PointOfSaleCheck;
|
|
21
|
+
readonly pointOfSaleNumber?: number;
|
|
22
|
+
readonly servers: ServerStatus;
|
|
23
|
+
/** Se puede emitir: servidores OK y punto de venta habilitado (o no verificable en testing). */
|
|
24
|
+
readonly ready: boolean;
|
|
25
|
+
}
|
|
26
|
+
export declare function buildStatusReport(options: {
|
|
27
|
+
readonly environment: 'produccion' | 'testing';
|
|
28
|
+
readonly gateway: ParametersGateway;
|
|
29
|
+
readonly now?: () => number;
|
|
30
|
+
readonly pointOfSale?: number;
|
|
31
|
+
}): Promise<StatusReport>;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
const SERVER_OK = 'OK';
|
|
2
|
+
function checkPointOfSale(points, number) {
|
|
3
|
+
if (!number) {
|
|
4
|
+
return { kind: 'sin-configurar' };
|
|
5
|
+
}
|
|
6
|
+
if (points.length === 0) {
|
|
7
|
+
return { kind: 'sin-datos' };
|
|
8
|
+
}
|
|
9
|
+
const point = points.find((candidate) => candidate.number === number);
|
|
10
|
+
if (!point) {
|
|
11
|
+
return { kind: 'no-encontrado' };
|
|
12
|
+
}
|
|
13
|
+
if (point.blocked) {
|
|
14
|
+
return { kind: 'bloqueado', point };
|
|
15
|
+
}
|
|
16
|
+
return point.closedOn ? { kind: 'de-baja', point } : { kind: 'habilitado', point };
|
|
17
|
+
}
|
|
18
|
+
export async function buildStatusReport(options) {
|
|
19
|
+
const now = options.now ?? Date.now;
|
|
20
|
+
const start = now();
|
|
21
|
+
const servers = await options.gateway.getServerStatus();
|
|
22
|
+
const latencyMs = now() - start;
|
|
23
|
+
const points = await options.gateway.getSalesPoints();
|
|
24
|
+
const pointOfSale = checkPointOfSale(points, options.pointOfSale);
|
|
25
|
+
const serversOk = [servers.app, servers.db, servers.auth].every((value) => value === SERVER_OK);
|
|
26
|
+
return {
|
|
27
|
+
environment: options.environment,
|
|
28
|
+
latencyMs,
|
|
29
|
+
pointOfSale,
|
|
30
|
+
pointOfSaleNumber: options.pointOfSale,
|
|
31
|
+
ready: serversOk && (pointOfSale.kind === 'habilitado' || pointOfSale.kind === 'sin-datos'),
|
|
32
|
+
servers,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/modules/parameters/status.ts"],"names":[],"mappings":"AAoBA,MAAM,SAAS,GAAG,IAAI,CAAC;AAEvB,SAAS,gBAAgB,CAAC,MAA6B,EAAE,MAA0B;IACjF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACpC,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAEtE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IACtC,CAAC;IAED,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AACrF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAKvC;IACC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACpC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC;IACpB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;IACxD,MAAM,SAAS,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC;IAChC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;IACtD,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IAEhG,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,SAAS;QACT,WAAW;QACX,iBAAiB,EAAE,OAAO,CAAC,WAAW;QACtC,KAAK,EAAE,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,YAAY,IAAI,WAAW,CAAC,IAAI,KAAK,WAAW,CAAC;QAC3F,OAAO;KACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Arca } from '@arcasdk/core';
|
|
2
|
+
import type { ParameterEntry, ParametersGateway, ParameterTable, Quotation, SalesPoint, ServerStatus } from '../../modules/parameters/parameters';
|
|
3
|
+
export declare class ArcaParametersGateway implements ParametersGateway {
|
|
4
|
+
private readonly arca;
|
|
5
|
+
constructor(arca: Arca);
|
|
6
|
+
getServerStatus(): Promise<ServerStatus>;
|
|
7
|
+
getSalesPoints(): Promise<SalesPoint[]>;
|
|
8
|
+
getQuotation(currency: string): Promise<Quotation>;
|
|
9
|
+
listTable(table: Exclude<ParameterTable, 'puntos-venta'>): Promise<ParameterEntry[]>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { AppError } from '../../lib/errors/app-error.js';
|
|
2
|
+
import { resolveBillingCurrencyCode } from '../../modules/billing/billing.mappers.js';
|
|
3
|
+
// "Sin Resultados": ARCA no tiene datos para informar (por ejemplo, puntos de venta en testing).
|
|
4
|
+
const NO_RESULTS_CODE = 602;
|
|
5
|
+
function readRows(result, key, operation) {
|
|
6
|
+
const errors = result.errors?.err ?? [];
|
|
7
|
+
if (errors.some((error) => error.code !== NO_RESULTS_CODE)) {
|
|
8
|
+
throw new AppError(`ARCA devolvio un error al consultar ${operation}: ${errors.map((e) => e.msg).join('; ')}`, {
|
|
9
|
+
code: 'ARCA_PARAMETERS_ERROR',
|
|
10
|
+
details: { errores: errors },
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
return result.resultGet?.[key] ?? [];
|
|
14
|
+
}
|
|
15
|
+
function toEntry(row) {
|
|
16
|
+
return {
|
|
17
|
+
description: row.desc,
|
|
18
|
+
detail: row.cmp_Clase,
|
|
19
|
+
id: String(row.id),
|
|
20
|
+
// ARCA informa "NULL" cuando el valor no vence.
|
|
21
|
+
validTo: row.fchHasta && /^\d{8}$/.test(row.fchHasta) ? row.fchHasta : undefined,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export class ArcaParametersGateway {
|
|
25
|
+
arca;
|
|
26
|
+
constructor(arca) {
|
|
27
|
+
this.arca = arca;
|
|
28
|
+
}
|
|
29
|
+
async getServerStatus() {
|
|
30
|
+
const status = await this.arca.electronicBillingService.getServerStatus();
|
|
31
|
+
return { app: status.appServer, auth: status.authServer, db: status.dbServer };
|
|
32
|
+
}
|
|
33
|
+
async getSalesPoints() {
|
|
34
|
+
const result = (await this.arca.electronicBillingService.getSalesPoints());
|
|
35
|
+
const rows = readRows(result, 'ptoVenta', 'los puntos de venta');
|
|
36
|
+
return rows.map((row) => ({
|
|
37
|
+
blocked: row.bloqueado === 'S',
|
|
38
|
+
closedOn: row.fechaBaja && /^\d{8}$/.test(row.fechaBaja) ? row.fechaBaja : undefined,
|
|
39
|
+
emissionType: row.emisionTipo,
|
|
40
|
+
number: row.nro,
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
async getQuotation(currency) {
|
|
44
|
+
const code = resolveBillingCurrencyCode(currency);
|
|
45
|
+
const result = await this.arca.electronicBillingService.getQuotation(code);
|
|
46
|
+
const rate = result.resultGet?.monCotiz;
|
|
47
|
+
if (typeof rate !== 'number' || rate <= 0) {
|
|
48
|
+
throw new AppError(`ARCA no devolvio una cotizacion para ${currency}.`, {
|
|
49
|
+
code: 'ARCA_QUOTATION_ERROR',
|
|
50
|
+
details: { errors: result.errors },
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
return { currency: code, date: result.resultGet?.fchCotiz, rate };
|
|
54
|
+
}
|
|
55
|
+
async listTable(table) {
|
|
56
|
+
const service = this.arca.electronicBillingService;
|
|
57
|
+
const sources = {
|
|
58
|
+
alicuotas: async () => [await service.getAliquotTypes(), 'ivaTipo'],
|
|
59
|
+
comprobantes: async () => [await service.getVoucherTypes(), 'cbteTipo'],
|
|
60
|
+
conceptos: async () => [await service.getConceptTypes(), 'conceptoTipo'],
|
|
61
|
+
documentos: async () => [await service.getDocumentTypes(), 'docTipo'],
|
|
62
|
+
'iva-receptor': async () => [await service.getIvaReceptorTypes(), 'condicionIvaReceptor'],
|
|
63
|
+
monedas: async () => [await service.getCurrencyTypes(), 'moneda'],
|
|
64
|
+
opcionales: async () => [await service.getOptionalTypes(), 'opcionalTipo'],
|
|
65
|
+
tributos: async () => [await service.getTaxTypes(), 'tributoTipo'],
|
|
66
|
+
};
|
|
67
|
+
const [result, key] = await sources[table]();
|
|
68
|
+
return readRows(result, key, table).map(toEntry);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=arca-parameters.gateway.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arca-parameters.gateway.js","sourceRoot":"","sources":["../../../src/services/arca/arca-parameters.gateway.ts"],"names":[],"mappings":"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"}
|
package/llms.txt
CHANGED
|
@@ -174,6 +174,8 @@ testing van a `testing/`), `pdfNavegador` (ruta a Chrome/Chromium/Edge), `emisor
|
|
|
174
174
|
- `arcli ultimos <tipo> [--cantidad N] [--pv N] [--json]`: últimos comprobantes emitidos (de 1 a 50, por defecto 10), del más nuevo al más viejo. `tipo` es el atajo (`fb`, `nca`…).
|
|
175
175
|
- `arcli consultar <tipo> <numero> [--pv N] [--json]`: detalle de un comprobante emitido (CAE, vencimiento, importes, receptor). Si no existe, el error es `VOUCHER_NOT_FOUND`. Sirve para verificar después de emitir.
|
|
176
176
|
- `arcli pdf [estado|instalar|desinstalar] [--json]`: plugin que genera los PDFs. `arcli pdf instalar` lo descarga sin preguntar (sirve en scripts).
|
|
177
|
+
- `arcli estado [--json]`: si ARCA responde (servidores app/db/auth, latencia) y si el punto de venta configurado está habilitado. `listo: true` = se puede emitir. En testing ARCA no informa puntos de venta (`puntoVenta.estado: "sin-datos"`).
|
|
178
|
+
- `arcli parametros [tabla] [--json]`: tablas de ARCA vigentes: `puntos-venta`, `comprobantes`, `documentos`, `alicuotas`, `iva-receptor`, `monedas`, `conceptos`, `opcionales`, `tributos`. `arcli parametros cotizacion USD` da la cotización oficial (`{moneda, cotizacion, fecha}`).
|
|
177
179
|
- `arcli ejemplos`: comandos listos para copiar por cada tipo de comprobante.
|
|
178
180
|
- `arcli storybook [escena]`: demos visuales de la UI (sin llamar a ARCA).
|
|
179
181
|
- `arcli <cualquier comando> ayuda` o `--ayuda`: ayuda contextual con ejemplos (nota: el flag
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "arcli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "CLI para previsualizar y emitir comprobantes ARCA desde terminal, con validaciones claras y salida lista para automatizar",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"arca",
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
},
|
|
73
73
|
"dependencies": {
|
|
74
74
|
"@arcasdk/core": "2.0.2",
|
|
75
|
+
"@inquirer/checkbox": "5.2.6",
|
|
75
76
|
"@inquirer/input": "5.1.6",
|
|
76
77
|
"@inquirer/select": "5.2.5",
|
|
77
78
|
"big.js": "7.0.1",
|