WSCDC

ARCA CDC

@ramiidv/arca-cdc@0.8.2

SDK para verificar si un comprobante, propio o de un tercero, fue autorizado por ARCA mediante CAE, CAI o CAEA. Todas las operaciones son consultas: no modifican nada y se pueden reintentar.

npm install @ramiidv/arca-cdc@0.8.2
TypeScript
import { readFileSync } from "node:fs";
import { ArcaCdc } from "@ramiidv/arca-cdc";

const cdc = new ArcaCdc({
  cuit: 20123456786, // CUIT representada (quien consulta)
  // certs/ en el .gitignore: nunca subas la clave
  cert: readFileSync("./certs/certificado.crt", "utf-8"),
  key: readFileSync("./certs/clave.key", "utf-8"),
});

const r = await cdc.constatar({
  cbteModo: "CAE",          // CAE | CAI | CAEA
  cuitEmisor: 30712345671,  // quien emitió el comprobante
  ptoVta: 1,
  cbteTipo: 1,              // Factura A
  cbteNro: 150,
  cbteFch: "20260315",
  impTotal: 12100,
  codAutorizacion: "73429843294823",
  docTipoReceptor: 80,
  docNroReceptor: 20123456786,
});

console.log(r.resultado, r.observaciones); // "A" constatado

Características

Qué incluye CDC

Constatación

constatar con cbteModo (CAE, CAI o CAEA), cuitEmisor, punto de venta, tipo, número, fecha, importe y código de autorización.

Rechazo o error

resultado A/R con observaciones. Los errores de formato, autenticación o infraestructura se lanzan como ArcaServiceError: no parecen un rechazo.

Validación local

CUIT con dígito verificador, rangos, fecha existente desde 2013, receptor con CUIT en comprobantes A y MiPyME, y código de autorización de 14 dígitos antes de llamar a ARCA.

Tablas de referencia

Modalidades, tipos de comprobante, tipos de documento y tipos de opcionales. status() sin autenticación.

Producción con TLS legacy

El host de producción negocia DH de 1024 bits y funciona con el fallback TLS legacy de arca-common.

Instalá @ramiidv/arca-cdc

TypeScript nativo, Node.js 22.12+, sin librerías SOAP: las únicas dependencias externas son fast-xml-parser y node-forge (vía arca-common). Gratis, open source, MIT.