Ir al contenido
Facturalo

Reporte de ventas

Ventas de un periodo (boletas, facturas, notas de débito y notas de venta, menos notas de crédito; solo vigentes): resumen, por día, por producto, por cajero, por medio de pago y documentos. La ganancia se calcula con el costo del kárdex, solo sobre productos que tienen costo. Con `formato=xlsx` devuelve Excel.

GEThttps://api.facturalo.pe/api/v3/reportes/ventas

Query

Campo
Descripción
desde
stringrequerido
YYYY-MM-DD.Ej: 2026-11-01
hasta
stringrequerido
YYYY-MM-DD (máximo un año desde desde).Ej: 2026-11-30
establecimiento
stringopcional
Uuid de un local.
usuario
integeropcional
Id del usuario que emitió (cajero).
moneda
stringopcional
PEN (default) o USD.
formato
stringopcional
xlsx para descargar en Excel.
vista
stringopcional
Con formato=xlsx: productos (default), dias, cajeros, medios o documentos.

Language

Credentials

Header

Authorization

Token de la empresa · HTTP directo

Fetch Request
$ # Node 18+ fetch
const response = await fetch("https://api.facturalo.pe/api/v3/reportes/ventas", {
  method: "GET",
  headers: {
    "Authorization": "sk_test_…"
  }
});

const data = await response.json();
console.log(data);
HTTP directo · funciona con cualquier cliente HTTP
Response

Elige un ejemplo de respuesta:

application/json
200OK
{
  "success": true,
  "data": {
    "periodo": {
      "desde": "2026-11-01",
      "hasta": "2026-11-30",
      "moneda": "PEN"
    },
    "resumen": {
      "ventas": 1250,
      "ventaNeta": 1059.32,
      "igv": 190.68,
      "documentos": 84,
      "ticketPromedio": 14.88,
      "devoluciones": 0,
      "porTipo": {
        "boletas": {
          "cantidad": 70,
          "total": 980
        },
        "facturas": {
          "cantidad": 4,
          "total": 210
        },
        "notasVenta": {
          "cantidad": 10,
          "total": 60
        },
        "notasCredito": {
          "cantidad": 0,
          "total": 0
        },
        "notasDebito": {
          "cantidad": 0,
          "total": 0
        }
      },
      "costo": 610.4,
      "ventaConCosto": 1001.5,
      "ganancia": 391.1,
      "margen": 39.1
    },
    "porDia": [
      {
        "fecha": "2026-11-10",
        "ventas": 152.5,
        "documentos": 11,
        "ganancia": 48.2
      }
    ],
    "porProducto": [
      {
        "varianteId": "a330c25a-969c-4da9-8e8c-95c92d256b0b",
        "descripcion": "Agua mineral 625 ml",
        "sku": "POS-AGUA-625",
        "cantidad": 120,
        "ventas": 300,
        "ventaNeta": 254.24,
        "costo": 144,
        "ganancia": 110.24
      }
    ],
    "porCajero": [
      {
        "usuarioId": 12,
        "usuario": "Carla Ramos",
        "documentos": 60,
        "ventas": 890,
        "ticketPromedio": 14.83
      }
    ],
    "porMedio": {
      "medios": [
        {
          "medioId": "a330be71-bbf2-4bd9-ae9f-aa5a889df2f2",
          "medio": "Efectivo",
          "tipo": "efectivo",
          "monto": 820,
          "operaciones": 66
        }
      ],
      "enCaja": 1180,
      "sinCaja": 70
    },
    "documentos": [
      {
        "fecha": "2026-11-10",
        "tipo": "03",
        "documento": "B001-00000123",
        "cliente": "CLIENTES VARIOS",
        "total": 7.5,
        "usuario": "Carla Ramos",
        "ganancia": 2.9
      }
    ],
    "conCostos": true
  }
}