Dashboard

Home / Dashboard
Revenue
Across all stores
Orders
Active Stores -
Staff On Duty -

Revenue Overview

Top Sellers

Product Sales

Store Status

Customer Loyalty

Inventory Alerts

All Customer Reviews

Reviews Requiring Attention (1-3 Stars)

Cash Settlements

Equipment Service

Promotion Performance

Delivery Platforms

Revenue
vs previous period
Orders
vs previous period
Avg Ticket Size
vs 7-day avg
Items Sold
Total units
Active Staff
Customer Rating (Google)
Google, GoFood, Grab Food

Revenue Overview

Hourly Sales Heatmap (Last 7 Days)

Top Sellers

Revenue by Category

Slow Movers

All Customer Reviews

Reviews Requiring Attention (1-3 Stars)

Staff Overview

Order Fulfilment

Delivery Platform Breakdown

Inventory Snapshot

View Full Inventory →

Store Comparison

Store Revenue Orders Avg Ticket Best Seller Staff Fulfilment Status

Nearby Competitors

Price Comparison

Competitor Peak Hours

Stores

Store Name Code Area Status Owner Olsera ID Manager Hours Links Opened

Store Stock Levels

Ingredient Category On Hand Re-order (days) Est. Days Remaining Status Recommendation

Stocktake History

Date Store Items Completed By Status Adjusted Reason

Spill/Waste Log

Date Store Ingredient Theoretical Actual Variance Spill / Efficiency Status

Staff Directory

Name Staff # Olsera Role CC Role Store Status Shift

Shift Schedule

Recipe Management

Menu items, ingredients, costs and margins

Equipment Management

Espresso machines, grinders, fridges and service logs

Users / Roles

Manage users, roles and page access permissions

Connections & Data

POS integrations, Xero, and external services

Database Management

Data objects, backups, and storage management

Store Management

Store details, locations, and operating hours

All Recipes

Menu Item Category Ingredients Sell Price Net Rev Cost Cost + Spill/Waste Spill/Waste Allowance Margin Cost Mix Active Promos Availability Status Version

All Ingredients

Name Olsera Name Category Unit Purchase Unit Cost / Purchase Unit Reorder Point

Ingredients Stock

Ingredient Category Unit Cost / Unit Last Stocktake Theoretical Use Est. Stock on Hand Re-order (days) Used In Stocktake Date

Completed Transfers

Date From To Items Transferred By Status

Equipment Register

Asset Asset Tag Type Brand / Model Location Purchase Date Purchase Price Status Cups Produced Last Service Next Service

Supplier Directory

Business Name Category Key Contact Phone Email Assigned Purchases Notes
to
■ Coffee ■ Non-Coffee ■ Pastry ■ Add-ons ■ Value Deals ■ Bundles ■ Negative margin

Top 15 — Margin %

Top 15 — Margin Value

Bottom 5 — Margin %

Bottom 5 — Margin Value

Product Detail

Outstanding Cash Transfers

Cash Shrinkage

Resolved Settlements

to

Store Contribution

Profit & Loss Statement

Operating Expense Detail

Owner Name Code Type NIB NPWP Stores

Users / Roles

User Email Role Page Access Password Owner Store Status

Complete these steps in order at month-end to ensure all data is reconciled and synced across systems.

1Sync Olsera POS Data

What it does: Pulls all transaction data from the Olsera POS system for the selected date range and stores. Includes order details, payment methods, items sold, and customer data.

When to use: Run at month-end to ensure ALL transactions for the month are captured. Use "Force" if you suspect missing data. Check the dashboard after syncing to verify totals match Olsera.

to
Tip: Set dates to the full month (e.g. 2026-03-01 to 2026-03-31). Use Force to re-pull orders the sync index thinks are already synced.

2Apply Transaction Adjustments

What it does: Corrects payment method misclassifications from Olsera. Points Burn: reclassifies loyalty redemptions as free cups and deducts the drink value from cash expected. Delivery Override: reclassifies EDC/transfer payments as GoFood/Grab/Shopee when order source indicates delivery.

When to use: Run after Olsera sync to correct the month's transaction data before cash reconciliation. The adjustments feed into Cash Management and P&L calculations.

to

3Sync All Data to Firestore

What it does: Writes all local data tables to Google Cloud Firestore via REST API. This ensures all data is backed up in the cloud and available on other devices. "Audit" checks which tables are missing from Firestore without modifying anything.

When to use: Run after completing steps 1-3 to ensure all updated data is persisted to the cloud. Run Audit first to see what's missing. Essential before switching to a different computer.

4Xero Accounting Sync

What it does: Syncs financial data from Xero. "Chart of Accounts" pulls account codes and categories for P&L mapping. "Bank Transactions" pulls deposits for cash reconciliation matching. "P&L" pulls the profit and loss report for the selected period — if multiple months, automatically splits into individual monthly pulls.

When to use: Sync Chart of Accounts if new accounts were added in Xero. Sync Bank Transactions before running cash reconciliation. Pull P&L after all Xero entries for the month are finalised.

to

5Cash Reconciliation

What it does: Matches pending cash settlements against Xero bank deposits. Auto-reconcile finds high-confidence matches (exact amount within 0-5 days) and marks them as confirmed. Rollback reverts auto-reconciled entries back to pending for re-processing.

When to use: Run after syncing Xero bank transactions (Step 5). Review the Cash Management page for any ambiguous or unmatched items that need manual confirmation. Use Rollback if reconciliation needs to be redone.

to

Olsera Olsera POS

Configured

Per-store API keys are used to authenticate with the Olsera monitoring API via the Cloud Function proxy. Credentials are stored in Google Cloud Firestore.

Store API Keys
Each store requires its own Olsera app with unique credentials
Store App ID Secret Key Bearer Token Token Expiry Status
calls / seconds
Regular Scheduled Sync
to
Data Sync
Sync History
Transaction Adjustment Rules (correct tender type misclassifications from Olsera)
When Olsera records the tender type below AND loyalty points were fully redeemed (total = Rp 0), reclassify from Cash to Free Cup. Raw Olsera data is preserved.
When Olsera records EDC or Bank Transfer but the order source identifies a delivery platform (GoFood, GrabFood, ShopeeFood), reclassify to that platform's tender type. Raw Olsera data is preserved.
Apply rules, rollback, and scheduling available on the Month-End Operations page.

Xero Xero Accounting

Not Connected
calls / seconds

Firestore Google Cloud Firestore

Checking...

Firestore is the primary database for this application. All data is stored in the tables collection with offline persistence enabled for cross-device sync.

Console: console.firebase.google.comcoffee-commandcentre

Documents: — Cache: — Last sync: —

Google Maps Google Maps

Competitor Scanning + Menu OCR

Required for Competitor Analysis scan and menu OCR. Enable the Maps JavaScript API, Places API, and Cloud Vision API in your Google Cloud Console.

calls / seconds
calls / seconds

System Architecture

Database Tables

API Connections

Data Recovery

If Firestore data was accidentally reset to defaults, use this button on the device that still has your correct data to push it back to the cloud.

Tax & Charge Settings

Menu prices are inclusive of all taxes and charges. These rates determine the breakdown of net revenue, service charge, and PBJT tax from each sale.

Tender Type Breakdown

Transactions

Receipt # Date/Time Store Cashier Items Tender Earned Redeemed Discount Total

Promotion Effectiveness

Promo Code Type Description Uses Discount Given Revenue Influenced Avg Basket ROI

Discount Share by Promo

Active Promotions

Pricing Recommendations

Loyalty Transactions

Successful Nudges

Customer Segments

Visit Frequency Distribution

Customer Opportunities

Click a persona to see top opportunities

Completed Nudges

Loyalty Members

Activity Log

Timestamp User Action Module Description Changes

Mobile View Configuration

Toggle which pages and components are visible on mobile devices
Total Items
0
Open
0
Blocked
0
Completed
0

Development Lifecycle

Sequenced by dependencies & priority
ID Type Title Priority Status Dependencies Created
Completed (0)

Version History

Version Date Type Changes