@ramiidv/arca-padron 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/CHANGELOG.md +117 -0
  2. package/README.md +146 -99
  3. package/dist/arca-padron.d.ts +107 -0
  4. package/dist/arca-padron.d.ts.map +1 -0
  5. package/dist/arca-padron.js +178 -0
  6. package/dist/arca-padron.js.map +1 -0
  7. package/dist/base-client.d.ts +45 -0
  8. package/dist/base-client.d.ts.map +1 -0
  9. package/dist/base-client.js +54 -0
  10. package/dist/base-client.js.map +1 -0
  11. package/dist/{esm/condicion-iva.d.ts → condicion-iva.d.ts} +9 -5
  12. package/dist/condicion-iva.d.ts.map +1 -0
  13. package/dist/condicion-iva.js +170 -0
  14. package/dist/condicion-iva.js.map +1 -0
  15. package/dist/{esm/constants.d.ts → constants.d.ts} +57 -12
  16. package/dist/constants.d.ts.map +1 -0
  17. package/dist/{esm/constants.js → constants.js} +53 -11
  18. package/dist/constants.js.map +1 -0
  19. package/dist/errors.d.ts +50 -0
  20. package/dist/errors.d.ts.map +1 -0
  21. package/dist/errors.js +58 -0
  22. package/dist/errors.js.map +1 -0
  23. package/dist/index.d.ts +24 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +30 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/mapping.d.ts +22 -0
  28. package/dist/mapping.d.ts.map +1 -0
  29. package/dist/mapping.js +52 -0
  30. package/dist/mapping.js.map +1 -0
  31. package/dist/padron-a10.d.ts +24 -0
  32. package/dist/padron-a10.d.ts.map +1 -0
  33. package/dist/padron-a10.js +41 -0
  34. package/dist/padron-a10.js.map +1 -0
  35. package/dist/padron-a100.d.ts +26 -0
  36. package/dist/padron-a100.d.ts.map +1 -0
  37. package/dist/padron-a100.js +46 -0
  38. package/dist/padron-a100.js.map +1 -0
  39. package/dist/padron-a13.d.ts +36 -0
  40. package/dist/padron-a13.d.ts.map +1 -0
  41. package/dist/padron-a13.js +95 -0
  42. package/dist/padron-a13.js.map +1 -0
  43. package/dist/padron-a4.d.ts +21 -0
  44. package/dist/padron-a4.d.ts.map +1 -0
  45. package/dist/padron-a4.js +128 -0
  46. package/dist/padron-a4.js.map +1 -0
  47. package/dist/padron-a5.d.ts +39 -0
  48. package/dist/padron-a5.d.ts.map +1 -0
  49. package/dist/padron-a5.js +214 -0
  50. package/dist/padron-a5.js.map +1 -0
  51. package/dist/{cjs/types.d.ts → types.d.ts} +36 -53
  52. package/dist/types.d.ts.map +1 -0
  53. package/dist/types.js.map +1 -0
  54. package/llms.txt +46 -27
  55. package/package.json +21 -32
  56. package/dist/cjs/arca-padron.d.ts +0 -98
  57. package/dist/cjs/arca-padron.d.ts.map +0 -1
  58. package/dist/cjs/arca-padron.js +0 -177
  59. package/dist/cjs/arca-padron.js.map +0 -1
  60. package/dist/cjs/base-client.d.ts +0 -36
  61. package/dist/cjs/base-client.d.ts.map +0 -1
  62. package/dist/cjs/base-client.js +0 -52
  63. package/dist/cjs/base-client.js.map +0 -1
  64. package/dist/cjs/condicion-iva.d.ts +0 -24
  65. package/dist/cjs/condicion-iva.d.ts.map +0 -1
  66. package/dist/cjs/condicion-iva.js +0 -119
  67. package/dist/cjs/condicion-iva.js.map +0 -1
  68. package/dist/cjs/constants.d.ts +0 -97
  69. package/dist/cjs/constants.d.ts.map +0 -1
  70. package/dist/cjs/constants.js +0 -113
  71. package/dist/cjs/constants.js.map +0 -1
  72. package/dist/cjs/errors.d.ts +0 -22
  73. package/dist/cjs/errors.d.ts.map +0 -1
  74. package/dist/cjs/errors.js +0 -36
  75. package/dist/cjs/errors.js.map +0 -1
  76. package/dist/cjs/index.d.ts +0 -16
  77. package/dist/cjs/index.d.ts.map +0 -1
  78. package/dist/cjs/index.js +0 -56
  79. package/dist/cjs/index.js.map +0 -1
  80. package/dist/cjs/mapping.d.ts +0 -9
  81. package/dist/cjs/mapping.d.ts.map +0 -1
  82. package/dist/cjs/mapping.js +0 -14
  83. package/dist/cjs/mapping.js.map +0 -1
  84. package/dist/cjs/package.json +0 -1
  85. package/dist/cjs/padron-a10.d.ts +0 -18
  86. package/dist/cjs/padron-a10.d.ts.map +0 -1
  87. package/dist/cjs/padron-a10.js +0 -73
  88. package/dist/cjs/padron-a10.js.map +0 -1
  89. package/dist/cjs/padron-a100.d.ts +0 -16
  90. package/dist/cjs/padron-a100.d.ts.map +0 -1
  91. package/dist/cjs/padron-a100.js +0 -38
  92. package/dist/cjs/padron-a100.js.map +0 -1
  93. package/dist/cjs/padron-a13.d.ts +0 -24
  94. package/dist/cjs/padron-a13.d.ts.map +0 -1
  95. package/dist/cjs/padron-a13.js +0 -80
  96. package/dist/cjs/padron-a13.js.map +0 -1
  97. package/dist/cjs/padron-a4.d.ts +0 -18
  98. package/dist/cjs/padron-a4.d.ts.map +0 -1
  99. package/dist/cjs/padron-a4.js +0 -173
  100. package/dist/cjs/padron-a4.js.map +0 -1
  101. package/dist/cjs/padron-a5.d.ts +0 -24
  102. package/dist/cjs/padron-a5.d.ts.map +0 -1
  103. package/dist/cjs/padron-a5.js +0 -156
  104. package/dist/cjs/padron-a5.js.map +0 -1
  105. package/dist/cjs/soap-client.d.ts +0 -2
  106. package/dist/cjs/soap-client.d.ts.map +0 -1
  107. package/dist/cjs/soap-client.js +0 -13
  108. package/dist/cjs/soap-client.js.map +0 -1
  109. package/dist/cjs/types.d.ts.map +0 -1
  110. package/dist/cjs/types.js +0 -3
  111. package/dist/cjs/types.js.map +0 -1
  112. package/dist/cjs/wsaa.d.ts +0 -3
  113. package/dist/cjs/wsaa.d.ts.map +0 -1
  114. package/dist/cjs/wsaa.js +0 -6
  115. package/dist/cjs/wsaa.js.map +0 -1
  116. package/dist/esm/arca-padron.d.ts +0 -98
  117. package/dist/esm/arca-padron.d.ts.map +0 -1
  118. package/dist/esm/arca-padron.js +0 -173
  119. package/dist/esm/arca-padron.js.map +0 -1
  120. package/dist/esm/base-client.d.ts +0 -36
  121. package/dist/esm/base-client.d.ts.map +0 -1
  122. package/dist/esm/base-client.js +0 -48
  123. package/dist/esm/base-client.js.map +0 -1
  124. package/dist/esm/condicion-iva.d.ts.map +0 -1
  125. package/dist/esm/condicion-iva.js +0 -116
  126. package/dist/esm/condicion-iva.js.map +0 -1
  127. package/dist/esm/constants.d.ts.map +0 -1
  128. package/dist/esm/constants.js.map +0 -1
  129. package/dist/esm/errors.d.ts +0 -22
  130. package/dist/esm/errors.d.ts.map +0 -1
  131. package/dist/esm/errors.js +0 -26
  132. package/dist/esm/errors.js.map +0 -1
  133. package/dist/esm/index.d.ts +0 -16
  134. package/dist/esm/index.d.ts.map +0 -1
  135. package/dist/esm/index.js +0 -22
  136. package/dist/esm/index.js.map +0 -1
  137. package/dist/esm/mapping.d.ts +0 -9
  138. package/dist/esm/mapping.d.ts.map +0 -1
  139. package/dist/esm/mapping.js +0 -8
  140. package/dist/esm/mapping.js.map +0 -1
  141. package/dist/esm/padron-a10.d.ts +0 -18
  142. package/dist/esm/padron-a10.d.ts.map +0 -1
  143. package/dist/esm/padron-a10.js +0 -69
  144. package/dist/esm/padron-a10.js.map +0 -1
  145. package/dist/esm/padron-a100.d.ts +0 -16
  146. package/dist/esm/padron-a100.d.ts.map +0 -1
  147. package/dist/esm/padron-a100.js +0 -34
  148. package/dist/esm/padron-a100.js.map +0 -1
  149. package/dist/esm/padron-a13.d.ts +0 -24
  150. package/dist/esm/padron-a13.d.ts.map +0 -1
  151. package/dist/esm/padron-a13.js +0 -75
  152. package/dist/esm/padron-a13.js.map +0 -1
  153. package/dist/esm/padron-a4.d.ts +0 -18
  154. package/dist/esm/padron-a4.d.ts.map +0 -1
  155. package/dist/esm/padron-a4.js +0 -169
  156. package/dist/esm/padron-a4.js.map +0 -1
  157. package/dist/esm/padron-a5.d.ts +0 -24
  158. package/dist/esm/padron-a5.d.ts.map +0 -1
  159. package/dist/esm/padron-a5.js +0 -151
  160. package/dist/esm/padron-a5.js.map +0 -1
  161. package/dist/esm/soap-client.d.ts +0 -2
  162. package/dist/esm/soap-client.d.ts.map +0 -1
  163. package/dist/esm/soap-client.js +0 -3
  164. package/dist/esm/soap-client.js.map +0 -1
  165. package/dist/esm/types.d.ts +0 -346
  166. package/dist/esm/types.d.ts.map +0 -1
  167. package/dist/esm/types.js.map +0 -1
  168. package/dist/esm/wsaa.d.ts +0 -3
  169. package/dist/esm/wsaa.d.ts.map +0 -1
  170. package/dist/esm/wsaa.js +0 -2
  171. package/dist/esm/wsaa.js.map +0 -1
  172. /package/dist/{esm/types.js → types.js} +0 -0
@@ -1,68 +1,41 @@
1
1
  export type { AccessTicket, ArcaEvent, ServerStatus, SoapCallOptions, TicketStorage, CallOptions, } from '@ramiidv/arca-common';
2
- import type { ArcaEvent, CondicionIva, TicketStorage, WsaaClient } from '@ramiidv/arca-common';
2
+ import type { ArcaEvent, ArcaSdkConfig, CondicionIva, ServerStatus } from '@ramiidv/arca-common';
3
3
  /** @deprecated Use ArcaEvent from @ramiidv/arca-common instead. */
4
4
  export type ArcaPadronEvent = ArcaEvent;
5
- export interface ArcaPadronConfig {
6
- /** PEM-encoded X.509 certificate */
7
- cert: string;
8
- /** PEM-encoded RSA private key */
9
- key: string;
10
- /** CUIT of the entity represented (e.g. "20123456789") */
11
- cuit: string;
12
- /** Use production endpoints (default: false = testing / homologacion) */
13
- production?: boolean;
14
- /** Request timeout in ms (default: 30000) */
15
- timeout?: number;
16
- /** Number of retries on 5xx / network errors (default: 1) */
17
- retries?: number;
18
- /** Base delay in ms for exponential backoff (default: 1000) */
19
- retryDelayMs?: number;
20
- /** Optional event callback */
21
- onEvent?: (event: ArcaEvent) => void;
22
- /**
23
- * Persistencia de Tickets de Acceso entre reinicios. Sin storage, al
24
- * reiniciar el proceso WSAA rechaza el login hasta que venza el ticket
25
- * anterior (`ArcaTicketVigenteError`).
26
- */
27
- ticketStorage?: TicketStorage;
28
- /** Diferencia `relojARCA - relojLocal` en ms (default: 0). */
29
- clockOffsetMs?: number;
30
- /** Ajustar el desfase de reloj si WSAA rechaza el login (default: true). */
31
- autoClockSkew?: boolean;
32
- /** Signal global: cancela todas las llamadas de esta instancia. */
33
- signal?: AbortSignal;
5
+ /** Servicios de Padrón con endpoint propio. */
6
+ export type PadronServicio = 'a5' | 'a4' | 'a10' | 'a13' | 'a100';
7
+ /**
8
+ * Configuración de `ArcaPadron`. Extiende la configuración común de los SDKs
9
+ * de ARCA (`ArcaSdkConfig`: cert, key, cuit, production, timeout, retries,
10
+ * ticketStorage, clockOffsetMs, autoClockSkew, loginErrorCooldownMs, fetch,
11
+ * legacyTls, `wsaa` compartido, `signal` global, etc.).
12
+ */
13
+ export interface ArcaPadronConfig extends ArcaSdkConfig {
34
14
  /**
35
- * WsaaClient compartido (ej: `arca.wsaa` de arca-facturacion, mismo
36
- * certificado). Si se provee, se ignoran `cert`, `key`, `ticketStorage`,
37
- * `clockOffsetMs` y `autoClockSkew`.
15
+ * Endpoints propios (proxy, mock, etc.). Los que no se indiquen usan los
16
+ * oficiales según `production` (ver `ENDPOINTS`).
38
17
  */
39
- wsaa?: WsaaClient;
18
+ endpoints?: Partial<Record<PadronServicio | 'wsaa', string>>;
40
19
  }
20
+ /** Resultado de `status()`: el de cada servicio por separado (uno caído no oculta a los demás). */
21
+ export type PadronStatus = Record<PadronServicio, PromiseSettledResult<ServerStatus>>;
41
22
  export interface WsAuth {
42
23
  Token: string;
43
24
  Sign: string;
44
25
  CuitRepresentada: string;
45
26
  }
46
27
  export interface DependenciaA4 {
47
- idDependencia: number;
48
- descripcionDependencia: string;
28
+ idDependencia?: number;
29
+ descripcionDependencia?: string;
49
30
  }
50
- export interface DomicilioA4 {
51
- direccion: string;
52
- localidad?: string;
53
- codPostal?: string;
54
- idProvincia?: number;
55
- descripcionProvincia?: string;
56
- tipoDomicilio: string;
57
- estadoDomicilio?: string;
58
- datoAdicional?: string;
59
- tipoDatoAdicional?: string;
31
+ export interface DomicilioA4 extends DomicilioA10 {
60
32
  orden?: number;
61
33
  }
62
34
  export interface ImpuestoA4 {
63
35
  idImpuesto: number;
64
36
  descripcionImpuesto?: string;
65
- estado: string;
37
+ /** Estado (manual A4 §5.3): ACTIVO, ACTIVO EN TRAMITE, BAJA PROVISORIA, BAJA DEFINITIVA, EXENTO, EXENTO EN TRAMITE, NO APORTANTE. */
38
+ estado?: string;
66
39
  periodo?: number;
67
40
  diaPeriodo?: number;
68
41
  ffInscripcion?: string;
@@ -148,10 +121,7 @@ export interface PersonaA4 {
148
121
  email?: EmailA4[];
149
122
  telefono?: TelefonoA4[];
150
123
  }
151
- export interface DependenciaA10 {
152
- idDependencia: number;
153
- descripcionDependencia: string;
154
- }
124
+ export type DependenciaA10 = DependenciaA4;
155
125
  export interface DomicilioA10 {
156
126
  direccion?: string;
157
127
  localidad?: string;
@@ -180,7 +150,8 @@ export interface PersonaA10 {
180
150
  }
181
151
  export interface ParameterAttribute {
182
152
  name: string;
183
- value: string;
153
+ /** Valor tal cual lo envía ARCA (`xs:string`: "10.50" no se convierte a número). */
154
+ value?: string;
184
155
  }
185
156
  export interface ParameterRecord {
186
157
  id: string;
@@ -255,7 +226,7 @@ export interface CaracterizacionA5 {
255
226
  export interface ImpuestoA5 {
256
227
  idImpuesto: number;
257
228
  descripcionImpuesto?: string;
258
- /** Estado en SUPA (ej: "AC" = activo) */
229
+ /** Id del estado en SUPA (`tipo_estado_impuesto`, ej: "AC" = activo) */
259
230
  estadoImpuesto?: string;
260
231
  motivo?: string;
261
232
  periodo?: number;
@@ -286,11 +257,23 @@ export interface RegimenGeneralA5 {
286
257
  regimenes: RegimenA5[];
287
258
  categoriaAutonomo?: CategoriaA5;
288
259
  }
260
+ /** `componenteDeSociedad` (tipo `relacion` del WSDL): integrante de una sociedad monotributista. */
261
+ export interface ComponenteSociedadA5 {
262
+ idPersonaAsociada?: string;
263
+ apellidoPersonaAsociada?: string;
264
+ nombrePersonaAsociada?: string;
265
+ razonSocialPersonaAsociada?: string;
266
+ tipoComponente?: string;
267
+ ffRelacion?: string;
268
+ ffVencimiento?: string;
269
+ }
289
270
  export interface MonotributoA5 {
290
271
  impuestos: ImpuestoA5[];
291
272
  actividades: ActividadA5[];
292
273
  actividadMonotributista?: ActividadA5;
293
274
  categoria?: CategoriaA5;
275
+ /** Componentes de la sociedad monotributista (presente en el WSDL; el manual v3.5 lo da por no vigente). */
276
+ componenteDeSociedad?: ComponenteSociedadA5[];
294
277
  }
295
278
  export interface ErrorConstanciaA5 {
296
279
  /** Mensajes de error (ej: "La CUIT no está activa", constancia bloqueada, etc.) */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/llms.txt CHANGED
@@ -15,50 +15,65 @@ Requisitos: Node.js >= 18 (fetch nativo). Dual ESM + CommonJS.
15
15
  ```typescript
16
16
  import { ArcaPadron } from '@ramiidv/arca-padron';
17
17
 
18
+ // ArcaPadronConfig extends ArcaBaseConfig (@ramiidv/arca-common)
18
19
  const padron = new ArcaPadron({
19
20
  cert: string, // PEM X.509 certificate
20
- key: string, // PEM RSA private key
21
- cuit: string, // CUIT representada (ej: "20123456789")
21
+ key: string, // PEM private key
22
+ cuit: string | number, // CUIT representada (validated: check digit). Ej: "20123456786"
22
23
  production?: boolean, // default: false (homologacion)
23
- retries?: number, // default: 1
24
+ timeout?: number, // ms, default 30000
25
+ retries?: number, // default: 1 (transient errors only; SOAP Faults are never retried)
24
26
  retryDelayMs?: number, // default: 1000
27
+ tokenTTLMinutes?: number,
25
28
  onEvent?: (event: ArcaEvent) => void,
26
29
  ticketStorage?: TicketStorage, // persist WSAA tickets across restarts (recommended)
27
30
  clockOffsetMs?: number, // ARCA clock - local clock, ms. Default: 0
28
31
  autoClockSkew?: boolean, // default: true
32
+ loginErrorCooldownMs?: number,
33
+ fetch?: typeof fetch, // custom fetch (proxy, tests)
34
+ legacyTls?: 'auto' | 'never' | 'always',
29
35
  signal?: AbortSignal, // global cancellation
30
36
  wsaa?: WsaaClient, // shared WSAA client (e.g. arca.wsaa from arca-facturacion)
37
+ endpoints?: { wsaa?, a5?, a4?, a10?, a13?, a100? }, // override URLs
31
38
  });
32
39
  ```
33
40
 
34
41
  Every method accepts an optional last argument `{ signal?: AbortSignal }`.
42
+ CUITs are accepted with or without dashes ('20-11111111-2', '20111111112', 20111111112), validated locally (check digit; ArcaValidationError without calling ARCA) and sent normalized.
43
+ All Padron operations are read-only queries.
35
44
  Without `ticketStorage`, a restart loses the access ticket and WSAA rejects new logins until it expires (`ArcaTicketVigenteError`).
36
45
 
37
46
  ## Metodos principales
38
47
 
39
- ### getConstanciaInscripcion(cuit: string): Promise<PersonaA5>
40
- Constancia de inscripcion via ws_sr_constancia_inscripcion (getPersona_v2; replaces ws_sr_padron_a5, deprecated by ARCA). PersonaA5: idPersona, tipoPersona, nombre/apellido/razonSocial, estadoClave, domicilioFiscal, dependencia, caracterizacion[], regimenGeneral { impuestos, actividades, regimenes, categoriaAutonomo }, monotributo { impuestos, actividades, actividadMonotributista, categoria }, impuestos (both regimes), errorConstancia { error[] }, errorRegimenGeneral, errorMonotributo.
48
+ ### getConstanciaInscripcion(cuit): Promise<PersonaA5>
49
+ Constancia de inscripcion via ws_sr_constancia_inscripcion (getPersona_v2; replaces ws_sr_padron_a5, deprecated by ARCA). PersonaA5: idPersona, tipoPersona, nombre/apellido/razonSocial, estadoClave, domicilioFiscal, dependencia, caracterizacion[], regimenGeneral { impuestos, actividades, regimenes, categoriaAutonomo }, monotributo { impuestos, actividades, actividadMonotributista, categoria, componenteDeSociedad[] }, impuestos (both regimes), errorConstancia { error[] }, errorRegimenGeneral { error[], mensaje }, errorMonotributo { error[], mensaje }. Constancia-level problems are returned in those error fields, not thrown.
50
+
51
+ ### getConstanciasInscripcion(cuits[]): Promise<PersonaA5[]>
52
+ getPersonaList_v2: 1 to 250 CUITs per call. Non-existent CUITs come back as a PersonaA5 with errorConstancia.error = ['No existe persona con ese Id'].
41
53
 
42
54
  ### condicionIvaDesdePadron(persona: PersonaA5 | PersonaA4): { condicionIva: CondicionIva | null; motivo: string }
43
- Pure helper. Monotributo active (impuesto 20 or category) → MONOTRIBUTISTA (6), MONOTRIBUTO_SOCIAL (13) for categories 61/99/100, MONOTRIBUTO_INDEPENDIENTE_PROMOVIDO (16) by category description; IVA 30 active → RESPONSABLE_INSCRIPTO (1); IVA exento 32 → EXENTO (4); IVA no alcanzado 34 → IVA_NO_ALCANZADO (15); otherwise null with motivo (never assumes consumidor final). Use the result as `condicionIva` in @ramiidv/arca-facturacion.
55
+ Pure helper. Tax states: words from A4 manual TipoEstado (ACTIVO, ACTIVO EN TRAMITE, BAJA PROVISORIA, BAJA DEFINITIVA, EXENTO, EXENTO EN TRAMITE, NO APORTANTE) or SUPA ids (AC, EX, BP, BD, NA). Active = ACTIVO / ACTIVO EN TRAMITE. Monotributo (impuesto 20 active; category only if impuesto 20 is absent; impuesto 20 in BAJA never counts) → MONOTRIBUTISTA (6); categories 61/99/100/101-104 → MONOTRIBUTO_SOCIAL (13); category description "PROMOVID" → MONOTRIBUTO_INDEPENDIENTE_PROMOVIDO (16); category 98 (asociado cooperativa) → MONOTRIBUTISTA. IVA 30 active → RESPONSABLE_INSCRIPTO (1); IVA 30 EXENTO/EXENTO EN TRAMITE or impuesto 32 → EXENTO (4); impuesto 34 → IVA_NO_ALCANZADO (15). NO APORTANTE is NOT "no alcanzado". Otherwise null with motivo (never assumes consumidor final); errorRegimenGeneral/errorMonotributo are included in motivo. Use the result as `condicionIva` in @ramiidv/arca-facturacion.
56
+
57
+ ### getPersonaA13(cuit): Promise<PersonaA13>
58
+ Datos basicos via ws_sr_padron_a13 getPersona (domicilio[] with calle, numero, codigoPostal, estadoDomicilio...). Throws ArcaPadronServiceError reason 'inactiva' for inactive keys.
44
59
 
45
- ### getPersonaA13(cuit: string): Promise<PersonaA13>
46
- Datos basicos via ws_sr_padron_a13 (domicilio[] with calle, numero, codigoPostal, ...).
60
+ ### getPersonaA13V2(cuit): Promise<PersonaA13>
61
+ A13 getPersonaV2 (manual v1.4): also returns data for INACTIVE keys.
47
62
 
48
- ### getIdPersonaListByDocumento(documento: string): Promise<string[]>
49
- CUIT/CUIL list for a DNI via ws_sr_padron_a13.
63
+ ### getIdPersonaListByDocumento(documento): Promise<string[]>
64
+ CUIT/CUIL list for a document number via ws_sr_padron_a13. Accepts dots/spaces ('11.709.676'). Returns [] when ARCA reports none.
50
65
 
51
- ### getPersona(cuit: string): Promise<PersonaA4>
66
+ ### getPersona(cuit): Promise<PersonaA4>
52
67
  Datos completos del contribuyente via ws_sr_padron_a4. Incluye: domicilios, impuestos, actividades, regimenes, relaciones, categorias, emails, telefonos.
53
68
 
54
- ### getPersonaBasic(cuit: string): Promise<PersonaA10>
55
- Datos basicos del contribuyente via ws_sr_padron_a10. Incluye: datos generales y domicilios.
69
+ ### getPersonaBasic(cuit): Promise<PersonaA10>
70
+ Datos basicos del contribuyente via ws_sr_padron_a10. Incluye: datos generales, dependencia y domicilios.
56
71
 
57
72
  ### getParametros(collection: string): Promise<ParameterRecord[]>
58
- Tablas de parametros via ws_sr_padron_a100. Usa el enum CollectionName con valores SUPA.* prefijados. Colecciones: PROVINCIA (SUPA.E_PROVINCIA), TIPO_DOCUMENTO (SUPA.TIPO_DOCUMENTO), TIPO_DOMICILIO (SUPA.TIPO_DOMICILIO), TIPO_CLAVE (SUPA.TIPO_CLAVE_IDENTIFICACION), TIPO_EMPRESA_JURIDICA, TIPO_EMPRESA_JURIDICA_SUBGRUPO, TIPO_RELACION, TIPO_SUBTIPO_RELACION, TIPO_COMPONENTE_SOCIEDAD, TIPO_RELACION_COMPONENTE_SOC, TIPO_EMAIL, TIPO_TELEFONO, TIPO_RESIDENCIA, TIPO_DATO_ADICIONAL_DOMICILIO, ORGANISMO_INFORMANTE, ORGANISMO_CONTROL, PROVINCIA_SOCIEDAD_ORG, SEXO, CALLE, LOCALIDAD.
73
+ Tablas de parametros via ws_sr_padron_a100 (getParameterCollectionByName). id, descripcion and attribute values are returned exactly as sent by ARCA (xs:string: "10.50" stays "10.50"). Throws ArcaPadronError if parameterCollection is missing; an empty collection returns []. CollectionName enum (manual A100 v2.1): PROVINCIA (SUPA.E_PROVINCIA), TIPO_DOCUMENTO (SUPA.TIPO_DOCUMENTO), TIPO_DOMICILIO (SUPA.TIPO_DOMICILIO), TIPO_CLAVE (SUPA.TIPO_CLAVE_IDENTIFICACION), TIPO_EMPRESA_JURIDICA, TIPO_EMPRESA_JURIDICA_SUBGRUPO, TIPO_RELACION, TIPO_SUBTIPO_RELACION, TIPO_COMPONENTE_SOCIEDAD, TIPO_RELACION_COMPONENTE_SOC, TIPO_EMAIL, TIPO_TELEFONO, TIPO_RESIDENCIA, TIPO_DATO_ADICIONAL_DOMICILIO, ORGANISMO_INFORMANTE, ORGANISMO_CONTROL, PROVINCIA_SOCIEDAD_ORG, SEXO (E_SEXO), CALLE (PUC_PARAM.T_CALLE), LOCALIDAD (PUC_PARAM.T_LOCALIDAD), AUTONOMO_MONOTRIBUTO (SUPA.E_AUTONOMO_MONOTRIBUTO), REGIMEN (SUPA.E_REGIMEN), TIPO_REGIMEN (SUPA.TIPO_REGIMEN), CARACTERIZACION (SUPA.E_CARACTERIZACION), TIPO_ARCHIVO (SUPA.TIPO_ARCHIVO), ACTIVIDAD_RUBRO (SUPA.A_ACTIVIDAD_RUBRO), RUBRO_ACTIVIDAD (SUPA.E_RUBRO_ACTIVIDAD), ACTIVIDAD_OCUPACIONAL (SUPA.E_ACTIVIDAD_OCUPACIONAL).
59
74
 
60
- ### status(): Promise<{ a5, a4, a10, a13, a100 }>
61
- Health check de los servicios. No requiere autenticacion.
75
+ ### status(): Promise<PadronStatus>
76
+ Health check (dummy) of a5, a4, a10, a13, a100 in parallel with Promise.allSettled. Each value is PromiseSettledResult<ServerStatus>: `if (s.a4.status === 'fulfilled') s.a4.value.appserver`. No authentication.
62
77
 
63
78
  ## Tipos principales
64
79
 
@@ -129,7 +144,7 @@ interface ParameterRecord {
129
144
 
130
145
  interface ParameterAttribute {
131
146
  name: string;
132
- value: string;
147
+ value?: string; // exactly as sent by ARCA
133
148
  }
134
149
 
135
150
  interface ServerStatus {
@@ -142,21 +157,23 @@ interface ServerStatus {
142
157
  ## Errores
143
158
 
144
159
  All extend ArcaError (from @ramiidv/arca-common), have a stable `code`, and instanceof works across duplicated package copies:
145
- - ArcaPadronError
160
+ - ArcaValidationError: invalid CUIT/document (no request sent)
146
161
  - ArcaAuthError: WSAA authentication failures
147
162
  - ArcaTicketVigenteError (extends ArcaAuthError): WSAA already issued a valid TA not available in memory/storage
148
- - ArcaPadronServiceError: business errors from ARCA (has errors: {code: number, msg: string}[])
149
- - ArcaSoapError: HTTP/transport errors and SOAP Faults (statusCode?, faultCode?, faultString?, uncertain, aborted). "Persona inexistente" comes as a SOAP Fault.
163
+ - ArcaPadronServiceError (extends ArcaServiceError): business errors. ARCA reports them as SOAP Faults; known texts are converted with a typed `reason`: 'inexistente' ("La Clave (CUIT/CUIL) consultada es inexistente", "No existe persona con ese Id"), 'inactiva' ("... se encuentra INACTIVA"), 'id_invalido' ("El Id de la persona no es valido"), 'no_autorizado' (token/sign/cuitRepresentada errors), 'otro'. `errors[0].msg` has ARCA's text, `cause` is the original ArcaSoapError. Never retried.
164
+ - ArcaPadronError: ARCA response missing a mandatory element (e.g. personaReturn without persona).
165
+ - ArcaSoapError: HTTP/transport errors, timeouts, aborts and unrecognized SOAP Faults (statusCode?, faultCode?, faultString?, uncertain, aborted).
150
166
 
151
167
  ```typescript
152
- import { ArcaAuthError, ArcaPadronServiceError, ArcaSoapError } from '@ramiidv/arca-padron';
168
+ import { ArcaPadronServiceError, ArcaSoapError, ArcaValidationError } from '@ramiidv/arca-padron';
153
169
 
154
170
  try {
155
171
  await padron.getPersona(cuit);
156
172
  } catch (error) {
157
- if (error instanceof ArcaAuthError) { /* auth failure */ }
158
- if (error instanceof ArcaPadronServiceError) { /* business error, check error.errors */ }
159
- if (error instanceof ArcaSoapError) { /* HTTP/network error, check error.statusCode */ }
173
+ if (error instanceof ArcaValidationError) { /* bad CUIT */ }
174
+ else if (error instanceof ArcaPadronServiceError && error.reason === 'inexistente') { /* CUIT does not exist */ }
175
+ else if (error instanceof ArcaPadronServiceError) { /* other business error: error.reason, error.errors */ }
176
+ else if (error instanceof ArcaSoapError) { /* HTTP/network error, error.statusCode */ }
160
177
  }
161
178
  ```
162
179
 
@@ -169,16 +186,18 @@ Discriminated union types: auth:login, auth:cache-hit (source: memory|storage),
169
186
  - Provincia (0-24, Argentine provinces)
170
187
  - TipoDomicilio (FISCAL, LEGAL, REAL)
171
188
  - TipoPersona (FISICA, JURIDICA)
172
- - ImpuestoId (IVA_RESPONSABLE_INSCRIPTO=30, IVA_EXENTO=32, IVA_NO_ALCANZADO=34, MONOTRIBUTO=20, EMPLEADOR=301, GANANCIAS_PH=11, GANANCIAS_PJ=10, BIENES_PERSONALES=31). MONOTRIBUTO_SOCIAL=20 is deprecated (social monotributo is identified by category).
189
+ - ImpuestoId (GANANCIAS_PH=11, MONOTRIBUTO=20, MONOTRIBUTO_AUTONOMO=21, IVA_RESPONSABLE_INSCRIPTO=30, BIENES_PERSONALES=180, EMPLEADOR=301, AUTONOMOS=308 — from ARCA manuals; GANANCIAS_PJ=10, IVA_EXENTO=32, IVA_NO_ALCANZADO=34 are not in the padron manuals; IVA_NO_INSCRIPTO=33 deprecated). Social monotributo is identified by category, not by tax id.
190
+ - DocTipo (numeric WSFEv1 document codes, from common). TipoDocumento is a deprecated alias of DocTipo: it is NOT the padron `tipoDocumento` string ("DNI", "LC"...).
173
191
  - CondicionIva (re-exported from @ramiidv/arca-common)
174
- - CollectionName (PROVINCIA, TIPO_DOCUMENTO, TIPO_DOMICILIO, TIPO_CLAVE, TIPO_EMPRESA_JURIDICA, TIPO_EMPRESA_JURIDICA_SUBGRUPO, TIPO_RELACION, TIPO_SUBTIPO_RELACION, TIPO_COMPONENTE_SOCIEDAD, TIPO_RELACION_COMPONENTE_SOC, TIPO_EMAIL, TIPO_TELEFONO, TIPO_RESIDENCIA, TIPO_DATO_ADICIONAL_DOMICILIO, ORGANISMO_INFORMANTE, ORGANISMO_CONTROL, PROVINCIA_SOCIEDAD_ORG, SEXO, CALLE, LOCALIDAD)
192
+ - CollectionName (see getParametros)
175
193
 
176
194
  ## Clientes de bajo nivel
177
195
 
178
- Accesibles como propiedades publicas: padron.wsaa, padron.a5 (constancia), padron.a4, padron.a10, padron.a13, padron.a100.
196
+ Accesibles como propiedades publicas: padron.wsaa, padron.a5 (constancia: getPersona, getPersonaList), padron.a4, padron.a10, padron.a13 (getPersona, getPersonaV2, getIdPersonaListByDocumento), padron.a100. They take `auth: { Token, Sign, CuitRepresentada }` as first argument.
179
197
 
180
198
  ## Utilidades exportadas
181
199
 
182
200
  - ensureArray<T>(value): T[] - normaliza single/array SOAP responses
183
201
  - parseXml(xml): Record<string, unknown> - parse XML with CUIT-safe options
184
202
  - buildXml(obj): string - build XML from object
203
+ - checkServiceErrors: deprecated (Padron reports business errors as SOAP Faults)
package/package.json CHANGED
@@ -1,38 +1,34 @@
1
1
  {
2
2
  "name": "@ramiidv/arca-padron",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "description": "TypeScript SDK para los web services de Padrón de ARCA (ex AFIP) - Constancia de Inscripción, A4, A10, A13 y A100",
5
+ "author": "ramiidv",
6
+ "license": "MIT",
5
7
  "type": "module",
6
- "main": "./dist/cjs/index.js",
7
- "types": "./dist/cjs/index.d.ts",
8
+ "main": "./dist/index.js",
9
+ "types": "./dist/index.d.ts",
8
10
  "exports": {
9
11
  ".": {
10
- "import": {
11
- "types": "./dist/esm/index.d.ts",
12
- "default": "./dist/esm/index.js"
13
- },
14
- "require": {
15
- "types": "./dist/cjs/index.d.ts",
16
- "default": "./dist/cjs/index.js"
17
- }
12
+ "types": "./dist/index.d.ts",
13
+ "default": "./dist/index.js"
18
14
  },
19
15
  "./package.json": "./package.json"
20
16
  },
17
+ "sideEffects": false,
21
18
  "files": [
22
19
  "dist",
23
- "llms.txt",
24
- "LICENSE",
25
20
  "README.md",
26
- "CHANGELOG.md"
21
+ "LICENSE",
22
+ "CHANGELOG.md",
23
+ "llms.txt"
27
24
  ],
28
25
  "scripts": {
29
- "build": "tsc -p tsconfig.json && tsc -p tsconfig.cjs.json && node -e \"require('fs').writeFileSync('dist/cjs/package.json', JSON.stringify({ type: 'commonjs' }))\"",
26
+ "build": "tsc -p tsconfig.build.json",
30
27
  "clean": "rm -rf dist",
31
28
  "typecheck": "tsc --noEmit",
32
29
  "test": "vitest run",
33
30
  "test:watch": "vitest",
34
- "prepublishOnly": "npm run clean && npm run build && npm test && npm run test:smoke",
35
- "test:smoke": "node scripts/smoke.mjs ArcaPadron condicionIvaDesdePadron ArcaPadronServiceError ImpuestoId FileTicketStorage"
31
+ "lint:pkg": "publint --strict && attw --pack . --profile esm-only"
36
32
  },
37
33
  "keywords": [
38
34
  "arca",
@@ -43,30 +39,23 @@
43
39
  "typescript",
44
40
  "contribuyentes"
45
41
  ],
46
- "author": "ramiidv",
47
- "license": "MIT",
48
42
  "repository": {
49
43
  "type": "git",
50
- "url": "git+https://github.com/ramiidv/arca-padron.git"
44
+ "url": "git+https://github.com/ramiidv/arca-sdks.git",
45
+ "directory": "packages/padron"
51
46
  },
52
47
  "homepage": "https://arca-sdk.dev/padron",
53
48
  "bugs": {
54
- "url": "https://github.com/ramiidv/arca-padron/issues"
49
+ "url": "https://github.com/ramiidv/arca-sdks/issues"
55
50
  },
56
51
  "publishConfig": {
57
- "access": "public"
52
+ "access": "public",
53
+ "provenance": true
58
54
  },
59
55
  "engines": {
60
- "node": ">=18"
56
+ "node": ">=20.19.0"
61
57
  },
62
58
  "dependencies": {
63
- "@ramiidv/arca-common": "^0.3.0"
64
- },
65
- "devDependencies": {
66
- "@types/node": "^22.0.0",
67
- "typescript": "^5.7.0",
68
- "vitest": "^3.1.0"
69
- },
70
- "module": "./dist/esm/index.js",
71
- "sideEffects": false
59
+ "@ramiidv/arca-common": "^0.5.0"
60
+ }
72
61
  }
@@ -1,98 +0,0 @@
1
- import { WsaaClient } from '@ramiidv/arca-common';
2
- import type { CallOptions } from '@ramiidv/arca-common';
3
- import { PadronA4Client } from './padron-a4.js';
4
- import { PadronA5Client } from './padron-a5.js';
5
- import { PadronA10Client } from './padron-a10.js';
6
- import { PadronA13Client } from './padron-a13.js';
7
- import { PadronA100Client } from './padron-a100.js';
8
- import type { ArcaPadronConfig, ParameterRecord, PersonaA4, PersonaA5, PersonaA10, PersonaA13, ServerStatus } from './types.js';
9
- /**
10
- * Main orchestrator class for ARCA Padrón web services.
11
- *
12
- * Provides high-level methods that handle WSAA authentication automatically
13
- * and expose results from the Constancia de Inscripción (ex A5), A4 (full),
14
- * A10 (basic), A13 (basic) and A100 (parameters) web services.
15
- *
16
- * @example
17
- * ```ts
18
- * import { ArcaPadron, condicionIvaDesdePadron, FileTicketStorage } from '@ramiidv/arca-padron';
19
- * import { readFileSync } from 'fs';
20
- *
21
- * const client = new ArcaPadron({
22
- * cert: readFileSync('cert.pem', 'utf-8'),
23
- * key: readFileSync('key.pem', 'utf-8'),
24
- * cuit: '20123456789',
25
- * production: false,
26
- * ticketStorage: new FileTicketStorage('./.arca-tickets'),
27
- * });
28
- *
29
- * const persona = await client.getConstanciaInscripcion('30712345674');
30
- * const { condicionIva, motivo } = condicionIvaDesdePadron(persona);
31
- * ```
32
- */
33
- export declare class ArcaPadron {
34
- /** Low-level WSAA client for direct access (se puede compartir con arca-facturacion) */
35
- readonly wsaa: WsaaClient;
36
- /** Low-level Constancia de Inscripción (ex Padrón A5) client */
37
- readonly a5: PadronA5Client;
38
- /** Low-level Padrón A4 client for direct access */
39
- readonly a4: PadronA4Client;
40
- /** Low-level Padrón A10 client for direct access */
41
- readonly a10: PadronA10Client;
42
- /** Low-level Padrón A13 client for direct access */
43
- readonly a13: PadronA13Client;
44
- /** Low-level Padrón A100 client for direct access */
45
- readonly a100: PadronA100Client;
46
- private readonly cuit;
47
- private readonly signal?;
48
- constructor(config: ArcaPadronConfig);
49
- /**
50
- * Constancia de inscripción (ws_sr_constancia_inscripcion, ex Padrón A5):
51
- * datos generales, domicilio fiscal, impuestos del régimen general y
52
- * monotributo. Combinar con `condicionIvaDesdePadron` para facturar.
53
- * @param cuit - CUIT of the taxpayer to query
54
- */
55
- getConstanciaInscripcion(cuit: string, call?: CallOptions): Promise<PersonaA5>;
56
- /**
57
- * Get full taxpayer data (Padrón A4) for a given CUIT.
58
- * Authenticates automatically via WSAA.
59
- * @param cuit - CUIT of the taxpayer to query
60
- */
61
- getPersona(cuit: string, call?: CallOptions): Promise<PersonaA4>;
62
- /**
63
- * Get basic taxpayer data (Padrón A10) for a given CUIT.
64
- * Authenticates automatically via WSAA.
65
- * @param cuit - CUIT of the taxpayer to query
66
- */
67
- getPersonaBasic(cuit: string, call?: CallOptions): Promise<PersonaA10>;
68
- /**
69
- * Get basic taxpayer data (Padrón A13) for a given CUIT.
70
- * @param cuit - CUIT of the taxpayer to query
71
- */
72
- getPersonaA13(cuit: string, call?: CallOptions): Promise<PersonaA13>;
73
- /**
74
- * CUITs/CUILs asociados a un número de documento (Padrón A13).
75
- * @param documento - Número de documento (DNI)
76
- */
77
- getIdPersonaListByDocumento(documento: string, call?: CallOptions): Promise<string[]>;
78
- /**
79
- * Get a parameter table (Padrón A100) by collection name.
80
- * Authenticates automatically via WSAA.
81
- * @param collection - Name of the collection (e.g. CollectionName.PROVINCIA, CollectionName.TIPO_DOCUMENTO)
82
- */
83
- getParametros(collection: string, call?: CallOptions): Promise<ParameterRecord[]>;
84
- /**
85
- * Health check for the Padrón services.
86
- * Does not require authentication.
87
- */
88
- status(call?: CallOptions): Promise<{
89
- a5: ServerStatus;
90
- a4: ServerStatus;
91
- a10: ServerStatus;
92
- a13: ServerStatus;
93
- a100: ServerStatus;
94
- }>;
95
- private opts;
96
- private getAuth;
97
- }
98
- //# sourceMappingURL=arca-padron.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arca-padron.d.ts","sourceRoot":"","sources":["../../src/arca-padron.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAa,WAAW,EAAmB,MAAM,sBAAsB,CAAC;AAEpF,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,SAAS,EACT,UAAU,EACV,UAAU,EACV,YAAY,EAEb,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,UAAU;IACrB,wFAAwF;IACxF,SAAgB,IAAI,EAAE,UAAU,CAAC;IACjC,gEAAgE;IAChE,SAAgB,EAAE,EAAE,cAAc,CAAC;IACnC,mDAAmD;IACnD,SAAgB,EAAE,EAAE,cAAc,CAAC;IACnC,oDAAoD;IACpD,SAAgB,GAAG,EAAE,eAAe,CAAC;IACrC,oDAAoD;IACpD,SAAgB,GAAG,EAAE,eAAe,CAAC;IACrC,qDAAqD;IACrD,SAAgB,IAAI,EAAE,gBAAgB,CAAC;IAEvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAc;gBAE1B,MAAM,EAAE,gBAAgB;IA0CpC;;;;;OAKG;IACG,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;IAMpF;;;;OAIG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;IAMtE;;;;OAIG;IACG,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAM5E;;;OAGG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAM1E;;;OAGG;IACG,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAM3F;;;;OAIG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAMvF;;;OAGG;IACG,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;QACxC,EAAE,EAAE,YAAY,CAAC;QACjB,EAAE,EAAE,YAAY,CAAC;QACjB,GAAG,EAAE,YAAY,CAAC;QAClB,GAAG,EAAE,YAAY,CAAC;QAClB,IAAI,EAAE,YAAY,CAAC;KACpB,CAAC;IAgBF,OAAO,CAAC,IAAI;YAIE,OAAO;CAQtB"}