@ramiidv/arca-sdk 0.3.0 → 1.1.3
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/README.md +205 -9
- package/dist/arca.d.ts +110 -119
- package/dist/arca.d.ts.map +1 -1
- package/dist/arca.js +307 -146
- package/dist/arca.js.map +1 -1
- package/dist/constants.d.ts +15 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +15 -0
- package/dist/constants.js.map +1 -1
- package/dist/facturacion.js +3 -3
- package/dist/facturacion.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/padron.d.ts +22 -0
- package/dist/padron.d.ts.map +1 -0
- package/dist/padron.js +87 -0
- package/dist/padron.js.map +1 -0
- package/dist/soap-client.d.ts +13 -6
- package/dist/soap-client.d.ts.map +1 -1
- package/dist/soap-client.js +84 -32
- package/dist/soap-client.js.map +1 -1
- package/dist/types.d.ts +343 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/wsaa.d.ts +6 -2
- package/dist/wsaa.d.ts.map +1 -1
- package/dist/wsaa.js +25 -6
- package/dist/wsaa.js.map +1 -1
- package/dist/wsfe.d.ts +13 -27
- package/dist/wsfe.d.ts.map +1 -1
- package/dist/wsfe.js +82 -51
- package/dist/wsfe.js.map +1 -1
- package/dist/wsfex.d.ts +50 -0
- package/dist/wsfex.d.ts.map +1 -0
- package/dist/wsfex.js +141 -0
- package/dist/wsfex.js.map +1 -0
- package/llm.txt +169 -1
- package/package.json +1 -1
package/dist/arca.js
CHANGED
|
@@ -1,34 +1,70 @@
|
|
|
1
|
+
import { EventEmitter } from "node:events";
|
|
1
2
|
import { WsaaClient } from "./wsaa.js";
|
|
2
3
|
import { WsfeClient } from "./wsfe.js";
|
|
4
|
+
import { WsfexClient } from "./wsfex.js";
|
|
5
|
+
import { PadronClient } from "./padron.js";
|
|
3
6
|
import { buildInvoiceDetail, parseFacturaResult, toDateString, calcularTotales, } from "./facturacion.js";
|
|
4
7
|
import { ArcaError } from "./errors.js";
|
|
5
8
|
import { NOTA_CREDITO_MAP, NOTA_DEBITO_MAP } from "./constants.js";
|
|
6
9
|
export class Arca {
|
|
7
10
|
wsaa;
|
|
8
11
|
wsfe;
|
|
12
|
+
wsfex;
|
|
13
|
+
padron;
|
|
9
14
|
cuit;
|
|
10
15
|
production;
|
|
16
|
+
emitter = new EventEmitter();
|
|
17
|
+
onEventCb;
|
|
11
18
|
constructor(config) {
|
|
12
19
|
this.cuit = config.cuit;
|
|
13
20
|
this.production = config.production ?? false;
|
|
21
|
+
this.onEventCb = config.onEvent;
|
|
14
22
|
const timeoutMs = config.requestTimeoutMs ?? 30_000;
|
|
23
|
+
const retries = config.retries ?? 1;
|
|
24
|
+
const retryDelayMs = config.retryDelayMs ?? 1_000;
|
|
25
|
+
const emit = (event) => {
|
|
26
|
+
this.onEventCb?.(event);
|
|
27
|
+
this.emitter.emit(event.type, event);
|
|
28
|
+
};
|
|
29
|
+
const clientOpts = { timeoutMs, retries, retryDelayMs, onEvent: emit };
|
|
15
30
|
this.wsaa = new WsaaClient({
|
|
16
31
|
cert: config.cert,
|
|
17
32
|
key: config.key,
|
|
18
33
|
production: this.production,
|
|
19
34
|
tokenTTLMinutes: config.tokenTTLMinutes ?? 720,
|
|
20
|
-
|
|
35
|
+
...clientOpts,
|
|
21
36
|
});
|
|
22
|
-
this.wsfe = new WsfeClient(this.production,
|
|
37
|
+
this.wsfe = new WsfeClient(this.production, clientOpts);
|
|
38
|
+
this.wsfex = new WsfexClient(this.production, clientOpts);
|
|
39
|
+
this.padron = new PadronClient(this.production, clientOpts);
|
|
23
40
|
}
|
|
24
41
|
// ============================================================
|
|
25
|
-
//
|
|
42
|
+
// Eventos
|
|
26
43
|
// ============================================================
|
|
27
44
|
/**
|
|
28
|
-
*
|
|
45
|
+
* Suscribirse a eventos del SDK.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```ts
|
|
49
|
+
* arca.on("request:end", (e) => console.log(`${e.method} took ${e.durationMs}ms`));
|
|
50
|
+
* arca.on("auth:login", (e) => console.log(`Login ${e.service} in ${e.durationMs}ms`));
|
|
51
|
+
* arca.on("request:retry", (e) => console.warn(`Retry #${e.attempt}: ${e.error}`));
|
|
52
|
+
* ```
|
|
29
53
|
*/
|
|
30
|
-
|
|
31
|
-
|
|
54
|
+
on(event, handler) {
|
|
55
|
+
this.emitter.on(event, handler);
|
|
56
|
+
return this;
|
|
57
|
+
}
|
|
58
|
+
/** Desuscribirse de un evento. */
|
|
59
|
+
off(event, handler) {
|
|
60
|
+
this.emitter.off(event, handler);
|
|
61
|
+
return this;
|
|
62
|
+
}
|
|
63
|
+
// ============================================================
|
|
64
|
+
// Auth helpers
|
|
65
|
+
// ============================================================
|
|
66
|
+
async getAuth(service = "wsfe") {
|
|
67
|
+
const ticket = await this.wsaa.getAccessTicket(service);
|
|
32
68
|
return {
|
|
33
69
|
Token: ticket.token,
|
|
34
70
|
Sign: ticket.sign,
|
|
@@ -36,71 +72,30 @@ export class Arca {
|
|
|
36
72
|
};
|
|
37
73
|
}
|
|
38
74
|
// ============================================================
|
|
39
|
-
// Facturación - Métodos principales
|
|
75
|
+
// Facturación - Métodos principales (raw)
|
|
40
76
|
// ============================================================
|
|
41
|
-
/**
|
|
42
|
-
* Crea una factura y obtiene el CAE.
|
|
43
|
-
*
|
|
44
|
-
* @example
|
|
45
|
-
* ```ts
|
|
46
|
-
* const result = await arca.crearFactura({
|
|
47
|
-
* PtoVta: 1,
|
|
48
|
-
* CbteTipo: CbteTipo.FACTURA_B,
|
|
49
|
-
* invoices: [{
|
|
50
|
-
* Concepto: Concepto.PRODUCTOS,
|
|
51
|
-
* DocTipo: DocTipo.CONSUMIDOR_FINAL,
|
|
52
|
-
* DocNro: 0,
|
|
53
|
-
* CbteDesde: nextNum,
|
|
54
|
-
* CbteHasta: nextNum,
|
|
55
|
-
* CbteFch: "20260328",
|
|
56
|
-
* ImpTotal: 121,
|
|
57
|
-
* ImpTotConc: 0,
|
|
58
|
-
* ImpNeto: 100,
|
|
59
|
-
* ImpOpEx: 0,
|
|
60
|
-
* ImpTrib: 0,
|
|
61
|
-
* ImpIVA: 21,
|
|
62
|
-
* MonId: Moneda.PESOS,
|
|
63
|
-
* MonCotiz: 1,
|
|
64
|
-
* Iva: [{ Id: IvaTipo.IVA_21, BaseImp: 100, Importe: 21 }],
|
|
65
|
-
* }],
|
|
66
|
-
* });
|
|
67
|
-
* ```
|
|
68
|
-
*/
|
|
77
|
+
/** Solicita CAE para uno o más comprobantes (API raw). */
|
|
69
78
|
async crearFactura(request) {
|
|
70
79
|
const auth = await this.getAuth();
|
|
71
80
|
return this.wsfe.solicitarCAE(auth, request);
|
|
72
81
|
}
|
|
73
|
-
/**
|
|
74
|
-
* Obtiene el último número de comprobante autorizado.
|
|
75
|
-
* Útil para calcular el siguiente número antes de crear una factura.
|
|
76
|
-
*/
|
|
82
|
+
/** Último número de comprobante autorizado. */
|
|
77
83
|
async ultimoComprobante(ptoVta, cbteTipo) {
|
|
78
84
|
const auth = await this.getAuth();
|
|
79
85
|
return this.wsfe.ultimoComprobante(auth, ptoVta, cbteTipo);
|
|
80
86
|
}
|
|
81
|
-
/**
|
|
82
|
-
* Obtiene el siguiente número de comprobante (último + 1).
|
|
83
|
-
*/
|
|
87
|
+
/** Siguiente número de comprobante (último + 1). */
|
|
84
88
|
async siguienteComprobante(ptoVta, cbteTipo) {
|
|
85
89
|
const ultimo = await this.ultimoComprobante(ptoVta, cbteTipo);
|
|
86
90
|
return ultimo + 1;
|
|
87
91
|
}
|
|
88
|
-
/**
|
|
89
|
-
* Crea una factura automáticamente calculando el siguiente número de comprobante.
|
|
90
|
-
* Simplifica el flujo más común: obtener número → crear factura.
|
|
91
|
-
*/
|
|
92
|
+
/** Crea factura obteniendo el número automáticamente (API raw). */
|
|
92
93
|
async crearFacturaAuto(ptoVta, cbteTipo, invoice) {
|
|
93
94
|
const nextNum = await this.siguienteComprobante(ptoVta, cbteTipo);
|
|
94
95
|
return this.crearFactura({
|
|
95
96
|
PtoVta: ptoVta,
|
|
96
97
|
CbteTipo: cbteTipo,
|
|
97
|
-
invoices: [
|
|
98
|
-
{
|
|
99
|
-
...invoice,
|
|
100
|
-
CbteDesde: nextNum,
|
|
101
|
-
CbteHasta: nextNum,
|
|
102
|
-
},
|
|
103
|
-
],
|
|
98
|
+
invoices: [{ ...invoice, CbteDesde: nextNum, CbteHasta: nextNum }],
|
|
104
99
|
});
|
|
105
100
|
}
|
|
106
101
|
// ============================================================
|
|
@@ -109,22 +104,6 @@ export class Arca {
|
|
|
109
104
|
/**
|
|
110
105
|
* Crea una factura con API simplificada.
|
|
111
106
|
* Calcula automáticamente IVA, totales, y número de comprobante.
|
|
112
|
-
*
|
|
113
|
-
* @example
|
|
114
|
-
* ```ts
|
|
115
|
-
* const result = await arca.facturar({
|
|
116
|
-
* ptoVta: 1,
|
|
117
|
-
* cbteTipo: CbteTipo.FACTURA_B,
|
|
118
|
-
* items: [
|
|
119
|
-
* { neto: 1000, iva: IvaTipo.IVA_21 },
|
|
120
|
-
* { neto: 500, iva: IvaTipo.IVA_10_5 },
|
|
121
|
-
* ],
|
|
122
|
-
* });
|
|
123
|
-
*
|
|
124
|
-
* if (result.aprobada) {
|
|
125
|
-
* console.log(`CAE: ${result.cae}, Cbte: ${result.cbteNro}`);
|
|
126
|
-
* }
|
|
127
|
-
* ```
|
|
128
107
|
*/
|
|
129
108
|
async facturar(opts) {
|
|
130
109
|
const nextNum = await this.siguienteComprobante(opts.ptoVta, opts.cbteTipo);
|
|
@@ -137,21 +116,7 @@ export class Arca {
|
|
|
137
116
|
return parseFacturaResult(result, importes);
|
|
138
117
|
}
|
|
139
118
|
/**
|
|
140
|
-
* Crea una nota de crédito
|
|
141
|
-
* El tipo de NC se infiere automáticamente del tipo del comprobante original.
|
|
142
|
-
*
|
|
143
|
-
* @example
|
|
144
|
-
* ```ts
|
|
145
|
-
* const result = await arca.notaCredito({
|
|
146
|
-
* ptoVta: 1,
|
|
147
|
-
* comprobanteOriginal: {
|
|
148
|
-
* tipo: CbteTipo.FACTURA_B,
|
|
149
|
-
* ptoVta: 1,
|
|
150
|
-
* nro: 5,
|
|
151
|
-
* },
|
|
152
|
-
* items: [{ neto: 500, iva: IvaTipo.IVA_21 }],
|
|
153
|
-
* });
|
|
154
|
-
* ```
|
|
119
|
+
* Crea una nota de crédito. Tipo de NC inferido del comprobante original.
|
|
155
120
|
*/
|
|
156
121
|
async notaCredito(opts) {
|
|
157
122
|
const cbteTipo = NOTA_CREDITO_MAP[opts.comprobanteOriginal.tipo];
|
|
@@ -161,24 +126,7 @@ export class Arca {
|
|
|
161
126
|
return this.facturarConAsociado(cbteTipo, opts);
|
|
162
127
|
}
|
|
163
128
|
/**
|
|
164
|
-
* Crea una nota de débito
|
|
165
|
-
* El tipo de ND se infiere automáticamente del tipo del comprobante original.
|
|
166
|
-
*
|
|
167
|
-
* @example
|
|
168
|
-
* ```ts
|
|
169
|
-
* const result = await arca.notaDebito({
|
|
170
|
-
* ptoVta: 1,
|
|
171
|
-
* comprobanteOriginal: {
|
|
172
|
-
* tipo: CbteTipo.FACTURA_A,
|
|
173
|
-
* ptoVta: 1,
|
|
174
|
-
* nro: 10,
|
|
175
|
-
* fecha: "20260301",
|
|
176
|
-
* },
|
|
177
|
-
* docTipo: DocTipo.CUIT,
|
|
178
|
-
* docNro: 20123456789,
|
|
179
|
-
* items: [{ neto: 200, iva: IvaTipo.IVA_21 }],
|
|
180
|
-
* });
|
|
181
|
-
* ```
|
|
129
|
+
* Crea una nota de débito. Tipo de ND inferido del comprobante original.
|
|
182
130
|
*/
|
|
183
131
|
async notaDebito(opts) {
|
|
184
132
|
const cbteTipo = NOTA_DEBITO_MAP[opts.comprobanteOriginal.tipo];
|
|
@@ -189,13 +137,9 @@ export class Arca {
|
|
|
189
137
|
}
|
|
190
138
|
async facturarConAsociado(cbteTipo, opts) {
|
|
191
139
|
const orig = opts.comprobanteOriginal;
|
|
192
|
-
const fullOpts = {
|
|
193
|
-
...opts,
|
|
194
|
-
cbteTipo,
|
|
195
|
-
};
|
|
140
|
+
const fullOpts = { ...opts, cbteTipo };
|
|
196
141
|
const nextNum = await this.siguienteComprobante(opts.ptoVta, cbteTipo);
|
|
197
142
|
const { detail, importes } = buildInvoiceDetail(fullOpts, nextNum);
|
|
198
|
-
// Agregar comprobante asociado
|
|
199
143
|
detail.CbtesAsoc = [
|
|
200
144
|
{
|
|
201
145
|
Tipo: orig.tipo,
|
|
@@ -212,80 +156,311 @@ export class Arca {
|
|
|
212
156
|
});
|
|
213
157
|
return parseFacturaResult(result, importes);
|
|
214
158
|
}
|
|
215
|
-
/**
|
|
216
|
-
* Consulta un comprobante previamente autorizado.
|
|
217
|
-
*/
|
|
159
|
+
/** Consulta un comprobante previamente autorizado. */
|
|
218
160
|
async consultarComprobante(cbteTipo, ptoVta, cbteNro) {
|
|
219
161
|
const auth = await this.getAuth();
|
|
220
162
|
return this.wsfe.consultarComprobante(auth, cbteTipo, ptoVta, cbteNro);
|
|
221
163
|
}
|
|
222
164
|
// ============================================================
|
|
223
|
-
//
|
|
165
|
+
// WSFEX - Facturación de Exportación
|
|
166
|
+
// ============================================================
|
|
167
|
+
/** Autoriza un comprobante de exportación (WSFEX). */
|
|
168
|
+
async crearFacturaExportacion(invoice) {
|
|
169
|
+
const auth = await this.getAuth("wsfex");
|
|
170
|
+
return this.wsfex.authorize(auth, invoice);
|
|
171
|
+
}
|
|
172
|
+
/** Último número de comprobante de exportación autorizado. */
|
|
173
|
+
async ultimoComprobanteExpo(ptoVta, cbteTipo) {
|
|
174
|
+
const auth = await this.getAuth("wsfex");
|
|
175
|
+
return this.wsfex.getLastCmp(auth, ptoVta, cbteTipo);
|
|
176
|
+
}
|
|
177
|
+
/** Siguiente número de comprobante de exportación. */
|
|
178
|
+
async siguienteComprobanteExpo(ptoVta, cbteTipo) {
|
|
179
|
+
const ultimo = await this.ultimoComprobanteExpo(ptoVta, cbteTipo);
|
|
180
|
+
return ultimo + 1;
|
|
181
|
+
}
|
|
182
|
+
/** Último ID de request WSFEX. */
|
|
183
|
+
async ultimoIdExpo() {
|
|
184
|
+
const auth = await this.getAuth("wsfex");
|
|
185
|
+
return this.wsfex.getLastId(auth);
|
|
186
|
+
}
|
|
187
|
+
/** Consulta un comprobante de exportación. */
|
|
188
|
+
async consultarComprobanteExpo(cbteTipo, ptoVta, cbteNro) {
|
|
189
|
+
const auth = await this.getAuth("wsfex");
|
|
190
|
+
return this.wsfex.getCmp(auth, cbteTipo, ptoVta, cbteNro);
|
|
191
|
+
}
|
|
192
|
+
/** Estado de los servidores WSFEX. */
|
|
193
|
+
async serverStatusExpo() {
|
|
194
|
+
return this.wsfex.serverStatus();
|
|
195
|
+
}
|
|
196
|
+
/** Tipos de comprobante de exportación. */
|
|
197
|
+
async getTiposCbteExpo() {
|
|
198
|
+
const auth = await this.getAuth("wsfex");
|
|
199
|
+
return this.wsfex.getTiposCbte(auth);
|
|
200
|
+
}
|
|
201
|
+
/** Monedas (WSFEX). */
|
|
202
|
+
async getMonedasExpo() {
|
|
203
|
+
const auth = await this.getAuth("wsfex");
|
|
204
|
+
return this.wsfex.getMonedas(auth);
|
|
205
|
+
}
|
|
206
|
+
/** Países destino de exportación. */
|
|
207
|
+
async getPaisesExpo() {
|
|
208
|
+
const auth = await this.getAuth("wsfex");
|
|
209
|
+
return this.wsfex.getPaises(auth);
|
|
210
|
+
}
|
|
211
|
+
/** Idiomas disponibles (WSFEX). */
|
|
212
|
+
async getIdiomasExpo() {
|
|
213
|
+
const auth = await this.getAuth("wsfex");
|
|
214
|
+
return this.wsfex.getIdiomas(auth);
|
|
215
|
+
}
|
|
216
|
+
/** Incoterms disponibles. */
|
|
217
|
+
async getIncotermsExpo() {
|
|
218
|
+
const auth = await this.getAuth("wsfex");
|
|
219
|
+
return this.wsfex.getIncoterms(auth);
|
|
220
|
+
}
|
|
221
|
+
/** Unidades de medida (WSFEX). */
|
|
222
|
+
async getUMedExpo() {
|
|
223
|
+
const auth = await this.getAuth("wsfex");
|
|
224
|
+
return this.wsfex.getUMed(auth);
|
|
225
|
+
}
|
|
226
|
+
/** Tipos de exportación. */
|
|
227
|
+
async getTiposExpo() {
|
|
228
|
+
const auth = await this.getAuth("wsfex");
|
|
229
|
+
return this.wsfex.getTiposExpo(auth);
|
|
230
|
+
}
|
|
231
|
+
/** CUITs de países. */
|
|
232
|
+
async getCuitsPaisExpo() {
|
|
233
|
+
const auth = await this.getAuth("wsfex");
|
|
234
|
+
return this.wsfex.getCuitsPais(auth);
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Crea una factura de exportación con API simplificada.
|
|
238
|
+
* Obtiene automáticamente el ID y número de comprobante.
|
|
239
|
+
*/
|
|
240
|
+
async facturarExpo(opts) {
|
|
241
|
+
const auth = await this.getAuth("wsfex");
|
|
242
|
+
const [lastId, nextNum] = await Promise.all([
|
|
243
|
+
this.wsfex.getLastId(auth),
|
|
244
|
+
this.wsfex.getLastCmp(auth, opts.ptoVta, opts.cbteTipo).then((n) => n + 1),
|
|
245
|
+
]);
|
|
246
|
+
const fecha = opts.fecha ? toDateString(opts.fecha) : toDateString(new Date());
|
|
247
|
+
const items = opts.items.map((item) => ({
|
|
248
|
+
Pro_codigo: item.codigo,
|
|
249
|
+
Pro_ds: item.descripcion,
|
|
250
|
+
Pro_qty: item.cantidad,
|
|
251
|
+
Pro_umed: item.unidad,
|
|
252
|
+
Pro_precio_uni: item.precioUnitario,
|
|
253
|
+
Pro_bonificacion: item.bonificacion ?? 0,
|
|
254
|
+
Pro_total_item: Math.round((item.cantidad * item.precioUnitario - (item.bonificacion ?? 0)) * 100) / 100,
|
|
255
|
+
}));
|
|
256
|
+
const invoice = {
|
|
257
|
+
Id: lastId + 1,
|
|
258
|
+
Cbte_Tipo: opts.cbteTipo,
|
|
259
|
+
Fecha_cbte: fecha,
|
|
260
|
+
Punto_vta: opts.ptoVta,
|
|
261
|
+
Cbte_nro: nextNum,
|
|
262
|
+
Tipo_expo: opts.tipoExpo,
|
|
263
|
+
Permiso_existente: opts.permisoExistente ?? "N",
|
|
264
|
+
Dst_cmp: opts.pais,
|
|
265
|
+
Cliente: opts.cliente.nombre,
|
|
266
|
+
Cuit_pais_cliente: opts.cliente.cuitPais,
|
|
267
|
+
Domicilio_cliente: opts.cliente.domicilio,
|
|
268
|
+
Id_impositivo: opts.cliente.idImpositivo,
|
|
269
|
+
Moneda_Id: opts.moneda,
|
|
270
|
+
Moneda_ctz: opts.cotizacion,
|
|
271
|
+
Idioma_cbte: opts.idioma ?? 1,
|
|
272
|
+
Forma_pago: opts.formaPago,
|
|
273
|
+
Items: items,
|
|
274
|
+
};
|
|
275
|
+
if (opts.incoterms)
|
|
276
|
+
invoice.Incoterms = opts.incoterms;
|
|
277
|
+
if (opts.incotermsDes)
|
|
278
|
+
invoice.Incoterms_Ds = opts.incotermsDes;
|
|
279
|
+
if (opts.obsComerciales)
|
|
280
|
+
invoice.Obs_comerciales = opts.obsComerciales;
|
|
281
|
+
if (opts.obs)
|
|
282
|
+
invoice.Obs = opts.obs;
|
|
283
|
+
if (opts.permisos)
|
|
284
|
+
invoice.Permisos = opts.permisos;
|
|
285
|
+
if (opts.cbtesAsoc)
|
|
286
|
+
invoice.Cmps_asoc = opts.cbtesAsoc;
|
|
287
|
+
const result = await this.wsfex.authorize(auth, invoice);
|
|
288
|
+
const authResult = result.FEXResultAuth;
|
|
289
|
+
const aprobada = authResult?.Resultado === "A";
|
|
290
|
+
return {
|
|
291
|
+
aprobada,
|
|
292
|
+
cae: aprobada ? authResult?.Cae : undefined,
|
|
293
|
+
caeVencimiento: aprobada ? authResult?.Fch_venc_Cae : undefined,
|
|
294
|
+
cbteNro: Number(authResult?.Cbte_nro ?? nextNum),
|
|
295
|
+
ptoVta: Number(authResult?.Punto_vta ?? opts.ptoVta),
|
|
296
|
+
cbteTipo: Number(authResult?.Cbte_tipo ?? opts.cbteTipo),
|
|
297
|
+
obs: authResult?.Obs,
|
|
298
|
+
raw: result,
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
// ============================================================
|
|
302
|
+
// CAEA - Autorización Anticipada
|
|
303
|
+
// ============================================================
|
|
304
|
+
/**
|
|
305
|
+
* Solicita un CAEA para un período y quincena.
|
|
306
|
+
* @param periodo - Período en formato YYYYMM
|
|
307
|
+
* @param orden - 1 = primera quincena, 2 = segunda quincena
|
|
308
|
+
*/
|
|
309
|
+
async solicitarCAEA(periodo, orden) {
|
|
310
|
+
const auth = await this.getAuth();
|
|
311
|
+
return this.wsfe.solicitarCAEA(auth, periodo, orden);
|
|
312
|
+
}
|
|
313
|
+
/** Consulta un CAEA previamente solicitado. */
|
|
314
|
+
async consultarCAEA(periodo, orden) {
|
|
315
|
+
const auth = await this.getAuth();
|
|
316
|
+
return this.wsfe.consultarCAEA(auth, periodo, orden);
|
|
317
|
+
}
|
|
318
|
+
/** Informa comprobantes emitidos con un CAEA. */
|
|
319
|
+
async registrarCAEA(request) {
|
|
320
|
+
const auth = await this.getAuth();
|
|
321
|
+
return this.wsfe.registrarCAEA(auth, request);
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Registra una factura emitida con CAEA (API simplificada).
|
|
325
|
+
* Equivale a `facturar()` pero usando un CAEA pre-solicitado.
|
|
326
|
+
* Calcula automáticamente IVA, totales, y número de comprobante.
|
|
327
|
+
*
|
|
328
|
+
* @example
|
|
329
|
+
* ```ts
|
|
330
|
+
* const caea = await arca.solicitarCAEA("202604", 1);
|
|
331
|
+
*
|
|
332
|
+
* const result = await arca.registrarFacturaCAEA(caea.CAEA, {
|
|
333
|
+
* ptoVta: 1,
|
|
334
|
+
* cbteTipo: CbteTipo.FACTURA_B,
|
|
335
|
+
* items: [{ neto: 100, iva: IvaTipo.IVA_21 }],
|
|
336
|
+
* });
|
|
337
|
+
* ```
|
|
338
|
+
*/
|
|
339
|
+
async registrarFacturaCAEA(caea, opts) {
|
|
340
|
+
const nextNum = await this.siguienteComprobante(opts.ptoVta, opts.cbteTipo);
|
|
341
|
+
const { detail, importes } = buildInvoiceDetail(opts, nextNum);
|
|
342
|
+
const result = await this.registrarCAEA({
|
|
343
|
+
PtoVta: opts.ptoVta,
|
|
344
|
+
CbteTipo: opts.cbteTipo,
|
|
345
|
+
invoices: [{ ...detail, CAEA: caea }],
|
|
346
|
+
});
|
|
347
|
+
return parseFacturaResult(result, importes);
|
|
348
|
+
}
|
|
349
|
+
/** Informa que no hubo movimientos para un CAEA en un punto de venta. */
|
|
350
|
+
async sinMovimientoCAEA(caea, ptoVta) {
|
|
351
|
+
const auth = await this.getAuth();
|
|
352
|
+
return this.wsfe.sinMovimientoCAEA(auth, caea, ptoVta);
|
|
353
|
+
}
|
|
354
|
+
// ============================================================
|
|
355
|
+
// Padrón - Consulta de contribuyentes
|
|
224
356
|
// ============================================================
|
|
225
357
|
/**
|
|
226
|
-
*
|
|
227
|
-
*
|
|
358
|
+
* Consulta datos de un contribuyente por CUIT (padrón A13 - básico).
|
|
359
|
+
* Retorna nombre, tipo de persona, estado, impuestos.
|
|
360
|
+
*/
|
|
361
|
+
async consultarCuit(cuit) {
|
|
362
|
+
const auth = await this.getAuth("ws_sr_padron_a13");
|
|
363
|
+
return this.padron.getPersonaA13(auth, cuit);
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Consulta datos detallados de un contribuyente (padrón A5).
|
|
367
|
+
* Requiere autorización adicional en el certificado.
|
|
368
|
+
* Incluye domicilio fiscal, actividades, etc.
|
|
228
369
|
*/
|
|
370
|
+
async consultarCuitDetalle(cuit) {
|
|
371
|
+
const auth = await this.getAuth("ws_sr_padron_a5");
|
|
372
|
+
return this.padron.getPersonaA5(auth, cuit);
|
|
373
|
+
}
|
|
374
|
+
// ============================================================
|
|
375
|
+
// Estado y parámetros WSFE
|
|
376
|
+
// ============================================================
|
|
377
|
+
/** Estado de los servidores WSFE. No requiere autenticación. */
|
|
229
378
|
async serverStatus() {
|
|
230
379
|
return this.wsfe.serverStatus();
|
|
231
380
|
}
|
|
232
|
-
/** Obtiene los tipos de comprobante disponibles. */
|
|
233
381
|
async getTiposComprobante() {
|
|
234
382
|
const auth = await this.getAuth();
|
|
235
383
|
return this.wsfe.getTiposComprobante(auth);
|
|
236
384
|
}
|
|
237
|
-
/** Obtiene los tipos de concepto disponibles (Productos, Servicios, Productos y Servicios). */
|
|
238
385
|
async getTiposConcepto() {
|
|
239
386
|
const auth = await this.getAuth();
|
|
240
387
|
return this.wsfe.getTiposConcepto(auth);
|
|
241
388
|
}
|
|
242
|
-
/** Obtiene los tipos de documento disponibles. */
|
|
243
389
|
async getTiposDocumento() {
|
|
244
390
|
const auth = await this.getAuth();
|
|
245
391
|
return this.wsfe.getTiposDocumento(auth);
|
|
246
392
|
}
|
|
247
|
-
/** Obtiene los tipos de IVA disponibles. */
|
|
248
393
|
async getTiposIva() {
|
|
249
394
|
const auth = await this.getAuth();
|
|
250
395
|
return this.wsfe.getTiposIva(auth);
|
|
251
396
|
}
|
|
252
|
-
/** Obtiene las monedas disponibles. */
|
|
253
397
|
async getMonedas() {
|
|
254
398
|
const auth = await this.getAuth();
|
|
255
399
|
return this.wsfe.getMonedas(auth);
|
|
256
400
|
}
|
|
257
|
-
/** Obtiene los tipos de tributo disponibles. */
|
|
258
401
|
async getTiposTributo() {
|
|
259
402
|
const auth = await this.getAuth();
|
|
260
403
|
return this.wsfe.getTiposTributo(auth);
|
|
261
404
|
}
|
|
262
|
-
/** Obtiene los tipos de datos opcionales disponibles. */
|
|
263
405
|
async getTiposOpcional() {
|
|
264
406
|
const auth = await this.getAuth();
|
|
265
407
|
return this.wsfe.getTiposOpcional(auth);
|
|
266
408
|
}
|
|
267
|
-
/** Obtiene los puntos de venta habilitados. */
|
|
268
409
|
async getPuntosVenta() {
|
|
269
410
|
const auth = await this.getAuth();
|
|
270
411
|
return this.wsfe.getPuntosVenta(auth);
|
|
271
412
|
}
|
|
272
|
-
/** Obtiene la cotización de una moneda. */
|
|
273
413
|
async getCotizacion(monedaId) {
|
|
274
414
|
const auth = await this.getAuth();
|
|
275
415
|
return this.wsfe.getCotizacion(auth, monedaId);
|
|
276
416
|
}
|
|
277
|
-
/** Obtiene la cantidad máxima de registros por request. */
|
|
278
417
|
async getCantMaxRegistros() {
|
|
279
418
|
const auth = await this.getAuth();
|
|
280
419
|
return this.wsfe.getCantMaxRegistros(auth);
|
|
281
420
|
}
|
|
282
421
|
// ============================================================
|
|
283
|
-
// Utilidades
|
|
422
|
+
// Utilidades estáticas
|
|
284
423
|
// ============================================================
|
|
285
424
|
/**
|
|
286
|
-
*
|
|
287
|
-
*
|
|
425
|
+
* Genera la URL del QR oficial de ARCA para un comprobante autorizado.
|
|
426
|
+
*
|
|
427
|
+
* @example
|
|
428
|
+
* ```ts
|
|
429
|
+
* const url = Arca.generateQRUrl({
|
|
430
|
+
* fecha: "2026-03-28",
|
|
431
|
+
* cuit: 20123456789,
|
|
432
|
+
* ptoVta: 1,
|
|
433
|
+
* tipoCmp: CbteTipo.FACTURA_B,
|
|
434
|
+
* nroCmp: 150,
|
|
435
|
+
* importe: 121,
|
|
436
|
+
* moneda: "PES",
|
|
437
|
+
* ctz: 1,
|
|
438
|
+
* tipoDocRec: DocTipo.CONSUMIDOR_FINAL,
|
|
439
|
+
* nroDocRec: 0,
|
|
440
|
+
* codAut: 73429843294823,
|
|
441
|
+
* });
|
|
442
|
+
* ```
|
|
288
443
|
*/
|
|
444
|
+
static generateQRUrl(input) {
|
|
445
|
+
const payload = {
|
|
446
|
+
ver: 1,
|
|
447
|
+
fecha: input.fecha,
|
|
448
|
+
cuit: input.cuit,
|
|
449
|
+
ptoVta: input.ptoVta,
|
|
450
|
+
tipoCmp: input.tipoCmp,
|
|
451
|
+
nroCmp: input.nroCmp,
|
|
452
|
+
importe: input.importe,
|
|
453
|
+
moneda: input.moneda,
|
|
454
|
+
ctz: input.ctz,
|
|
455
|
+
tipoDocRec: input.tipoDocRec,
|
|
456
|
+
nroDocRec: input.nroDocRec,
|
|
457
|
+
tipoCodAut: input.tipoCodAut ?? "E",
|
|
458
|
+
codAut: input.codAut,
|
|
459
|
+
};
|
|
460
|
+
const base64 = Buffer.from(JSON.stringify(payload)).toString("base64");
|
|
461
|
+
return `https://www.afip.gob.ar/fe/qr/?p=${base64}`;
|
|
462
|
+
}
|
|
463
|
+
/** Extrae CAE del resultado raw de FECAESolicitar. */
|
|
289
464
|
static extractCAE(result) {
|
|
290
465
|
const detArr = Array.isArray(result.FeDetResp.FECAEDetResponse)
|
|
291
466
|
? result.FeDetResp.FECAEDetResponse
|
|
@@ -299,34 +474,20 @@ export class Arca {
|
|
|
299
474
|
caeFchVto: firstApproved?.CAEFchVto,
|
|
300
475
|
};
|
|
301
476
|
}
|
|
302
|
-
/**
|
|
303
|
-
* Formatea una fecha Date a formato YYYYMMDD requerido por ARCA.
|
|
304
|
-
* Usa timezone America/Argentina/Buenos_Aires.
|
|
305
|
-
*/
|
|
477
|
+
/** Formatea Date a YYYYMMDD (timezone Argentina). */
|
|
306
478
|
static formatDate(date) {
|
|
307
479
|
return toDateString(date);
|
|
308
480
|
}
|
|
309
|
-
/**
|
|
310
|
-
* Calcula los importes de una factura a partir de line items.
|
|
311
|
-
* Útil para previsualizar totales antes de enviar a ARCA.
|
|
312
|
-
*
|
|
313
|
-
* @example
|
|
314
|
-
* ```ts
|
|
315
|
-
* const { importes } = Arca.calcularTotales([
|
|
316
|
-
* { neto: 1000, iva: IvaTipo.IVA_21 },
|
|
317
|
-
* { neto: 500, iva: IvaTipo.IVA_10_5 },
|
|
318
|
-
* ]);
|
|
319
|
-
* console.log(importes.total); // 1762.5
|
|
320
|
-
* ```
|
|
321
|
-
*/
|
|
481
|
+
/** Calcula importes e IVA desde line items. Para previsualizar sin enviar. */
|
|
322
482
|
static calcularTotales(items, opts) {
|
|
323
483
|
return calcularTotales(items, opts);
|
|
324
484
|
}
|
|
325
|
-
/**
|
|
326
|
-
* Invalida los tickets de acceso cacheados.
|
|
327
|
-
*/
|
|
485
|
+
/** Invalida los tickets de acceso cacheados. */
|
|
328
486
|
clearAuthCache() {
|
|
329
487
|
this.wsaa.clearTicket("wsfe");
|
|
488
|
+
this.wsaa.clearTicket("wsfex");
|
|
489
|
+
this.wsaa.clearTicket("ws_sr_padron_a5");
|
|
490
|
+
this.wsaa.clearTicket("ws_sr_padron_a13");
|
|
330
491
|
}
|
|
331
492
|
}
|
|
332
493
|
//# sourceMappingURL=arca.js.map
|
package/dist/arca.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arca.js","sourceRoot":"","sources":["../src/arca.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"arca.js","sourceRoot":"","sources":["../src/arca.ts"],"names":[],"mappings":"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"}
|