Skip to main content

Cómo funciona

POST /api/v1/reports/query ejecuta una consulta analítica agrupada. Enviá JSON con:
  • source: qué datos consultar (sales, purchases, payments, inventory).
  • dimensions: cómo agrupar resultados (producto, fecha, proveedor, etc.). Máximo 4.
  • measures: qué calcular en cada grupo (total vendido, unidades, stock, etc.). Al menos 1.
  • period: rango de fechas (obligatorio para sales, purchases y payments; condicional para inventory).
  • dimension_filters: filtros opcionales que reducen el dataset antes de agrupar.
  • include_totals: cuando es true, la respuesta incluye totales de todas las filas en totals.
El scope siempre es la organización autenticada. No hay acceso a datos de otras organizaciones. Por defecto los reportes incluyen entidades activas y archivadas. Para limitar el alcance, usá filtros de estado como product_status, customer_status, supplier_status o warehouse_status con valores active o archived.

Forma de la respuesta

Cada objeto en rows tiene:
Las métricas currency son centavos enteros. Dividí por 100 para obtener pesos o dólares.

Fuente: sales

Consulta las ventas de la organización. period: obligatorio. Filtra por fecha de venta (commercial) o fecha contable (fiscal), según date_basis. date_basis: commercial (default) o fiscal.

Dimensiones disponibles (sales)

Métricas disponibles (sales)

Dimensiones filtrables (sales)

customer, customer_status, customer_tax_category, province, city, product, product_status, category, product_type, salesperson, point_of_sale, point_of_sale_status, warehouse, warehouse_status, register, register_status, integration_source, voucher_type, currency, payment_status, cae_status, invoice_status, formatted_invoice_number, payment_method, payment_method_status, tax_rate.

Fuente: purchases

Consulta las compras de la organización. period: obligatorio. Filtra por fecha de factura.

Dimensiones disponibles (purchases)

Métricas disponibles (purchases)

Dimensiones filtrables (purchases)

supplier, supplier_status, supplier_tax_category, supplier_province, supplier_city, product, product_status, category, product_type, warehouse, warehouse_status, voucher_type, currency, tax_rate.

Fuente: payments

Consulta cobranzas de clientes y pagos a proveedores. period: obligatorio. Filtra por fecha de pago/cobranza.

Dimensiones disponibles (payments)

Métricas disponibles (payments)

Dimensiones filtrables (payments)

payment_contact, payment_contact_status, payment_contact_name, payment_contact_tax_category, payment_contact_province, payment_contact_city, point_of_sale, point_of_sale_status, register, register_status, pos_session, safe, safe_status, payment_type, payment_record_status, currency, settlement_currency, formatted_payment_number, payment_method, payment_method_status, payment_method_type.

Fuente: inventory

Consulta el estado de stock. Tiene dos modos según las métricas seleccionadas:

Métricas snapshot (sin period)

Devuelven el estado actual del stock. No aceptan period ni date_basis.

Métricas derivadas de ventas (requieren period)

Se calculan a partir de ventas del período. Requieren period y aceptan date_basis.
Las métricas snapshot no pueden mezclarse con métricas derivadas en la misma solicitud.
Cuando se usan métricas derivadas, solo son compatibles las dimensiones product, variant, category, product_type y warehouse.

Dimensiones disponibles (inventory)

Dimensiones filtrables (inventory)

product, product_status, category, product_type, warehouse, warehouse_status, currency.

dimension_filters

Filtra datos antes de agrupar. Cada clave es una dimensión filtrable para la fuente; el valor es un array de IDs a incluir. La lógica es OR dentro de un filtro y AND entre filtros.
Los filtros de estado aceptan valores literales:

Ejemplos

Ventas por producto en Q1 2026

Ventas por mes y categoría (fiscal)

Compras por proveedor en marzo de 2026

Cobranzas y pagos por método en marzo de 2026

Stock disponible por producto y depósito

Días de inventario restante por categoría


Scope requerido

reports:read