arcli 1.3.0 → 1.5.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.
Files changed (151) hide show
  1. package/CHANGELOG.md +48 -1
  2. package/README.md +3 -1
  3. package/dist/cli/commands/billing.command.batch.d.ts +22 -0
  4. package/dist/cli/commands/billing.command.batch.js +51 -0
  5. package/dist/cli/commands/billing.command.batch.js.map +1 -0
  6. package/dist/cli/commands/billing.command.options.js +7 -1
  7. package/dist/cli/commands/billing.command.options.js.map +1 -1
  8. package/dist/cli/commands/billing.command.output.d.ts +2 -0
  9. package/dist/cli/commands/billing.command.output.js +15 -1
  10. package/dist/cli/commands/billing.command.output.js.map +1 -1
  11. package/dist/cli/commands/billing.command.parser.d.ts +7 -0
  12. package/dist/cli/commands/billing.command.parser.js +96 -11
  13. package/dist/cli/commands/billing.command.parser.js.map +1 -1
  14. package/dist/cli/commands/billing.command.pdf.d.ts +24 -0
  15. package/dist/cli/commands/billing.command.pdf.js +130 -0
  16. package/dist/cli/commands/billing.command.pdf.js.map +1 -0
  17. package/dist/cli/commands/billing.command.shared.js +28 -12
  18. package/dist/cli/commands/billing.command.shared.js.map +1 -1
  19. package/dist/cli/commands/config.command.js +6 -6
  20. package/dist/cli/commands/config.command.js.map +1 -1
  21. package/dist/cli/commands/pdf.command.d.ts +2 -0
  22. package/dist/cli/commands/pdf.command.js +78 -0
  23. package/dist/cli/commands/pdf.command.js.map +1 -0
  24. package/dist/cli/commands/vouchers.command.d.ts +2 -0
  25. package/dist/cli/commands/vouchers.command.js +96 -0
  26. package/dist/cli/commands/vouchers.command.js.map +1 -0
  27. package/dist/cli/help.d.ts +1 -0
  28. package/dist/cli/help.js +23 -1
  29. package/dist/cli/help.js.map +1 -1
  30. package/dist/cli/interactive/advanced-options.d.ts +14 -0
  31. package/dist/cli/interactive/advanced-options.js +126 -0
  32. package/dist/cli/interactive/advanced-options.js.map +1 -0
  33. package/dist/cli/interactive/history.flow.js +10 -19
  34. package/dist/cli/interactive/history.flow.js.map +1 -1
  35. package/dist/cli/interactive/interactive-mode.js +2 -1
  36. package/dist/cli/interactive/interactive-mode.js.map +1 -1
  37. package/dist/cli/interactive/invoice.flow.d.ts +20 -0
  38. package/dist/cli/interactive/invoice.flow.js +120 -42
  39. package/dist/cli/interactive/invoice.flow.js.map +1 -1
  40. package/dist/cli/interactive/note.flow.d.ts +24 -0
  41. package/dist/cli/interactive/note.flow.js +205 -68
  42. package/dist/cli/interactive/note.flow.js.map +1 -1
  43. package/dist/cli/interactive/pdf.flow.d.ts +5 -0
  44. package/dist/cli/interactive/pdf.flow.js +89 -0
  45. package/dist/cli/interactive/pdf.flow.js.map +1 -0
  46. package/dist/cli/interactive/prompts.d.ts +8 -0
  47. package/dist/cli/interactive/prompts.js +22 -0
  48. package/dist/cli/interactive/prompts.js.map +1 -1
  49. package/dist/cli/interactive/session.d.ts +1 -1
  50. package/dist/cli/interactive/session.js +5 -1
  51. package/dist/cli/interactive/session.js.map +1 -1
  52. package/dist/cli/interactive/validators.d.ts +4 -0
  53. package/dist/cli/interactive/validators.js +18 -0
  54. package/dist/cli/interactive/validators.js.map +1 -1
  55. package/dist/cli/program.js +4 -0
  56. package/dist/cli/program.js.map +1 -1
  57. package/dist/cli/version.d.ts +1 -1
  58. package/dist/cli/version.js +1 -1
  59. package/dist/modules/billing/billing.amounts.d.ts +1 -1
  60. package/dist/modules/billing/billing.amounts.js +34 -13
  61. package/dist/modules/billing/billing.amounts.js.map +1 -1
  62. package/dist/modules/billing/billing.batch.d.ts +23 -0
  63. package/dist/modules/billing/billing.batch.js +43 -0
  64. package/dist/modules/billing/billing.batch.js.map +1 -0
  65. package/dist/modules/billing/billing.display.js +12 -3
  66. package/dist/modules/billing/billing.display.js.map +1 -1
  67. package/dist/modules/billing/billing.schemas.d.ts +35 -0
  68. package/dist/modules/billing/billing.schemas.js +32 -6
  69. package/dist/modules/billing/billing.schemas.js.map +1 -1
  70. package/dist/modules/billing/billing.serialize.js +13 -0
  71. package/dist/modules/billing/billing.serialize.js.map +1 -1
  72. package/dist/modules/billing/billing.types.internal.d.ts +3 -0
  73. package/dist/modules/config/config-doctor.js +13 -0
  74. package/dist/modules/config/config-doctor.js.map +1 -1
  75. package/dist/modules/config/config-value-parser.d.ts +1 -1
  76. package/dist/modules/config/config-value-parser.js +43 -2
  77. package/dist/modules/config/config-value-parser.js.map +1 -1
  78. package/dist/modules/config/config.presenter.d.ts +6 -2
  79. package/dist/modules/config/config.presenter.js +25 -6
  80. package/dist/modules/config/config.presenter.js.map +1 -1
  81. package/dist/modules/config/config.schemas.d.ts +42 -0
  82. package/dist/modules/config/config.schemas.js +29 -0
  83. package/dist/modules/config/config.schemas.js.map +1 -1
  84. package/dist/modules/config/config.service.d.ts +8 -0
  85. package/dist/modules/config/config.service.js +21 -0
  86. package/dist/modules/config/config.service.js.map +1 -1
  87. package/dist/modules/examples/examples.js +1 -0
  88. package/dist/modules/examples/examples.js.map +1 -1
  89. package/dist/modules/interactive/equivalent-command.js +13 -0
  90. package/dist/modules/interactive/equivalent-command.js.map +1 -1
  91. package/dist/modules/interactive/wizard.d.ts +16 -0
  92. package/dist/modules/interactive/wizard.js +33 -0
  93. package/dist/modules/interactive/wizard.js.map +1 -0
  94. package/dist/modules/pdf/pdf-data.mapper.d.ts +4 -0
  95. package/dist/modules/pdf/pdf-data.mapper.js +117 -0
  96. package/dist/modules/pdf/pdf-data.mapper.js.map +1 -0
  97. package/dist/modules/pdf/pdf-decision.d.ts +14 -0
  98. package/dist/modules/pdf/pdf-decision.js +19 -0
  99. package/dist/modules/pdf/pdf-decision.js.map +1 -0
  100. package/dist/modules/pdf/pdf-file-name.d.ts +3 -0
  101. package/dist/modules/pdf/pdf-file-name.js +7 -0
  102. package/dist/modules/pdf/pdf-file-name.js.map +1 -0
  103. package/dist/modules/pdf/pdf-issuer.d.ts +8 -0
  104. package/dist/modules/pdf/pdf-issuer.js +43 -0
  105. package/dist/modules/pdf/pdf-issuer.js.map +1 -0
  106. package/dist/modules/pdf/pdf.errors.d.ts +10 -0
  107. package/dist/modules/pdf/pdf.errors.js +11 -0
  108. package/dist/modules/pdf/pdf.errors.js.map +1 -0
  109. package/dist/modules/pdf/pdf.types.d.ts +91 -0
  110. package/dist/modules/pdf/pdf.types.js +2 -0
  111. package/dist/modules/pdf/pdf.types.js.map +1 -0
  112. package/dist/modules/storybook/showcase.js +6 -2
  113. package/dist/modules/storybook/showcase.js.map +1 -1
  114. package/dist/modules/{interactive → vouchers}/voucher-history.d.ts +9 -0
  115. package/dist/modules/{interactive → vouchers}/voucher-history.js +1 -0
  116. package/dist/modules/vouchers/voucher-history.js.map +1 -0
  117. package/dist/modules/vouchers/voucher-history.presenter.d.ts +22 -0
  118. package/dist/modules/vouchers/voucher-history.presenter.js +108 -0
  119. package/dist/modules/vouchers/voucher-history.presenter.js.map +1 -0
  120. package/dist/services/arca/arca-voucher-history.gateway.d.ts +1 -1
  121. package/dist/services/arca/arca-voucher-history.gateway.js +9 -1
  122. package/dist/services/arca/arca-voucher-history.gateway.js.map +1 -1
  123. package/dist/services/pdf/pdf-browser.d.ts +5 -0
  124. package/dist/services/pdf/pdf-browser.js +54 -0
  125. package/dist/services/pdf/pdf-browser.js.map +1 -0
  126. package/dist/services/pdf/pdf-exporter.d.ts +19 -0
  127. package/dist/services/pdf/pdf-exporter.js +47 -0
  128. package/dist/services/pdf/pdf-exporter.js.map +1 -0
  129. package/dist/services/pdf/pdf-plugin.d.ts +50 -0
  130. package/dist/services/pdf/pdf-plugin.js +143 -0
  131. package/dist/services/pdf/pdf-plugin.js.map +1 -0
  132. package/dist/ui/presenters/errors.presenter.js +22 -1
  133. package/dist/ui/presenters/errors.presenter.js.map +1 -1
  134. package/dist/ui/presenters/errors.zod-presenter.d.ts +2 -0
  135. package/dist/ui/presenters/errors.zod-presenter.js +4 -0
  136. package/dist/ui/presenters/errors.zod-presenter.js.map +1 -1
  137. package/dist/ui/presenters/index.d.ts +2 -0
  138. package/dist/ui/presenters/index.js +2 -0
  139. package/dist/ui/presenters/index.js.map +1 -1
  140. package/dist/ui/presenters/pdf.presenter.d.ts +13 -0
  141. package/dist/ui/presenters/pdf.presenter.js +46 -0
  142. package/dist/ui/presenters/pdf.presenter.js.map +1 -0
  143. package/dist/ui/primitives/text.d.ts +5 -0
  144. package/dist/ui/primitives/text.js +10 -1
  145. package/dist/ui/primitives/text.js.map +1 -1
  146. package/llms.txt +25 -5
  147. package/package.json +1 -1
  148. package/dist/cli/interactive/voucher-format.d.ts +0 -4
  149. package/dist/cli/interactive/voucher-format.js +0 -28
  150. package/dist/cli/interactive/voucher-format.js.map +0 -1
  151. package/dist/modules/interactive/voucher-history.js.map +0 -1
@@ -0,0 +1,117 @@
1
+ import { resolveIvaRateLabel } from '../billing/billing.amounts.js';
2
+ import { formatIvaConditionLabel } from '../billing/billing.labels.js';
3
+ import { PdfError } from './pdf.errors.js';
4
+ export const DEFAULT_ITEM_DESCRIPTION = 'Segun detalle';
5
+ // Mismos nombres que usa la plantilla del SDK para calcular el tipo de documento del QR.
6
+ const DOCUMENT_TYPE_NAMES = {
7
+ 80: 'CUIT',
8
+ 86: 'CUIL',
9
+ 96: 'DNI',
10
+ };
11
+ const CURRENCY_CODES = { PES: 'PES', DOL: 'DOL' };
12
+ const EMPTY_TEXT = '- -';
13
+ function round(value) {
14
+ return Math.round(value * 100) / 100;
15
+ }
16
+ function capitalizeWords(value) {
17
+ return value.replace(/(^|\s)(\p{L})/gu, (_, space, letter) => `${space}${letter.toUpperCase()}`);
18
+ }
19
+ /** "10,5%" -> 10.5 */
20
+ function resolveIvaRateNumber(aliquotId) {
21
+ const label = resolveIvaRateLabel(aliquotId);
22
+ return label ? Number(label.replace('%', '').replace(',', '.')) : undefined;
23
+ }
24
+ // La plantilla busca cada alicuota por este texto exacto ("10.5%", con punto).
25
+ function buildIvaEntries(iva) {
26
+ return (iva ?? []).map((entry) => ({
27
+ baseImponible: entry.BaseImp,
28
+ descripcion: `${resolveIvaRateNumber(entry.Id) ?? entry.Id}%`,
29
+ id: entry.Id,
30
+ importe: entry.Importe,
31
+ }));
32
+ }
33
+ /**
34
+ * wsfe no guarda items: se arma un renglon por alicuota con la descripcion del usuario, o uno solo con
35
+ * el total cuando no se discrimina IVA (letra C). Exento y no gravado van en renglones aparte.
36
+ */
37
+ function buildItems(result, description) {
38
+ const { payload, voucherKind } = result;
39
+ const line = (subtotal, alicuotaIva, suffix = '') => ({
40
+ alicuotaIva,
41
+ cantidad: 1,
42
+ descripcion: `${description}${suffix}`,
43
+ precioUnitario: subtotal,
44
+ subtotal,
45
+ unidadMedida: 'unidad',
46
+ });
47
+ if (voucherKind.letter === 'c') {
48
+ return [line(payload.ImpTotal)];
49
+ }
50
+ const items = (payload.Iva ?? []).map((entry) => line(entry.BaseImp, resolveIvaRateNumber(entry.Id)));
51
+ if (payload.ImpOpEx > 0) {
52
+ items.push(line(payload.ImpOpEx, undefined, ' (exento)'));
53
+ }
54
+ if (payload.ImpTotConc > 0) {
55
+ items.push(line(payload.ImpTotConc, undefined, ' (no gravado)'));
56
+ }
57
+ return items.length > 0 ? items : [line(payload.ImpTotal)];
58
+ }
59
+ /** ARCA asigna el numero al emitir: sale de la respuesta, no del payload. */
60
+ function resolveVoucherNumber(result) {
61
+ const number = result.response.raw?.response?.FeDetResp?.FECAEDetResponse?.[0]?.CbteDesde ?? result.payload.CbteDesde;
62
+ if (!number) {
63
+ throw new PdfError('PDF_GENERATION_ERROR', 'La respuesta de ARCA no trae el numero del comprobante.');
64
+ }
65
+ return number;
66
+ }
67
+ export function mapBillingResultToPdfData(result, issuer, extras = {}) {
68
+ const { payload, response, voucherKind } = result;
69
+ if (!response.cae || !response.caeVencimiento) {
70
+ throw new PdfError('PDF_GENERATION_ERROR', 'El comprobante no tiene CAE: no se puede generar el PDF.');
71
+ }
72
+ const number = resolveVoucherNumber(result);
73
+ const isConsumer = payload.DocTipo === 99;
74
+ const isUnidentified = isConsumer && !payload.DocNro;
75
+ const iva = voucherKind.letter === 'c' ? [] : buildIvaEntries(payload.Iva);
76
+ return {
77
+ cae: response.cae,
78
+ caeFechaVencimiento: response.caeVencimiento,
79
+ cbteDesde: number,
80
+ cbteFecha: payload.CbteFch,
81
+ cbteHasta: number,
82
+ cbteLetra: voucherKind.letter.toUpperCase(),
83
+ cbteTipo: voucherKind.arcaType,
84
+ cbtesAsociados: payload.CbtesAsoc?.map((voucher) => ({
85
+ cuit: voucher.Cuit,
86
+ fecha: voucher.CbteFch,
87
+ numero: voucher.Nro,
88
+ puntoVenta: voucher.PtoVta,
89
+ tipo: voucher.Tipo,
90
+ })),
91
+ concepto: payload.Concepto,
92
+ cotizacion: payload.MonCotiz,
93
+ emisor: issuer,
94
+ fechaServicioDesde: payload.FchServDesde,
95
+ fechaServicioHasta: payload.FchServHasta,
96
+ fechaVtoPago: payload.FchVtoPago,
97
+ importeExento: payload.ImpOpEx || undefined,
98
+ importeIva: voucherKind.letter === 'c' ? 0 : payload.ImpIVA,
99
+ importeNetoGravado: voucherKind.letter === 'c' ? payload.ImpTotal : payload.ImpNeto,
100
+ importeNetoNoGravado: payload.ImpTotConc || undefined,
101
+ importeTotal: round(payload.ImpTotal),
102
+ items: buildItems(result, extras.descripcion?.trim() || DEFAULT_ITEM_DESCRIPTION),
103
+ iva: iva.length > 0 ? iva : undefined,
104
+ // La plantilla del SDK solo conoce pesos y dolares; el resto se muestra con su codigo ARCA.
105
+ moneda: CURRENCY_CODES[payload.MonId] ?? payload.MonId,
106
+ puntoVenta: payload.PtoVta,
107
+ receptor: {
108
+ condicionIva: capitalizeWords(formatIvaConditionLabel(payload.CondicionIVAReceptorId)),
109
+ // Consumidor final sin documento: el QR igual sale con tipo 99 y numero 0 (el SDK usa `Number(nro) || 0`).
110
+ documentoNro: isUnidentified ? EMPTY_TEXT : String(payload.DocNro),
111
+ documentoTipo: isUnidentified ? 'Documento' : (DOCUMENT_TYPE_NAMES[payload.DocTipo] ?? String(payload.DocTipo)),
112
+ domicilio: extras.receptorDomicilio?.trim() || undefined,
113
+ razonSocial: extras.receptorNombre?.trim() || (isConsumer ? 'Consumidor Final' : EMPTY_TEXT),
114
+ },
115
+ };
116
+ }
117
+ //# sourceMappingURL=pdf-data.mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf-data.mapper.js","sourceRoot":"","sources":["../../../src/modules/pdf/pdf-data.mapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { BillingExecutionResult } from '../billing/billing.types.internal';
2
+ import type { ArcliPdfMode } from '../config/config.schemas';
3
+ export type PdfDecision = 'generar' | 'omitir' | 'preguntar';
4
+ export interface PdfDecisionInput {
5
+ /** `true` con --exportar-pdf, `false` con --sin-pdf. */
6
+ readonly flag?: boolean;
7
+ /** Hay alguien para responder: terminal interactiva y sin --json. */
8
+ readonly interactive: boolean;
9
+ readonly mode?: ArcliPdfMode;
10
+ }
11
+ /** El flag gana; sin flag decide la config, y "preguntar" sin nadie que responda no genera. */
12
+ export declare function resolvePdfDecision(input: PdfDecisionInput): PdfDecision;
13
+ /** Sin CAE no hay PDF: ni en vista previa ni en rechazados. Un observado tiene CAE y si lleva. */
14
+ export declare function canHavePdf(result: BillingExecutionResult): boolean;
@@ -0,0 +1,19 @@
1
+ /** El flag gana; sin flag decide la config, y "preguntar" sin nadie que responda no genera. */
2
+ export function resolvePdfDecision(input) {
3
+ if (input.flag !== undefined) {
4
+ return input.flag ? 'generar' : 'omitir';
5
+ }
6
+ switch (input.mode ?? 'preguntar') {
7
+ case 'siempre':
8
+ return 'generar';
9
+ case 'nunca':
10
+ return 'omitir';
11
+ case 'preguntar':
12
+ return input.interactive ? 'preguntar' : 'omitir';
13
+ }
14
+ }
15
+ /** Sin CAE no hay PDF: ni en vista previa ni en rechazados. Un observado tiene CAE y si lleva. */
16
+ export function canHavePdf(result) {
17
+ return !result.dryRun && result.response.status !== 'rechazado' && Boolean(result.response.cae);
18
+ }
19
+ //# sourceMappingURL=pdf-decision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf-decision.js","sourceRoot":"","sources":["../../../src/modules/pdf/pdf-decision.ts"],"names":[],"mappings":"AAaA,+FAA+F;AAC/F,MAAM,UAAU,kBAAkB,CAAC,KAAuB;IACxD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC3C,CAAC;IAED,QAAQ,KAAK,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;QAClC,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,OAAO;YACV,OAAO,QAAQ,CAAC;QAClB,KAAK,WAAW;YACd,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;IACtD,CAAC;AACH,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,UAAU,CAAC,MAA8B;IACvD,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAClG,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { VoucherKindDefinition } from '../billing/billing.types';
2
+ /** `factura-c_0003-00000125.pdf`: se lee facil, se ordena bien y no se repite. */
3
+ export declare function buildPdfFileName(voucherKind: VoucherKindDefinition, pointOfSale: number, number: number): string;
@@ -0,0 +1,7 @@
1
+ /** `factura-c_0003-00000125.pdf`: se lee facil, se ordena bien y no se repite. */
2
+ export function buildPdfFileName(voucherKind, pointOfSale, number) {
3
+ const pv = String(pointOfSale).padStart(4, '0');
4
+ const voucherNumber = String(number).padStart(8, '0');
5
+ return `${voucherKind.family}-${voucherKind.letter}_${pv}-${voucherNumber}.pdf`;
6
+ }
7
+ //# sourceMappingURL=pdf-file-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf-file-name.js","sourceRoot":"","sources":["../../../src/modules/pdf/pdf-file-name.ts"],"names":[],"mappings":"AAEA,kFAAkF;AAClF,MAAM,UAAU,gBAAgB,CAAC,WAAkC,EAAE,WAAmB,EAAE,MAAc;IACtG,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAEtD,OAAO,GAAG,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,IAAI,EAAE,IAAI,aAAa,MAAM,CAAC;AAClF,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { VoucherLetter } from '../billing/billing.types';
2
+ import type { ArcliConfig } from '../config/config.schemas';
3
+ import type { InvoicePdfIssuer } from './pdf.types';
4
+ /** "responsable-inscripto" -> "Responsable Inscripto". */
5
+ export declare function formatIvaConditionName(value: string): string;
6
+ /** Claves obligatorias del emisor que faltan en la config, como se escriben en `arcli config establecer`. */
7
+ export declare function listMissingIssuerKeys(config: Pick<ArcliConfig, 'cuit' | 'emisor'>): string[];
8
+ export declare function resolvePdfIssuer(config: Pick<ArcliConfig, 'cuit' | 'emisor'>, letter: VoucherLetter): InvoicePdfIssuer;
@@ -0,0 +1,43 @@
1
+ import { PdfError } from './pdf.errors.js';
2
+ const REQUIRED_ISSUER_KEYS = [
3
+ ['razonSocial', 'emisor.razonSocial', '"Tu Nombre o Empresa"'],
4
+ ['domicilio', 'emisor.domicilio', '"Calle 123, Ciudad"'],
5
+ ['inicioActividades', 'emisor.inicioActividades', '1/03/2020'],
6
+ ];
7
+ /** "responsable-inscripto" -> "Responsable Inscripto". */
8
+ export function formatIvaConditionName(value) {
9
+ return value
10
+ .split('-')
11
+ .map((word) => (word === 'iva' ? 'IVA' : `${word.charAt(0).toUpperCase()}${word.slice(1)}`))
12
+ .join(' ');
13
+ }
14
+ /** Claves obligatorias del emisor que faltan en la config, como se escriben en `arcli config establecer`. */
15
+ export function listMissingIssuerKeys(config) {
16
+ const missing = REQUIRED_ISSUER_KEYS.filter(([field]) => !config.emisor[field]).map(([, key]) => key);
17
+ return config.cuit ? missing : ['cuit', ...missing];
18
+ }
19
+ export function resolvePdfIssuer(config, letter) {
20
+ const missing = listMissingIssuerKeys(config);
21
+ const { emisor } = config;
22
+ if (missing.length > 0 || !config.cuit || !emisor.razonSocial || !emisor.domicilio || !emisor.inicioActividades) {
23
+ const commands = missing.map((key) => {
24
+ const example = REQUIRED_ISSUER_KEYS.find(([, configKey]) => configKey === key)?.[2] ?? '<valor>';
25
+ return `arcli config establecer ${key} ${example}`;
26
+ });
27
+ throw new PdfError('PDF_ISSUER_INCOMPLETE', `Faltan datos del emisor para el PDF: ${missing.join(', ')}.`, {
28
+ details: { faltan: missing },
29
+ suggestion: `Configurelos una vez con:\n${commands.join('\n')}`,
30
+ });
31
+ }
32
+ // La letra alcanza para la condicion habitual: A y B las emite un responsable inscripto, C un monotributista.
33
+ const condition = emisor.condicionIva ?? (letter === 'c' ? 'responsable-monotributo' : 'responsable-inscripto');
34
+ return {
35
+ condicionIva: formatIvaConditionName(condition),
36
+ cuit: config.cuit,
37
+ domicilioComercial: emisor.domicilio,
38
+ fechaInicioActividades: emisor.inicioActividades,
39
+ iibb: emisor.iibb ?? 'Exento',
40
+ razonSocial: emisor.razonSocial,
41
+ };
42
+ }
43
+ //# sourceMappingURL=pdf-issuer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf-issuer.js","sourceRoot":"","sources":["../../../src/modules/pdf/pdf-issuer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGxC,MAAM,oBAAoB,GAAG;IAC3B,CAAC,aAAa,EAAE,oBAAoB,EAAE,uBAAuB,CAAC;IAC9D,CAAC,WAAW,EAAE,kBAAkB,EAAE,qBAAqB,CAAC;IACxD,CAAC,mBAAmB,EAAE,0BAA0B,EAAE,WAAW,CAAC;CACtD,CAAC;AAEX,0DAA0D;AAC1D,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,OAAO,KAAK;SACT,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC3F,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,6GAA6G;AAC7G,MAAM,UAAU,qBAAqB,CAAC,MAA4C;IAChF,MAAM,OAAO,GAAa,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAEhH,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,MAA4C,EAC5C,MAAqB;IAErB,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAE1B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAChH,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;YAElG,OAAO,2BAA2B,GAAG,IAAI,OAAO,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,QAAQ,CAAC,uBAAuB,EAAE,wCAAwC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACzG,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;YAC5B,UAAU,EAAE,8BAA8B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAChE,CAAC,CAAC;IACL,CAAC;IAED,8GAA8G;IAC9G,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAEhH,OAAO;QACL,YAAY,EAAE,sBAAsB,CAAC,SAAS,CAAC;QAC/C,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,kBAAkB,EAAE,MAAM,CAAC,SAAS;QACpC,sBAAsB,EAAE,MAAM,CAAC,iBAAiB;QAChD,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,QAAQ;QAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { AppError } from '../../lib/errors/app-error';
2
+ export type PdfErrorCode = 'PDF_GENERATION_ERROR' | 'PDF_ISSUER_INCOMPLETE' | 'PDF_PLUGIN_INSTALL_ERROR' | 'PDF_PLUGIN_MISSING';
3
+ export declare class PdfError extends AppError {
4
+ readonly suggestion?: string;
5
+ constructor(code: PdfErrorCode, message: string, options?: {
6
+ readonly details?: Record<string, unknown>;
7
+ readonly suggestion?: string;
8
+ });
9
+ }
10
+ export declare const PDF_INSTALL_SUGGESTION = "Instalelo con `arcli pdf instalar`.";
@@ -0,0 +1,11 @@
1
+ import { AppError } from '../../lib/errors/app-error.js';
2
+ export class PdfError extends AppError {
3
+ suggestion;
4
+ constructor(code, message, options = {}) {
5
+ super(message, { code, details: options.details });
6
+ this.name = 'PdfError';
7
+ this.suggestion = options.suggestion;
8
+ }
9
+ }
10
+ export const PDF_INSTALL_SUGGESTION = 'Instalelo con `arcli pdf instalar`.';
11
+ //# sourceMappingURL=pdf.errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf.errors.js","sourceRoot":"","sources":["../../../src/modules/pdf/pdf.errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAKtD,MAAM,OAAO,QAAS,SAAQ,QAAQ;IACpB,UAAU,CAAU;IAEpC,YACE,IAAkB,EAClB,OAAe,EACf,UAAwF,EAAE;QAE1F,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACvC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,qCAAqC,CAAC"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Copia de los tipos de entrada de `@arcasdk/pdf` (0.2.x), solo con los campos que usa arcli.
3
+ * No se importan del paquete porque es un plugin que puede no estar instalado.
4
+ */
5
+ export interface InvoicePdfIssuer {
6
+ readonly condicionIva: string;
7
+ readonly cuit: string;
8
+ readonly domicilioComercial: string;
9
+ /** yyyymmdd */
10
+ readonly fechaInicioActividades: string;
11
+ readonly iibb: string;
12
+ readonly razonSocial: string;
13
+ }
14
+ export interface InvoicePdfReceiver {
15
+ readonly condicionIva: string;
16
+ readonly documentoNro: string;
17
+ /** "CUIT", "CUIL", "DNI" u "Otro". */
18
+ readonly documentoTipo: string;
19
+ readonly domicilio?: string;
20
+ readonly razonSocial: string;
21
+ }
22
+ export interface InvoicePdfItem {
23
+ readonly alicuotaIva?: number;
24
+ readonly cantidad: number;
25
+ readonly descripcion: string;
26
+ readonly precioUnitario: number;
27
+ readonly subtotal: number;
28
+ readonly unidadMedida: string;
29
+ }
30
+ export interface InvoicePdfIva {
31
+ readonly baseImponible: number;
32
+ readonly descripcion: string;
33
+ readonly id: number;
34
+ readonly importe: number;
35
+ }
36
+ export interface InvoicePdfAssociatedVoucher {
37
+ readonly cuit?: string;
38
+ readonly fecha?: string;
39
+ readonly numero: number;
40
+ readonly puntoVenta: number;
41
+ readonly tipo: number;
42
+ }
43
+ export interface InvoicePdfData {
44
+ readonly cae: string;
45
+ /** yyyymmdd */
46
+ readonly caeFechaVencimiento: string;
47
+ readonly cbteDesde: number;
48
+ /** yyyymmdd */
49
+ readonly cbteFecha: string;
50
+ readonly cbteHasta: number;
51
+ readonly cbteLetra: string;
52
+ readonly cbteTipo: number;
53
+ readonly cbtesAsociados?: readonly InvoicePdfAssociatedVoucher[];
54
+ readonly concepto: number;
55
+ readonly cotizacion?: number;
56
+ readonly emisor: InvoicePdfIssuer;
57
+ readonly fechaServicioDesde?: string;
58
+ readonly fechaServicioHasta?: string;
59
+ readonly fechaVtoPago?: string;
60
+ readonly importeExento?: number;
61
+ readonly importeIva: number;
62
+ readonly importeNetoGravado: number;
63
+ readonly importeNetoNoGravado?: number;
64
+ readonly importeTotal: number;
65
+ readonly items: readonly InvoicePdfItem[];
66
+ readonly iva?: readonly InvoicePdfIva[];
67
+ readonly moneda?: string;
68
+ readonly puntoVenta: number;
69
+ readonly receptor: InvoicePdfReceiver;
70
+ }
71
+ export interface InvoicePdfOptions {
72
+ readonly footerText?: string;
73
+ /** Data URL de la imagen. */
74
+ readonly logo?: string;
75
+ }
76
+ /** Datos que no estan en ARCA y se pasan por flag o en el JSON de --cargar. Solo se usan en el PDF. */
77
+ export interface PdfVoucherExtras {
78
+ readonly descripcion?: string;
79
+ readonly receptorDomicilio?: string;
80
+ readonly receptorNombre?: string;
81
+ }
82
+ /** Resultado de generar el PDF de un comprobante: la ruta del archivo o el error, que no frena la emision. */
83
+ export type PdfOutcome = {
84
+ readonly path: string;
85
+ } | {
86
+ readonly error: {
87
+ readonly code: string;
88
+ readonly message: string;
89
+ readonly suggestion?: string;
90
+ };
91
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pdf.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf.types.js","sourceRoot":"","sources":["../../../src/modules/pdf/pdf.types.ts"],"names":[],"mappings":""}
@@ -75,6 +75,7 @@ function createSampleConfig() {
75
75
  cuit: '20409509763',
76
76
  conceptoPorDefecto: 'servicios',
77
77
  cotizacionPorDefecto: 1,
78
+ emisor: {},
78
79
  entornoPorDefecto: 'testing',
79
80
  ivaReceptorPorDefecto: 'consumidor-final',
80
81
  key: {
@@ -252,7 +253,7 @@ function buildConfigScene() {
252
253
  const doctor = buildConfigDoctorReport(config, { validation: createSampleValidation() });
253
254
  return [
254
255
  sceneTitle('Configuracion', 'Vista actual y revision'),
255
- formatConfigAsText(config, createSampleValidation().ticketPath),
256
+ formatConfigAsText(config, { pdfFolder: '~/arcli/comprobantes', ticketPath: createSampleValidation().ticketPath }),
256
257
  formatConfigDoctorAsText(doctor),
257
258
  ].join('\n\n');
258
259
  }
@@ -268,7 +269,10 @@ function buildErrorScene() {
268
269
  }
269
270
  function buildJsonScene() {
270
271
  const billingJson = highlightJsonValues(formatBillingResultAsJson(createBillingResult(), { raw: true }));
271
- const configJson = highlightJsonValues(formatConfig(createSampleConfig(), createSampleValidation().ticketPath));
272
+ const configJson = highlightJsonValues(formatConfig(createSampleConfig(), {
273
+ pdfFolder: '~/arcli/comprobantes',
274
+ ticketPath: createSampleValidation().ticketPath,
275
+ }));
272
276
  const doctorJson = highlightJsonValues(formatConfigDoctor(buildConfigDoctorReport(createSampleConfig(), { validation: createSampleValidation() })));
273
277
  return [
274
278
  sceneTitle('Json', 'Contratos estructurados para automatizacion y respuesta bruta'),
@@ -1 +1 @@
1
- {"version":3,"file":"showcase.js","sourceRoot":"","sources":["../../../src/modules/storybook/showcase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"showcase.js","sourceRoot":"","sources":["../../../src/modules/storybook/showcase.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,29 @@
1
1
  import type { BillingDocumentType, BillingIvaRate } from '../billing/billing.schemas';
2
+ /** Comprobante ya emitido, tal como lo devuelve ARCA (FECompConsultar). Fechas en formato yyyymmdd. */
2
3
  export interface IssuedVoucher {
3
4
  readonly cae?: string;
5
+ readonly caeExpiration?: string;
4
6
  readonly concept?: number;
7
+ readonly currency?: string;
5
8
  readonly date: string;
6
9
  readonly documentNumber: number;
7
10
  readonly documentTypeCode: number;
11
+ readonly exchangeRate?: number;
12
+ readonly exemptAmount?: number;
8
13
  readonly ivaAmount: number;
9
14
  readonly netAmount: number;
10
15
  readonly number: number;
16
+ readonly result?: string;
17
+ readonly taxesAmount?: number;
11
18
  readonly total: number;
19
+ readonly untaxedAmount?: number;
12
20
  }
13
21
  export interface VoucherHistoryGateway {
14
22
  getLastNumber(pointOfSale: number, voucherType: number): Promise<number>;
15
23
  getVoucher(number: number, pointOfSale: number, voucherType: number): Promise<IssuedVoucher | undefined>;
16
24
  }
17
25
  export declare const RECENT_VOUCHERS_LIMIT = 10;
26
+ export declare const MAX_RECENT_VOUCHERS = 50;
18
27
  export declare function resolveDocumentType(code: number): BillingDocumentType | undefined;
19
28
  /** ARCA no devuelve la alicuota de la factura; se deduce de IVA / neto cuando coincide con una tasa conocida. */
20
29
  export declare function inferIvaRate(netAmount: number, ivaAmount: number): BillingIvaRate | undefined;
@@ -13,6 +13,7 @@ const IVA_RATES = [
13
13
  ['27', 0.27],
14
14
  ];
15
15
  export const RECENT_VOUCHERS_LIMIT = 10;
16
+ export const MAX_RECENT_VOUCHERS = 50;
16
17
  export function resolveDocumentType(code) {
17
18
  return DOCUMENT_TYPES_BY_CODE[code];
18
19
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voucher-history.js","sourceRoot":"","sources":["../../../src/modules/vouchers/voucher-history.ts"],"names":[],"mappings":"AA2BA,MAAM,sBAAsB,GAAwC;IAClE,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,kBAAkB;CACvB,CAAC;AAEF,MAAM,SAAS,GAAqD;IAClE,CAAC,GAAG,EAAE,CAAC,CAAC;IACR,CAAC,KAAK,EAAE,KAAK,CAAC;IACd,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,MAAM,EAAE,KAAK,CAAC;IACf,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,IAAI,EAAE,IAAI,CAAC;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAEtC,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,iHAAiH;AACjH,MAAM,UAAU,YAAY,CAAC,SAAiB,EAAE,SAAiB;IAC/D,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;IACpC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;IAE3E,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,iEAAiE;AACjE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAA8B,EAC9B,WAAmB,EACnB,WAAmB,EACnB,UAAsE,EAAE;IAExE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,qBAAqB,CAAC;IACrD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC;IACtG,MAAM,QAAQ,GAAqC,EAAE,CAAC;IAEtD,iFAAiF;IACjF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,WAAW,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,CAAC,CAAC;QAExD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrH,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAA4B,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAClF,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { VoucherKindDefinition } from '../billing/billing.types';
2
+ import type { IssuedVoucher } from './voucher-history';
3
+ export interface VoucherListReport {
4
+ readonly environment: 'produccion' | 'testing';
5
+ readonly pointOfSale: number;
6
+ readonly voucherKind: VoucherKindDefinition;
7
+ readonly vouchers: readonly IssuedVoucher[];
8
+ }
9
+ export interface VoucherDetailReport {
10
+ readonly environment: 'produccion' | 'testing';
11
+ readonly pointOfSale: number;
12
+ readonly voucher: IssuedVoucher;
13
+ readonly voucherKind: VoucherKindDefinition;
14
+ }
15
+ export declare function formatVoucherNumber(pointOfSale: number, number: number): string;
16
+ export declare function formatReceiver(voucher: IssuedVoucher): string;
17
+ /** Una linea por comprobante, para listas y para elegir una factura en el modo interactivo. */
18
+ export declare function formatVoucherSummary(pointOfSale: number, voucher: IssuedVoucher): string;
19
+ export declare function formatVoucherListAsText(report: VoucherListReport): string;
20
+ export declare function formatVoucherListAsJson(report: VoucherListReport): string;
21
+ export declare function formatVoucherDetailAsJson(report: VoucherDetailReport): string;
22
+ export declare function formatVoucherDetailAsText(report: VoucherDetailReport): string;
@@ -0,0 +1,108 @@
1
+ import { formatArcaDateAsArgentineDate } from '../../lib/dates/arca-date.js';
2
+ import { keyValuePanel, noticePanel, renderKeyValueRows, resolveKeyValueLabelWidth } from '../../ui/index.js';
3
+ import { formatConceptLabel, formatCurrencyLabel, formatMoneyLabel } from '../billing/billing.labels.js';
4
+ const DOCUMENT_LABELS = {
5
+ 80: 'CUIT',
6
+ 86: 'CUIL',
7
+ 96: 'DNI',
8
+ };
9
+ export function formatVoucherNumber(pointOfSale, number) {
10
+ return `${String(pointOfSale).padStart(5, '0')}-${String(number).padStart(8, '0')}`;
11
+ }
12
+ export function formatReceiver(voucher) {
13
+ if (voucher.documentTypeCode === 99) {
14
+ return 'Consumidor final';
15
+ }
16
+ const label = DOCUMENT_LABELS[voucher.documentTypeCode] ?? `Doc ${voucher.documentTypeCode}`;
17
+ return `${label} ${voucher.documentNumber}`;
18
+ }
19
+ /** Una linea por comprobante, para listas y para elegir una factura en el modo interactivo. */
20
+ export function formatVoucherSummary(pointOfSale, voucher) {
21
+ return [
22
+ `N° ${formatVoucherNumber(pointOfSale, voucher.number)}`,
23
+ formatArcaDateAsArgentineDate(voucher.date),
24
+ formatReceiver(voucher).padEnd(20),
25
+ formatMoneyLabel(voucher.total),
26
+ ].join(' · ');
27
+ }
28
+ export function formatVoucherListAsText(report) {
29
+ const { environment, pointOfSale, voucherKind, vouchers } = report;
30
+ if (vouchers.length === 0) {
31
+ return noticePanel(`No hay ${voucherKind.displayName} emitidas en el punto de venta ${pointOfSale}.`, 'muted');
32
+ }
33
+ const rows = vouchers.map((voucher) => [
34
+ formatVoucherNumber(pointOfSale, voucher.number),
35
+ formatArcaDateAsArgentineDate(voucher.date),
36
+ formatReceiver(voucher).padEnd(20),
37
+ formatMoneyLabel(voucher.total).padStart(16),
38
+ voucher.cae ? `CAE ${voucher.cae}` : '',
39
+ ].join(' '));
40
+ return keyValuePanel(`Ultimas ${voucherKind.displayName} · PV ${pointOfSale} · ${environment}`, rows, undefined, 'wide', undefined, 'listing');
41
+ }
42
+ function serializeVoucher(voucher) {
43
+ return {
44
+ cae: voucher.cae ?? null,
45
+ caeVencimiento: voucher.caeExpiration ?? null,
46
+ concepto: voucher.concept ?? null,
47
+ cotizacion: voucher.exchangeRate ?? null,
48
+ fecha: voucher.date,
49
+ importes: {
50
+ exento: voucher.exemptAmount ?? 0,
51
+ iva: voucher.ivaAmount,
52
+ neto: voucher.netAmount,
53
+ noGravado: voucher.untaxedAmount ?? 0,
54
+ total: voucher.total,
55
+ tributos: voucher.taxesAmount ?? 0,
56
+ },
57
+ moneda: voucher.currency ?? null,
58
+ numero: voucher.number,
59
+ numeroDocumento: voucher.documentNumber,
60
+ resultado: voucher.result ?? null,
61
+ tipoDocumento: voucher.documentTypeCode,
62
+ };
63
+ }
64
+ function serializeVoucherKind(voucherKind) {
65
+ return { atajo: voucherKind.shortcut, comprobante: voucherKind.displayName, tipoArca: voucherKind.arcaType };
66
+ }
67
+ export function formatVoucherListAsJson(report) {
68
+ return JSON.stringify({
69
+ ...serializeVoucherKind(report.voucherKind),
70
+ comprobantes: report.vouchers.map(serializeVoucher),
71
+ entorno: report.environment,
72
+ puntoVenta: report.pointOfSale,
73
+ }, null, 2);
74
+ }
75
+ export function formatVoucherDetailAsJson(report) {
76
+ return JSON.stringify({
77
+ ...serializeVoucherKind(report.voucherKind),
78
+ ...serializeVoucher(report.voucher),
79
+ entorno: report.environment,
80
+ puntoVenta: report.pointOfSale,
81
+ }, null, 2);
82
+ }
83
+ export function formatVoucherDetailAsText(report) {
84
+ const { pointOfSale, voucher, voucherKind } = report;
85
+ const rows = [
86
+ ['Numero', formatVoucherNumber(pointOfSale, voucher.number)],
87
+ ['Fecha', formatArcaDateAsArgentineDate(voucher.date)],
88
+ ['Receptor', formatReceiver(voucher)],
89
+ ['Concepto', formatConceptLabel(voucher.concept)],
90
+ ['Moneda', formatCurrencyLabel(voucher.currency)],
91
+ ];
92
+ if (voucher.currency && voucher.currency !== 'PES') {
93
+ rows.push(['Cotizacion', String(voucher.exchangeRate ?? 1)]);
94
+ }
95
+ rows.push(['Importe neto', formatMoneyLabel(voucher.netAmount)], ['Importe IVA', formatMoneyLabel(voucher.ivaAmount)]);
96
+ if (voucher.exemptAmount)
97
+ rows.push(['Importe exento', formatMoneyLabel(voucher.exemptAmount)]);
98
+ if (voucher.untaxedAmount)
99
+ rows.push(['Importe no gravado', formatMoneyLabel(voucher.untaxedAmount)]);
100
+ if (voucher.taxesAmount)
101
+ rows.push(['Importe tributos', formatMoneyLabel(voucher.taxesAmount)]);
102
+ rows.push(['Importe total', formatMoneyLabel(voucher.total)], ['CAE', voucher.cae ?? 'N/D']);
103
+ if (voucher.caeExpiration) {
104
+ rows.push(['Vencimiento CAE', formatArcaDateAsArgentineDate(voucher.caeExpiration)]);
105
+ }
106
+ return keyValuePanel(voucherKind.displayName, renderKeyValueRows(rows, { labelWidth: resolveKeyValueLabelWidth('compact', rows) }), voucher.result === 'A' ? 'APROBADO' : voucher.result === 'R' ? 'RECHAZADO' : undefined, 'compact', voucher.result === 'R' ? 'danger' : 'success', 'ticket');
107
+ }
108
+ //# sourceMappingURL=voucher-history.presenter.js.map