Factura SDK
Factura C

Factura C

Cómo emitir una Factura C con Factura SDK: la solicitud completa de un monotributista, la respuesta con el CAE y las variantes más comunes.


La Factura C la emiten los monotributistas, los sujetos exentos, los no alcanzados y los no categorizados, a cualquier receptor. No discrimina IVA: el importe va entero en amounts.net, sin amounts.vat ni vat_items.

Necesitás un emisor con alguna de esas condiciones frente al IVA y verificado, y un webhook para recibir el resultado. El detalle de cada campo está en la referencia de comprobantes.

Emitir una Factura C

Una Factura C de $50.000 por un servicio de octubre, a una empresa:

Solicitud
const response = await fetch('https://app.afipsdk.com/api/v1/invoices', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer <ACCESS_TOKEN>',
    'Content-Type': 'application/json',
    'Idempotency-Key': 'venta-0003'
  },
  body: JSON.stringify({
    issuer_cuit: '20111111112',
    invoice_type: 11, // Factura C
    concept: 2, // 2 servicios: lleva service_dates
    service_dates: { // Obligatorio con concept 2 o 3
      from: '2026-10-01',
      to: '2026-10-31',
      due: '2026-11-10'
    },
    receiver: {
      doc_type: 80, // 80 CUIT, 96 DNI, 99 sin identificar
      doc_number: '30715000004',
      vat_condition: 1, // Cualquier condición frente al IVA
      name: 'Comercio del Centro S.R.L.',
      address: 'Av. Corrientes 1234, CABA',
      email: '[email protected]' // Opcional: le llega el PDF al aprobarse
    },
    amounts: {
      net: 50000,
      total: 50000
    },
    items: [ // Detalle impreso, sin IVA
      { description: 'Servicio de diseño, octubre 2026', quantity: 1, unit_price: 50000, subtotal: 50000 }
    ],
    sale_condition: 'Transferencia bancaria'
  })
});

const invoice = await response.json();
  • El receptor puede tener cualquier condición frente al IVA, identificado con CUIT, DNI u otro documento, o sin identificar (doc_type 99 y doc_number 0).
  • No hay IVA: amounts.vat no se manda, no hay vat_items y los ítems no llevan vat_rate. amounts.net es el total.
  • Con concept 2 o 3, service_dates lleva el período del servicio y el vencimiento del pago.

Respuesta

Factura SDK responde 202 con el comprobante en queued y lo autoriza en segundo plano. Cuando ARCA lo aprueba, tu webhook recibe el evento invoice.approved con el comprobante: el número asignado, el CAE y la URL pública del PDF.

{
  "event_id": "evt_9f1e2d3c4b5a69788a9b0c1d2e3f4a5b",
  "type": "invoice.approved",
  "created": "2026-10-14T14:05:04.000Z",
  "data": {
    "id": "7c1d9e4b-2f3a-4b8c-9d0e-1a2b3c4d5e6f",
    "idempotency_key": "venta-0003",
    "status": "approved",
    "invoice_type": 11,
    "sales_point": 1,
    "number": 215,
    "invoice_date": "2026-10-14",
    "total_amount": 50000,
    "currency": "PES",
    "cae": "76412345678901",
    "cae_expiration": "2026-10-24",
    "pdf_url": "https://app.afipsdk.com/api/v1/invoices/7c1d9e4b-2f3a-4b8c-9d0e-1a2b3c4d5e6f/pdf?token=kX3v9Qw2LmN8pR5tY7uZ1aB4cD6eF8gH0jK2lM4nO6p",
    "...": "el comprobante completo, como lo devuelve GET /v1/invoices/:id"
  }
}

Si ARCA lo rechaza, llega invoice.rejected con los motivos en errors. Con sync: true en el cuerpo, el comprobante vuelve ya decidido en la misma respuesta y no hay webhook. El detalle está en respuesta y estados.

Variantes

Los ejemplos muestran solo lo que cambia respecto de la solicitud de arriba.

Productos

Con concept 1 no hay fechas del servicio:

{
  "concept": 1,
  "amounts": { "net": 15000, "total": 15000 },
  "items": [
    { "description": "Remera estampada", "quantity": 2, "unit_price": 7500, "subtotal": 15000 }
  ]
}

Consumidor final

Un consumidor final identificado con DNI, o sin identificar con doc_type 99 y doc_number 0:

{
  "receiver": {
    "doc_type": 96,
    "doc_number": "12345678",
    "vat_condition": 5,
    "name": "Juan Pérez",
    "address": "Calle Falsa 123, CABA"
  }
}

En dólares

Moneda DOL con la cotización del día. Todos los importes van en dólares:

{
  "currency": "DOL",
  "exchange_rate": 1450.5,
  "amounts": { "net": 40, "total": 40 },
  "items": [
    { "description": "Servicio de diseño, octubre 2026", "quantity": 1, "unit_price": 40, "subtotal": 40 }
  ]
}