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.
- package/CHANGELOG.md +18 -1
- package/README.md +3 -1
- package/dist/cli/commands/billing.command.options.js +6 -0
- package/dist/cli/commands/billing.command.options.js.map +1 -1
- package/dist/cli/commands/billing.command.output.d.ts +2 -0
- package/dist/cli/commands/billing.command.output.js +15 -1
- package/dist/cli/commands/billing.command.output.js.map +1 -1
- package/dist/cli/commands/billing.command.parser.js +14 -0
- package/dist/cli/commands/billing.command.parser.js.map +1 -1
- package/dist/cli/commands/billing.command.pdf.d.ts +24 -0
- package/dist/cli/commands/billing.command.pdf.js +130 -0
- package/dist/cli/commands/billing.command.pdf.js.map +1 -0
- package/dist/cli/commands/billing.command.shared.js +14 -1
- package/dist/cli/commands/billing.command.shared.js.map +1 -1
- package/dist/cli/commands/config.command.js +6 -6
- package/dist/cli/commands/config.command.js.map +1 -1
- package/dist/cli/commands/pdf.command.d.ts +2 -0
- package/dist/cli/commands/pdf.command.js +78 -0
- package/dist/cli/commands/pdf.command.js.map +1 -0
- package/dist/cli/help.js +1 -0
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/interactive/pdf.flow.d.ts +5 -0
- package/dist/cli/interactive/pdf.flow.js +89 -0
- package/dist/cli/interactive/pdf.flow.js.map +1 -0
- package/dist/cli/interactive/session.js +2 -0
- package/dist/cli/interactive/session.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/billing/billing.schemas.d.ts +4 -0
- package/dist/modules/billing/billing.schemas.js +6 -0
- package/dist/modules/billing/billing.schemas.js.map +1 -1
- package/dist/modules/billing/billing.serialize.js +13 -0
- package/dist/modules/billing/billing.serialize.js.map +1 -1
- package/dist/modules/billing/billing.types.internal.d.ts +3 -0
- package/dist/modules/config/config-doctor.js +13 -0
- package/dist/modules/config/config-doctor.js.map +1 -1
- package/dist/modules/config/config-value-parser.d.ts +1 -1
- package/dist/modules/config/config-value-parser.js +41 -1
- package/dist/modules/config/config-value-parser.js.map +1 -1
- package/dist/modules/config/config.presenter.d.ts +6 -2
- package/dist/modules/config/config.presenter.js +25 -6
- package/dist/modules/config/config.presenter.js.map +1 -1
- package/dist/modules/config/config.schemas.d.ts +42 -0
- package/dist/modules/config/config.schemas.js +29 -0
- package/dist/modules/config/config.schemas.js.map +1 -1
- package/dist/modules/config/config.service.d.ts +8 -0
- package/dist/modules/config/config.service.js +21 -0
- package/dist/modules/config/config.service.js.map +1 -1
- package/dist/modules/examples/examples.js +1 -0
- package/dist/modules/examples/examples.js.map +1 -1
- package/dist/modules/pdf/pdf-data.mapper.d.ts +4 -0
- package/dist/modules/pdf/pdf-data.mapper.js +117 -0
- package/dist/modules/pdf/pdf-data.mapper.js.map +1 -0
- package/dist/modules/pdf/pdf-decision.d.ts +14 -0
- package/dist/modules/pdf/pdf-decision.js +19 -0
- package/dist/modules/pdf/pdf-decision.js.map +1 -0
- package/dist/modules/pdf/pdf-file-name.d.ts +3 -0
- package/dist/modules/pdf/pdf-file-name.js +7 -0
- package/dist/modules/pdf/pdf-file-name.js.map +1 -0
- package/dist/modules/pdf/pdf-issuer.d.ts +8 -0
- package/dist/modules/pdf/pdf-issuer.js +43 -0
- package/dist/modules/pdf/pdf-issuer.js.map +1 -0
- package/dist/modules/pdf/pdf.errors.d.ts +10 -0
- package/dist/modules/pdf/pdf.errors.js +11 -0
- package/dist/modules/pdf/pdf.errors.js.map +1 -0
- package/dist/modules/pdf/pdf.types.d.ts +91 -0
- package/dist/modules/pdf/pdf.types.js +2 -0
- package/dist/modules/pdf/pdf.types.js.map +1 -0
- package/dist/modules/storybook/showcase.js +6 -2
- package/dist/modules/storybook/showcase.js.map +1 -1
- package/dist/services/pdf/pdf-browser.d.ts +5 -0
- package/dist/services/pdf/pdf-browser.js +54 -0
- package/dist/services/pdf/pdf-browser.js.map +1 -0
- package/dist/services/pdf/pdf-exporter.d.ts +19 -0
- package/dist/services/pdf/pdf-exporter.js +47 -0
- package/dist/services/pdf/pdf-exporter.js.map +1 -0
- package/dist/services/pdf/pdf-plugin.d.ts +50 -0
- package/dist/services/pdf/pdf-plugin.js +143 -0
- package/dist/services/pdf/pdf-plugin.js.map +1 -0
- package/dist/ui/presenters/errors.presenter.js +11 -0
- package/dist/ui/presenters/errors.presenter.js.map +1 -1
- package/dist/ui/presenters/index.d.ts +1 -0
- package/dist/ui/presenters/index.js +1 -0
- package/dist/ui/presenters/index.js.map +1 -1
- package/dist/ui/presenters/pdf.presenter.d.ts +13 -0
- package/dist/ui/presenters/pdf.presenter.js +46 -0
- package/dist/ui/presenters/pdf.presenter.js.map +1 -0
- package/llms.txt +17 -2
- 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":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEpG,MAAM,WAAW,GACf,+HAA+H,CAAC;AAElI,SAAS,aAAa,CAAC,UAAiC;IACtD,IAAI,UAAU,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC9B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAiC;IAC5D,IAAI,UAAU,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC9B,OAAO,CAAC,oBAAoB,EAAE,sCAAsC,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,CAAC,oBAAoB,EAAE,iCAAiC,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,oBAAoB,CAAC,UAAiC;IAC7D,IAAI,UAAU,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC9B,OAAO,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,yBAAyB,CAAC,UAAiC;IAClE,IAAI,CAAC,UAAU,CAAC,yBAAyB,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;QACzC,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACxC,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,0BAA0B,EAAE,CAAC;QACrD,OAAO,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,WAAW,GAAG,wBAAwB,CAAC;AAU7C,SAAS,iBAAiB,CAAC,KAAW;IACpC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAE5D,OAAO,GAAG,GAAG,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;AAClD,CAAC;AAED,4FAA4F;AAC5F,SAAS,mBAAmB,CAAC,KAAW;IACtC,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IAEzF,OAAO;QACL,UAAU,EAAE,iBAAiB,CAAC,UAAU,CAAC;QACzC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;QACjC,UAAU,EAAE,iBAAiB,CAAC,UAAU,CAAC;QACzC,UAAU,EAAE,iBAAiB,CAAC,KAAK,CAAC;QACpC,YAAY,EAAE,iBAAiB,CAAC,UAAU,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAiC;IAC/D,OAAO,UAAU,CAAC,kBAAkB,IAAI,UAAU,CAAC,yBAAyB,CAAC;AAC/E,CAAC;AAED,SAAS,4BAA4B,CACnC,UAAiC,EACjC,KAAmB,EACnB,OAA2B;IAE3B,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;QACnC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,sBAAsB,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,YAAY,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,WAAW,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;AACzG,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAiC,EAAE,KAAmB;IAC9E,MAAM,OAAO,GAAG;QACd,SAAS,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,EAAE;QACjD,WAAW,aAAa,CAAC,UAAU,CAAC,EAAE;QACtC,sBAAsB;KACvB,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjD,IAAI,UAAU,CAAC,yBAAyB,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,CACV,QAAQ,yBAAyB,CAAC,UAAU,CAAC,EAAE,EAC/C,0BAA0B,EAC1B,UAAU,EACV,qBAAqB,CACtB,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,GAAG,4BAA4B,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAE/F,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAiC,EAAE,KAAmB;IAC/E,MAAM,OAAO,GAAG,CAAC,SAAS,UAAU,CAAC,QAAQ,EAAE,EAAE,MAAM,aAAa,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC5F,OAAO,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;IAElD,IAAI,UAAU,CAAC,yBAAyB,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,QAAQ,yBAAyB,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC;IAC9G,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,GAAG,4BAA4B,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAE/F,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,aAAa,CAAC,UAAiC,EAAE,KAAmB;IAC3E,MAAM,OAAO,GAAG;QACd,SAAS,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,EAAE;QACjD,WAAW,aAAa,CAAC,UAAU,CAAC,EAAE;QACtC,sBAAsB;QACtB,iBAAiB;QACjB,WAAW,KAAK,CAAC,OAAO,EAAE;QAC1B,cAAc;QACd,uBAAuB;QACvB,oBAAoB,KAAK,CAAC,YAAY,EAAE;QACxC,oBAAoB,KAAK,CAAC,UAAU,EAAE;KACvC,CAAC;IAEF,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjD,IAAI,UAAU,CAAC,yBAAyB,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,CACV,QAAQ,yBAAyB,CAAC,UAAU,CAAC,EAAE,EAC/C,0BAA0B,EAC1B,UAAU,EACV,qBAAqB,CACtB,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,GAAG,4BAA4B,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAE5F,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,cAAc,CAAC,UAAiC,EAAE,KAAmB;IAC5E,MAAM,OAAO,GAAG;QACd,SAAS,UAAU,CAAC,QAAQ,EAAE;QAC9B,MAAM,aAAa,CAAC,UAAU,CAAC,EAAE;QACjC,MAAM;QACN,QAAQ;QACR,MAAM,KAAK,CAAC,OAAO,EAAE;QACrB,WAAW;QACX,QAAQ;QACR,QAAQ,KAAK,CAAC,YAAY,EAAE;QAC5B,QAAQ,KAAK,CAAC,UAAU,EAAE;KAC3B,CAAC;IAEF,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;IAElD,IAAI,UAAU,CAAC,yBAAyB,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,QAAQ,yBAAyB,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC;IAC9G,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,GAAG,4BAA4B,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAE5F,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,oBAAoB,CAAC,UAAiC,EAAE,KAAmB;IAClF,OAAO;QACL,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC;QACtC,EAAE;QACF,GAAG,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE;QAClC,GAAG,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE;QACxC,EAAE;QACF,GAAG,KAAK,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE;QACrC,GAAG,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE;QACzC,EAAE;QACF,GAAG,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE;QACnC,GAAG,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE;QACrC,EAAE;QACF,GAAG,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE;QACjC,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE;KACvC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAqB,EAAE,KAAmB;IACtE,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;SACnE,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC;SACpD,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,oBAAoB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;SAC5D,IAAI,CAAC,QAAQ,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE;IAC/C,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAEzC,OAAO;QACL,UAAU,EAAE,CAAC,IAAI,EAAE;QACnB,EAAE;QACF,GAAG,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,mBAAmB;QAC7C,GAAG,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,0BAA0B;QACrD,GAAG,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,gBAAgB;QAC5C,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,qBAAqB;QAC/C,EAAE;QACF,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;QAChC,oEAAoE;QACpE,qEAAqE;QACrE,sEAAsE;QACtE,EAAE;QACF,WAAW;QACX,EAAE;QACF,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAClF,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
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"}
|