Sales Dashboard
From
To
Revenue (excl. tax)
?
Total sales revenue from confirmed orders in the selected period, before tax.
Table: sale.order
Formula: SUM(amount_untaxed) WHERE state IN ('sale','done') AND date_order IN range
Avg. Order Value
?
The average dollar value of each confirmed order in the period.
Table: sale.order
Formula: SUM(amount_untaxed) ÷ COUNT(id)
Orders Received
?
All orders created in the period, regardless of whether they have been confirmed yet.
Table: sale.order
Formula: COUNT(id) WHERE create_date IN range AND state != 'cancel'
Orders Approved
?
Orders that have been confirmed and are currently in progress or complete.
Table: sale.order
Formula: COUNT(id) WHERE state IN ('sale','done') AND date_order IN range
Orders Completed
?
Orders that have been fully locked and closed in Odoo.
Table: sale.order
Formula: COUNT(id) WHERE state = 'done' AND date_order IN range
Avg. Fulfilment Time
?
The average number of days between the scheduled delivery date and when it was actually completed.
Table: stock.picking
Formula: AVG(date_done − scheduled_date) WHERE state = 'done'
Items Sent
?
Total units dispatched in the period, broken down by product type using product name keywords.
Table: sale.order.line
Formula: SUM(product_uom_qty) WHERE product name CONTAINS 'key' / 'fob' / 'remote'
Keys
Fobs
Remotes
Orders by Type
?
Orders broken down by customer type — whether the buyer is an Agent, Owner, or Tenant, based on their customer tag in Odoo.
Tables: sale.order, res.partner.category
Formula: COUNT(id) WHERE partner_id.category_id.name = 'Agent' / 'Owner' / 'Tenant'
Agent
Owner
Tenant
Monthly Sales Revenue
?
Revenue from confirmed orders grouped by calendar month across the selected period.
Table: sale.order
Formula: SUM(amount_untaxed) GROUP BY MONTH(date_order)
Completed Fulfilment Performance
?
Completed deliveries bucketed by how many days they took from scheduled date to actual completion.
Table: stock.picking
Formula: COUNT WHERE (date_done − scheduled_date) <= 3 / <= 10 / > 10 days
Within 3 days
Within 10 days
Over 10 days
Customer Refunds
?
Credit notes issued to customers in the period — used as a proxy for returns and refunds.
Table: account.move
Formula: COUNT(id) + SUM(amount_untaxed) WHERE move_type = 'out_refund' AND invoice_date IN range
Count
Total Value
Fulfilment Performance by Product Type
?
Same fulfilment buckets as above, but filtered to deliveries containing each product type.
Table: stock.picking, stock.move
Filter: move_ids.product_id.name CONTAINS 'key' / 'fob' / 'remote'
Keys
Within 3 days
Within 10 days
Over 10 days
Fobs
Within 3 days
Within 10 days
Over 10 days
Remotes
Within 3 days
Within 10 days
Over 10 days
Top 10 Products
?
The highest-earning products by total revenue from confirmed order lines in the period.
Table: sale.order.line
Formula: SUM(price_subtotal) GROUP BY product_id ORDER BY revenue DESC LIMIT 10
Loading...
Top 10 Buildings / OCs
?
The customers with the most orders in the period — typically representing buildings or owners corporation accounts.
Table: sale.order
Formula: COUNT(id) + SUM(amount_untaxed) GROUP BY partner_id ORDER BY order count DESC LIMIT 10
Loading...