API de FlavosoGuíasInformes

Informes

Ventas por día, semana o mes y ventas por plato, con las mismas reglas que las cifras del panel.

Informe de ventas

GET /reports/sales necesita reports:read y admite estos parámetros:

ParámetroSignificado
from, toDías del calendario (YYYY-MM-DD) en la hora local del negocio, como máximo 366 días. Para octubre: from=2026-10-01&to=2026-10-31.
group_byday, week, month o total.

La respuesta indica currency, timezone, el periodo, totals sobre el conjunto y buckets por tramo de tiempo. Cada tramo tiene los mismos campos:

CampoSignificado
period_start, period_endEl tramo.
ordersNúmero de pedidos que cuentan.
gross, net, taxVentas brutas y netas y el impuesto, en céntimos.
tipsPropinas. No son ventas; se muestran por separado.
delivery_fees, service_feesGastos de envío y tarifas de servicio.
discountsDescuentos, por ejemplo de la tarjeta de sellos.
by_tax_ratePor tipo impositivo, rate_bps, gross, net, tax; una parte sin tipo guardado, con rate_bps: null y net y tax como null.
by_payment_methodDesglosado en online y on_site.
by_typeDesglosado en pickup, delivery, dine_in.
cancelledPedidos cancelados: número e importe bruto, por separado.

El formato exacto de cada campo está en la referencia.

# October by day, in the restaurant's local time
curl "https://api.flavoso.com/v1/reports/sales?from=2026-10-01&to=2026-10-31&group_by=day" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

# The whole year as one total (at most 366 days per request)
curl "https://api.flavoso.com/v1/reports/sales?from=2026-01-01&to=2026-12-31&group_by=total" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

Qué cuenta

Se cuenta con las mismas reglas que las cifras del panel, y la suma se hace en la base de datos, no a partir de listas. Un pedido online sin pagar nunca cuenta; los pedidos cancelados no figuran en las ventas, sino por separado en cancelled. Un día es el día natural del negocio en su zona horaria.

Ventas por plato

GET /reports/products?from=…&to=…&limit=… devuelve los platos más vendidos de un periodo, ordenados por cantidad, con cantidad e importe bruto: { "object": "list", "data": [{ "product_id", "name", "quantity", "gross" }] }. limit admite de 1 a 100 (por defecto 25); no hay paginación, has_more solo indica si hay más platos. Se cuenta como en las ventas, sin cancelaciones. Un plato borrado aparece con product_id: null y con el nombre que figura en los pedidos.

# The 20 best-selling dishes of October
curl "https://api.flavoso.com/v1/reports/products?from=2026-10-01&to=2026-10-31&limit=20" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

Conciliación con la caja o la contabilidad

  • Una vez al día, después de medianoche en la zona horaria del negocio, obtener el día anterior.
  • Comparar el bruto, los impuestos por tipo y las propinas con el cierre propio del canal Flavoso.
  • Las diferencias suelen deberse a pedidos cancelados después de que la caja se hiciera cargo de ellos o a propinas registradas como ventas.
  • Para la contabilidad: group_by=month y by_tax_rate dan las cifras por tipo impositivo.

¿Algo no ha quedado claro? Escribe a support@flavoso.com e indica el identificador de X-Request-Id. Así podremos encontrar tu solicitud en el registro.