Guía rápida — Primera factura en 5 pasos

Desde cero hasta tu primera respuesta ACEPTADA de SUNAT en menos de 10 minutos. Usa el entorno demo (sk_test_) para probar sin consecuencias.

1

Crea tu empresa

Usa tu token de usuario (user_sk_...) para llamar a POST /empresas con el RUC, razón social y datos de tu empresa. Consulta la sección Crear empresa para el payload completo.

2

Obtén tu token de empresa

Al crear la empresa recibes automáticamente un sk_test_... para demo y un sk_live_... para producción. Guárdalos en variables de entorno. Nunca los expongas en código frontend.

3

Construye el payload

El mínimo para una factura gravada es: tipoComprobante, serie, correlativo, receptor y al menos un item con precioUnitario y tipoIgv: "10". El IGV (18%) se calcula solo.

Payload mínimo — Factura gravadajson
{
  "documento": {
    "tipoComprobante": "01",
    "serie": "F001",
    "correlativo": "1",
    "fechaEmision": "2026-06-14",
    "tipoMoneda": "PEN",
    "sunatTransaccion": "0101",
    "formaPago": "CONTADO",
    "receptor": {
      "tipoDocumento": "6",
      "numeroDocumento": "20100070970",
      "razonSocial": "EMPRESA CLIENTE S.A.C.",
      "direccion": "Av. Principal 123, Lima"
    },
    "items": [
      {
        "descripcion": "Servicio de consultoría",
        "cantidad": 1,
        "precioUnitario": 100.00,
        "tipoIgv": "10"
      }
    ]
  }
}
4

Envía el POST

Usa sk_test_... para probar sin afectar SUNAT real. La respuesta llega síncrona en segundos.

cURL — POST a /documentos/enviarbash
curl -X POST https://api.facturalo.pe/api/v3/documentos/enviar \
  -H "Authorization: sk_test_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
  "documento": {
    "tipoComprobante": "01",
    "serie": "F001",
    "correlativo": "1",
    "fechaEmision": "2026-06-14",
    "tipoMoneda": "PEN",
    "sunatTransaccion": "0101",
    "formaPago": "CONTADO",
    "receptor": {
      "tipoDocumento": "6",
      "numeroDocumento": "20100070970",
      "razonSocial": "EMPRESA CLIENTE S.A.C.",
      "direccion": "Av. Principal 123, Lima"
    },
    "items": [
      {
        "descripcion": "Servicio de consultoría",
        "cantidad": 1,
        "precioUnitario": 100.00,
        "tipoIgv": "10"
      }
    ]
  }
}'
5

Verifica el estado

Revisa data.estado: ACEPTADA = éxito. RECHAZADA = revisa sunat.codigoRespuesta. Los PDFs, XMLs y CDRs de enlaces son públicos.

Respuesta exitosajson
{
  "success": true,
  "message": "Documento enviado y aceptado por SUNAT",
  "data": {
    "estado": "ACEPTADA",
    "entorno": "demo",
    "documento": {
      "id": "018f2a3b-...",
      "serie": "F001",
      "correlativo": "1",
      "total": "118.00"
    },
    "sunat": {
      "codigoRespuesta": "0",
      "descripcion": "La Factura numero F001-1, ha sido aceptada"
    },
    "enlaces": {
      "pdf": "https://api.facturalo.pe/api/v3/documentos/018f2a3b-....pdf",
      "xml": "https://api.facturalo.pe/api/v3/documentos/018f2a3b-....xml",
      "cdr": "https://api.facturalo.pe/api/v3/documentos/018f2a3b-....cdr"
    }
  }
}
¿Listo para producción? Cambia el token a sk_live_... y asegúrate de configurar un webhook para recibir las respuestas de SUNAT de forma asíncrona.