SIRE

ARCA SIRE

@ramiidv/arca-sire@0.7.2

SDK para el web service SIRE de ARCA: emisión y anulación de certificados de retención electrónicos de IVA (formulario C2005, RG 4523/2019). Cubre las tres operaciones del servicio: emitirCertificado, anularCertificado y status.

npm install @ramiidv/arca-sire@0.7.2
TypeScript
import { readFileSync } from "node:fs";
import { ArcaSire, Condicion, TipoComprobante } from "@ramiidv/arca-sire";

const sire = new ArcaSire({
  cuit: "20123456786", // CUIT del agente de retención
  // certs/ en el .gitignore: nunca subas la clave
  cert: readFileSync("./certs/certificado.crt", "utf-8"),
  key: readFileSync("./certs/clave.key", "utf-8"),
});

const { certificadoNro, codigoSeguridad } = await sire.emitirCertificado({
  codigoTrazabilidad: "OP-2026-000123", // tu identificador (opcional)
  regimen: 831,
  condicion: Condicion.INSCRIPTO,
  fechaRetencion: "2026-10-30T11:16:00", // hora de Argentina
  imposibilidadRetencion: false,
  importeRetencion: 2100,
  importeBaseCalculo: 20000,
  regimenExclusion: false,
  tipoComprobante: TipoComprobante.FACTURA,
  fechaComprobante: "2026-10-30",
  numeroComprobante: "00003-00008497",
  importeComprobante: 24200,
  cuitRetenido: "30500010912",
});

Características

Qué incluye SIRE

Emitir certificado

emitirCertificado devuelve certificadoNro y codigoSeguridad para imprimir el certificado desde el micrositio SIRE.

Anular certificado

anularCertificado con el motivo de la tabla del manual (MotivoAnulacion).

Estado del servicio

status() consulta appserver, dbserver y authserver sin autenticación, y devuelve el ambiente al que apunta.

Validación local

Obligatorios, condicionales, longitudes, reglas de fechas del manual, número de comprobante y CUIT con dígito verificador, todo junto en un ArcaValidationError.

Emisión segura

emitir y anular nunca se reintentan: un rechazo de SIRE lanza ArcaSireServiceError (un ArcaRechazoError) y los errores de transporte quedan como uncertain (incierto: no se sabe si ARCA procesó la operación).

Tablas del manual

TipoComprobante, Condicion, MotivoAnulacion y REGIMENES_CON_CONDICION. SIRE no tiene operaciones de consulta.

Instalá @ramiidv/arca-sire

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.