arcli 1.4.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 (91) hide show
  1. package/CHANGELOG.md +18 -1
  2. package/README.md +3 -1
  3. package/dist/cli/commands/billing.command.options.js +6 -0
  4. package/dist/cli/commands/billing.command.options.js.map +1 -1
  5. package/dist/cli/commands/billing.command.output.d.ts +2 -0
  6. package/dist/cli/commands/billing.command.output.js +15 -1
  7. package/dist/cli/commands/billing.command.output.js.map +1 -1
  8. package/dist/cli/commands/billing.command.parser.js +14 -0
  9. package/dist/cli/commands/billing.command.parser.js.map +1 -1
  10. package/dist/cli/commands/billing.command.pdf.d.ts +24 -0
  11. package/dist/cli/commands/billing.command.pdf.js +130 -0
  12. package/dist/cli/commands/billing.command.pdf.js.map +1 -0
  13. package/dist/cli/commands/billing.command.shared.js +14 -1
  14. package/dist/cli/commands/billing.command.shared.js.map +1 -1
  15. package/dist/cli/commands/config.command.js +6 -6
  16. package/dist/cli/commands/config.command.js.map +1 -1
  17. package/dist/cli/commands/pdf.command.d.ts +2 -0
  18. package/dist/cli/commands/pdf.command.js +78 -0
  19. package/dist/cli/commands/pdf.command.js.map +1 -0
  20. package/dist/cli/help.js +1 -0
  21. package/dist/cli/help.js.map +1 -1
  22. package/dist/cli/interactive/pdf.flow.d.ts +5 -0
  23. package/dist/cli/interactive/pdf.flow.js +89 -0
  24. package/dist/cli/interactive/pdf.flow.js.map +1 -0
  25. package/dist/cli/interactive/session.js +2 -0
  26. package/dist/cli/interactive/session.js.map +1 -1
  27. package/dist/cli/program.js +2 -0
  28. package/dist/cli/program.js.map +1 -1
  29. package/dist/cli/version.d.ts +1 -1
  30. package/dist/cli/version.js +1 -1
  31. package/dist/modules/billing/billing.schemas.d.ts +4 -0
  32. package/dist/modules/billing/billing.schemas.js +6 -0
  33. package/dist/modules/billing/billing.schemas.js.map +1 -1
  34. package/dist/modules/billing/billing.serialize.js +13 -0
  35. package/dist/modules/billing/billing.serialize.js.map +1 -1
  36. package/dist/modules/billing/billing.types.internal.d.ts +3 -0
  37. package/dist/modules/config/config-doctor.js +13 -0
  38. package/dist/modules/config/config-doctor.js.map +1 -1
  39. package/dist/modules/config/config-value-parser.d.ts +1 -1
  40. package/dist/modules/config/config-value-parser.js +41 -1
  41. package/dist/modules/config/config-value-parser.js.map +1 -1
  42. package/dist/modules/config/config.presenter.d.ts +6 -2
  43. package/dist/modules/config/config.presenter.js +25 -6
  44. package/dist/modules/config/config.presenter.js.map +1 -1
  45. package/dist/modules/config/config.schemas.d.ts +42 -0
  46. package/dist/modules/config/config.schemas.js +29 -0
  47. package/dist/modules/config/config.schemas.js.map +1 -1
  48. package/dist/modules/config/config.service.d.ts +8 -0
  49. package/dist/modules/config/config.service.js +21 -0
  50. package/dist/modules/config/config.service.js.map +1 -1
  51. package/dist/modules/examples/examples.js +1 -0
  52. package/dist/modules/examples/examples.js.map +1 -1
  53. package/dist/modules/pdf/pdf-data.mapper.d.ts +4 -0
  54. package/dist/modules/pdf/pdf-data.mapper.js +117 -0
  55. package/dist/modules/pdf/pdf-data.mapper.js.map +1 -0
  56. package/dist/modules/pdf/pdf-decision.d.ts +14 -0
  57. package/dist/modules/pdf/pdf-decision.js +19 -0
  58. package/dist/modules/pdf/pdf-decision.js.map +1 -0
  59. package/dist/modules/pdf/pdf-file-name.d.ts +3 -0
  60. package/dist/modules/pdf/pdf-file-name.js +7 -0
  61. package/dist/modules/pdf/pdf-file-name.js.map +1 -0
  62. package/dist/modules/pdf/pdf-issuer.d.ts +8 -0
  63. package/dist/modules/pdf/pdf-issuer.js +43 -0
  64. package/dist/modules/pdf/pdf-issuer.js.map +1 -0
  65. package/dist/modules/pdf/pdf.errors.d.ts +10 -0
  66. package/dist/modules/pdf/pdf.errors.js +11 -0
  67. package/dist/modules/pdf/pdf.errors.js.map +1 -0
  68. package/dist/modules/pdf/pdf.types.d.ts +91 -0
  69. package/dist/modules/pdf/pdf.types.js +2 -0
  70. package/dist/modules/pdf/pdf.types.js.map +1 -0
  71. package/dist/modules/storybook/showcase.js +6 -2
  72. package/dist/modules/storybook/showcase.js.map +1 -1
  73. package/dist/services/pdf/pdf-browser.d.ts +5 -0
  74. package/dist/services/pdf/pdf-browser.js +54 -0
  75. package/dist/services/pdf/pdf-browser.js.map +1 -0
  76. package/dist/services/pdf/pdf-exporter.d.ts +19 -0
  77. package/dist/services/pdf/pdf-exporter.js +47 -0
  78. package/dist/services/pdf/pdf-exporter.js.map +1 -0
  79. package/dist/services/pdf/pdf-plugin.d.ts +50 -0
  80. package/dist/services/pdf/pdf-plugin.js +143 -0
  81. package/dist/services/pdf/pdf-plugin.js.map +1 -0
  82. package/dist/ui/presenters/errors.presenter.js +11 -0
  83. package/dist/ui/presenters/errors.presenter.js.map +1 -1
  84. package/dist/ui/presenters/index.d.ts +1 -0
  85. package/dist/ui/presenters/index.js +1 -0
  86. package/dist/ui/presenters/index.js.map +1 -1
  87. package/dist/ui/presenters/pdf.presenter.d.ts +13 -0
  88. package/dist/ui/presenters/pdf.presenter.js +46 -0
  89. package/dist/ui/presenters/pdf.presenter.js.map +1 -0
  90. package/llms.txt +17 -2
  91. package/package.json +1 -1
@@ -22,6 +22,11 @@ export declare const arcliDefaultIvaConditionSchema: z.ZodEnum<{
22
22
  "sujeto-no-categorizado": "sujeto-no-categorizado";
23
23
  }>;
24
24
  export declare const arcliDefaultCurrencySchema: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
25
+ export declare const arcliPdfModeSchema: z.ZodEnum<{
26
+ siempre: "siempre";
27
+ preguntar: "preguntar";
28
+ nunca: "nunca";
29
+ }>;
25
30
  export declare const arcliDefaultIvaRateSchema: z.ZodPreprocess<z.ZodEnum<{
26
31
  0: "0";
27
32
  5: "5";
@@ -66,6 +71,26 @@ export declare const arcliConfigSchema: z.ZodObject<{
66
71
  }>>;
67
72
  monedaPorDefecto: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
68
73
  cotizacionPorDefecto: z.ZodOptional<z.ZodNumber>;
74
+ emisor: z.ZodDefault<z.ZodObject<{
75
+ condicionIva: z.ZodOptional<z.ZodEnum<{
76
+ "consumidor-final": "consumidor-final";
77
+ "cliente-del-exterior": "cliente-del-exterior";
78
+ "iva-liberado": "iva-liberado";
79
+ "iva-no-alcanzado": "iva-no-alcanzado";
80
+ "monotributista-social": "monotributista-social";
81
+ "monotributo-trabajador-independiente-promovido": "monotributo-trabajador-independiente-promovido";
82
+ "proveedor-del-exterior": "proveedor-del-exterior";
83
+ "responsable-inscripto": "responsable-inscripto";
84
+ "responsable-monotributo": "responsable-monotributo";
85
+ "sujeto-exento": "sujeto-exento";
86
+ "sujeto-no-categorizado": "sujeto-no-categorizado";
87
+ }>>;
88
+ domicilio: z.ZodOptional<z.ZodString>;
89
+ iibb: z.ZodOptional<z.ZodString>;
90
+ inicioActividades: z.ZodOptional<z.ZodString>;
91
+ logo: z.ZodOptional<z.ZodString>;
92
+ razonSocial: z.ZodOptional<z.ZodString>;
93
+ }, z.core.$strip>>;
69
94
  entornoPorDefecto: z.ZodDefault<z.ZodEnum<{
70
95
  produccion: "produccion";
71
96
  testing: "testing";
@@ -79,18 +104,29 @@ export declare const arcliConfigSchema: z.ZodObject<{
79
104
  jsonPorDefecto: z.ZodDefault<z.ZodBoolean>;
80
105
  brutoPorDefecto: z.ZodDefault<z.ZodBoolean>;
81
106
  }, z.core.$strip>>;
107
+ pdf: z.ZodOptional<z.ZodEnum<{
108
+ siempre: "siempre";
109
+ preguntar: "preguntar";
110
+ nunca: "nunca";
111
+ }>>;
112
+ pdfCarpeta: z.ZodOptional<z.ZodString>;
113
+ pdfNavegador: z.ZodOptional<z.ZodString>;
82
114
  puntoVentaPorDefecto: z.ZodOptional<z.ZodNumber>;
83
115
  ticketPath: z.ZodOptional<z.ZodString>;
84
116
  verificarFce: z.ZodOptional<z.ZodBoolean>;
85
117
  }, z.core.$strip>;
86
118
  export type ArcliConfig = z.infer<typeof arcliConfigSchema>;
87
119
  export type ArcliEnvironment = z.infer<typeof arcliEnvironmentSchema>;
120
+ export type ArcliPdfMode = z.infer<typeof arcliPdfModeSchema>;
88
121
  export declare const CONFIG_DEFAULTS: ArcliConfig;
89
122
  export declare const configPublicKeySchema: z.ZodEnum<{
123
+ pdf: "pdf";
90
124
  cuit: "cuit";
91
125
  puntoVenta: "puntoVenta";
92
126
  cbu: "cbu";
93
127
  aliasCbu: "aliasCbu";
128
+ pdfCarpeta: "pdfCarpeta";
129
+ pdfNavegador: "pdfNavegador";
94
130
  ticketPath: "ticketPath";
95
131
  verificarFce: "verificarFce";
96
132
  alicuota: "alicuota";
@@ -98,6 +134,12 @@ export declare const configPublicKeySchema: z.ZodEnum<{
98
134
  "cert.testing": "cert.testing";
99
135
  concepto: "concepto";
100
136
  cotizacion: "cotizacion";
137
+ "emisor.condicionIva": "emisor.condicionIva";
138
+ "emisor.domicilio": "emisor.domicilio";
139
+ "emisor.iibb": "emisor.iibb";
140
+ "emisor.inicioActividades": "emisor.inicioActividades";
141
+ "emisor.logo": "emisor.logo";
142
+ "emisor.razonSocial": "emisor.razonSocial";
101
143
  entorno: "entorno";
102
144
  emitir: "emitir";
103
145
  ivaReceptor: "ivaReceptor";
@@ -20,6 +20,7 @@ export const arcliDefaultCurrencySchema = z
20
20
  .trim()
21
21
  .length(3)
22
22
  .transform((value) => value.toUpperCase());
23
+ export const arcliPdfModeSchema = z.enum(['siempre', 'preguntar', 'nunca']);
23
24
  // Misma normalizacion que --alicuota ("10,5", "10.5%").
24
25
  export const arcliDefaultIvaRateSchema = billingIvaRateSchema;
25
26
  export const arcliConfigSchema = z.object({
@@ -49,6 +50,21 @@ export const arcliConfigSchema = z.object({
49
50
  ivaReceptorPorDefecto: arcliDefaultIvaConditionSchema.optional(),
50
51
  monedaPorDefecto: arcliDefaultCurrencySchema.optional(),
51
52
  cotizacionPorDefecto: z.number().positive().optional(),
53
+ /** Datos del emisor que ARCA no guarda y solo se usan en el PDF. */
54
+ emisor: z
55
+ .object({
56
+ condicionIva: arcliDefaultIvaConditionSchema.optional(),
57
+ domicilio: z.string().trim().min(1).optional(),
58
+ iibb: z.string().trim().min(1).optional(),
59
+ /** yyyymmdd */
60
+ inicioActividades: z
61
+ .string()
62
+ .regex(/^\d{8}$/)
63
+ .optional(),
64
+ logo: z.string().trim().min(1).optional(),
65
+ razonSocial: z.string().trim().min(1).optional(),
66
+ })
67
+ .default({}),
52
68
  entornoPorDefecto: arcliEnvironmentSchema.default('testing'),
53
69
  key: z
54
70
  .object({
@@ -63,12 +79,16 @@ export const arcliConfigSchema = z.object({
63
79
  brutoPorDefecto: z.boolean().default(false),
64
80
  })
65
81
  .default({ emitirPorDefecto: false, jsonPorDefecto: false, brutoPorDefecto: false }),
82
+ pdf: arcliPdfModeSchema.optional(),
83
+ pdfCarpeta: z.string().trim().min(1).optional(),
84
+ pdfNavegador: z.string().trim().min(1).optional(),
66
85
  puntoVentaPorDefecto: z.number().int().positive().optional(),
67
86
  ticketPath: z.string().trim().min(1).optional(),
68
87
  verificarFce: z.boolean().optional(),
69
88
  });
70
89
  export const CONFIG_DEFAULTS = {
71
90
  cert: {},
91
+ emisor: {},
72
92
  entornoPorDefecto: 'testing',
73
93
  key: {},
74
94
  monedaPorDefecto: 'PES',
@@ -88,6 +108,12 @@ export const configPublicKeySchema = z.enum([
88
108
  'concepto',
89
109
  'cuit',
90
110
  'cotizacion',
111
+ 'emisor.condicionIva',
112
+ 'emisor.domicilio',
113
+ 'emisor.iibb',
114
+ 'emisor.inicioActividades',
115
+ 'emisor.logo',
116
+ 'emisor.razonSocial',
91
117
  'entorno',
92
118
  'emitir',
93
119
  'ivaReceptor',
@@ -96,6 +122,9 @@ export const configPublicKeySchema = z.enum([
96
122
  'key.testing',
97
123
  'moneda',
98
124
  'bruto',
125
+ 'pdf',
126
+ 'pdfCarpeta',
127
+ 'pdfNavegador',
99
128
  'puntoVenta',
100
129
  'ticketPath',
101
130
  'verificarFce',
@@ -1 +1 @@
1
- {"version":3,"file":"config.schemas.js","sourceRoot":"","sources":["../../../src/modules/config/config.schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.schemas.js","sourceRoot":"","sources":["../../../src/modules/config/config.schemas.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,15 @@ export declare class ConfigService {
11
11
  getConfig(): ArcliConfig;
12
12
  getPath(): string;
13
13
  getDefaultTicketPath(): string;
14
+ /** Carpeta donde se instala el plugin de PDF, junto a config.json. */
15
+ getPluginsPath(): string;
14
16
  resolveTicketPath(config: ArcliConfig): string;
17
+ /** Absoluta por defecto, para que los PDFs no queden repartidos segun desde donde se ejecuta arcli. */
18
+ resolvePdfFolder(config: ArcliConfig): string;
19
+ resolvePaths(config: ArcliConfig): {
20
+ readonly pdfFolder: string;
21
+ readonly ticketPath: string;
22
+ };
15
23
  initialize(): ArcliConfig;
16
24
  ensureInitialized(): ArcliConfig;
17
25
  setValue(rawKey: string, rawValue: string): ArcliConfig;
@@ -1,4 +1,5 @@
1
1
  import Conf from 'conf';
2
+ import { homedir } from 'node:os';
2
3
  import { dirname, join } from 'node:path';
3
4
  import { arcliConfigSchema, CONFIG_DEFAULTS, configPublicKeySchema, } from './config.schemas.js';
4
5
  import { parseConfigValue } from './config-value-parser.js';
@@ -11,6 +12,12 @@ const CONFIG_KEY_ALIASES = {
11
12
  concepto: 'conceptoPorDefecto',
12
13
  cotizacion: 'cotizacionPorDefecto',
13
14
  cuit: 'cuit',
15
+ 'emisor.condicionIva': 'emisor.condicionIva',
16
+ 'emisor.domicilio': 'emisor.domicilio',
17
+ 'emisor.iibb': 'emisor.iibb',
18
+ 'emisor.inicioActividades': 'emisor.inicioActividades',
19
+ 'emisor.logo': 'emisor.logo',
20
+ 'emisor.razonSocial': 'emisor.razonSocial',
14
21
  entorno: 'entornoPorDefecto',
15
22
  emitir: 'output.emitirPorDefecto',
16
23
  ivaReceptor: 'ivaReceptorPorDefecto',
@@ -19,6 +26,9 @@ const CONFIG_KEY_ALIASES = {
19
26
  'key.testing': 'key.testing',
20
27
  moneda: 'monedaPorDefecto',
21
28
  bruto: 'output.brutoPorDefecto',
29
+ pdf: 'pdf',
30
+ pdfCarpeta: 'pdfCarpeta',
31
+ pdfNavegador: 'pdfNavegador',
22
32
  puntoVenta: 'puntoVentaPorDefecto',
23
33
  ticketPath: 'ticketPath',
24
34
  verificarFce: 'verificarFce',
@@ -47,9 +57,20 @@ export class ConfigService {
47
57
  getDefaultTicketPath() {
48
58
  return join(dirname(this.store.path), 'tickets');
49
59
  }
60
+ /** Carpeta donde se instala el plugin de PDF, junto a config.json. */
61
+ getPluginsPath() {
62
+ return join(dirname(this.store.path), 'plugins');
63
+ }
50
64
  resolveTicketPath(config) {
51
65
  return config.ticketPath ?? this.getDefaultTicketPath();
52
66
  }
67
+ /** Absoluta por defecto, para que los PDFs no queden repartidos segun desde donde se ejecuta arcli. */
68
+ resolvePdfFolder(config) {
69
+ return config.pdfCarpeta ?? join(homedir(), 'arcli', 'comprobantes');
70
+ }
71
+ resolvePaths(config) {
72
+ return { pdfFolder: this.resolvePdfFolder(config), ticketPath: this.resolveTicketPath(config) };
73
+ }
53
74
  initialize() {
54
75
  const config = this.getConfig();
55
76
  this.store.store = config;
@@ -1 +1 @@
1
- {"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../../src/modules/config/config.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../../src/modules/config/config.service.ts"],"names":[],"mappings":"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"}
@@ -170,6 +170,7 @@ export function renderExamples(today = new Date()) {
170
170
  'Todos usan --previsualizar para evitar emisiones reales por error.',
171
171
  'Si queres emitir de verdad, reemplaza --previsualizar por --emitir.',
172
172
  'Para emitir en produccion necesitas --produccion junto con --emitir.',
173
+ 'Para guardar el PDF con el QR, agrega --exportar-pdf al emitir (ver docs/pdf.md).',
173
174
  '',
174
175
  ISSUER_HINT,
175
176
  '',
@@ -1 +1 @@
1
- {"version":3,"file":"examples.js","sourceRoot":"","sources":["../../../src/modules/examples/examples.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"examples.js","sourceRoot":"","sources":["../../../src/modules/examples/examples.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { BillingExecutionResult } from '../billing/billing.types.internal';
2
+ import type { InvoicePdfData, InvoicePdfIssuer, PdfVoucherExtras } from './pdf.types';
3
+ export declare const DEFAULT_ITEM_DESCRIPTION = "Segun detalle";
4
+ export declare function mapBillingResultToPdfData(result: BillingExecutionResult, issuer: InvoicePdfIssuer, extras?: PdfVoucherExtras): InvoicePdfData;
@@ -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"}