SDK para consumir y usar los Web Services de ARCA (ex AFIP)
Ver documentacion completa
Inspirado en afip.js
Reportar un bug
Este proyecto ha evolucionado de
afip.tsa Arca SDK.El repositorio ha sido renombrado y el paquete ahora se publica como
@arcasdk/core.¿Cómo seguir usando la versión anterior? El código original de
afip.tsse encuentra preservado en la ramaafip.tsy el paquete sigue disponible en npm comoafip.ts.Todo el desarrollo futuro continuará en la rama
mainbajo el nuevo nombre.
| Paquete | Descripción | |
|---|---|---|
@arcasdk/core |
SDK para Web Services de ARCA: facturación electrónica, padrones, FCE | |
@arcasdk/pdf |
Generador de PDFs para comprobantes electrónicos (A, B, C, E, M) |
# Core (Web Services)
npm i @arcasdk/core
# PDF (generador de comprobantes)
npm i @arcasdk/pdfimport { Arca } from "@arcasdk/core";
const arca: Arca = new Arca({
key: "private_key_content",
cert: "crt_content",
cuit: 20111111112,
});
const date = new Date(Date.now() - new Date().getTimezoneOffset() * 60000).toISOString().split("T")[0];
const payload = {
CantReg: 1, // Cantidad de comprobantes a registrar
PtoVta: 1, // Punto de venta
CbteTipo: 6, // Tipo de comprobante (ver tipos disponibles)
Concepto: 1, // Concepto del Comprobante: (1)Productos, (2)Servicios, (3)Productos y Servicios
DocTipo: 99, // Tipo de documento del comprador (99 consumidor final, ver tipos disponibles)
DocNro: 0, // Número de documento del comprador (0 consumidor final)
CbteDesde: 1, // Número de comprobante o numero del primer comprobante en caso de ser mas de uno
CbteHasta: 1, // Número de comprobante o numero del último comprobante en caso de ser mas de uno
CbteFch: date.replace(/-/g, ""), // (Opcional) Fecha del comprobante (yyyymmdd) o fecha actual si es nulo
ImpTotal: 121, // Importe total del comprobante
ImpTotConc: 0, // Importe neto no gravado
ImpNeto: 100, // Importe neto gravado
ImpOpEx: 0, // Importe exento de IVA
ImpIVA: 21, //Importe total de IVA
ImpTrib: 0, //Importe total de tributos
MonId: "PES", //Tipo de moneda usada en el comprobante (ver tipos disponibles)('PES' para pesos argentinos)
MonCotiz: 1, // Cotización de la moneda usada (1 para pesos argentinos)
CondicionIVAReceptorId: 1, // Condición de IVA del receptor
Iva: [
// (Opcional) Alícuotas asociadas al comprobante
{
Id: 5, // Id del tipo de IVA (5 para 21%)(ver tipos disponibles)
BaseImp: 100, // Base imponible
Importe: 21, // Importe
},
],
};
const invoice = await arca.electronicBillingService.createInvoice(payload);import { InvoicePdfGenerator } from "@arcasdk/pdf";
const generator = new InvoicePdfGenerator();
const pdfBuffer = await generator.generate(invoiceData);Ver la documentación de
@arcasdk/pdfpara más detalles.
- 100% TypeScript
- Soporte Serverless — manejo aislado de tokens de autenticación
- Múltiples engines SOAP (Node.js, Universal, custom)
Certificados emitidos por ARCA para homologación o producción:
Para más documentación, ir al sitio oficial.
Nos encantaría que contribuyas a mejorar arcasdk. Para una guía completa de desarrollo, ver CONTRIBUTING.md que incluye:
Este proyecto esta bajo la licencia MIT - Ver LICENSE para mas detalles.
