API de Facturación Electrónica ARCA
NanoFactura ofrece una API REST para emitir comprobantes electrónicos de ARCA (ex AFIP) desde tu propio sistema. Mandás un JSON con el cliente y los ítems, y recibís el CAE en la misma respuesta.
Una sola llamada reemplaza todo el trabajo de integrarte por tu cuenta: firma de certificados, renovación de tokens, armado del XML, protocolo SOAP, numeración correlativa, cálculos de totales, IVA, generación del PDF y envío por email.
- curl
- JavaScript
- PHP
- Python
curl -X POST https://nanofactura.com/api/mi-empresa/invoices \
-H "Authorization: Bearer PROD_tu_api_key" \
-H "Content-Type: application/json" \
-d '{
"idempotency": "venta-8842-11-1",
"posNumber": 1,
"voucherType": 11,
"concept": 1,
"voucherDate": "20260811",
"customer": { "docType": 99, "docNumber": "0", "name": "Consumidor Final", "taxType": 5 },
"items": [{ "description": "Servicio de consultoría", "quantity": 1, "price": 50000 }]
}'
const res = await fetch('https://nanofactura.com/api/mi-empresa/invoices', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.NANOFACTURA_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
idempotency: 'venta-8842-11-1',
posNumber: 1,
voucherType: 11,
concept: 1,
voucherDate: '20260811',
customer: { docType: 99, docNumber: '0', name: 'Consumidor Final', taxType: 5 },
items: [{ description: 'Servicio de consultoría', quantity: 1, price: 50000 }],
}),
})
const data = await res.json()
console.log(data.result.cae)
$ch = curl_init('https://nanofactura.com/api/mi-empresa/invoices');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('NANOFACTURA_API_KEY'),
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'idempotency' => 'venta-8842-11-1',
'posNumber' => 1,
'voucherType' => 11,
'concept' => 1,
'voucherDate' => '20260811',
'customer' => ['docType' => 99, 'docNumber' => '0', 'name' => 'Consumidor Final', 'taxType' => 5],
'items' => [['description' => 'Servicio de consultoría', 'quantity' => 1, 'price' => 50000]],
], JSON_UNESCAPED_UNICODE),
]);
$data = json_decode(curl_exec($ch), true);
echo $data['result']['cae'];
import os, requests
response = requests.post(
"https://nanofactura.com/api/mi-empresa/invoices",
headers={"Authorization": f"Bearer {os.environ['NANOFACTURA_API_KEY']}"},
json={
"idempotency": "venta-8842-11-1",
"posNumber": 1,
"voucherType": 11,
"concept": 1,
"voucherDate": "20260811",
"customer": {"docType": 99, "docNumber": "0", "name": "Consumidor Final", "taxType": 5},
"items": [{"description": "Servicio de consultoría", "quantity": 1, "price": 50000}],
},
timeout=30,
)
print(response.json()["result"]["cae"])
Y la respuesta, en cualquiera de los cuatro:
{ "ok": true, "result": { "id": 1485, "voucherNumber": 45, "cae": "76251489623547", "totalAmount": 50000 } }
Implementala con tu agente de IA
Pegá esto en Claude Code, Cursor, Antigravity, Copilot o el agente que uses:
Implementá la emisión de facturas electrónicas de ARCA en este proyecto.
Leé primero la documentación completa de la API:
https://asistentefacturaelectronica.com/ayuda/api/llms-full.txt
Ejemplos de referencia en JavaScript, PHP y Python:
https://github.com/nanofactura/api-facturacion-electronica-ejemplos
Mi API key está en la variable de entorno NANOFACTURA_API_KEY.
Empezá verificando la conexión con GET /:id-empresa/api-keys/test.
Cada página tiene también su versión en Markdown crudo agregando .md a la URL: por ejemplo /ayuda/api/emitir-comprobante.md. Y el índice del sitio completo está en /ayuda/llms.txt.
Cómo se integra
Tres pasos, una sola vez:
- Vinculá tu certificado con ARCA — generás el pedido de certificado desde la app, lo tramitás en el portal de ARCA y lo subís. Es el paso que autoriza a NanoFactura a facturar en tu nombre.
- Configurá tus puntos de venta — los das de alta en ARCA y en NanoFactura.
- Creá tu API Key — el prefijo de la clave decide si facturás contra homologación (pruebas) o producción (fiscal).
Después, para emitir un comprobante es un POST.
👉 ¿Vas con apuro? Andá directo a Primeros pasos: primera factura de prueba en cinco minutos.
Qué resuelve por vos
| PDF con logo y email | La plantilla PDF de los comprobantes es configurable en colores, tipografías, logo, campos personalizados. Se puede enviar al cliente por mail sin que tengas que conectar otros servicios. |
| 1 CUIT, Varios negocios | Podés configurar cada punto de venta con su propio nombre de fantasía y logo. Útil si tenés varias unidades comerciales bajo mismo CUIT. |
| Múltiples CUIT | Generá una empresa Premium por cada CUIT y facturá con la API sin problemas para varios CUIT. |
| Cambios de normativa | Cuando ARCA cambia algo, lo actualizamos nosotros. Tu código no se toca. |
| Cálculo de importes | ARCA Es quisquillosa. Mandás cantidad, precio y alícuota; los netos, el IVA y los totales los calcula la API con el redondeo que exige ARCA. |
| Emisión síncrona | Pedís el comprobante y obtenés la autorización de ARCA (CAE) en la misma respuesta, en 1 a 3 segundos. |
| Almacenamiento de comprobantes | Guardamos tus PDF y toda la infomración de de manera segura por 5 años. Accedés cuando quieras. Tu información siempre es tuya. |
| Todo REST | Nada de pelear con SOAP ni XML. Conectate con el lenguaje de programación de tu proyecto |
Sobre NanoFactura y Asistente Factura Electrónica
Son dos productos de la misma plataforma, y conviene no confundirlos:
- NanoFactura es el proveedor de la API. Es lo que documenta esta sección y lo que usás para facturar desde tu sistema.
- Asistente Factura Electrónica es la extensión de Chrome de NanoFactura, para quienes facturan a mano en Comprobantes en Línea de ARCA.
Con tu misma cuenta/suscripción ambos acceden a tu misma empresa y mismo listado de comprobantes. Podés usar los dos a la vez: lo que emitís por API lo ves en la app web, y al revés.
Información general
| URL base | https://nanofactura.com/api |
| Formato | JSON en pedido y respuesta |
| Autenticación | Authorization: Bearer <API_KEY> |
| Entornos | Homologación (TEST_) y producción (PROD_), según el prefijo de la clave |
| Requisito | Empresa con plan Premium (o los 14 días de prueba gratuita) — ver precios |
| Contacto | [email protected] |
Todas las rutas cuelgan de /:id-empresa, el código de tu empresa. Si tu empresa es mi-empresa, emitís contra https://nanofactura.com/api/mi-empresa/invoices.
¿Dudas antes de arrancar? Mirá las preguntas frecuentes.