User guide · Modules

Reports, exports & night audit

Live operational charts, Excel and PDF exports produced in the background, and the night audit that closes the hotel-local business day.
Whole guide

Purpose and who uses it

Hotel ManagerAccountantHR Manager

One page that reads the same tables as the Dashboard and turns them into charts, files and a daily close.

Reports & Analytics shows revenue, occupancy, attendance, loyalty and stock as live queries, nothing is pre-computed, so what you see is what the database holds right now. From here you can queue an Excel or PDF export, print the page, and close the business date (the night audit).

You only see sections your role can read elsewhere: revenue, payments and inventory need Payments view; occupancy, booking sources and room-type performance need Bookings view; housekeeping and maintenance need Rooms; attendance needs Staff; loyalty needs Guests. Exports follow the same rule, so a workbook never contains a sheet you could not see on screen.

Screen anatomy

Toolbar actions, the period bar, the KPI strip, the charts, the area cards and the Exports tray.

Reports & Analytics
1823674
  1. 1
    Page head
    “Every module, one period; compare with the period before; export or print”.
  2. 8
    Toolbar
    Export PDF and Export Excel (Reports Full), Close 2026-09-04 (Reports Edit, only while the day is open) and Print.
  3. 2
    Period bar
    Today, Last 7 / 30 / 90 days, Month, Quarter or Year to date, or two dates of your own; tick Compare with previous period to see the period of equal length before it. The choice is in the address bar, so a report can be bookmarked or shared.
  4. 3
    KPI strip
    Occupancy, ADR, RevPAR, average stay, room revenue, net receipts, POS sales, outstanding now, arrivals, departures, cancellations, no-shows, rooms cleaned, clean turnaround, open work orders, attendance and new guests, each with its change against the previous period when comparing. Tiles your role cannot see are simply absent.
  5. 6
    Charts
    Net receipts and Occupancy per day (dashed line = previous period), Check-ins and check-outs, Room type performance, Staff attendance, Guest loyalty, Inventory position, Booking sources.
  6. 7
    Exports tray
    “Generated files are kept for 30 days”. Filter by filename or requester, Status and Kind; Download when Ready.
  7. 4
    Reports by area
    Front office, Revenue & payments, Restaurant & POS, Rooms, Housekeeping, Maintenance, Inventory, Staff, Guests, Night audit and, for administrators and Security, Security & access: each card carries its headline figure for the period and opens that area's full report with the same period.

Reading the report cards

What each card measures and where the number comes from.

  • Net receipts: payments received minus refunds per hotel-local day, for the whole period; the dashed line is the same series for the previous period when Compare is on.
  • KPI definitions: Occupancy = room nights sold ÷ room nights available (rooms × days). ADR = room revenue ÷ nights sold. RevPAR = room revenue ÷ nights available. Average stay = nights ÷ stays that arrived in the period. Room revenue = the agreed nightly rate × nights that fall in the period for confirmed, in-house and departed stays. Outstanding is the balance of every open folio right now, not a period figure.
  • Occupancy: rooms occupied per night as a share of all rooms, with the previous period dashed when comparing.
  • Check-ins and check-outs: arrivals and departures per day over the last two weeks. Room type performance: occupied nights per type as a share of that type's capacity over the last 30 days.
  • Staff attendance: daily attendance % with Present / Late / Absent totals in the header. The card only appears once attendance has been recorded.
  • Guest loyalty: guests on file, loyalty members, the returning-guest rate, a bar per tier (Platinum, Gold, Silver, Bronze) and how many guests are in-house right now. Spend figures are collected payments.
  • Inventory position: Healthy / Low stock / Out of stock counts and how many items carry expiry dates. Full detail is on the Inventory page.
  • Booking sources: a count per source (Direct, Walk-in, Booking.com, Expedia, Travel Agent, Corporate) for bookings created in the last 90 days.
  • Operations tiles: rooms cleaned and the average clean turnaround (task created to Ready), open work orders, attendance % (present plus late over everything recorded) and guests created in the period.

The page refreshes itself whenever a booking, invoice, housekeeping task, work order, room or staff record changes anywhere in the hotel, you do not need to reload.

Area reports

Eleven pages, one per part of the hotel, each with its own KPIs, charts and tables over the period you pick.

Every card under Reports by area opens its own page. The period bar at the top is the same one the hub uses and travels in the address, so a bookmarked area report always reopens on the same dates. The arrows in the page head step through the areas in order; Excel and PDF (Reports Full) export exactly what the page shows, one sheet per chart or table, plus a Summary sheet with the KPIs.

  • Front office (Bookings view): occupancy per night, ADR, RevPAR, average stay, arrivals and departures, cancellations and no-shows, lead time with a histogram, sources, room type performance and ADR by type, group versus individual.
  • Revenue & payments (Payments view): net receipts per day, invoiced versus collected per week, methods and mobile money networks, refunds, receipts by cashier, and outstanding balances by age (right now, not for the period).
  • Restaurant & POS (Payments view): sales per day, a weekday by hour heat map, sales by outlet and server, top items by quantity and by revenue, voided lines, kitchen status at close, covers and average ticket.
  • Rooms (Rooms view): occupancy by type and by floor, revenue per room, rooms by status right now, and the open work orders that keep a room out of sale.
  • Housekeeping (Rooms view): tasks per day, by type, status, priority and floor, rooms readied per attendant and each attendant's turnaround.
  • Maintenance (Rooms view): orders per week, by category, priority, status and technician, estimated cost by category, time to repair, and the orders that block rooms.
  • Inventory (Payments view): quantity in and out per day, out by reason and department, most consumed and most received items, and a low-stock table for right now.
  • Staff (Staff view): attendance per day and by department, late marks and absences per person, marks by kind, leave by type and status.
  • Guests (Guests view): new guests per week, arrivals split into first stay and returning, tiers, top countries, VIP and corporate counts, top spenders for the period.
  • Night audit (Reports view): every close in the period as recorded at the time, occupancy and money at close, movements, and the closes table.
  • Security & access (administrators and Security): events and denied requests per day, events by role, top actions and people, the most recent denied requests.

Custom reports and saved reports

Build your own report from any area of the system, save it under a name and share it with the hotel.

Open Custom report from the toolbar (or go to /reports/custom). The left column describes what you want; the right pane runs it as you change things, so there is no Run button to remember.

  1. 1
    Pick a source
    Bookings, Room nights, Invoices, Payments, POS tickets, POS lines, Stock movements, Housekeeping tasks, Work orders, Attendance or Audit events. You only see the sources your role may read; Audit needs the same access as the Audit log page.
  2. 2
    Choose the date field and the period
    Each source offers one or more dates (a booking can be counted by arrival, departure or creation). The period bar is the same one the hub uses, presets or custom dates, up to 366 days.
  3. 3
    Filter
    Add a filter per column: pick values from a list for statuses and types, type a number for amounts, or ask for empty and not-empty. Filters combine with AND.
  4. 4
    Group and measure
    Group by a day, week or month bucket and by up to two columns (room type, source, department, payment method and so on). Add up to eight measures: count, distinct count, sum, average, minimum or maximum of a numeric column.
  5. 5
    Pick a chart
    Table is always available. Bar, line and donut need at least one group and one measure; line needs a date bucket.
  6. 6
    Save and share
    Save report asks for a name and an optional description. Tick Share with the hotel so colleagues can open it from the Saved reports card; they run it with their own access, so a shared report over payments still shows nothing to someone without Payments view.
  • Room nights is a virtual source: one row per room per night in the period, with occupied and available flags, so occupancy by floor or by type is a one-line report.
  • Money is whole shillings; percentages are rounded to one decimal. Results are capped at 1,000 rows or 400 buckets and the preview says so when it truncates.
  • Ownership: only the person who saved a report, or someone with Reports Full, can rename, edit or delete it. Your own reports and the shared ones appear on the hub; private reports of other people never do.
  • Export: a saved report has Excel and PDF buttons (Reports Full). The file carries the report name, the resolved period and the row count, and lands in the Exports tray like every other export.

Exporting to Excel or PDF

Hotel ManagerSuper Admin

Exports run as background jobs; the file lands in the tray and a notification tells you when.

  1. 1
    Click Export Excel or Export PDF
    Needs Reports Full. The toast reads “Export queued. It appears below when ready”. The request carries the current period (30 days).
  2. 2
    Watch the Exports tray
    The row starts as Queued, moves to Running while the worker builds the file, then Ready (or Failed with the reason next to the badge). The tray refreshes on the export.done live event, so there is nothing to poll.
  3. 3
    Download
    Click Download on a Ready row. Anyone with Reports View can download; the file is named reports-2026-09-04.xlsx or .pdf. A “Export ready, reports-2026-09-04.xlsx. Download it from Reports” notification also arrives in the System category.
Export job lifecycle
Export job lifecycleerror / > 5 MBQueuedRunningReadyFailed
  • QueuedRunning
  • RunningReady
  • RunningFailed (error / > 5 MB)
  • Excel workbook sheets: Overview, Revenue, Occupancy, Check-in out, Room types, Booking sources, Staff attendance, Guest tiers, Inventory, each only if you may see that section. The hotel name, address and generation time sit in the title block.
  • PDF: the same sections laid out as a printable report.
  • Guest list: the Export button on the Guests page queues a guests-xlsx export (code, name, phone, email, country, tier, stays, lifetime spend). It needs Reports Full and Guests view, and it downloads from this tray too.
  • Retention: files are stored for 30 days; older ones are pruned whenever a new export is queued. The tray lists the 20 most recent. Files above 5 MB fail rather than store.

Night audit, closing the business date

Hotel ManagerAccountantHR Manager

Freeze one hotel-local day: occupancy, cash, POS and open balances, and re-sync every room's state.

  1. 1
    Check the business-date strip
    It shows today's hotel-local date (from the timezone in Settings → Branding & locale) and whether it is still open.
  2. 2
    Click Close 2026-09-04 in the toolbar
    Needs Reports Edit. The button is hidden once the day is closed.
  3. 3
    Confirm “Close 2026-09-04?”
    Dialog text: “This freezes a snapshot of occupancy, cash and open invoices for the hotel-local business date. You cannot close the same day twice.” Click Close business date.
  4. 4
    Done
    Toast “2026-09-04 closed”; the strip changes to “Closed 23:58” and an audit-log row night_audit.closed carries the snapshot.
What the snapshot records
FieldTypeNotes
RoomsTotal rooms, occupied (in-house bookings), dirty (cleaning or a pending/in-progress housekeeping state), out of order.
BookingsIn-house, arriving today (new or confirmed with today's check-in), departing today (in-house with today's check-out), no-shows dated today, cancellations made today.
CashPayments received, refunds and closed POS ticket totals, by the instants the hotel-local day starts and ends, so a payment taken at 01:00 belongs to that day, not to yesterday UTC.
InvoicesCount and total of invoices still owing. Balance is derived from payments (the stored status column is only a cache).

Permissions

View to read and download, Edit to close the day, Full to create exports.

Default Reports level per role
RoleReports
Super AdminFull
Hotel ManagerFull
ReceptionistNone
AccountantEdit
Housekeeping MgrView
MaintenanceNone
Restaurant MgrView
HR ManagerEdit
SecurityNone
WaiterNone
ChefNone
None No accessView View onlyEdit Can editFull Full access
  • View: open the page, read every section your other module levels allow, list and download exports, see the night-audit status.
  • Edit: Close business date. By default this includes the Accountant and HR Manager.
  • Full: Export Excel, Export PDF and the Guests page Export button. The Export action is a Full-level action everywhere in the app, so by default only Super Admin and Hotel Manager produce files; Accountants download them.

Tips

Jump links, the exports filter and closing at the right time.

Errors you may see

Messages from the reports, exports and night-audit endpoints.

4092026-09-04 is already closed
Why
Someone closed today's business date before you (the date in the message is the hotel-local day).
Fix
Nothing to do, the strip shows the close time. Tomorrow's close becomes available after midnight hotel time.
403Guest exports need Guests view access
Why
You have Reports Full but no Guests access, so the guest list would be empty for you.
Fix
Ask an administrator for Guests view, or have someone with it export the list.
400Export is queued
Why
You opened a download link before the file was built (the text also reads “running” or “failed”).
Fix
Wait for the Ready badge; if Failed, read the reason beside the badge and queue again.
404Export not found
Why
The file was pruned after 30 days or belongs to another hotel.
Fix
Queue a fresh export.
Business date
The hotel-local calendar day (per the timezone in Settings), which is what the night audit closes.
Night audit
The daily close: a frozen snapshot of rooms, bookings, cash and open balances, plus a room-state re-sync.
Export tray
The Exports card listing the last 20 generated files with their status.