Para desarrolladores

Que tu sistema facture en ARCA, sin implementar ARCA

Tus clientes te piden facturación electrónica. En vez de pelearte con WSAA, certificados y XML, hacés un POST y te vuelve el CAE. Se integra en una tarde, en el lenguaje que uses.

Comprobantes con CAE y QR oficiales de ARCA · 5 facturas por mes gratis para desarrollar

// Tu sistema, cuando cobra una venta
await facturar({
  idempotencia: 'pedido-1234',
  doc: '20111111112',
  items: [{ descripcion: 'Plan mensual', importe: 45000 }],
})

Lo que no vas a tener que construir

ARCA no expone una API moderna: expone web services SOAP con firma digital. Esto es lo que hay que resolver para emitir un comprobante, y lo que ya está resuelto de este lado.

Integrando ARCA directo

  • Firmar un CSR y gestionar el certificado X.509 en ARCA
  • Login WSAA con CMS firmado y ticket que vence cada 12 horas
  • WSFE por SOAP: armar y parsear el XML de FECAESolicitar
  • Numeración correlativa propia, sin huecos ni repetidos
  • Reintentos cuando ARCA se cae (y se cae)
  • PDF con el QR según la RG 4892 y sus campos exactos
  • Notas de crédito con el comprobante asociado
  • Homologación primero, producción después, y mantenerlo cuando ARCA cambia

Integrando Tramitito

  • POST /api/v1/facturas con el monto y los items
  • Te vuelve el CAE, el número y la URL del PDF

Y el mantenimiento cuando ARCA cambia algo también corre por nuestra cuenta.

Tres pasos, una sola vez por cliente

Después es siempre el mismo request.

1 · Tu cliente crea su cuenta

Se registra con su CUIT y autoriza a Tramitito en ARCA. Son cinco minutos y lo hace él: su clave fiscal no pasa por tu sistema.

2 · Te pasa una clave

La genera desde su panel, en Claves de API. Una por integración y revocable cuando quiera, sin tocar las demás.

3 · Un POST por comprobante

Tu sistema llama a la API cuando cierra una venta. Volvés con el CAE, el número y la URL del PDF para guardar.

¿Querés probarlo antes de hablar con nadie? Creá tu propia cuenta gratis y tenés la API completa con 5 facturas por mes.

Así se ve emitir una factura

Sin SDK ni dependencias: es HTTP y JSON. Elegí el lenguaje que uses.

curl

curl -X POST https://tramitito.app/api/v1/facturas \
  -H "Authorization: Bearer tk_live_9f2a..." \
  -H "Content-Type: application/json" \
  -d '{
    "idempotencia": "pedido-1234",
    "doc": "20111111112",
    "items": [
      { "descripcion": "Plan mensual", "importe": 45000 }
    ]
  }'

Node.js

const r = await fetch('https://tramitito.app/api/v1/facturas', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.TRAMITITO_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    idempotencia: pedido.id,        // el id de TU sistema
    doc: cliente.cuit,              // sin doc: consumidor final
    items: pedido.lineas.map((l) => ({
      descripcion: l.nombre,
      importe: l.total,
    })),
  }),
});

// 202 = ARCA no responde: la factura ya existe y sale sola. No reintentes.
const { factura } = await r.json();
guardar(pedido.id, factura.cae, factura.urlPdf);

PHP

$ch = curl_init('https://tramitito.app/api/v1/facturas');
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => [
    'Authorization: Bearer ' . getenv('TRAMITITO_KEY'),
    'Content-Type: application/json',
  ],
  CURLOPT_POSTFIELDS => json_encode([
    'idempotencia' => $pedido->id,
    'doc' => $cliente->cuit,
    'items' => [
      ['descripcion' => 'Plan mensual', 'importe' => 45000],
    ],
  ]),
]);

$factura = json_decode(curl_exec($ch), true)['factura'];
// $factura['cae'], $factura['numero'], $factura['urlPdf']

Python

import os, requests

r = requests.post(
    "https://tramitito.app/api/v1/facturas",
    headers={"Authorization": f"Bearer {os.environ['TRAMITITO_KEY']}"},
    json={
        "idempotencia": pedido.id,
        "doc": cliente.cuit,
        "items": [{"descripcion": "Plan mensual", "importe": 45000}],
    },
    timeout=30,
)

# 202 = ARCA caído: queda en cola y se emite sola
factura = r.json()["factura"]

Respuesta

{
  "ok": true,
  "factura": {
    "id": "clx8y2m4k0001",
    "numero": 143,
    "cae": "75123456789012",
    "estado": "EMITIDA",
    "urlPdf": "https://tramitito.app/facturas/clx8y2m4k0001/pdf"
  },
  "repetida": false,
  "error": null
}

Los campos completos, los códigos de error y los demás endpoints —consultar, anular, buscar en el padrón— están en la documentación.

Lo que te ahorra en el día a día

No es solo emitir: es todo lo que sale mal cuando una factura fiscal depende de un servicio externo.

No manejás claves fiscales

Tu cliente autoriza a Tramitito en ARCA una sola vez. Su clave fiscal no pasa por tu sistema ni por el nuestro: no la guardás, no la pedís, no la custodiás.

Idempotencia de verdad

Mandás el id de tu pedido y listo: si tu job reintenta o el webhook llega dos veces, devuelve la factura que ya emitió en vez de emitir otra.

Si ARCA se cae, tu flujo no se rompe

Responde 202, la factura queda en cola y sale sola cuando el servicio vuelve. No tenés que escribir la lógica de reintentos.

A, B o C sin que la elijas

Sale de la condición fiscal de tu cliente cruzada con el documento del comprador. Monotributo emite C; responsable inscripto, A o B con el IVA discriminado.

El padrón, incluido

Con el DNI o el CUIT te devuelve nombre, condición frente al IVA y domicilio fiscal. Sirve para autocompletar tu checkout o tu alta de clientes.

El PDF lo servimos nosotros

Cada comprobante queda en una URL con su CAE y su QR. La guardás y se la pasás a tu cliente: no tenés que generar ni hostear nada.

Integrar es gratis. El plan lo paga quien factura

Cada comprobante sale a nombre de un CUIT, con su numeración y su delegación en ARCA. Por eso la cuenta es de tu cliente, no tuya.

Vos

  • Integrás una sola vez
  • Sin costo por integrar ni por request
  • Reusás el mismo código en cada cliente
  • Cobrás tu desarrollo como siempre

Tu cliente

  • Tiene su cuenta con su CUIT
  • Hace la delegación en ARCA, una vez
  • Paga su plan desde $9.900 por mes
  • Le sirve también fuera de tu sistema: WhatsApp, panel y Excel

¿Lo vas a conectar para varios clientes? Escribinos y lo vemos juntos: queremos que el alta de cada uno te cueste lo menos posible.

Hablar con nosotros

Dónde se usa

Sistemas de gestión

ERPs y software administrativo donde la factura es el final del circuito de venta.

Puntos de venta

POS de mostrador: cobrás y el ticket sale con CAE, sin pasar por la web de ARCA.

SaaS verticales

Turnos, gimnasios, alquileres, escuelas: cada cobro del mes se factura solo.

Agencias y freelancers

Lo integrás una vez y lo repetís en cada cliente que te pide facturación.

Si es un ecommerce sobre Tiendanube, Shopify o WooCommerce, hay conexiones que no necesitan código: mirá la página de tiendas.

Los planes que paga tu cliente

Catorce días de prueba, sin permanencia y sin costo por factura emitida. La API está en todos, incluido el Gratis, para que puedas desarrollar.

Gratis

$0

Para desarrollar la integración

  • 5 facturas por mes
  • La API completa, sin recortes
  • PDF con CAE y QR
  • Panel web y bot de WhatsApp
Probar gratis
El más elegido

Completo

$9.900por mes $8.250por mes

Facturado $99.000 una vez al año

El plan de la mayoría

  • Facturas ilimitadas
  • 1 sistema conectado + API
  • Notas de crédito por API
  • PDF sin marca de Tramitito
Elegir Completo

Pro

$16.900por mes $14.083por mes

Facturado $169.000 una vez al año

Varias marcas o sucursales

  • Todo lo del Completo
  • Conexiones ilimitadas
  • Diseño de factura propio
  • Soporte prioritario
Elegir Pro

¿Tu cliente es contador o factura solo servicios? Mirá las otras listas.

Preguntas

¿Cuánto me lleva integrarlo?

Una tarde. Son endpoints REST con JSON y autenticación por Bearer token: emitir es un POST y la respuesta ya trae el CAE y el link al PDF. La referencia completa, con los campos y los códigos de error, está en /api-facturacion.

¿Cuánto me cuesta a mí, el desarrollador?

Nada. Integrar no se cobra y no hay fee por request. El plan lo paga cada cliente tuyo que factura, desde $9.900 por mes, porque la factura sale a nombre de su CUIT. Vos cobrás tu desarrollo aparte, como con cualquier otra integración.

¿Puedo usar una sola cuenta para todos mis clientes?

No, y es a propósito: cada comprobante sale a nombre de un CUIT, con la numeración de su punto de venta y con la delegación que ese contribuyente le dio a Tramitito en ARCA. Mezclarlos sería emitir facturas de uno a nombre de otro. Cada cliente tiene su cuenta y su clave; vos integrás una sola vez y lo repetís. Si vas a conectar varios, escribinos y lo vemos juntos.

¿Necesito la clave fiscal de mi cliente?

Nunca. Tu cliente entra a ARCA con su clave y autoriza al CUIT 23-94240681-9 (Tramitito) en el Administrador de Relaciones, para el servicio de Facturación Electrónica. Es un trámite de una vez y de cinco minutos. Su clave fiscal no pasa por tu sistema ni por el nuestro.

¿Hay entorno de pruebas?

La cuenta Gratis te da 5 facturas por mes con la API completa, así desarrollás sin pagar. Son comprobantes reales de ARCA, así que probá con montos chicos y anulalos con su nota de crédito. Si necesitás un entorno que no emita en ARCA, escribinos y te lo habilitamos.

¿Y si mi cliente factura también por fuera del sistema?

Todo va a la misma cuenta y al mismo historial: lo que emitís por API, lo que él emite por WhatsApp, por el panel o subiendo un Excel. La numeración es una sola y el tope de la categoría se controla con el total.

¿Qué pasa con las devoluciones?

ARCA no permite borrar un comprobante con CAE: se emite una nota de crédito que lo anula, con POST /api/v1/facturas/{id}/nota-credito. No cuenta contra el tope mensual del plan.

¿Hay límites de uso?

120 pedidos por minuto (30 para el padrón), hasta 10 claves activas por cuenta y 50 items por factura. El volumen de facturas lo define el plan del cliente: los pagos son ilimitados.

Leé la doc y probalo hoy

Creá una cuenta gratis, generá tu clave y emití tu primera factura de prueba.