API de Facturación Electrónica para Argentina
/health - Health check/api/accounts - Listar cuentas/api/accounts - Agregar cuenta/api/invoices/types - Tipos de comprobante/api/invoices/create - Crear factura/api/invoices/create-with-pdf - Crear factura con PDFAbrí una terminal y ejecutá:
# Crear directorio para los certificados
mkdir -p ~/afip-certs && cd ~/afip-certs
# Generar clave privada (GUARDAR ESTE ARCHIVO - ES SECRETO)
openssl genrsa -out private.key 2048
# Generar CSR (Certificate Signing Request)
openssl req -new -key private.key -out request.csr \
-subj "/C=AR/O=TU_RAZON_SOCIAL/CN=TU_NOMBRE/serialNumber=CUIT TU_CUIT"
Ejemplo real:
openssl req -new -key private.key -out request.csr \
-subj "/C=AR/O=BAUX SRL/CN=Santiago Herzfeld/serialNumber=CUIT 20123456789"
Completar el formulario:
| Campo | Valor |
|---|---|
| Alias | Un nombre para identificarlo (ej: facturacion-api) |
| Nombre del DN | Tu razón social o nombre |
| CUIT representado | Tu CUIT (sin guiones) |
| Tipo | Seleccionar "CSR" |
En el campo de texto grande, pegar el contenido del archivo request.csr:
cat request.csr
certificate.crt# Estos dos comandos deben dar el mismo hash
openssl rsa -noout -modulus -in private.key | openssl md5
openssl x509 -noout -modulus -in certificate.crt | openssl md5
curl -X POST https://afip.baux.ar/api/accounts \
-H "Content-Type: application/json" \
-d '{
"name": "mi-empresa",
"cuit": "20123456789",
"certPath": "./certs/certificate.crt",
"keyPath": "./certs/private.key",
"businessName": "MI EMPRESA SRL",
"address": "Av. Ejemplo 123, CABA",
"ivaCondition": "Responsable Inscripto",
"startDate": "01/01/2020",
"production": false
}'
| ID | Tipo | Uso |
|---|---|---|
| 1 | Factura A | Ventas a Responsable Inscripto |
| 6 | Factura B | Ventas a Consumidor Final (por RI) |
| 11 | Factura C | Ventas por Monotributista |
| ID | Alícuota |
|---|---|
| 3 | 0% |
| 4 | 10.5% |
| 5 | 21% |
| 6 | 27% |
| ID | Tipo |
|---|---|
| 80 | CUIT |
| 86 | CUIL |
| 96 | DNI |
| 99 | Consumidor Final |
private.keychmod 600 private.key