Skip to main content

Facturación electrónica para TypeScript

El SDK para emitir facturas, notas de crédito y notas de débito con CAE. Sin SOAP, sin XML y sin intermediarios entre tu servidor y ARCA.

emitir.ts
Tu Negocio
Av. Corrientes 1234
CABA - CP: 1043
Responsable Monotributo
CCód. 11
Factura
Original
Nº 00003-00000142
Fecha de Emisión: 26/09/2026
CUIT: 20-12345678-6
Ingresos Brutos: 20-12345678-6
Inicio de Actividades: 01/03/2024
Razón social: Consumidor Final
Condición de IVA: Consumidor Final
Condición de venta: Contado
Código
Descripción
Cant.
Precio Unit.
Subtotal
0012
Yerba mate 1 kg
2
9.000,00
18.000,00
0450
Termo de acero 1 L
1
34.500,00
34.500,00
Subtotal
Total
Monto abonado
Observaciones:
Venta en mostrador
QR del comprobante
CAE Nº: 76391234567890
Fecha de Vto. de CAE: 06/10/2026

Lo resaltado sale de resultado.voucher. El resto del PDF lo arma tu sistema con los datos de la venta.

El cliente lee el CUIT, el certificado, la clave y el entorno de las variables ARCA_*. Para emitir no hace falta base de datos ni ningún servicio externo.

Cuatro resultados, ninguno escondido

Los resultados fiscales se devuelven, no se lanzan, y tu código trata los cuatro. Los errores de input y de configuración sí se lanzan, antes de escribir en ARCA.

authorized

ARCA autorizó el comprobante. Guardá el número, el CAE, su vencimiento y el QR.

rejected

ARCA lo rechazó de forma definitiva. Revisá los motivos. No cambies el input ligado a la clave.

indeterminate

Todavía no se puede demostrar si ARCA lo autorizó. Conciliá antes de reintentar.

conflict

El número reservado pertenece a otro comprobante. Detené el flujo e investigá.

indeterminate existe porque ARCA no recibe una clave de idempotencia. Si la conexión se corta después del envío, nadie sabe si el comprobante quedó emitido. Cómo evitar duplicados

Emití tu primera factura hoy

El inicio rápido te lleva de cero a un CAE en homologación.

facturas está antes de la versión 1.0. Fijá la versión exacta y revisá el changelog antes de actualizar.