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).
  • reportingCurrency: moneda de presentación (ARS o USD). Si la omitís, usa ARS.
  • 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 en la moneda indicada por metadata.reporting_currency. Dividí por 100 para obtener pesos o dólares.
La conversión se hace por operación antes de agrupar. Los importes ingresados en USD conservan su valor exacto cuando pedís USD. Las operaciones en moneda extranjera usan su tipo de cambio guardado. Los importes funcionales en ARS que se presentan en USD usan la cotización BCRA de la fecha de la operación o la última fecha anterior disponible. El filtro currency siempre se refiere a la moneda original del comprobante y es independiente de reportingCurrency. Por ejemplo, podés consultar solo ventas originales en USD y presentar el resultado en ARS:

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