View the Billing Report
Use the billing report to review revenue, invoice timing, cash movement, payment totals and payment-method performance for Harbor Soho over selected periods. The report is read-only and scoped to the selected location.
In this article
The billing report is the finance view for one location. It brings revenue, financial breakdown, invoice timing, cash flow, statistics and payment-method comparison into the reporting dashboard.
In the GB demo, open it for Harbor Soho and keep the runtime UI labels exact when documenting the screen: `Facturación`, `Dinero ganado`, `Desglose`, `Pagos totales` and `Pagos`.
Before you start
- You are signed in to Harbor Demo Group with Harbor Soho selected.
- You have at least one location permission that allows report access: `reports:view`, `tpv:view`, `tpv:use`, `catalog:view`, `reservation:view` or `staff:view`.
- The selected period contains reporting activity if you expect non-empty figures, such as service sessions, tickets, ticket payments or invoices.
Instructions
- 1.
Open the billing report
From Reporting > Sales > Billing, open the location billing report. The same screen is available directly at `/:orgId/:locationId/reporting/sales/billing`; if the route includes `periods`, the page loads those ranges.
- 2.
Check the selected period
Review the period filter before reading the figures. For deterministic Harbor Soho documentation captures, use `2026-06-01_2026-06-07`; changing, adding or removing periods refreshes the reporting dashboard.
- 3.
Read revenue and summary cards
Use `Dinero ganado` to see revenue by day, then read `Desglose`, first invoice, last invoice, cash flow and statistics. These blocks are based on non-void tickets and non-void invoices in the selected range.
- 4.
Review payment totals and methods
Scroll to `Pagos totales` and `Pagos` to compare amount, tips and income excluding tips. The payment-method table compares the current period against the previous available period and groups empty methods as `desconocido`.
- 5.
Export report cards on web
On web, open a card export menu when a short finance extract is needed. The available menu options are CSV, Excel and PNG; native runtimes show export as unavailable instead.
Validations and limits
- If no organisation or location is selected, the screen shows `Selecciona una ubicación para consultar reportes.` and does not load the report query.
- If the user lacks every accepted permission, the screen shows `No tienes permisos para ver reportes en esta ubicación.` and the backend also rejects access.
- The screen consumes `GET /api/app/{orgId}/{locationId}/reports`; there is no dedicated `/reports/billing` API.
- The `periods` format is `YYYY-MM-DD_YYYY-MM-DD`, with multiple ranges separated by `~`; invalid chunks are ignored and an empty result falls back to default periods.
- If an end date is before its start date, the range is normalised to end on the start date.
- The revenue chart sums `ticket.total` by day for non-void tickets, and first/last invoice cards exclude invoices with status `void`.
- Completed payments and payments with an empty status count as effective payments; refunded payments count as additional cash-flow output rather than normal income.
- If there are no payments for the selected filters, the payments table shows `No hay pagos para los filtros seleccionados.`
- The action is read-only: it does not create, update or delete tickets, payments, invoices or service sessions.
Expected result
A manager can read Harbor Soho billing results for the selected period, compare payment-method performance against the previous period, and export a card on web without changing operational records.