Open Source · MIT · Gratis
Facturación
electrónica
Argentina
SDK en TypeScript para interactuar con los Web Services de ARCA (ex AFIP). Todos los tipos de comprobante. Cálculo automático de IVA y totales. Una línea para instalar, pocas más para facturar.
npm install @ramiidv/arca-sdkimport { Arca, CbteTipo, IvaTipo } from "@ramiidv/arca-sdk";
const arca = new Arca({
cuit: 20123456789,
cert: fs.readFileSync("./cert.crt", "utf-8"),
key: fs.readFileSync("./key.key", "utf-8"),
});
const result = await arca.facturar({
ptoVta: 1,
cbteTipo: CbteTipo.FACTURA_B,
items: [{ neto: 1000, iva: IvaTipo.IVA_21 }],
});
console.log(result.cae); // CAE autorizado
console.log(result.cbteNro); // Número de comprobanteCaracterísticas
Todo lo que necesitás para facturar
Una API simplificada que abstrae la complejidad de WSFE, WSFEX y WSAA. TypeScript nativo, errores tipados, y cero dependencias innecesarias.
Cálculo automático
IVA, totales, numeración y fecha se calculan automáticamente. Solo definí los items y el SDK hace el resto.
Todos los comprobantes
Facturas A, B, C, E, M. Notas de Crédito y Débito. Recibos. FCE MiPyME. Exportación WSFEX.
Type-safe
TypeScript nativo con enums tipados para comprobantes, IVA, documentos, monedas y más. Errores específicos para catch granular.
Retry automático
Reintentos con backoff exponencial en errores transitorios (timeout, HTTP 5xx). Sin reintentar errores de negocio.
WSFE + WSFEX + Padrón
Facturación nacional, exportación y consulta de contribuyentes. Todo desde una sola instancia.
Eventos y logging
Sistema de eventos para monitoreo: auth, requests, retries, errores. Integrá con tu logger o métricas.
Ejemplos
Pocas líneas, todo el poder
El SDK infiere tipos de comprobante, calcula totales y maneja la autenticación automáticamente.
Nota de Crédito
// El tipo de NC se infiere del comprobante original
const nc = await arca.notaCredito({
ptoVta: 1,
comprobanteOriginal: {
tipo: CbteTipo.FACTURA_B,
ptoVta: 1,
nro: 150,
},
items: [{ neto: 100, iva: IvaTipo.IVA_21 }],
});Factura de Exportación
const result = await arca.facturarExpo({
ptoVta: 1,
cbteTipo: CbteTipo.FACTURA_E,
tipoExpo: 1,
pais: 203,
cliente: {
nombre: "ACME Corp",
cuitPais: 50000000016,
domicilio: "123 Main St, New York",
idImpositivo: "12-3456789",
},
moneda: "DOL",
cotizacion: 1200,
items: [{
codigo: "SKU001",
descripcion: "Widget",
cantidad: 100,
unidad: 7,
precioUnitario: 10,
}],
});Comprobantes
Todos los tipos de comprobante
Facturas, notas de crédito/débito, recibos y comprobantes especiales. Cada uno con sus validaciones.
Factura, Nota de Crédito, Nota de Débito, Recibo
Factura, Nota de Crédito, Nota de Débito, Recibo
Factura, Nota de Crédito, Nota de Débito, Recibo
Factura, Nota de Crédito, Nota de Débito
Factura, Nota de Crédito, Nota de Débito, Recibo
Factura, Nota de Crédito, Nota de Débito, Recibo
+ Comprobantes RG 1415, Liquidaciones, Compra de bienes usados y más. Ver documentación completa.
Full-Stack
También como aplicación web
ARCA Server es un sistema completo de facturación con frontend React, API REST, PostgreSQL, dashboard, gestión de clientes y consultas a AFIP. Listo para deploy con Docker Compose.
Stack
Express 5, React 19, Prisma, PostgreSQL
Seguridad
Helmet, JWT, API keys hasheadas, rate limiting
Deploy
Docker Compose con Nginx
Empezá a facturar hoy
Instalá el SDK, conectá tu certificado de ARCA y emití tu primera factura en minutos. Gratis, open source, MIT.