@ramiidv/arca-fecred 0.1.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/LICENSE +21 -0
- package/README.md +351 -0
- package/dist/arca-fecred.d.ts +129 -0
- package/dist/arca-fecred.d.ts.map +1 -0
- package/dist/arca-fecred.js +365 -0
- package/dist/arca-fecred.js.map +1 -0
- package/dist/constants.d.ts +83 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +108 -0
- package/dist/constants.js.map +1 -0
- package/dist/fecred-client.d.ts +100 -0
- package/dist/fecred-client.d.ts.map +1 -0
- package/dist/fecred-client.js +194 -0
- package/dist/fecred-client.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +208 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/validation.d.ts +26 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +161 -0
- package/dist/validation.js.map +1 -0
- package/llms.txt +173 -0
- package/package.json +65 -0
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
import { WsaaClient, ensureArray } from '@ramiidv/arca-common';
|
|
2
|
+
import { ENDPOINTS } from './constants.js';
|
|
3
|
+
import { FecredClient } from './fecred-client.js';
|
|
4
|
+
import { validateCuit, validateCodCtaCte, validateConsultaCtasCtes } from './validation.js';
|
|
5
|
+
/**
|
|
6
|
+
* Main orchestrator class for ARCA WSFECRED (Factura de Credito Electronica MiPyME).
|
|
7
|
+
*
|
|
8
|
+
* Provides high-level methods that handle WSAA authentication automatically
|
|
9
|
+
* and expose results from the WSFECRED web service for managing FCE
|
|
10
|
+
* (Electronic Credit Invoices) under Law 27440.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* import { ArcaFecred } from '@ramiidv/arca-fecred';
|
|
15
|
+
* import { readFileSync } from 'fs';
|
|
16
|
+
*
|
|
17
|
+
* const fecred = new ArcaFecred({
|
|
18
|
+
* cert: readFileSync('cert.pem', 'utf-8'),
|
|
19
|
+
* key: readFileSync('key.pem', 'utf-8'),
|
|
20
|
+
* cuit: '20123456789',
|
|
21
|
+
* production: false,
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* // Check if a CUIT is obligated to receive FCE
|
|
25
|
+
* const obligado = await fecred.consultarMontoObligadoRecepcion('30712345678');
|
|
26
|
+
* console.log(obligado.obligado); // true/false
|
|
27
|
+
*
|
|
28
|
+
* // Query current accounts
|
|
29
|
+
* const cuentas = await fecred.consultarCtasCtes({
|
|
30
|
+
* rol: 'Receptor',
|
|
31
|
+
* fechaDesde: '2026-01-01',
|
|
32
|
+
* fechaHasta: '2026-03-31',
|
|
33
|
+
* });
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export class ArcaFecred {
|
|
37
|
+
/** Low-level WSAA client for direct access */
|
|
38
|
+
wsaa;
|
|
39
|
+
/** Low-level WSFECRED client for direct access */
|
|
40
|
+
fecred;
|
|
41
|
+
cuit;
|
|
42
|
+
onEvent;
|
|
43
|
+
constructor(config) {
|
|
44
|
+
const isProduction = config.production ?? false;
|
|
45
|
+
const env = isProduction ? 'production' : 'testing';
|
|
46
|
+
this.cuit = config.cuit;
|
|
47
|
+
this.onEvent = config.onEvent;
|
|
48
|
+
const soapOptions = {
|
|
49
|
+
timeout: config.timeout,
|
|
50
|
+
retries: config.retries,
|
|
51
|
+
retryDelayMs: config.retryDelayMs,
|
|
52
|
+
};
|
|
53
|
+
this.wsaa = new WsaaClient({
|
|
54
|
+
cert: config.cert,
|
|
55
|
+
key: config.key,
|
|
56
|
+
production: isProduction,
|
|
57
|
+
timeout: config.timeout,
|
|
58
|
+
retries: config.retries,
|
|
59
|
+
retryDelayMs: config.retryDelayMs,
|
|
60
|
+
onEvent: config.onEvent,
|
|
61
|
+
});
|
|
62
|
+
this.fecred = new FecredClient({
|
|
63
|
+
endpoint: ENDPOINTS.wsfecred[env],
|
|
64
|
+
namespace: ENDPOINTS.wsfecred.namespace,
|
|
65
|
+
soapOptions,
|
|
66
|
+
onEvent: config.onEvent,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
// =========================================================================
|
|
70
|
+
// Health check
|
|
71
|
+
// =========================================================================
|
|
72
|
+
/**
|
|
73
|
+
* Health check for the WSFECRED service.
|
|
74
|
+
* Does not require authentication.
|
|
75
|
+
*/
|
|
76
|
+
async status() {
|
|
77
|
+
return this.fecred.dummy();
|
|
78
|
+
}
|
|
79
|
+
// =========================================================================
|
|
80
|
+
// Consultas de operaciones
|
|
81
|
+
// =========================================================================
|
|
82
|
+
/**
|
|
83
|
+
* Check if a CUIT is obligated to receive FCE (Factura de Credito Electronica).
|
|
84
|
+
* Authenticates automatically via WSAA.
|
|
85
|
+
*
|
|
86
|
+
* @param cuitConsultada - CUIT to check
|
|
87
|
+
* @returns Result indicating if the CUIT is obligated and the threshold amount
|
|
88
|
+
*/
|
|
89
|
+
async consultarMontoObligadoRecepcion(cuitConsultada) {
|
|
90
|
+
validateCuit(cuitConsultada, 'cuitConsultada');
|
|
91
|
+
const auth = await this.getAuth();
|
|
92
|
+
const result = await this.fecred.consultarMontoObligadoRecepcion(auth, cuitConsultada);
|
|
93
|
+
return {
|
|
94
|
+
cuitConsultada,
|
|
95
|
+
obligado: (result['obligado'] ?? result['Obligado'] ?? false),
|
|
96
|
+
montoDesde: result['montoDesde'] != null
|
|
97
|
+
? Number(result['montoDesde'] ?? result['MontoDesde'])
|
|
98
|
+
: undefined,
|
|
99
|
+
raw: result,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Query current accounts from FCE activity.
|
|
104
|
+
* Authenticates automatically via WSAA.
|
|
105
|
+
*
|
|
106
|
+
* @param params - Query filters (role, CUITs, date range)
|
|
107
|
+
* @returns Array of current account records
|
|
108
|
+
*/
|
|
109
|
+
async consultarCtasCtes(params) {
|
|
110
|
+
validateConsultaCtasCtes(params);
|
|
111
|
+
const auth = await this.getAuth();
|
|
112
|
+
const result = await this.fecred.consultarCtasCtes(auth, {
|
|
113
|
+
rol: params.rol,
|
|
114
|
+
cuitEmisor: params.cuitEmisor,
|
|
115
|
+
cuitReceptor: params.cuitReceptor,
|
|
116
|
+
fechaDesde: params.fechaDesde,
|
|
117
|
+
fechaHasta: params.fechaHasta,
|
|
118
|
+
});
|
|
119
|
+
const ctasCtes = result['arrayCtasCtes'] ?? result['CtasCtes'] ?? result['ctasCtes'];
|
|
120
|
+
if (!ctasCtes)
|
|
121
|
+
return [];
|
|
122
|
+
const ctasCtesObj = ctasCtes;
|
|
123
|
+
const items = ensureArray(ctasCtesObj['CtaCte'] ?? ctasCtesObj['ctaCte'] ?? ctasCtesObj);
|
|
124
|
+
return items.map((item) => this.parseCtaCte(item));
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Search FCE invoices by filters.
|
|
128
|
+
* Authenticates automatically via WSAA.
|
|
129
|
+
*
|
|
130
|
+
* @param params - Query filters
|
|
131
|
+
* @returns Array of FCE invoice records
|
|
132
|
+
*/
|
|
133
|
+
async consultarComprobantes(params) {
|
|
134
|
+
const auth = await this.getAuth();
|
|
135
|
+
const result = await this.fecred.consultarComprobantes(auth, {
|
|
136
|
+
cuitEmisor: params.cuitEmisor,
|
|
137
|
+
cuitReceptor: params.cuitReceptor,
|
|
138
|
+
codCtaCte: params.codCtaCte,
|
|
139
|
+
fechaDesde: params.fechaDesde,
|
|
140
|
+
fechaHasta: params.fechaHasta,
|
|
141
|
+
});
|
|
142
|
+
const comprobantes = result['arrayComprobantes'] ?? result['Comprobantes'] ?? result['comprobantes'];
|
|
143
|
+
if (!comprobantes)
|
|
144
|
+
return [];
|
|
145
|
+
const compObj = comprobantes;
|
|
146
|
+
const items = ensureArray(compObj['Comprobante'] ?? compObj['comprobante'] ?? compObj);
|
|
147
|
+
return items.map((item) => this.parseComprobante(item));
|
|
148
|
+
}
|
|
149
|
+
// =========================================================================
|
|
150
|
+
// Acciones sobre FCE
|
|
151
|
+
// =========================================================================
|
|
152
|
+
/**
|
|
153
|
+
* Accept an FCE (Factura de Credito Electronica).
|
|
154
|
+
* Authenticates automatically via WSAA.
|
|
155
|
+
*
|
|
156
|
+
* @param codCtaCte - Current account code of the FCE to accept
|
|
157
|
+
* @returns Result of the acceptance operation
|
|
158
|
+
*/
|
|
159
|
+
async aceptarFECred(codCtaCte) {
|
|
160
|
+
validateCodCtaCte(codCtaCte);
|
|
161
|
+
const auth = await this.getAuth();
|
|
162
|
+
const result = await this.fecred.aceptarFECred(auth, codCtaCte);
|
|
163
|
+
return {
|
|
164
|
+
codCtaCte,
|
|
165
|
+
resultado: (result['resultado'] ?? result['Resultado'] ?? ''),
|
|
166
|
+
raw: result,
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Reject an FCE (Factura de Credito Electronica).
|
|
171
|
+
* Authenticates automatically via WSAA.
|
|
172
|
+
*
|
|
173
|
+
* @param codCtaCte - Current account code of the FCE to reject
|
|
174
|
+
* @param codMotivoRechazo - Rejection reason code (use MotivoRechazo enum)
|
|
175
|
+
* @returns Result of the rejection operation
|
|
176
|
+
*/
|
|
177
|
+
async rechazarFECred(codCtaCte, codMotivoRechazo) {
|
|
178
|
+
validateCodCtaCte(codCtaCte);
|
|
179
|
+
const auth = await this.getAuth();
|
|
180
|
+
const result = await this.fecred.rechazarFECred(auth, codCtaCte, codMotivoRechazo);
|
|
181
|
+
return {
|
|
182
|
+
codCtaCte,
|
|
183
|
+
resultado: (result['resultado'] ?? result['Resultado'] ?? ''),
|
|
184
|
+
raw: result,
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Inform that an accepted FCE was paid/cancelled.
|
|
189
|
+
* Authenticates automatically via WSAA.
|
|
190
|
+
*
|
|
191
|
+
* @param params - Cancellation details (account code, payment method, optional observations)
|
|
192
|
+
* @returns Result of the cancellation notification
|
|
193
|
+
*/
|
|
194
|
+
async informarFacturaAceptadaCancelada(params) {
|
|
195
|
+
validateCodCtaCte(params.codCtaCte);
|
|
196
|
+
const auth = await this.getAuth();
|
|
197
|
+
const result = await this.fecred.informarFacturaAceptadaCancelada(auth, {
|
|
198
|
+
codCtaCte: params.codCtaCte,
|
|
199
|
+
codFormaCancelacion: params.codFormaCancelacion,
|
|
200
|
+
observaciones: params.observaciones,
|
|
201
|
+
});
|
|
202
|
+
return {
|
|
203
|
+
codCtaCte: params.codCtaCte,
|
|
204
|
+
resultado: (result['resultado'] ?? result['Resultado'] ?? ''),
|
|
205
|
+
raw: result,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
// =========================================================================
|
|
209
|
+
// Consultas de parametros
|
|
210
|
+
// =========================================================================
|
|
211
|
+
/**
|
|
212
|
+
* Query available retention types.
|
|
213
|
+
* Authenticates automatically via WSAA.
|
|
214
|
+
*/
|
|
215
|
+
async consultarTiposRetenciones() {
|
|
216
|
+
const auth = await this.getAuth();
|
|
217
|
+
const result = await this.fecred.consultarTiposRetenciones(auth);
|
|
218
|
+
return this.parseParamArray(result, ['arrayTiposRetenciones', 'TiposRetenciones', 'tiposRetenciones'], ['TipoRetencion', 'tipoRetencion'], (item) => ({
|
|
219
|
+
codTipoRetencion: Number(item['codTipoRetencion'] ?? item['CodTipoRetencion'] ?? 0),
|
|
220
|
+
descTipoRetencion: (item['descTipoRetencion'] ?? item['DescTipoRetencion'] ?? ''),
|
|
221
|
+
}));
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Query available payment method types for cancelling accepted FCE.
|
|
225
|
+
* Authenticates automatically via WSAA.
|
|
226
|
+
*/
|
|
227
|
+
async consultarTiposFormasCancelacion() {
|
|
228
|
+
const auth = await this.getAuth();
|
|
229
|
+
const result = await this.fecred.consultarTiposFormasCancelacion(auth);
|
|
230
|
+
return this.parseParamArray(result, ['arrayTiposFormasCancelacion', 'TiposFormasCancelacion', 'tiposFormasCancelacion'], ['TipoFormaCancelacion', 'tipoFormaCancelacion'], (item) => ({
|
|
231
|
+
codFormaCancelacion: Number(item['codFormaCancelacion'] ?? item['CodFormaCancelacion'] ?? 0),
|
|
232
|
+
descFormaCancelacion: (item['descFormaCancelacion'] ?? item['DescFormaCancelacion'] ?? ''),
|
|
233
|
+
}));
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Query available operation adjustment types.
|
|
237
|
+
* Authenticates automatically via WSAA.
|
|
238
|
+
*/
|
|
239
|
+
async consultarTiposAjustesOperacion() {
|
|
240
|
+
const auth = await this.getAuth();
|
|
241
|
+
const result = await this.fecred.consultarTiposAjustesOperacion(auth);
|
|
242
|
+
return this.parseParamArray(result, ['arrayTiposAjustesOperacion', 'TiposAjustesOperacion', 'tiposAjustesOperacion'], ['TipoAjusteOperacion', 'tipoAjusteOperacion'], (item) => ({
|
|
243
|
+
codTipoAjuste: Number(item['codTipoAjuste'] ?? item['CodTipoAjuste'] ?? 0),
|
|
244
|
+
descTipoAjuste: (item['descTipoAjuste'] ?? item['DescTipoAjuste'] ?? ''),
|
|
245
|
+
}));
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Query available rejection reason types.
|
|
249
|
+
* Authenticates automatically via WSAA.
|
|
250
|
+
*/
|
|
251
|
+
async consultarTiposMotivoRechazo() {
|
|
252
|
+
const auth = await this.getAuth();
|
|
253
|
+
const result = await this.fecred.consultarTiposMotivoRechazo(auth);
|
|
254
|
+
return this.parseParamArray(result, ['arrayTiposMotivoRechazo', 'TiposMotivoRechazo', 'tiposMotivoRechazo'], ['TipoMotivoRechazo', 'tipoMotivoRechazo'], (item) => ({
|
|
255
|
+
codMotivoRechazo: Number(item['codMotivoRechazo'] ?? item['CodMotivoRechazo'] ?? 0),
|
|
256
|
+
descMotivoRechazo: (item['descMotivoRechazo'] ?? item['DescMotivoRechazo'] ?? ''),
|
|
257
|
+
}));
|
|
258
|
+
}
|
|
259
|
+
// =========================================================================
|
|
260
|
+
// Cache management
|
|
261
|
+
// =========================================================================
|
|
262
|
+
/** Invalidate the cached WSAA access ticket for WSFECRED. */
|
|
263
|
+
clearAuthCache() {
|
|
264
|
+
this.wsaa.clearTicket(ENDPOINTS.wsfecred.serviceId);
|
|
265
|
+
}
|
|
266
|
+
// =========================================================================
|
|
267
|
+
// Private helpers
|
|
268
|
+
// =========================================================================
|
|
269
|
+
async getAuth() {
|
|
270
|
+
const ticket = await this.wsaa.getAccessTicket(ENDPOINTS.wsfecred.serviceId);
|
|
271
|
+
return {
|
|
272
|
+
Token: ticket.token,
|
|
273
|
+
Sign: ticket.sign,
|
|
274
|
+
Cuit: this.cuit,
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
parseCtaCte(item) {
|
|
278
|
+
return {
|
|
279
|
+
codCtaCte: Number(item['codCtaCte'] ?? item['CodCtaCte'] ?? 0),
|
|
280
|
+
cuitEmisor: String(item['cuitEmisor'] ?? item['CUITEmisor'] ?? item['CuitEmisor'] ?? ''),
|
|
281
|
+
denominacionEmisor: (item['denominacionEmisor'] ?? item['DenominacionEmisor']),
|
|
282
|
+
cuitReceptor: String(item['cuitReceptor'] ?? item['CUITReceptor'] ?? item['CuitReceptor'] ?? ''),
|
|
283
|
+
denominacionReceptor: (item['denominacionReceptor'] ?? item['DenominacionReceptor']),
|
|
284
|
+
tipoComprobante: item['tipoComprobante'] != null ? Number(item['tipoComprobante'] ?? item['TipoComprobante']) : undefined,
|
|
285
|
+
puntoVenta: item['puntoVenta'] != null ? Number(item['puntoVenta'] ?? item['PuntoVenta']) : undefined,
|
|
286
|
+
nroComprobante: item['nroComprobante'] != null ? Number(item['nroComprobante'] ?? item['NroComprobante']) : undefined,
|
|
287
|
+
codMoneda: (item['codMoneda'] ?? item['CodMoneda']),
|
|
288
|
+
importeTotal: item['importeTotal'] != null ? Number(item['importeTotal'] ?? item['ImporteTotal']) : undefined,
|
|
289
|
+
saldo: item['saldo'] != null ? Number(item['saldo'] ?? item['Saldo']) : undefined,
|
|
290
|
+
estado: (item['estado'] ?? item['Estado']),
|
|
291
|
+
fechaEmision: (item['fechaEmision'] ?? item['FechaEmision']),
|
|
292
|
+
fechaVencimientoPago: (item['fechaVencimientoPago'] ?? item['FechaVencimientoPago']),
|
|
293
|
+
fechaVencimientoAceptacion: (item['fechaVencimientoAceptacion'] ?? item['FechaVencimientoAceptacion']),
|
|
294
|
+
cae: (item['cae'] ?? item['CAE']),
|
|
295
|
+
raw: item,
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
parseComprobante(item) {
|
|
299
|
+
const retenciones = item['retenciones'] ?? item['Retenciones'];
|
|
300
|
+
let parsedRetenciones;
|
|
301
|
+
if (retenciones) {
|
|
302
|
+
const retObj = retenciones;
|
|
303
|
+
const retItems = ensureArray(retObj['Retencion'] ?? retObj['retencion'] ?? retObj);
|
|
304
|
+
parsedRetenciones = retItems.map((r) => {
|
|
305
|
+
const ret = r;
|
|
306
|
+
return {
|
|
307
|
+
codTipoRetencion: Number(ret['codTipoRetencion'] ?? ret['CodTipoRetencion'] ?? 0),
|
|
308
|
+
descTipoRetencion: (ret['descTipoRetencion'] ?? ret['DescTipoRetencion']),
|
|
309
|
+
importeRetencion: Number(ret['importeRetencion'] ?? ret['ImporteRetencion'] ?? 0),
|
|
310
|
+
porcentajeRetencion: ret['porcentajeRetencion'] != null
|
|
311
|
+
? Number(ret['porcentajeRetencion'] ?? ret['PorcentajeRetencion'])
|
|
312
|
+
: undefined,
|
|
313
|
+
};
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
return {
|
|
317
|
+
codCtaCte: Number(item['codCtaCte'] ?? item['CodCtaCte'] ?? 0),
|
|
318
|
+
tipoComprobante: item['tipoComprobante'] != null ? Number(item['tipoComprobante'] ?? item['TipoComprobante']) : undefined,
|
|
319
|
+
puntoVenta: item['puntoVenta'] != null ? Number(item['puntoVenta'] ?? item['PuntoVenta']) : undefined,
|
|
320
|
+
nroComprobante: item['nroComprobante'] != null ? Number(item['nroComprobante'] ?? item['NroComprobante']) : undefined,
|
|
321
|
+
cuitEmisor: String(item['cuitEmisor'] ?? item['CUITEmisor'] ?? item['CuitEmisor'] ?? ''),
|
|
322
|
+
denominacionEmisor: (item['denominacionEmisor'] ?? item['DenominacionEmisor']),
|
|
323
|
+
cuitReceptor: String(item['cuitReceptor'] ?? item['CUITReceptor'] ?? item['CuitReceptor'] ?? ''),
|
|
324
|
+
denominacionReceptor: (item['denominacionReceptor'] ?? item['DenominacionReceptor']),
|
|
325
|
+
codMoneda: (item['codMoneda'] ?? item['CodMoneda']),
|
|
326
|
+
importeTotal: item['importeTotal'] != null ? Number(item['importeTotal'] ?? item['ImporteTotal']) : undefined,
|
|
327
|
+
importeNeto: item['importeNeto'] != null ? Number(item['importeNeto'] ?? item['ImporteNeto']) : undefined,
|
|
328
|
+
saldo: item['saldo'] != null ? Number(item['saldo'] ?? item['Saldo']) : undefined,
|
|
329
|
+
estado: (item['estado'] ?? item['Estado']),
|
|
330
|
+
fechaEmision: (item['fechaEmision'] ?? item['FechaEmision']),
|
|
331
|
+
fechaVencimientoPago: (item['fechaVencimientoPago'] ?? item['FechaVencimientoPago']),
|
|
332
|
+
cae: (item['cae'] ?? item['CAE']),
|
|
333
|
+
retenciones: parsedRetenciones,
|
|
334
|
+
raw: item,
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Generic parser for parameter arrays from WSFECRED responses.
|
|
339
|
+
* Handles varying SOAP response structures (different key names, namespaces).
|
|
340
|
+
*/
|
|
341
|
+
parseParamArray(result, containerKeys, itemKeys, mapper) {
|
|
342
|
+
let container;
|
|
343
|
+
for (const key of containerKeys) {
|
|
344
|
+
if (result[key] !== undefined) {
|
|
345
|
+
container = result[key];
|
|
346
|
+
break;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
if (!container)
|
|
350
|
+
return [];
|
|
351
|
+
const containerObj = container;
|
|
352
|
+
let items = [];
|
|
353
|
+
for (const key of itemKeys) {
|
|
354
|
+
if (containerObj[key] !== undefined) {
|
|
355
|
+
items = ensureArray(containerObj[key]);
|
|
356
|
+
break;
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
if (items.length === 0) {
|
|
360
|
+
items = ensureArray(containerObj);
|
|
361
|
+
}
|
|
362
|
+
return items.map((item) => mapper(item));
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
//# sourceMappingURL=arca-fecred.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arca-fecred.js","sourceRoot":"","sources":["../src/arca-fecred.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
export declare const ENDPOINTS: {
|
|
2
|
+
readonly wsaa: {
|
|
3
|
+
readonly testing: "https://wsaahomo.afip.gov.ar/ws/services/LoginCms";
|
|
4
|
+
readonly production: "https://wsaa.afip.gov.ar/ws/services/LoginCms";
|
|
5
|
+
};
|
|
6
|
+
readonly wsfecred: {
|
|
7
|
+
readonly testing: "https://fwshomo.afip.gob.ar/wsfecred/FECredService";
|
|
8
|
+
readonly production: "https://serviciosjava.afip.gob.ar/wsfecred/FECredService";
|
|
9
|
+
readonly namespace: "https://serviciosjava.afip.gob.ar/wsfecred/FECredService?wsdl";
|
|
10
|
+
readonly serviceId: "wsfecred";
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
/** Rol del contribuyente en la cuenta corriente FCE */
|
|
14
|
+
export declare enum RolCtaCte {
|
|
15
|
+
/** Emisor de la FCE */
|
|
16
|
+
EMISOR = "Emisor",
|
|
17
|
+
/** Receptor de la FCE */
|
|
18
|
+
RECEPTOR = "Receptor"
|
|
19
|
+
}
|
|
20
|
+
/** Estado de la cuenta corriente FCE */
|
|
21
|
+
export declare enum EstadoCtaCte {
|
|
22
|
+
/** Factura emitida, pendiente de aceptacion/rechazo */
|
|
23
|
+
PENDIENTE_ACEPTACION = "Pendiente de Aceptacion",
|
|
24
|
+
/** Factura aceptada */
|
|
25
|
+
ACEPTADA = "Aceptada",
|
|
26
|
+
/** Factura rechazada */
|
|
27
|
+
RECHAZADA = "Rechazada",
|
|
28
|
+
/** Factura cancelada (pagada) */
|
|
29
|
+
CANCELADA = "Cancelada",
|
|
30
|
+
/** Factura anulada */
|
|
31
|
+
ANULADA = "Anulada"
|
|
32
|
+
}
|
|
33
|
+
/** Codigos de motivo de rechazo para FCE */
|
|
34
|
+
export declare enum MotivoRechazo {
|
|
35
|
+
/** Nota de credito / debito */
|
|
36
|
+
NOTA_CREDITO_DEBITO = 1,
|
|
37
|
+
/** El CUIT informado no es correcto */
|
|
38
|
+
CUIT_INCORRECTO = 2,
|
|
39
|
+
/** La fecha informada no es correcta */
|
|
40
|
+
FECHA_INCORRECTA = 3,
|
|
41
|
+
/** El CBU informado no es correcto */
|
|
42
|
+
CBU_INCORRECTO = 4,
|
|
43
|
+
/** Otros motivos */
|
|
44
|
+
OTROS = 5
|
|
45
|
+
}
|
|
46
|
+
/** Formas de cancelacion de una FCE aceptada */
|
|
47
|
+
export declare enum FormaCancelacion {
|
|
48
|
+
/** Acreditacion en cuenta bancaria */
|
|
49
|
+
ACREDITACION_CUENTA = 1,
|
|
50
|
+
/** Transferencia bancaria */
|
|
51
|
+
TRANSFERENCIA = 2,
|
|
52
|
+
/** Cheque */
|
|
53
|
+
CHEQUE = 3,
|
|
54
|
+
/** Pago electronico */
|
|
55
|
+
PAGO_ELECTRONICO = 4,
|
|
56
|
+
/** Compensacion */
|
|
57
|
+
COMPENSACION = 5,
|
|
58
|
+
/** Endoso */
|
|
59
|
+
ENDOSO = 6,
|
|
60
|
+
/** Otro */
|
|
61
|
+
OTRO = 99
|
|
62
|
+
}
|
|
63
|
+
/** Tipos de ajuste de operacion FCE */
|
|
64
|
+
export declare enum TipoAjusteOperacion {
|
|
65
|
+
/** Nota de credito */
|
|
66
|
+
NOTA_CREDITO = 1,
|
|
67
|
+
/** Nota de debito */
|
|
68
|
+
NOTA_DEBITO = 2
|
|
69
|
+
}
|
|
70
|
+
/** Tipos de retencion comunes en FCE */
|
|
71
|
+
export declare enum TipoRetencion {
|
|
72
|
+
/** Ganancias */
|
|
73
|
+
GANANCIAS = 1,
|
|
74
|
+
/** IVA */
|
|
75
|
+
IVA = 2,
|
|
76
|
+
/** SUSS */
|
|
77
|
+
SUSS = 3,
|
|
78
|
+
/** Ingresos Brutos */
|
|
79
|
+
INGRESOS_BRUTOS = 4,
|
|
80
|
+
/** Otras */
|
|
81
|
+
OTRAS = 99
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,SAAS;;;;;;;;;;;CAQZ,CAAC;AAMX,uDAAuD;AACvD,oBAAY,SAAS;IACnB,uBAAuB;IACvB,MAAM,WAAW;IACjB,yBAAyB;IACzB,QAAQ,aAAa;CACtB;AAMD,wCAAwC;AACxC,oBAAY,YAAY;IACtB,uDAAuD;IACvD,oBAAoB,4BAA4B;IAChD,uBAAuB;IACvB,QAAQ,aAAa;IACrB,wBAAwB;IACxB,SAAS,cAAc;IACvB,iCAAiC;IACjC,SAAS,cAAc;IACvB,sBAAsB;IACtB,OAAO,YAAY;CACpB;AAMD,4CAA4C;AAC5C,oBAAY,aAAa;IACvB,+BAA+B;IAC/B,mBAAmB,IAAI;IACvB,uCAAuC;IACvC,eAAe,IAAI;IACnB,wCAAwC;IACxC,gBAAgB,IAAI;IACpB,sCAAsC;IACtC,cAAc,IAAI;IAClB,oBAAoB;IACpB,KAAK,IAAI;CACV;AAMD,gDAAgD;AAChD,oBAAY,gBAAgB;IAC1B,sCAAsC;IACtC,mBAAmB,IAAI;IACvB,6BAA6B;IAC7B,aAAa,IAAI;IACjB,aAAa;IACb,MAAM,IAAI;IACV,uBAAuB;IACvB,gBAAgB,IAAI;IACpB,mBAAmB;IACnB,YAAY,IAAI;IAChB,aAAa;IACb,MAAM,IAAI;IACV,WAAW;IACX,IAAI,KAAK;CACV;AAMD,uCAAuC;AACvC,oBAAY,mBAAmB;IAC7B,sBAAsB;IACtB,YAAY,IAAI;IAChB,qBAAqB;IACrB,WAAW,IAAI;CAChB;AAMD,wCAAwC;AACxC,oBAAY,aAAa;IACvB,gBAAgB;IAChB,SAAS,IAAI;IACb,UAAU;IACV,GAAG,IAAI;IACP,WAAW;IACX,IAAI,IAAI;IACR,sBAAsB;IACtB,eAAe,IAAI;IACnB,YAAY;IACZ,KAAK,KAAK;CACX"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { WSAA_ENDPOINTS } from '@ramiidv/arca-common';
|
|
2
|
+
// ---------------------------------------------------------------------------
|
|
3
|
+
// Endpoints
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
export const ENDPOINTS = {
|
|
6
|
+
wsaa: WSAA_ENDPOINTS,
|
|
7
|
+
wsfecred: {
|
|
8
|
+
testing: 'https://fwshomo.afip.gob.ar/wsfecred/FECredService',
|
|
9
|
+
production: 'https://serviciosjava.afip.gob.ar/wsfecred/FECredService',
|
|
10
|
+
namespace: 'https://serviciosjava.afip.gob.ar/wsfecred/FECredService?wsdl',
|
|
11
|
+
serviceId: 'wsfecred',
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
// Roles en la cuenta corriente
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
/** Rol del contribuyente en la cuenta corriente FCE */
|
|
18
|
+
export var RolCtaCte;
|
|
19
|
+
(function (RolCtaCte) {
|
|
20
|
+
/** Emisor de la FCE */
|
|
21
|
+
RolCtaCte["EMISOR"] = "Emisor";
|
|
22
|
+
/** Receptor de la FCE */
|
|
23
|
+
RolCtaCte["RECEPTOR"] = "Receptor";
|
|
24
|
+
})(RolCtaCte || (RolCtaCte = {}));
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
// Estados de la cuenta corriente
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
/** Estado de la cuenta corriente FCE */
|
|
29
|
+
export var EstadoCtaCte;
|
|
30
|
+
(function (EstadoCtaCte) {
|
|
31
|
+
/** Factura emitida, pendiente de aceptacion/rechazo */
|
|
32
|
+
EstadoCtaCte["PENDIENTE_ACEPTACION"] = "Pendiente de Aceptacion";
|
|
33
|
+
/** Factura aceptada */
|
|
34
|
+
EstadoCtaCte["ACEPTADA"] = "Aceptada";
|
|
35
|
+
/** Factura rechazada */
|
|
36
|
+
EstadoCtaCte["RECHAZADA"] = "Rechazada";
|
|
37
|
+
/** Factura cancelada (pagada) */
|
|
38
|
+
EstadoCtaCte["CANCELADA"] = "Cancelada";
|
|
39
|
+
/** Factura anulada */
|
|
40
|
+
EstadoCtaCte["ANULADA"] = "Anulada";
|
|
41
|
+
})(EstadoCtaCte || (EstadoCtaCte = {}));
|
|
42
|
+
// ---------------------------------------------------------------------------
|
|
43
|
+
// Motivos de rechazo
|
|
44
|
+
// ---------------------------------------------------------------------------
|
|
45
|
+
/** Codigos de motivo de rechazo para FCE */
|
|
46
|
+
export var MotivoRechazo;
|
|
47
|
+
(function (MotivoRechazo) {
|
|
48
|
+
/** Nota de credito / debito */
|
|
49
|
+
MotivoRechazo[MotivoRechazo["NOTA_CREDITO_DEBITO"] = 1] = "NOTA_CREDITO_DEBITO";
|
|
50
|
+
/** El CUIT informado no es correcto */
|
|
51
|
+
MotivoRechazo[MotivoRechazo["CUIT_INCORRECTO"] = 2] = "CUIT_INCORRECTO";
|
|
52
|
+
/** La fecha informada no es correcta */
|
|
53
|
+
MotivoRechazo[MotivoRechazo["FECHA_INCORRECTA"] = 3] = "FECHA_INCORRECTA";
|
|
54
|
+
/** El CBU informado no es correcto */
|
|
55
|
+
MotivoRechazo[MotivoRechazo["CBU_INCORRECTO"] = 4] = "CBU_INCORRECTO";
|
|
56
|
+
/** Otros motivos */
|
|
57
|
+
MotivoRechazo[MotivoRechazo["OTROS"] = 5] = "OTROS";
|
|
58
|
+
})(MotivoRechazo || (MotivoRechazo = {}));
|
|
59
|
+
// ---------------------------------------------------------------------------
|
|
60
|
+
// Formas de cancelacion
|
|
61
|
+
// ---------------------------------------------------------------------------
|
|
62
|
+
/** Formas de cancelacion de una FCE aceptada */
|
|
63
|
+
export var FormaCancelacion;
|
|
64
|
+
(function (FormaCancelacion) {
|
|
65
|
+
/** Acreditacion en cuenta bancaria */
|
|
66
|
+
FormaCancelacion[FormaCancelacion["ACREDITACION_CUENTA"] = 1] = "ACREDITACION_CUENTA";
|
|
67
|
+
/** Transferencia bancaria */
|
|
68
|
+
FormaCancelacion[FormaCancelacion["TRANSFERENCIA"] = 2] = "TRANSFERENCIA";
|
|
69
|
+
/** Cheque */
|
|
70
|
+
FormaCancelacion[FormaCancelacion["CHEQUE"] = 3] = "CHEQUE";
|
|
71
|
+
/** Pago electronico */
|
|
72
|
+
FormaCancelacion[FormaCancelacion["PAGO_ELECTRONICO"] = 4] = "PAGO_ELECTRONICO";
|
|
73
|
+
/** Compensacion */
|
|
74
|
+
FormaCancelacion[FormaCancelacion["COMPENSACION"] = 5] = "COMPENSACION";
|
|
75
|
+
/** Endoso */
|
|
76
|
+
FormaCancelacion[FormaCancelacion["ENDOSO"] = 6] = "ENDOSO";
|
|
77
|
+
/** Otro */
|
|
78
|
+
FormaCancelacion[FormaCancelacion["OTRO"] = 99] = "OTRO";
|
|
79
|
+
})(FormaCancelacion || (FormaCancelacion = {}));
|
|
80
|
+
// ---------------------------------------------------------------------------
|
|
81
|
+
// Tipos de ajuste de operacion
|
|
82
|
+
// ---------------------------------------------------------------------------
|
|
83
|
+
/** Tipos de ajuste de operacion FCE */
|
|
84
|
+
export var TipoAjusteOperacion;
|
|
85
|
+
(function (TipoAjusteOperacion) {
|
|
86
|
+
/** Nota de credito */
|
|
87
|
+
TipoAjusteOperacion[TipoAjusteOperacion["NOTA_CREDITO"] = 1] = "NOTA_CREDITO";
|
|
88
|
+
/** Nota de debito */
|
|
89
|
+
TipoAjusteOperacion[TipoAjusteOperacion["NOTA_DEBITO"] = 2] = "NOTA_DEBITO";
|
|
90
|
+
})(TipoAjusteOperacion || (TipoAjusteOperacion = {}));
|
|
91
|
+
// ---------------------------------------------------------------------------
|
|
92
|
+
// Tipos de retencion
|
|
93
|
+
// ---------------------------------------------------------------------------
|
|
94
|
+
/** Tipos de retencion comunes en FCE */
|
|
95
|
+
export var TipoRetencion;
|
|
96
|
+
(function (TipoRetencion) {
|
|
97
|
+
/** Ganancias */
|
|
98
|
+
TipoRetencion[TipoRetencion["GANANCIAS"] = 1] = "GANANCIAS";
|
|
99
|
+
/** IVA */
|
|
100
|
+
TipoRetencion[TipoRetencion["IVA"] = 2] = "IVA";
|
|
101
|
+
/** SUSS */
|
|
102
|
+
TipoRetencion[TipoRetencion["SUSS"] = 3] = "SUSS";
|
|
103
|
+
/** Ingresos Brutos */
|
|
104
|
+
TipoRetencion[TipoRetencion["INGRESOS_BRUTOS"] = 4] = "INGRESOS_BRUTOS";
|
|
105
|
+
/** Otras */
|
|
106
|
+
TipoRetencion[TipoRetencion["OTRAS"] = 99] = "OTRAS";
|
|
107
|
+
})(TipoRetencion || (TipoRetencion = {}));
|
|
108
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE;QACR,OAAO,EAAE,oDAAoD;QAC7D,UAAU,EAAE,0DAA0D;QACtE,SAAS,EAAE,+DAA+D;QAC1E,SAAS,EAAE,UAAU;KACtB;CACO,CAAC;AAEX,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E,uDAAuD;AACvD,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,uBAAuB;IACvB,8BAAiB,CAAA;IACjB,yBAAyB;IACzB,kCAAqB,CAAA;AACvB,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AAED,8EAA8E;AAC9E,iCAAiC;AACjC,8EAA8E;AAE9E,wCAAwC;AACxC,MAAM,CAAN,IAAY,YAWX;AAXD,WAAY,YAAY;IACtB,uDAAuD;IACvD,gEAAgD,CAAA;IAChD,uBAAuB;IACvB,qCAAqB,CAAA;IACrB,wBAAwB;IACxB,uCAAuB,CAAA;IACvB,iCAAiC;IACjC,uCAAuB,CAAA;IACvB,sBAAsB;IACtB,mCAAmB,CAAA;AACrB,CAAC,EAXW,YAAY,KAAZ,YAAY,QAWvB;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,4CAA4C;AAC5C,MAAM,CAAN,IAAY,aAWX;AAXD,WAAY,aAAa;IACvB,+BAA+B;IAC/B,+EAAuB,CAAA;IACvB,uCAAuC;IACvC,uEAAmB,CAAA;IACnB,wCAAwC;IACxC,yEAAoB,CAAA;IACpB,sCAAsC;IACtC,qEAAkB,CAAA;IAClB,oBAAoB;IACpB,mDAAS,CAAA;AACX,CAAC,EAXW,aAAa,KAAb,aAAa,QAWxB;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,gDAAgD;AAChD,MAAM,CAAN,IAAY,gBAeX;AAfD,WAAY,gBAAgB;IAC1B,sCAAsC;IACtC,qFAAuB,CAAA;IACvB,6BAA6B;IAC7B,yEAAiB,CAAA;IACjB,aAAa;IACb,2DAAU,CAAA;IACV,uBAAuB;IACvB,+EAAoB,CAAA;IACpB,mBAAmB;IACnB,uEAAgB,CAAA;IAChB,aAAa;IACb,2DAAU,CAAA;IACV,WAAW;IACX,wDAAS,CAAA;AACX,CAAC,EAfW,gBAAgB,KAAhB,gBAAgB,QAe3B;AAED,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E,uCAAuC;AACvC,MAAM,CAAN,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,sBAAsB;IACtB,6EAAgB,CAAA;IAChB,qBAAqB;IACrB,2EAAe,CAAA;AACjB,CAAC,EALW,mBAAmB,KAAnB,mBAAmB,QAK9B;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,wCAAwC;AACxC,MAAM,CAAN,IAAY,aAWX;AAXD,WAAY,aAAa;IACvB,gBAAgB;IAChB,2DAAa,CAAA;IACb,UAAU;IACV,+CAAO,CAAA;IACP,WAAW;IACX,iDAAQ,CAAA;IACR,sBAAsB;IACtB,uEAAmB,CAAA;IACnB,YAAY;IACZ,oDAAU,CAAA;AACZ,CAAC,EAXW,aAAa,KAAb,aAAa,QAWxB"}
|