@ramiidv/arca-sdk 0.2.0 → 0.3.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.d.ts +2 -2
- package/dist/arca.d.ts.map +1 -1
- package/dist/arca.js +1 -1
- package/dist/arca.js.map +1 -1
- package/dist/facturacion.d.ts.map +1 -1
- package/dist/facturacion.js +3 -0
- package/dist/facturacion.js.map +1 -1
- package/dist/wsfe.d.ts +10 -27
- package/dist/wsfe.d.ts.map +1 -1
- package/dist/wsfe.js +24 -64
- package/dist/wsfe.js.map +1 -1
- package/llm.txt +352 -0
- package/package.json +8 -7
package/dist/arca.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ArcaConfig, InvoiceRequest, InvoiceDetail, FECAESolicitarResult, FECAEDetResponse, FECompConsultarResult, ServerStatus, ParamItem, MonedaItem, PtoVentaItem, CotizacionResult, FacturarOpts, NotaCreditoOpts, NotaDebitoOpts, FacturaResult, LineItem
|
|
1
|
+
import type { ArcaConfig, InvoiceRequest, InvoiceDetail, FECAESolicitarResult, FECAEDetResponse, FECompConsultarResult, ServerStatus, ParamItem, MonedaItem, PtoVentaItem, CotizacionResult, FacturarOpts, NotaCreditoOpts, NotaDebitoOpts, FacturaResult, LineItem } from "./types.js";
|
|
2
2
|
export declare class Arca {
|
|
3
3
|
private wsaa;
|
|
4
4
|
private wsfe;
|
|
@@ -176,7 +176,7 @@ export declare class Arca {
|
|
|
176
176
|
}[];
|
|
177
177
|
tipoC?: boolean;
|
|
178
178
|
}): {
|
|
179
|
-
importes: Importes;
|
|
179
|
+
importes: import("./types.js").Importes;
|
|
180
180
|
iva: import("./types.js").AlicuotaIva[];
|
|
181
181
|
};
|
|
182
182
|
/**
|
package/dist/arca.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arca.d.ts","sourceRoot":"","sources":["../src/arca.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,UAAU,EAEV,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,SAAS,EACT,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,EACb,QAAQ,
|
|
1
|
+
{"version":3,"file":"arca.d.ts","sourceRoot":"","sources":["../src/arca.ts"],"names":[],"mappings":"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"}
|
package/dist/arca.js
CHANGED
|
@@ -2,7 +2,7 @@ import { WsaaClient } from "./wsaa.js";
|
|
|
2
2
|
import { WsfeClient } from "./wsfe.js";
|
|
3
3
|
import { buildInvoiceDetail, parseFacturaResult, toDateString, calcularTotales, } from "./facturacion.js";
|
|
4
4
|
import { ArcaError } from "./errors.js";
|
|
5
|
-
import { NOTA_CREDITO_MAP, NOTA_DEBITO_MAP
|
|
5
|
+
import { NOTA_CREDITO_MAP, NOTA_DEBITO_MAP } from "./constants.js";
|
|
6
6
|
export class Arca {
|
|
7
7
|
wsaa;
|
|
8
8
|
wsfe;
|
package/dist/arca.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"arca.js","sourceRoot":"","sources":["../src/arca.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +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,
|
|
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,CA8F5C;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"}
|
package/dist/facturacion.js
CHANGED
|
@@ -63,6 +63,9 @@ export function calcularTotales(items, opts) {
|
|
|
63
63
|
let impTotConc = 0;
|
|
64
64
|
const ivaMap = new Map();
|
|
65
65
|
for (const item of items) {
|
|
66
|
+
if (item.exento && item.iva !== undefined) {
|
|
67
|
+
throw new Error("LineItem no puede tener 'iva' y 'exento' a la vez. Usá uno u otro.");
|
|
68
|
+
}
|
|
66
69
|
if (item.exento) {
|
|
67
70
|
impOpEx = round2(impOpEx + item.neto);
|
|
68
71
|
}
|
package/dist/facturacion.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facturacion.js","sourceRoot":"","sources":["../src/facturacion.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"facturacion.js","sourceRoot":"","sources":["../src/facturacion.ts"],"names":[],"mappings":"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"}
|
package/dist/wsfe.d.ts
CHANGED
|
@@ -22,42 +22,25 @@ export declare class WsfeClient {
|
|
|
22
22
|
/**
|
|
23
23
|
* Obtiene los tipos de comprobante disponibles.
|
|
24
24
|
*/
|
|
25
|
+
private getParam;
|
|
25
26
|
getTiposComprobante(auth: WsfeAuth): Promise<ParamItem[]>;
|
|
26
|
-
/**
|
|
27
|
-
* Obtiene los tipos de concepto disponibles.
|
|
28
|
-
*/
|
|
27
|
+
/** Obtiene los tipos de concepto disponibles. */
|
|
29
28
|
getTiposConcepto(auth: WsfeAuth): Promise<ParamItem[]>;
|
|
30
|
-
/**
|
|
31
|
-
* Obtiene los tipos de documento disponibles.
|
|
32
|
-
*/
|
|
29
|
+
/** Obtiene los tipos de documento disponibles. */
|
|
33
30
|
getTiposDocumento(auth: WsfeAuth): Promise<ParamItem[]>;
|
|
34
|
-
/**
|
|
35
|
-
* Obtiene los tipos de IVA disponibles.
|
|
36
|
-
*/
|
|
31
|
+
/** Obtiene los tipos de IVA disponibles. */
|
|
37
32
|
getTiposIva(auth: WsfeAuth): Promise<ParamItem[]>;
|
|
38
|
-
/**
|
|
39
|
-
* Obtiene las monedas disponibles.
|
|
40
|
-
*/
|
|
33
|
+
/** Obtiene las monedas disponibles. */
|
|
41
34
|
getMonedas(auth: WsfeAuth): Promise<MonedaItem[]>;
|
|
42
|
-
/**
|
|
43
|
-
* Obtiene los tipos de tributo disponibles.
|
|
44
|
-
*/
|
|
35
|
+
/** Obtiene los tipos de tributo disponibles. */
|
|
45
36
|
getTiposTributo(auth: WsfeAuth): Promise<ParamItem[]>;
|
|
46
|
-
/**
|
|
47
|
-
* Obtiene los tipos de opcionales disponibles.
|
|
48
|
-
*/
|
|
37
|
+
/** Obtiene los tipos de opcionales disponibles. */
|
|
49
38
|
getTiposOpcional(auth: WsfeAuth): Promise<ParamItem[]>;
|
|
50
|
-
/**
|
|
51
|
-
* Obtiene los puntos de venta habilitados.
|
|
52
|
-
*/
|
|
39
|
+
/** Obtiene los puntos de venta habilitados. */
|
|
53
40
|
getPuntosVenta(auth: WsfeAuth): Promise<PtoVentaItem[]>;
|
|
54
|
-
/**
|
|
55
|
-
* Obtiene la cotización de una moneda.
|
|
56
|
-
*/
|
|
41
|
+
/** Obtiene la cotización de una moneda. */
|
|
57
42
|
getCotizacion(auth: WsfeAuth, monedaId: string): Promise<CotizacionResult>;
|
|
58
|
-
/**
|
|
59
|
-
* Obtiene la cantidad máxima de registros por request de FECAESolicitar.
|
|
60
|
-
*/
|
|
43
|
+
/** Obtiene la cantidad máxima de registros por request de FECAESolicitar. */
|
|
61
44
|
getCantMaxRegistros(auth: WsfeAuth): Promise<number>;
|
|
62
45
|
private buildDetRequest;
|
|
63
46
|
}
|
package/dist/wsfe.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wsfe.d.ts","sourceRoot":"","sources":["../src/wsfe.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EAEd,oBAAoB,EAEpB,qBAAqB,EACrB,YAAY,EACZ,SAAS,EACT,UAAU,EACV,YAAY,EACZ,gBAAgB,EAEjB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"wsfe.d.ts","sourceRoot":"","sources":["../src/wsfe.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EAEd,oBAAoB,EAEpB,qBAAqB,EACrB,YAAY,EACZ,SAAS,EACT,UAAU,EACV,YAAY,EACZ,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAmBpB,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;gBAEd,UAAU,EAAE,OAAO,EAAE,SAAS,GAAE,MAAe;IAW3D;;OAEG;IACG,YAAY,CAChB,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,oBAAoB,CAAC;IA8BhC;;OAEG;IACG,iBAAiB,CACrB,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC;IAgBlB;;OAEG;IACG,oBAAoB,CACxB,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,qBAAqB,CAAC;IAkBjC;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;IAK3C;;OAEG;YACW,QAAQ;IAehB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAI/D,iDAAiD;IAC3C,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAI5D,kDAAkD;IAC5C,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAI7D,4CAA4C;IACtC,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAIvD,uCAAuC;IACjC,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIvD,gDAAgD;IAC1C,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAI3D,mDAAmD;IAC7C,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAI5D,+CAA+C;IACzC,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAI7D,2CAA2C;IACrC,aAAa,CACjB,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,gBAAgB,CAAC;IAW5B,6EAA6E;IACvE,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAe1D,OAAO,CAAC,eAAe;CAsExB"}
|
package/dist/wsfe.js
CHANGED
|
@@ -86,91 +86,51 @@ export class WsfeClient {
|
|
|
86
86
|
/**
|
|
87
87
|
* Obtiene los tipos de comprobante disponibles.
|
|
88
88
|
*/
|
|
89
|
-
async
|
|
90
|
-
const result = await wsfeSoapCall(this.endpoint,
|
|
89
|
+
async getParam(auth, method, itemKey) {
|
|
90
|
+
const result = (await wsfeSoapCall(this.endpoint, method, { Auth: auth }, this.timeoutMs));
|
|
91
91
|
checkErrors(result);
|
|
92
|
-
|
|
93
|
-
return toArray(items);
|
|
92
|
+
return toArray(result.ResultGet?.[itemKey]);
|
|
94
93
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
94
|
+
async getTiposComprobante(auth) {
|
|
95
|
+
return this.getParam(auth, "FEParamGetTiposCbte", "CbteTipo");
|
|
96
|
+
}
|
|
97
|
+
/** Obtiene los tipos de concepto disponibles. */
|
|
98
98
|
async getTiposConcepto(auth) {
|
|
99
|
-
|
|
100
|
-
checkErrors(result);
|
|
101
|
-
const items = result.ResultGet?.ConceptoTipo;
|
|
102
|
-
return toArray(items);
|
|
99
|
+
return this.getParam(auth, "FEParamGetTiposConcepto", "ConceptoTipo");
|
|
103
100
|
}
|
|
104
|
-
/**
|
|
105
|
-
* Obtiene los tipos de documento disponibles.
|
|
106
|
-
*/
|
|
101
|
+
/** Obtiene los tipos de documento disponibles. */
|
|
107
102
|
async getTiposDocumento(auth) {
|
|
108
|
-
|
|
109
|
-
checkErrors(result);
|
|
110
|
-
const items = result.ResultGet?.DocTipo;
|
|
111
|
-
return toArray(items);
|
|
103
|
+
return this.getParam(auth, "FEParamGetTiposDoc", "DocTipo");
|
|
112
104
|
}
|
|
113
|
-
/**
|
|
114
|
-
* Obtiene los tipos de IVA disponibles.
|
|
115
|
-
*/
|
|
105
|
+
/** Obtiene los tipos de IVA disponibles. */
|
|
116
106
|
async getTiposIva(auth) {
|
|
117
|
-
|
|
118
|
-
checkErrors(result);
|
|
119
|
-
const items = result.ResultGet?.IvaTipo;
|
|
120
|
-
return toArray(items);
|
|
107
|
+
return this.getParam(auth, "FEParamGetTiposIva", "IvaTipo");
|
|
121
108
|
}
|
|
122
|
-
/**
|
|
123
|
-
* Obtiene las monedas disponibles.
|
|
124
|
-
*/
|
|
109
|
+
/** Obtiene las monedas disponibles. */
|
|
125
110
|
async getMonedas(auth) {
|
|
126
|
-
|
|
127
|
-
checkErrors(result);
|
|
128
|
-
const items = result.ResultGet?.Moneda;
|
|
129
|
-
return toArray(items);
|
|
111
|
+
return this.getParam(auth, "FEParamGetTiposMonedas", "Moneda");
|
|
130
112
|
}
|
|
131
|
-
/**
|
|
132
|
-
* Obtiene los tipos de tributo disponibles.
|
|
133
|
-
*/
|
|
113
|
+
/** Obtiene los tipos de tributo disponibles. */
|
|
134
114
|
async getTiposTributo(auth) {
|
|
135
|
-
|
|
136
|
-
checkErrors(result);
|
|
137
|
-
const items = result.ResultGet?.TributoTipo;
|
|
138
|
-
return toArray(items);
|
|
115
|
+
return this.getParam(auth, "FEParamGetTiposTributos", "TributoTipo");
|
|
139
116
|
}
|
|
140
|
-
/**
|
|
141
|
-
* Obtiene los tipos de opcionales disponibles.
|
|
142
|
-
*/
|
|
117
|
+
/** Obtiene los tipos de opcionales disponibles. */
|
|
143
118
|
async getTiposOpcional(auth) {
|
|
144
|
-
|
|
145
|
-
checkErrors(result);
|
|
146
|
-
const items = result.ResultGet?.OpcionalTipo;
|
|
147
|
-
return toArray(items);
|
|
119
|
+
return this.getParam(auth, "FEParamGetTiposOpcional", "OpcionalTipo");
|
|
148
120
|
}
|
|
149
|
-
/**
|
|
150
|
-
* Obtiene los puntos de venta habilitados.
|
|
151
|
-
*/
|
|
121
|
+
/** Obtiene los puntos de venta habilitados. */
|
|
152
122
|
async getPuntosVenta(auth) {
|
|
153
|
-
|
|
154
|
-
checkErrors(result);
|
|
155
|
-
const items = result.ResultGet?.PtoVenta;
|
|
156
|
-
return toArray(items);
|
|
123
|
+
return this.getParam(auth, "FEParamGetPtosVenta", "PtoVenta");
|
|
157
124
|
}
|
|
158
|
-
/**
|
|
159
|
-
* Obtiene la cotización de una moneda.
|
|
160
|
-
*/
|
|
125
|
+
/** Obtiene la cotización de una moneda. */
|
|
161
126
|
async getCotizacion(auth, monedaId) {
|
|
162
|
-
const result = (await wsfeSoapCall(this.endpoint, "FEParamGetCotizacion", {
|
|
163
|
-
Auth: auth,
|
|
164
|
-
MonId: monedaId,
|
|
165
|
-
}, this.timeoutMs));
|
|
127
|
+
const result = (await wsfeSoapCall(this.endpoint, "FEParamGetCotizacion", { Auth: auth, MonId: monedaId }, this.timeoutMs));
|
|
166
128
|
checkErrors(result);
|
|
167
129
|
return result;
|
|
168
130
|
}
|
|
169
|
-
/**
|
|
170
|
-
* Obtiene la cantidad máxima de registros por request de FECAESolicitar.
|
|
171
|
-
*/
|
|
131
|
+
/** Obtiene la cantidad máxima de registros por request de FECAESolicitar. */
|
|
172
132
|
async getCantMaxRegistros(auth) {
|
|
173
|
-
const result = await wsfeSoapCall(this.endpoint, "FECompTotXRequest", { Auth: auth }, this.timeoutMs);
|
|
133
|
+
const result = (await wsfeSoapCall(this.endpoint, "FECompTotXRequest", { Auth: auth }, this.timeoutMs));
|
|
174
134
|
checkErrors(result);
|
|
175
135
|
return result.RegXReq ?? 0;
|
|
176
136
|
}
|
package/dist/wsfe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wsfe.js","sourceRoot":"","sources":["../src/wsfe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAgB5C,SAAS,OAAO,CAAI,GAAwB;IAC1C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACjD,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC;
|
|
1
|
+
{"version":3,"file":"wsfe.js","sourceRoot":"","sources":["../src/wsfe.ts"],"names":[],"mappings":"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"}
|
package/llm.txt
ADDED
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
# @ramiidv/arca-sdk
|
|
2
|
+
|
|
3
|
+
> TypeScript SDK for ARCA (formerly AFIP) electronic invoicing in Argentina.
|
|
4
|
+
> Wraps WSFEv1 and WSAA SOAP web services.
|
|
5
|
+
|
|
6
|
+
## What this SDK does
|
|
7
|
+
|
|
8
|
+
- Authenticates against ARCA's WSAA using X.509 certificates (PKCS#7/CMS signing)
|
|
9
|
+
- Creates electronic invoices (facturas), credit notes, and debit notes via WSFEv1
|
|
10
|
+
- Handles all comprobante types: A, B, C, E, M, and MiPyME FCE
|
|
11
|
+
- Auto-calculates IVA, totals, and comprobante numbers
|
|
12
|
+
- Queries ARCA parameters (document types, IVA rates, currencies, exchange rates, etc.)
|
|
13
|
+
|
|
14
|
+
## Install
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install @ramiidv/arca-sdk
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Requires Node.js >= 18. Uses native `fetch` (no axios/node-fetch dependency).
|
|
21
|
+
|
|
22
|
+
## Quick start
|
|
23
|
+
|
|
24
|
+
```typescript
|
|
25
|
+
import fs from "fs";
|
|
26
|
+
import { Arca, CbteTipo, IvaTipo, DocTipo, Moneda } from "@ramiidv/arca-sdk";
|
|
27
|
+
|
|
28
|
+
const arca = new Arca({
|
|
29
|
+
cuit: 20123456789,
|
|
30
|
+
cert: fs.readFileSync("./cert.crt", "utf-8"),
|
|
31
|
+
key: fs.readFileSync("./key.key", "utf-8"),
|
|
32
|
+
production: false,
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
const result = await arca.facturar({
|
|
36
|
+
ptoVta: 1,
|
|
37
|
+
cbteTipo: CbteTipo.FACTURA_B,
|
|
38
|
+
items: [{ neto: 1000, iva: IvaTipo.IVA_21 }],
|
|
39
|
+
});
|
|
40
|
+
// result: { aprobada: true, cae: "...", cbteNro: 42, importes: { total: 1210, neto: 1000, iva: 210, ... } }
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Architecture
|
|
44
|
+
|
|
45
|
+
The SDK has two API levels:
|
|
46
|
+
|
|
47
|
+
1. **Simplified API** (`facturar`, `notaCredito`, `notaDebito`) — auto-calculates IVA, totals, comprobante number, dates. Returns a clean `FacturaResult`.
|
|
48
|
+
2. **Raw API** (`crearFactura`, `crearFacturaAuto`) — maps 1:1 to AFIP's WSFEv1 SOAP methods. Returns raw AFIP XML responses parsed to JS objects.
|
|
49
|
+
|
|
50
|
+
Internally:
|
|
51
|
+
- `Arca` (main class) — orchestrator, holds config, exposes all methods
|
|
52
|
+
- `WsaaClient` — handles WSAA authentication, token caching with dedup and expiry margin
|
|
53
|
+
- `WsfeClient` — wraps all WSFEv1 SOAP calls
|
|
54
|
+
- `facturacion.ts` — pure functions for IVA/total calculation and invoice building
|
|
55
|
+
- `soap-client.ts` — generic SOAP/XML utilities (fetch with timeout, XML parsing via fast-xml-parser)
|
|
56
|
+
- `errors.ts` — `ArcaAuthError`, `ArcaWSFEError` (with error codes), `ArcaSoapError` (with HTTP status)
|
|
57
|
+
|
|
58
|
+
## Configuration
|
|
59
|
+
|
|
60
|
+
```typescript
|
|
61
|
+
new Arca({
|
|
62
|
+
cuit: number, // CUIT without hyphens
|
|
63
|
+
cert: string, // X.509 certificate PEM content
|
|
64
|
+
key: string, // Private key PEM content
|
|
65
|
+
production?: boolean, // Default: false (uses homologación/testing endpoints)
|
|
66
|
+
tokenTTLMinutes?: number, // Default: 720 (12 hours)
|
|
67
|
+
requestTimeoutMs?: number, // Default: 30000 (30 seconds). Uses AbortController.
|
|
68
|
+
})
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Simplified API — facturar()
|
|
72
|
+
|
|
73
|
+
Automatically: gets next comprobante number, calculates all totals from line items, formats dates in Argentina timezone, defaults to Consumidor Final + Pesos + Productos.
|
|
74
|
+
|
|
75
|
+
```typescript
|
|
76
|
+
interface FacturarOpts {
|
|
77
|
+
ptoVta: number; // Punto de venta
|
|
78
|
+
cbteTipo: number; // CbteTipo enum
|
|
79
|
+
items: LineItem[]; // Line items (see below)
|
|
80
|
+
concepto?: number; // Default: PRODUCTOS. Auto-detects SERVICIOS if `servicio` provided
|
|
81
|
+
docTipo?: number; // Default: DocTipo.CONSUMIDOR_FINAL (99)
|
|
82
|
+
docNro?: number; // Default: 0
|
|
83
|
+
fecha?: Date | string; // Default: today (Argentina timezone). String = "YYYYMMDD"
|
|
84
|
+
servicio?: { desde, hasta, vtoPago }; // Required for services. Accepts Date or "YYYYMMDD"
|
|
85
|
+
moneda?: string; // Default: "PES"
|
|
86
|
+
cotizacion?: number; // Default: 1
|
|
87
|
+
tributos?: Tributo[];
|
|
88
|
+
opcionales?: Opcional[]; // E.g., CBU for FCE: [{ Id: "2101", Valor: "..." }]
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
interface LineItem {
|
|
92
|
+
neto: number; // Net amount (without IVA)
|
|
93
|
+
iva?: number; // IvaTipo enum. If set, item is "gravado" and IVA is calculated
|
|
94
|
+
exento?: boolean; // If true, amount goes to ImpOpEx (exempt)
|
|
95
|
+
// If neither iva nor exento: amount goes to ImpTotConc (no gravado)
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
**IVA calculation rules:**
|
|
100
|
+
- Items with `iva` set → added to ImpNeto. IVA calculated using IVA_RATES and added to ImpIVA. Grouped by aliquot in the Iva array.
|
|
101
|
+
- Items with `exento: true` → added to ImpOpEx.
|
|
102
|
+
- Items with neither → added to ImpTotConc (no gravado).
|
|
103
|
+
- ImpTotal = ImpNeto + ImpIVA + ImpOpEx + ImpTotConc + ImpTrib.
|
|
104
|
+
- All amounts rounded to 2 decimal places.
|
|
105
|
+
- For CbteTipo C (monotributista): IVA is NOT discriminated. All items go to ImpNeto, ImpIVA = 0.
|
|
106
|
+
|
|
107
|
+
**Return type:**
|
|
108
|
+
|
|
109
|
+
```typescript
|
|
110
|
+
interface FacturaResult {
|
|
111
|
+
aprobada: boolean;
|
|
112
|
+
cae?: string;
|
|
113
|
+
caeVencimiento?: string; // "YYYYMMDD"
|
|
114
|
+
cbteNro: number;
|
|
115
|
+
ptoVta: number;
|
|
116
|
+
cbteTipo: number;
|
|
117
|
+
importes: {
|
|
118
|
+
total: number;
|
|
119
|
+
neto: number;
|
|
120
|
+
iva: number;
|
|
121
|
+
exento: number;
|
|
122
|
+
noGravado: number;
|
|
123
|
+
tributos: number;
|
|
124
|
+
};
|
|
125
|
+
observaciones: { code: number; msg: string }[];
|
|
126
|
+
raw: FECAESolicitarResult; // Full AFIP response
|
|
127
|
+
}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Simplified API — notaCredito() / notaDebito()
|
|
131
|
+
|
|
132
|
+
Same as `facturar` but with `comprobanteOriginal` instead of `cbteTipo`. The NC/ND type is inferred automatically (FACTURA_B → NOTA_CREDITO_B, etc.).
|
|
133
|
+
|
|
134
|
+
```typescript
|
|
135
|
+
await arca.notaCredito({
|
|
136
|
+
ptoVta: 1,
|
|
137
|
+
comprobanteOriginal: { tipo: CbteTipo.FACTURA_B, ptoVta: 1, nro: 150 },
|
|
138
|
+
items: [{ neto: 100, iva: IvaTipo.IVA_21 }],
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
await arca.notaDebito({
|
|
142
|
+
ptoVta: 1,
|
|
143
|
+
comprobanteOriginal: { tipo: CbteTipo.FACTURA_A, ptoVta: 1, nro: 200, fecha: "20260301" },
|
|
144
|
+
docTipo: DocTipo.CUIT,
|
|
145
|
+
docNro: 30712345678,
|
|
146
|
+
items: [{ neto: 500, iva: IvaTipo.IVA_21 }],
|
|
147
|
+
});
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
**Supported CbteTipo mappings:**
|
|
151
|
+
- FACTURA_A (1) → NC_A (3), ND_A (2)
|
|
152
|
+
- FACTURA_B (6) → NC_B (8), ND_B (7)
|
|
153
|
+
- FACTURA_C (11) → NC_C (13), ND_C (12)
|
|
154
|
+
- FACTURA_E (19) → NC_E (21), ND_E (20)
|
|
155
|
+
- FACTURA_M (51) → NC_M (53), ND_M (52)
|
|
156
|
+
- FCE_FACTURA_A (201) → FCE_NC_A (203), FCE_ND_A (202)
|
|
157
|
+
- FCE_FACTURA_B (206) → FCE_NC_B (208), FCE_ND_B (207)
|
|
158
|
+
- FCE_FACTURA_C (211) → FCE_NC_C (213), FCE_ND_C (212)
|
|
159
|
+
|
|
160
|
+
## Static utilities
|
|
161
|
+
|
|
162
|
+
```typescript
|
|
163
|
+
// Preview totals without submitting to ARCA
|
|
164
|
+
const { importes, iva } = Arca.calcularTotales(
|
|
165
|
+
[{ neto: 1000, iva: IvaTipo.IVA_21 }],
|
|
166
|
+
{ tributos: [...], tipoC: false }
|
|
167
|
+
);
|
|
168
|
+
|
|
169
|
+
// Format date to YYYYMMDD in Argentina timezone
|
|
170
|
+
Arca.formatDate(new Date()); // "20260328"
|
|
171
|
+
Arca.formatDate("20260328"); // passthrough
|
|
172
|
+
|
|
173
|
+
// Extract CAE from raw result (for raw API users)
|
|
174
|
+
const { approved, cae, caeFchVto, details } = Arca.extractCAE(rawResult);
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
## Raw API (advanced)
|
|
178
|
+
|
|
179
|
+
Maps directly to WSFEv1 SOAP methods. No auto-calculation. User must provide all fields.
|
|
180
|
+
|
|
181
|
+
```typescript
|
|
182
|
+
// Get next number manually
|
|
183
|
+
const nextNum = await arca.siguienteComprobante(1, CbteTipo.FACTURA_B);
|
|
184
|
+
|
|
185
|
+
// Create invoice with full control
|
|
186
|
+
const rawResult = await arca.crearFactura({
|
|
187
|
+
PtoVta: 1,
|
|
188
|
+
CbteTipo: CbteTipo.FACTURA_B,
|
|
189
|
+
invoices: [{
|
|
190
|
+
Concepto: 1, DocTipo: 99, DocNro: 0,
|
|
191
|
+
CbteDesde: nextNum, CbteHasta: nextNum,
|
|
192
|
+
CbteFch: "20260328",
|
|
193
|
+
ImpTotal: 121, ImpTotConc: 0, ImpNeto: 100,
|
|
194
|
+
ImpOpEx: 0, ImpTrib: 0, ImpIVA: 21,
|
|
195
|
+
MonId: "PES", MonCotiz: 1,
|
|
196
|
+
Iva: [{ Id: 5, BaseImp: 100, Importe: 21 }],
|
|
197
|
+
}],
|
|
198
|
+
});
|
|
199
|
+
|
|
200
|
+
// Or with auto-numbering (still no auto-calc)
|
|
201
|
+
const rawResult2 = await arca.crearFacturaAuto(1, CbteTipo.FACTURA_B, { ...invoiceDetail });
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
## Query methods
|
|
205
|
+
|
|
206
|
+
```typescript
|
|
207
|
+
await arca.serverStatus(); // { AppServer, DbServer, AuthServer }
|
|
208
|
+
await arca.ultimoComprobante(ptoVta, cbteTipo); // number
|
|
209
|
+
await arca.consultarComprobante(cbteTipo, ptoVta, cbteNro);
|
|
210
|
+
await arca.getPuntosVenta();
|
|
211
|
+
await arca.getCotizacion(Moneda.DOLARES); // { MonId, MonCotiz, FchCotiz }
|
|
212
|
+
await arca.getTiposComprobante();
|
|
213
|
+
await arca.getTiposConcepto();
|
|
214
|
+
await arca.getTiposDocumento();
|
|
215
|
+
await arca.getTiposIva();
|
|
216
|
+
await arca.getMonedas();
|
|
217
|
+
await arca.getTiposTributo();
|
|
218
|
+
await arca.getTiposOpcional();
|
|
219
|
+
await arca.getCantMaxRegistros();
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
## Error handling
|
|
223
|
+
|
|
224
|
+
```typescript
|
|
225
|
+
import { ArcaAuthError, ArcaWSFEError, ArcaSoapError } from "@ramiidv/arca-sdk";
|
|
226
|
+
|
|
227
|
+
try {
|
|
228
|
+
await arca.facturar({ ... });
|
|
229
|
+
} catch (e) {
|
|
230
|
+
if (e instanceof ArcaAuthError) {
|
|
231
|
+
// WSAA login failed (bad cert, expired, etc.)
|
|
232
|
+
arca.clearAuthCache();
|
|
233
|
+
}
|
|
234
|
+
if (e instanceof ArcaWSFEError) {
|
|
235
|
+
// AFIP business error with codes
|
|
236
|
+
e.errors; // { code: number, msg: string }[]
|
|
237
|
+
}
|
|
238
|
+
if (e instanceof ArcaSoapError) {
|
|
239
|
+
// HTTP/SOAP transport error (timeout, 500, SOAP fault)
|
|
240
|
+
e.statusCode; // number | undefined
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
All error classes extend `ArcaError` which extends `Error`.
|
|
246
|
+
|
|
247
|
+
## Enums reference
|
|
248
|
+
|
|
249
|
+
```typescript
|
|
250
|
+
// Comprobante types
|
|
251
|
+
CbteTipo.FACTURA_A // 1
|
|
252
|
+
CbteTipo.FACTURA_B // 6
|
|
253
|
+
CbteTipo.FACTURA_C // 11
|
|
254
|
+
CbteTipo.FACTURA_E // 19 (export)
|
|
255
|
+
CbteTipo.FCE_FACTURA_A // 201 (MiPyME)
|
|
256
|
+
// ... and NOTA_DEBITO_*, NOTA_CREDITO_*, RECIBO_* variants
|
|
257
|
+
|
|
258
|
+
// Concepto
|
|
259
|
+
Concepto.PRODUCTOS // 1
|
|
260
|
+
Concepto.SERVICIOS // 2
|
|
261
|
+
Concepto.PRODUCTOS_Y_SERVICIOS // 3
|
|
262
|
+
|
|
263
|
+
// Document types
|
|
264
|
+
DocTipo.CUIT // 80
|
|
265
|
+
DocTipo.DNI // 96
|
|
266
|
+
DocTipo.CONSUMIDOR_FINAL // 99
|
|
267
|
+
// ... CUIL (86), CDI (87), Pasaporte (94), etc.
|
|
268
|
+
|
|
269
|
+
// IVA rates
|
|
270
|
+
IvaTipo.IVA_0 // 3 → 0%
|
|
271
|
+
IvaTipo.IVA_2_5 // 9 → 2.5%
|
|
272
|
+
IvaTipo.IVA_5 // 8 → 5%
|
|
273
|
+
IvaTipo.IVA_10_5 // 4 → 10.5%
|
|
274
|
+
IvaTipo.IVA_21 // 5 → 21%
|
|
275
|
+
IvaTipo.IVA_27 // 6 → 27%
|
|
276
|
+
|
|
277
|
+
// IVA_RATES maps IvaTipo to percentage: IVA_RATES[IvaTipo.IVA_21] === 21
|
|
278
|
+
|
|
279
|
+
// Currency
|
|
280
|
+
Moneda.PESOS // "PES"
|
|
281
|
+
Moneda.DOLARES // "DOL"
|
|
282
|
+
Moneda.EUROS // "060"
|
|
283
|
+
// ... and more
|
|
284
|
+
|
|
285
|
+
// Tributo types
|
|
286
|
+
TributoTipo.IIBB // 5
|
|
287
|
+
TributoTipo.PERCEP_IVA // 6
|
|
288
|
+
// ... and more
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
## Common patterns
|
|
292
|
+
|
|
293
|
+
### Service invoice with tributos
|
|
294
|
+
|
|
295
|
+
```typescript
|
|
296
|
+
await arca.facturar({
|
|
297
|
+
ptoVta: 1,
|
|
298
|
+
cbteTipo: CbteTipo.FACTURA_A,
|
|
299
|
+
docTipo: DocTipo.CUIT,
|
|
300
|
+
docNro: 30712345678,
|
|
301
|
+
items: [{ neto: 10000, iva: IvaTipo.IVA_21 }],
|
|
302
|
+
servicio: {
|
|
303
|
+
desde: new Date("2026-03-01"),
|
|
304
|
+
hasta: new Date("2026-03-31"),
|
|
305
|
+
vtoPago: new Date("2026-04-15"),
|
|
306
|
+
},
|
|
307
|
+
tributos: [{
|
|
308
|
+
Id: TributoTipo.IIBB,
|
|
309
|
+
Desc: "IIBB CABA",
|
|
310
|
+
BaseImp: 10000,
|
|
311
|
+
Alic: 3,
|
|
312
|
+
Importe: 300,
|
|
313
|
+
}],
|
|
314
|
+
});
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
### Batch invoice (raw API, multiple comprobantes)
|
|
318
|
+
|
|
319
|
+
```typescript
|
|
320
|
+
const result = await arca.crearFactura({
|
|
321
|
+
PtoVta: 1,
|
|
322
|
+
CbteTipo: CbteTipo.FACTURA_B,
|
|
323
|
+
invoices: [invoice1, invoice2, invoice3], // up to getCantMaxRegistros()
|
|
324
|
+
});
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
### Currency with exchange rate
|
|
328
|
+
|
|
329
|
+
```typescript
|
|
330
|
+
const cotiz = await arca.getCotizacion(Moneda.DOLARES);
|
|
331
|
+
await arca.facturar({
|
|
332
|
+
ptoVta: 1,
|
|
333
|
+
cbteTipo: CbteTipo.FACTURA_A,
|
|
334
|
+
docTipo: DocTipo.CUIT,
|
|
335
|
+
docNro: 30712345678,
|
|
336
|
+
items: [{ neto: 1000, iva: IvaTipo.IVA_21 }],
|
|
337
|
+
moneda: Moneda.DOLARES,
|
|
338
|
+
cotizacion: cotiz.MonCotiz,
|
|
339
|
+
});
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
## Key domain concepts
|
|
343
|
+
|
|
344
|
+
- **CUIT**: Argentine tax ID (11 digits, no hyphens). Used for business identification.
|
|
345
|
+
- **Punto de venta (PtoVta)**: Sales point number (1-99999). Must be pre-registered with ARCA.
|
|
346
|
+
- **CAE**: Código de Autorización Electrónica. Unique code ARCA returns for each approved invoice.
|
|
347
|
+
- **Comprobante**: Generic term for any fiscal document (factura, nota de crédito/débito, recibo).
|
|
348
|
+
- **WSFEv1**: ARCA's SOAP web service for electronic invoicing.
|
|
349
|
+
- **WSAA**: ARCA's authentication web service. Uses CMS/PKCS#7 signed tickets.
|
|
350
|
+
- **Homologación**: ARCA's testing/sandbox environment. Use `production: false`.
|
|
351
|
+
- **FCE MiPyME**: Factura de Crédito Electrónica for small/medium businesses. Requires CBU in opcionales.
|
|
352
|
+
- **Tipo C**: Invoices issued by monotributistas (simplified tax regime). No IVA discrimination.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ramiidv/arca-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "SDK para interactuar con los Web Services de ARCA (ex AFIP) - Facturación Electrónica Argentina",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
"files": [
|
|
15
15
|
"dist",
|
|
16
16
|
"README.md",
|
|
17
|
-
"LICENSE"
|
|
17
|
+
"LICENSE",
|
|
18
|
+
"llm.txt"
|
|
18
19
|
],
|
|
19
20
|
"scripts": {
|
|
20
21
|
"build": "tsc",
|
|
@@ -49,12 +50,12 @@
|
|
|
49
50
|
"node": ">=18.0.0"
|
|
50
51
|
},
|
|
51
52
|
"dependencies": {
|
|
52
|
-
"
|
|
53
|
-
"
|
|
53
|
+
"fast-xml-parser": "^5.5.9",
|
|
54
|
+
"node-forge": "^1.4.0"
|
|
54
55
|
},
|
|
55
56
|
"devDependencies": {
|
|
56
|
-
"@types/node": "^
|
|
57
|
-
"@types/node-forge": "^1.3.
|
|
58
|
-
"typescript": "^
|
|
57
|
+
"@types/node": "^25.5.0",
|
|
58
|
+
"@types/node-forge": "^1.3.14",
|
|
59
|
+
"typescript": "^6.0.2"
|
|
59
60
|
}
|
|
60
61
|
}
|