@ramiidv/arca-sdk 0.1.0 → 0.2.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/dist/arca.js CHANGED
@@ -1,5 +1,8 @@
1
1
  import { WsaaClient } from "./wsaa.js";
2
2
  import { WsfeClient } from "./wsfe.js";
3
+ import { buildInvoiceDetail, parseFacturaResult, toDateString, calcularTotales, } from "./facturacion.js";
4
+ import { ArcaError } from "./errors.js";
5
+ import { NOTA_CREDITO_MAP, NOTA_DEBITO_MAP, } from "./constants.js";
3
6
  export class Arca {
4
7
  wsaa;
5
8
  wsfe;
@@ -8,13 +11,15 @@ export class Arca {
8
11
  constructor(config) {
9
12
  this.cuit = config.cuit;
10
13
  this.production = config.production ?? false;
14
+ const timeoutMs = config.requestTimeoutMs ?? 30_000;
11
15
  this.wsaa = new WsaaClient({
12
16
  cert: config.cert,
13
17
  key: config.key,
14
18
  production: this.production,
15
19
  tokenTTLMinutes: config.tokenTTLMinutes ?? 720,
20
+ timeoutMs,
16
21
  });
17
- this.wsfe = new WsfeClient(this.production);
22
+ this.wsfe = new WsfeClient(this.production, timeoutMs);
18
23
  }
19
24
  // ============================================================
20
25
  // Auth helpers
@@ -98,6 +103,115 @@ export class Arca {
98
103
  ],
99
104
  });
100
105
  }
106
+ // ============================================================
107
+ // Facturación - API Simplificada
108
+ // ============================================================
109
+ /**
110
+ * Crea una factura con API simplificada.
111
+ * 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
+ */
129
+ async facturar(opts) {
130
+ const nextNum = await this.siguienteComprobante(opts.ptoVta, opts.cbteTipo);
131
+ const { detail, importes } = buildInvoiceDetail(opts, nextNum);
132
+ const result = await this.crearFactura({
133
+ PtoVta: opts.ptoVta,
134
+ CbteTipo: opts.cbteTipo,
135
+ invoices: [detail],
136
+ });
137
+ return parseFacturaResult(result, importes);
138
+ }
139
+ /**
140
+ * Crea una nota de crédito asociada a un comprobante original.
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
+ * ```
155
+ */
156
+ async notaCredito(opts) {
157
+ const cbteTipo = NOTA_CREDITO_MAP[opts.comprobanteOriginal.tipo];
158
+ if (cbteTipo === undefined) {
159
+ throw new ArcaError(`No se puede inferir el tipo de Nota de Crédito para CbteTipo ${opts.comprobanteOriginal.tipo}`);
160
+ }
161
+ return this.facturarConAsociado(cbteTipo, opts);
162
+ }
163
+ /**
164
+ * Crea una nota de débito asociada a un comprobante original.
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
+ * ```
182
+ */
183
+ async notaDebito(opts) {
184
+ const cbteTipo = NOTA_DEBITO_MAP[opts.comprobanteOriginal.tipo];
185
+ if (cbteTipo === undefined) {
186
+ throw new ArcaError(`No se puede inferir el tipo de Nota de Débito para CbteTipo ${opts.comprobanteOriginal.tipo}`);
187
+ }
188
+ return this.facturarConAsociado(cbteTipo, opts);
189
+ }
190
+ async facturarConAsociado(cbteTipo, opts) {
191
+ const orig = opts.comprobanteOriginal;
192
+ const fullOpts = {
193
+ ...opts,
194
+ cbteTipo,
195
+ };
196
+ const nextNum = await this.siguienteComprobante(opts.ptoVta, cbteTipo);
197
+ const { detail, importes } = buildInvoiceDetail(fullOpts, nextNum);
198
+ // Agregar comprobante asociado
199
+ detail.CbtesAsoc = [
200
+ {
201
+ Tipo: orig.tipo,
202
+ PtoVta: orig.ptoVta,
203
+ Nro: orig.nro,
204
+ ...(orig.cuit !== undefined && { Cuit: orig.cuit }),
205
+ ...(orig.fecha !== undefined && { CbteFch: toDateString(orig.fecha) }),
206
+ },
207
+ ];
208
+ const result = await this.crearFactura({
209
+ PtoVta: opts.ptoVta,
210
+ CbteTipo: cbteTipo,
211
+ invoices: [detail],
212
+ });
213
+ return parseFacturaResult(result, importes);
214
+ }
101
215
  /**
102
216
  * Consulta un comprobante previamente autorizado.
103
217
  */
@@ -120,6 +234,11 @@ export class Arca {
120
234
  const auth = await this.getAuth();
121
235
  return this.wsfe.getTiposComprobante(auth);
122
236
  }
237
+ /** Obtiene los tipos de concepto disponibles (Productos, Servicios, Productos y Servicios). */
238
+ async getTiposConcepto() {
239
+ const auth = await this.getAuth();
240
+ return this.wsfe.getTiposConcepto(auth);
241
+ }
123
242
  /** Obtiene los tipos de documento disponibles. */
124
243
  async getTiposDocumento() {
125
244
  const auth = await this.getAuth();
@@ -182,12 +301,26 @@ export class Arca {
182
301
  }
183
302
  /**
184
303
  * Formatea una fecha Date a formato YYYYMMDD requerido por ARCA.
304
+ * Usa timezone America/Argentina/Buenos_Aires.
185
305
  */
186
306
  static formatDate(date) {
187
- const y = date.getFullYear();
188
- const m = String(date.getMonth() + 1).padStart(2, "0");
189
- const d = String(date.getDate()).padStart(2, "0");
190
- return `${y}${m}${d}`;
307
+ return toDateString(date);
308
+ }
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
+ */
322
+ static calcularTotales(items, opts) {
323
+ return calcularTotales(items, opts);
191
324
  }
192
325
  /**
193
326
  * Invalida los tickets de acceso cacheados.
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":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAqBxC,OAAO,EAML,gBAAgB,EAChB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,MAAM,OAAO,IAAI;IACP,IAAI,CAAa;IACjB,IAAI,CAAa;IACjB,IAAI,CAAS;IACb,UAAU,CAAU;IAE5B,YAAY,MAAkB;QAC5B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC;QAEpD,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC;YACzB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,GAAG;YAC9C,SAAS;SACV,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACzD,CAAC;IAED,+DAA+D;IAC/D,eAAe;IACf,+DAA+D;IAE/D;;OAEG;IACK,KAAK,CAAC,OAAO;QACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACvD,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,oCAAoC;IACpC,+DAA+D;IAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,KAAK,CAAC,YAAY,CAAC,OAAuB;QACxC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,QAAgB;QACtD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CACxB,MAAc,EACd,QAAgB;QAEhB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC9D,OAAO,MAAM,GAAG,CAAC,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CACpB,MAAc,EACd,QAAgB,EAChB,OAAuD;QAEvD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,YAAY,CAAC;YACvB,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE;gBACR;oBACE,GAAG,OAAO;oBACV,SAAS,EAAE,OAAO;oBAClB,SAAS,EAAE,OAAO;iBACnB;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,+DAA+D;IAC/D,iCAAiC;IACjC,+DAA+D;IAE/D;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,QAAQ,CAAC,IAAkB;QAC/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5E,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE/D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC;YACrC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB,CAAC,CAAC;QAEH,OAAO,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,WAAW,CAAC,IAAqB;QACrC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,SAAS,CACjB,gEAAgE,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAChG,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,UAAU,CAAC,IAAoB;QACnC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAChE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,SAAS,CACjB,+DAA+D,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAC/F,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,QAAgB,EAChB,IAAsC;QAEtC,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACtC,MAAM,QAAQ,GAAiB;YAC7B,GAAG,IAAI;YACP,QAAQ;SACT,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACvE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEnE,+BAA+B;QAC/B,MAAM,CAAC,SAAS,GAAG;YACjB;gBACE,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnD,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;aACvE;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC;YACrC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB,CAAC,CAAC;QAEH,OAAO,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CACxB,QAAgB,EAChB,MAAc,EACd,OAAe;QAEf,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAED,+DAA+D;IAC/D,sBAAsB;IACtB,+DAA+D;IAE/D;;;OAGG;IACH,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;IAClC,CAAC;IAED,oDAAoD;IACpD,KAAK,CAAC,mBAAmB;QACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,+FAA+F;IAC/F,KAAK,CAAC,gBAAgB;QACpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,kDAAkD;IAClD,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,4CAA4C;IAC5C,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,gDAAgD;IAChD,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,yDAAyD;IACzD,KAAK,CAAC,gBAAgB;QACpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,+CAA+C;IAC/C,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,2CAA2C;IAC3C,KAAK,CAAC,aAAa,CAAC,QAAgB;QAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,mBAAmB;QACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,+DAA+D;IAC/D,aAAa;IACb,+DAA+D;IAE/D;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,MAA4B;QAM5C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;YAC7D,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB;YACnC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAExC,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,KAAK,GAAG,CAAC;QACpD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC;QAE9D,OAAO;YACL,QAAQ;YACR,OAAO,EAAE,MAAM;YACf,GAAG,EAAE,aAAa,EAAE,GAAG;YACvB,SAAS,EAAE,aAAa,EAAE,SAAS;SACpC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,IAAmB;QACnC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,eAAe,CACpB,KAAiB,EACjB,IAA4D;QAE5D,OAAO,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;CACF"}
@@ -96,6 +96,9 @@ export declare enum Moneda {
96
96
  DOLARES_CANADIENSES = "018",
97
97
  YUANES = "064"
98
98
  }
99
+ export declare const NOTA_CREDITO_MAP: Record<number, number>;
100
+ export declare const NOTA_DEBITO_MAP: Record<number, number>;
101
+ export declare function isTipoC(cbteTipo: number): boolean;
99
102
  export declare enum TributoTipo {
100
103
  IMPUESTOS_NACIONALES = 1,
101
104
  IMPUESTOS_PROVINCIALES = 2,
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS;;;;;;;;;CASZ,CAAC;AAEX,eAAO,MAAM,cAAc,iCAAiC,CAAC;AAC7D,eAAO,MAAM,cAAc,gEACoC,CAAC;AAMhE,oBAAY,QAAQ;IAElB,SAAS,IAAI;IACb,aAAa,IAAI;IACjB,cAAc,IAAI;IAClB,QAAQ,IAAI;IACZ,oBAAoB,IAAI;IAGxB,SAAS,IAAI;IACb,aAAa,IAAI;IACjB,cAAc,IAAI;IAClB,QAAQ,IAAI;IACZ,oBAAoB,KAAK;IAGzB,SAAS,KAAK;IACd,aAAa,KAAK;IAClB,cAAc,KAAK;IACnB,QAAQ,KAAK;IAGb,SAAS,KAAK;IACd,aAAa,KAAK;IAClB,cAAc,KAAK;IAGnB,qBAAqB,KAAK;IAC1B,qBAAqB,KAAK;IAC1B,mBAAmB,KAAK;IACxB,mBAAmB,KAAK;IAGxB,oBAAoB,KAAK;IAGzB,SAAS,KAAK;IACd,aAAa,KAAK;IAClB,cAAc,KAAK;IACnB,QAAQ,KAAK;IAGb,kBAAkB,KAAK;IACvB,kBAAkB,KAAK;IAGvB,aAAa,KAAK;IAClB,aAAa,KAAK;IAGlB,aAAa,MAAM;IACnB,iBAAiB,MAAM;IACvB,kBAAkB,MAAM;IAGxB,aAAa,MAAM;IACnB,iBAAiB,MAAM;IACvB,kBAAkB,MAAM;IAGxB,aAAa,MAAM;IACnB,iBAAiB,MAAM;IACvB,kBAAkB,MAAM;CACzB;AAMD,oBAAY,QAAQ;IAClB,SAAS,IAAI;IACb,SAAS,IAAI;IACb,qBAAqB,IAAI;CAC1B;AAMD,oBAAY,OAAO;IACjB,IAAI,KAAK;IACT,IAAI,KAAK;IACT,GAAG,KAAK;IACR,EAAE,KAAK;IACP,EAAE,KAAK;IACP,aAAa,KAAK;IAClB,UAAU,KAAK;IACf,eAAe,KAAK;IACpB,SAAS,KAAK;IACd,YAAY,KAAK;IACjB,GAAG,KAAK;IACR,gBAAgB,KAAK;CACtB;AAMD,oBAAY,OAAO;IACjB,KAAK,IAAI;IACT,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV,MAAM,IAAI;IACV,KAAK,IAAI;IACT,OAAO,IAAI;CACZ;AAED,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAO7C,CAAC;AAMF,oBAAY,MAAM;IAChB,KAAK,QAAQ;IACb,OAAO,QAAQ;IACf,KAAK,QAAQ;IACb,MAAM,QAAQ;IACd,eAAe,QAAQ;IACvB,cAAc,QAAQ;IACtB,SAAS,QAAQ;IACjB,UAAU,QAAQ;IAClB,iBAAiB,QAAQ;IACzB,eAAe,QAAQ;IACvB,iBAAiB,QAAQ;IACzB,KAAK,QAAQ;IACb,cAAc,QAAQ;IACtB,mBAAmB,QAAQ;IAC3B,MAAM,QAAQ;CACf;AAMD,oBAAY,WAAW;IACrB,oBAAoB,IAAI;IACxB,sBAAsB,IAAI;IAC1B,qBAAqB,IAAI;IACzB,kBAAkB,IAAI;IACtB,IAAI,IAAI;IACR,UAAU,IAAI;IACd,WAAW,IAAI;IACf,kBAAkB,IAAI;IACtB,kBAAkB,IAAI;IACtB,IAAI,KAAK;CACV"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS;;;;;;;;;CASZ,CAAC;AAEX,eAAO,MAAM,cAAc,iCAAiC,CAAC;AAC7D,eAAO,MAAM,cAAc,gEACoC,CAAC;AAMhE,oBAAY,QAAQ;IAElB,SAAS,IAAI;IACb,aAAa,IAAI;IACjB,cAAc,IAAI;IAClB,QAAQ,IAAI;IACZ,oBAAoB,IAAI;IAGxB,SAAS,IAAI;IACb,aAAa,IAAI;IACjB,cAAc,IAAI;IAClB,QAAQ,IAAI;IACZ,oBAAoB,KAAK;IAGzB,SAAS,KAAK;IACd,aAAa,KAAK;IAClB,cAAc,KAAK;IACnB,QAAQ,KAAK;IAGb,SAAS,KAAK;IACd,aAAa,KAAK;IAClB,cAAc,KAAK;IAGnB,qBAAqB,KAAK;IAC1B,qBAAqB,KAAK;IAC1B,mBAAmB,KAAK;IACxB,mBAAmB,KAAK;IAGxB,oBAAoB,KAAK;IAGzB,SAAS,KAAK;IACd,aAAa,KAAK;IAClB,cAAc,KAAK;IACnB,QAAQ,KAAK;IAGb,kBAAkB,KAAK;IACvB,kBAAkB,KAAK;IAGvB,aAAa,KAAK;IAClB,aAAa,KAAK;IAGlB,aAAa,MAAM;IACnB,iBAAiB,MAAM;IACvB,kBAAkB,MAAM;IAGxB,aAAa,MAAM;IACnB,iBAAiB,MAAM;IACvB,kBAAkB,MAAM;IAGxB,aAAa,MAAM;IACnB,iBAAiB,MAAM;IACvB,kBAAkB,MAAM;CACzB;AAMD,oBAAY,QAAQ;IAClB,SAAS,IAAI;IACb,SAAS,IAAI;IACb,qBAAqB,IAAI;CAC1B;AAMD,oBAAY,OAAO;IACjB,IAAI,KAAK;IACT,IAAI,KAAK;IACT,GAAG,KAAK;IACR,EAAE,KAAK;IACP,EAAE,KAAK;IACP,aAAa,KAAK;IAClB,UAAU,KAAK;IACf,eAAe,KAAK;IACpB,SAAS,KAAK;IACd,YAAY,KAAK;IACjB,GAAG,KAAK;IACR,gBAAgB,KAAK;CACtB;AAMD,oBAAY,OAAO;IACjB,KAAK,IAAI;IACT,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV,MAAM,IAAI;IACV,KAAK,IAAI;IACT,OAAO,IAAI;CACZ;AAED,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAO7C,CAAC;AAMF,oBAAY,MAAM;IAChB,KAAK,QAAQ;IACb,OAAO,QAAQ;IACf,KAAK,QAAQ;IACb,MAAM,QAAQ;IACd,eAAe,QAAQ;IACvB,cAAc,QAAQ;IACtB,SAAS,QAAQ;IACjB,UAAU,QAAQ;IAClB,iBAAiB,QAAQ;IACzB,eAAe,QAAQ;IACvB,iBAAiB,QAAQ;IACzB,KAAK,QAAQ;IACb,cAAc,QAAQ;IACtB,mBAAmB,QAAQ;IAC3B,MAAM,QAAQ;CACf;AAMD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CASnD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CASlD,CAAC;AAaF,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEjD;AAMD,oBAAY,WAAW;IACrB,oBAAoB,IAAI;IACxB,sBAAsB,IAAI;IAC1B,qBAAqB,IAAI;IACzB,kBAAkB,IAAI;IACtB,IAAI,IAAI;IACR,UAAU,IAAI;IACd,WAAW,IAAI;IACf,kBAAkB,IAAI;IACtB,kBAAkB,IAAI;IACtB,IAAI,KAAK;CACV"}
package/dist/constants.js CHANGED
@@ -139,6 +139,42 @@ export var Moneda;
139
139
  Moneda["YUANES"] = "064";
140
140
  })(Moneda || (Moneda = {}));
141
141
  // ============================================================
142
+ // Mapeos de CbteTipo: Factura → Nota Crédito / Nota Débito
143
+ // ============================================================
144
+ export const NOTA_CREDITO_MAP = {
145
+ [CbteTipo.FACTURA_A]: CbteTipo.NOTA_CREDITO_A,
146
+ [CbteTipo.FACTURA_B]: CbteTipo.NOTA_CREDITO_B,
147
+ [CbteTipo.FACTURA_C]: CbteTipo.NOTA_CREDITO_C,
148
+ [CbteTipo.FACTURA_E]: CbteTipo.NOTA_CREDITO_E,
149
+ [CbteTipo.FACTURA_M]: CbteTipo.NOTA_CREDITO_M,
150
+ [CbteTipo.FCE_FACTURA_A]: CbteTipo.FCE_NOTA_CREDITO_A,
151
+ [CbteTipo.FCE_FACTURA_B]: CbteTipo.FCE_NOTA_CREDITO_B,
152
+ [CbteTipo.FCE_FACTURA_C]: CbteTipo.FCE_NOTA_CREDITO_C,
153
+ };
154
+ export const NOTA_DEBITO_MAP = {
155
+ [CbteTipo.FACTURA_A]: CbteTipo.NOTA_DEBITO_A,
156
+ [CbteTipo.FACTURA_B]: CbteTipo.NOTA_DEBITO_B,
157
+ [CbteTipo.FACTURA_C]: CbteTipo.NOTA_DEBITO_C,
158
+ [CbteTipo.FACTURA_E]: CbteTipo.NOTA_DEBITO_E,
159
+ [CbteTipo.FACTURA_M]: CbteTipo.NOTA_DEBITO_M,
160
+ [CbteTipo.FCE_FACTURA_A]: CbteTipo.FCE_NOTA_DEBITO_A,
161
+ [CbteTipo.FCE_FACTURA_B]: CbteTipo.FCE_NOTA_DEBITO_B,
162
+ [CbteTipo.FCE_FACTURA_C]: CbteTipo.FCE_NOTA_DEBITO_C,
163
+ };
164
+ /** CbteTipo que NO discriminan IVA (Monotributista - tipo C) */
165
+ const TIPOS_C = new Set([
166
+ CbteTipo.FACTURA_C,
167
+ CbteTipo.NOTA_DEBITO_C,
168
+ CbteTipo.NOTA_CREDITO_C,
169
+ CbteTipo.RECIBO_C,
170
+ CbteTipo.FCE_FACTURA_C,
171
+ CbteTipo.FCE_NOTA_DEBITO_C,
172
+ CbteTipo.FCE_NOTA_CREDITO_C,
173
+ ]);
174
+ export function isTipoC(cbteTipo) {
175
+ return TIPOS_C.has(cbteTipo);
176
+ }
177
+ // ============================================================
142
178
  // Tipos de Tributo
143
179
  // ============================================================
144
180
  export var TributoTipo;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Error base para todos los errores del SDK de ARCA.
3
+ */
4
+ export declare class ArcaError extends Error {
5
+ constructor(message: string);
6
+ }
7
+ /**
8
+ * Error de autenticación WSAA.
9
+ * Se lanza cuando falla el login o la respuesta de WSAA es inválida.
10
+ */
11
+ export declare class ArcaAuthError extends ArcaError {
12
+ constructor(message: string);
13
+ }
14
+ /**
15
+ * Error de WSFE con códigos de error de AFIP.
16
+ */
17
+ export declare class ArcaWSFEError extends ArcaError {
18
+ readonly errors: {
19
+ code: number;
20
+ msg: string;
21
+ }[];
22
+ constructor(errors: {
23
+ code: number;
24
+ msg: string;
25
+ }[]);
26
+ }
27
+ /**
28
+ * Error a nivel SOAP/HTTP.
29
+ * Se lanza cuando el request HTTP falla o hay un SOAP Fault.
30
+ */
31
+ export declare class ArcaSoapError extends ArcaError {
32
+ readonly statusCode?: number;
33
+ constructor(message: string, statusCode?: number);
34
+ }
35
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;gBACtB,OAAO,EAAE,MAAM;CAI5B;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C,SAAgB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;gBAE5C,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE;CAMpD;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;gBAExB,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;CAKjD"}
package/dist/errors.js ADDED
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Error base para todos los errores del SDK de ARCA.
3
+ */
4
+ export class ArcaError extends Error {
5
+ constructor(message) {
6
+ super(message);
7
+ this.name = "ArcaError";
8
+ }
9
+ }
10
+ /**
11
+ * Error de autenticación WSAA.
12
+ * Se lanza cuando falla el login o la respuesta de WSAA es inválida.
13
+ */
14
+ export class ArcaAuthError extends ArcaError {
15
+ constructor(message) {
16
+ super(message);
17
+ this.name = "ArcaAuthError";
18
+ }
19
+ }
20
+ /**
21
+ * Error de WSFE con códigos de error de AFIP.
22
+ */
23
+ export class ArcaWSFEError extends ArcaError {
24
+ errors;
25
+ constructor(errors) {
26
+ const msg = errors.map((e) => `[${e.code}] ${e.msg}`).join("; ");
27
+ super(`WSFE Error: ${msg}`);
28
+ this.name = "ArcaWSFEError";
29
+ this.errors = errors;
30
+ }
31
+ }
32
+ /**
33
+ * Error a nivel SOAP/HTTP.
34
+ * Se lanza cuando el request HTTP falla o hay un SOAP Fault.
35
+ */
36
+ export class ArcaSoapError extends ArcaError {
37
+ statusCode;
38
+ constructor(message, statusCode) {
39
+ super(message);
40
+ this.name = "ArcaSoapError";
41
+ this.statusCode = statusCode;
42
+ }
43
+ }
44
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1B,MAAM,CAAkC;IAExD,YAAY,MAAuC;QACjD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1B,UAAU,CAAU;IAEpC,YAAY,OAAe,EAAE,UAAmB;QAC9C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF"}
@@ -0,0 +1,39 @@
1
+ import type { LineItem, FacturarOpts, Importes, FacturaResult, InvoiceDetail, AlicuotaIva, FECAESolicitarResult } from "./types.js";
2
+ /**
3
+ * Convierte un Date o string YYYYMMDD a string YYYYMMDD.
4
+ * Si recibe un Date, lo formatea en timezone Argentina.
5
+ */
6
+ export declare function toDateString(d: Date | string): string;
7
+ /**
8
+ * Calcula los importes de una factura a partir de line items.
9
+ *
10
+ * - Items con `iva` → gravados (ImpNeto + ImpIVA), agrupados por alícuota en el array Iva
11
+ * - Items con `exento: true` → exentos (ImpOpEx)
12
+ * - Items sin `iva` ni `exento` → no gravados (ImpTotConc)
13
+ * - Para comprobantes tipo C (monotributista): no discrimina IVA, todo va a ImpNeto
14
+ *
15
+ * @param items - Line items con importe neto
16
+ * @param opts - Opciones: tributos y si es tipo C
17
+ * @returns Importes calculados e array de alícuotas IVA
18
+ */
19
+ export declare function calcularTotales(items: LineItem[], opts?: {
20
+ tributos?: {
21
+ Importe: number;
22
+ }[];
23
+ tipoC?: boolean;
24
+ }): {
25
+ importes: Importes;
26
+ iva: AlicuotaIva[];
27
+ };
28
+ /**
29
+ * Construye un InvoiceDetail a partir de FacturarOpts y un número de comprobante.
30
+ */
31
+ export declare function buildInvoiceDetail(opts: FacturarOpts, cbteNum: number): {
32
+ detail: InvoiceDetail;
33
+ importes: Importes;
34
+ };
35
+ /**
36
+ * Parsea el resultado crudo de FECAESolicitar a un FacturaResult limpio.
37
+ */
38
+ export declare function parseFacturaResult(result: FECAESolicitarResult, importes: Importes): FacturaResult;
39
+ //# sourceMappingURL=facturacion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facturacion.d.ts","sourceRoot":"","sources":["../src/facturacion.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,aAAa,EACb,WAAW,EACX,oBAAoB,EAErB,MAAM,YAAY,CAAC;AAMpB;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAUrD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,QAAQ,EAAE,EACjB,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3D;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,WAAW,EAAE,CAAA;CAAE,CAwF5C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,MAAM,GACd;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAiD/C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,oBAAoB,EAC5B,QAAQ,EAAE,QAAQ,GACjB,aAAa,CA6Bf"}
@@ -0,0 +1,189 @@
1
+ import { IVA_RATES, Concepto, DocTipo, Moneda, isTipoC } from "./constants.js";
2
+ function round2(n) {
3
+ return Math.round(n * 100) / 100;
4
+ }
5
+ /**
6
+ * Convierte un Date o string YYYYMMDD a string YYYYMMDD.
7
+ * Si recibe un Date, lo formatea en timezone Argentina.
8
+ */
9
+ export function toDateString(d) {
10
+ if (typeof d === "string")
11
+ return d;
12
+ return d
13
+ .toLocaleDateString("en-CA", {
14
+ timeZone: "America/Argentina/Buenos_Aires",
15
+ year: "numeric",
16
+ month: "2-digit",
17
+ day: "2-digit",
18
+ })
19
+ .replace(/-/g, "");
20
+ }
21
+ /**
22
+ * Calcula los importes de una factura a partir de line items.
23
+ *
24
+ * - Items con `iva` → gravados (ImpNeto + ImpIVA), agrupados por alícuota en el array Iva
25
+ * - Items con `exento: true` → exentos (ImpOpEx)
26
+ * - Items sin `iva` ni `exento` → no gravados (ImpTotConc)
27
+ * - Para comprobantes tipo C (monotributista): no discrimina IVA, todo va a ImpNeto
28
+ *
29
+ * @param items - Line items con importe neto
30
+ * @param opts - Opciones: tributos y si es tipo C
31
+ * @returns Importes calculados e array de alícuotas IVA
32
+ */
33
+ export function calcularTotales(items, opts) {
34
+ const tipoC = opts?.tipoC ?? false;
35
+ // Para tipo C, no discriminar IVA: todo va a ImpNeto
36
+ if (tipoC) {
37
+ let impNeto = 0;
38
+ for (const item of items) {
39
+ impNeto = round2(impNeto + item.neto);
40
+ }
41
+ let impTrib = 0;
42
+ if (opts?.tributos) {
43
+ for (const t of opts.tributos) {
44
+ impTrib = round2(impTrib + t.Importe);
45
+ }
46
+ }
47
+ const impTotal = round2(impNeto + impTrib);
48
+ return {
49
+ importes: {
50
+ total: impTotal,
51
+ neto: impNeto,
52
+ iva: 0,
53
+ exento: 0,
54
+ noGravado: 0,
55
+ tributos: impTrib,
56
+ },
57
+ iva: [],
58
+ };
59
+ }
60
+ let impNeto = 0;
61
+ let impIVA = 0;
62
+ let impOpEx = 0;
63
+ let impTotConc = 0;
64
+ const ivaMap = new Map();
65
+ for (const item of items) {
66
+ if (item.exento) {
67
+ impOpEx = round2(impOpEx + item.neto);
68
+ }
69
+ else if (item.iva !== undefined) {
70
+ impNeto = round2(impNeto + item.neto);
71
+ const rate = IVA_RATES[item.iva];
72
+ if (rate === undefined) {
73
+ throw new Error(`Tipo de IVA desconocido: ${item.iva}`);
74
+ }
75
+ const ivaAmount = round2((item.neto * rate) / 100);
76
+ impIVA = round2(impIVA + ivaAmount);
77
+ const existing = ivaMap.get(item.iva);
78
+ if (existing) {
79
+ existing.baseImp = round2(existing.baseImp + item.neto);
80
+ existing.importe = round2(existing.importe + ivaAmount);
81
+ }
82
+ else {
83
+ ivaMap.set(item.iva, { baseImp: item.neto, importe: ivaAmount });
84
+ }
85
+ }
86
+ else {
87
+ // No gravado
88
+ impTotConc = round2(impTotConc + item.neto);
89
+ }
90
+ }
91
+ let impTrib = 0;
92
+ if (opts?.tributos) {
93
+ for (const t of opts.tributos) {
94
+ impTrib = round2(impTrib + t.Importe);
95
+ }
96
+ }
97
+ const impTotal = round2(impNeto + impIVA + impOpEx + impTotConc + impTrib);
98
+ const ivaArray = Array.from(ivaMap.entries()).map(([id, { baseImp, importe }]) => ({
99
+ Id: id,
100
+ BaseImp: baseImp,
101
+ Importe: importe,
102
+ }));
103
+ return {
104
+ importes: {
105
+ total: impTotal,
106
+ neto: impNeto,
107
+ iva: impIVA,
108
+ exento: impOpEx,
109
+ noGravado: impTotConc,
110
+ tributos: impTrib,
111
+ },
112
+ iva: ivaArray,
113
+ };
114
+ }
115
+ /**
116
+ * Construye un InvoiceDetail a partir de FacturarOpts y un número de comprobante.
117
+ */
118
+ export function buildInvoiceDetail(opts, cbteNum) {
119
+ const esServicio = opts.servicio !== undefined;
120
+ const concepto = opts.concepto ?? (esServicio ? Concepto.SERVICIOS : Concepto.PRODUCTOS);
121
+ const tipoC = isTipoC(opts.cbteTipo);
122
+ const { importes, iva: ivaArray } = calcularTotales(opts.items, {
123
+ tributos: opts.tributos,
124
+ tipoC,
125
+ });
126
+ const fecha = opts.fecha ? toDateString(opts.fecha) : toDateString(new Date());
127
+ const detail = {
128
+ Concepto: concepto,
129
+ DocTipo: opts.docTipo ?? DocTipo.CONSUMIDOR_FINAL,
130
+ DocNro: opts.docNro ?? 0,
131
+ CbteDesde: cbteNum,
132
+ CbteHasta: cbteNum,
133
+ CbteFch: fecha,
134
+ ImpTotal: importes.total,
135
+ ImpTotConc: importes.noGravado,
136
+ ImpNeto: importes.neto,
137
+ ImpOpEx: importes.exento,
138
+ ImpTrib: importes.tributos,
139
+ ImpIVA: importes.iva,
140
+ MonId: opts.moneda ?? Moneda.PESOS,
141
+ MonCotiz: opts.cotizacion ?? 1,
142
+ };
143
+ if (ivaArray.length > 0) {
144
+ detail.Iva = ivaArray;
145
+ }
146
+ if (opts.servicio) {
147
+ detail.FchServDesde = toDateString(opts.servicio.desde);
148
+ detail.FchServHasta = toDateString(opts.servicio.hasta);
149
+ detail.FchVtoPago = toDateString(opts.servicio.vtoPago);
150
+ }
151
+ if (opts.tributos && opts.tributos.length > 0) {
152
+ detail.Tributos = opts.tributos;
153
+ }
154
+ if (opts.opcionales && opts.opcionales.length > 0) {
155
+ detail.Opcionales = opts.opcionales;
156
+ }
157
+ return { detail, importes };
158
+ }
159
+ /**
160
+ * Parsea el resultado crudo de FECAESolicitar a un FacturaResult limpio.
161
+ */
162
+ export function parseFacturaResult(result, importes) {
163
+ const detArr = Array.isArray(result.FeDetResp.FECAEDetResponse)
164
+ ? result.FeDetResp.FECAEDetResponse
165
+ : [result.FeDetResp.FECAEDetResponse];
166
+ const det = detArr[0];
167
+ const aprobada = det.Resultado === "A";
168
+ const observaciones = [];
169
+ if (det.Observaciones) {
170
+ const obs = Array.isArray(det.Observaciones.Obs)
171
+ ? det.Observaciones.Obs
172
+ : [det.Observaciones.Obs];
173
+ for (const o of obs) {
174
+ observaciones.push({ code: o.Code, msg: o.Msg });
175
+ }
176
+ }
177
+ return {
178
+ aprobada,
179
+ cae: aprobada ? det.CAE : undefined,
180
+ caeVencimiento: aprobada ? det.CAEFchVto : undefined,
181
+ cbteNro: det.CbteDesde,
182
+ ptoVta: result.FeCabResp.PtoVta,
183
+ cbteTipo: result.FeCabResp.CbteTipo,
184
+ importes,
185
+ observaciones,
186
+ raw: result,
187
+ };
188
+ }
189
+ //# sourceMappingURL=facturacion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facturacion.js","sourceRoot":"","sources":["../src/facturacion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAY/E,SAAS,MAAM,CAAC,CAAS;IACvB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,CAAgB;IAC3C,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IACpC,OAAO,CAAC;SACL,kBAAkB,CAAC,OAAO,EAAE;QAC3B,QAAQ,EAAE,gCAAgC;QAC1C,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,SAAS;KACf,CAAC;SACD,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAiB,EACjB,IAA4D;IAE5D,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC;IAEnC,qDAAqD;IACrD,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC;YACnB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC9B,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC;QAC3C,OAAO;YACL,QAAQ,EAAE;gBACR,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,OAAO;gBACb,GAAG,EAAE,CAAC;gBACN,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,OAAO;aAClB;YACD,GAAG,EAAE,EAAE;SACR,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAgD,CAAC;IAEvE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,GAA6B,CAAC,CAAC;YAC3D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAC1D,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;YACnD,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;YAEpC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxD,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,aAAa;YACb,UAAU,GAAG,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC,CAAC;IAE3E,MAAM,QAAQ,GAAkB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAC9D,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/B,EAAE,EAAE,EAAE;QACN,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,OAAO;KACjB,CAAC,CACH,CAAC;IAEF,OAAO;QACL,QAAQ,EAAE;YACR,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,OAAO;YACb,GAAG,EAAE,MAAM;YACX,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,UAAU;YACrB,QAAQ,EAAE,OAAO;SAClB;QACD,GAAG,EAAE,QAAQ;KACd,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAkB,EAClB,OAAe;IAEf,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC;IAC/C,MAAM,QAAQ,GACZ,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAErC,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE;QAC9D,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK;KACN,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAE/E,MAAM,MAAM,GAAkB;QAC5B,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,gBAAgB;QACjD,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC;QACxB,SAAS,EAAE,OAAO;QAClB,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,QAAQ,CAAC,KAAK;QACxB,UAAU,EAAE,QAAQ,CAAC,SAAS;QAC9B,OAAO,EAAE,QAAQ,CAAC,IAAI;QACtB,OAAO,EAAE,QAAQ,CAAC,MAAM;QACxB,OAAO,EAAE,QAAQ,CAAC,QAAQ;QAC1B,MAAM,EAAE,QAAQ,CAAC,GAAG;QACpB,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK;QAClC,QAAQ,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC;KAC/B,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC;IACxB,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,CAAC,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACtC,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAA4B,EAC5B,QAAkB;IAElB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAC7D,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB;QACnC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAExC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC;IAEvC,MAAM,aAAa,GAAoC,EAAE,CAAC;IAC1D,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QACtB,MAAM,GAAG,GAAc,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC;YACzD,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG;YACvB,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;YACpB,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ;QACR,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;QACnC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACpD,OAAO,EAAE,GAAG,CAAC,SAAS;QACtB,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM;QAC/B,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ;QACnC,QAAQ;QACR,aAAa;QACb,GAAG,EAAE,MAAM;KACZ,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export { Arca } from "./arca.js";
2
- export type { ArcaConfig, AccessTicket, WsfeAuth, AlicuotaIva, Tributo, ComprobanteAsociado, Opcional, InvoiceDetail, InvoiceRequest, FeCabResp, FECAEDetResponse, FECAESolicitarResult, FECompUltimoAutorizadoResult, FECompConsultarResult, ServerStatus, ParamItem, MonedaItem, PtoVentaItem, CotizacionResult, WsError, } from "./types.js";
3
- export { ENDPOINTS, WSFE_NAMESPACE, CbteTipo, Concepto, DocTipo, IvaTipo, IVA_RATES, Moneda, TributoTipo, } from "./constants.js";
2
+ export { ArcaError, ArcaAuthError, ArcaWSFEError, ArcaSoapError, } from "./errors.js";
3
+ export type { ArcaConfig, AccessTicket, WsfeAuth, AlicuotaIva, Tributo, ComprobanteAsociado, Opcional, InvoiceDetail, InvoiceRequest, FeCabResp, FECAEDetResponse, FECAESolicitarResult, FECompUltimoAutorizadoResult, FECompConsultarResult, ServerStatus, ParamItem, MonedaItem, PtoVentaItem, CotizacionResult, WsError, LineItem, FacturarOpts, NotaCreditoOpts, NotaDebitoOpts, ComprobanteRef, FacturaResult, Importes, } from "./types.js";
4
+ export { ENDPOINTS, WSFE_NAMESPACE, CbteTipo, Concepto, DocTipo, IvaTipo, IVA_RATES, Moneda, TributoTipo, NOTA_CREDITO_MAP, NOTA_DEBITO_MAP, } from "./constants.js";
4
5
  export { WsaaClient } from "./wsaa.js";
5
6
  export { WsfeClient } from "./wsfe.js";
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,YAAY,EACV,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,OAAO,EACP,mBAAmB,EACnB,QAAQ,EACR,aAAa,EACb,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACrB,YAAY,EACZ,SAAS,EACT,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,OAAO,GACR,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,SAAS,EACT,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,OAAO,EACP,SAAS,EACT,MAAM,EACN,WAAW,GACZ,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EACL,SAAS,EACT,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,OAAO,EACP,mBAAmB,EACnB,QAAQ,EACR,aAAa,EACb,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACrB,YAAY,EACZ,SAAS,EACT,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,OAAO,EAEP,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACb,QAAQ,GACT,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,SAAS,EACT,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,OAAO,EACP,SAAS,EACT,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}