The key is saved only in this browser (localStorage) and is sent straight to Anthropic, never to the worker.
Placeholders: {{oc_name}}{{date_from}}{{date_to}}{{stats}} (every OC metric below, as a list).
Individual values: {{received}}{{completed}}{{open}}{{avg_fulfilment_days}}{{within3_pct}}{{within10_pct}}{{tickets_open}}{{tickets_closed}}{{nps}}
Preview the prompt for the selected OC
Learned from edits
Loading…
Dashboard
From
To
Revenue & Orders
Revenue (excl. tax)
?
Total sales revenue from invoiced orders in the selected period, excl. GST. Only orders with invoice_status = 'invoiced' are included — confirmed-but-not-yet-invoiced orders are excluded.
Table: sale.order
Field: amount_untaxed (excl. GST)
Formula: SUM(amount_untaxed) WHERE state IN ('sale','done') AND invoice_status = 'invoiced' AND date_order IN range
—
Avg. Order Value
?
The average dollar value of each invoiced order in the period, excl. GST. Only orders with invoice_status = 'invoiced' are included.
Table: sale.order
Field: amount_untaxed (excl. GST)
Formula: SUM(amount_untaxed) ÷ COUNT(id) WHERE state IN ('sale','done') AND invoice_status = 'invoiced'
—
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
?
Confirmed orders that have been invoiced in the selected period. Orders confirmed but not yet invoiced are excluded.
Table: sale.order
Formula: COUNT(id) WHERE state IN ('sale','done') AND invoice_status = 'invoiced' 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
—
Orders by Type
?
Invoiced orders broken down by customer type — whether the buyer is an Agent, Owner, or Tenant. Only orders with invoice_status = 'invoiced' are included.
Table: sale.order
Formula: COUNT(id) WHERE state IN ('sale','done') AND invoice_status = 'invoiced' AND ordering_as = 'Agent' / 'Owner' / 'Tenant'
Agent—
Owner—
Tenant—
Customer Refunds
?
Credit notes issued to customers in the period — used as a proxy for returns and refunds. All values excl. GST.
Table: account.move
Field: amount_untaxed (excl. GST)
Formula: COUNT(id) + SUM(amount_untaxed) WHERE move_type = 'out_refund' AND invoice_date IN range
Count—
Total Value—
Fulfilment
Active Order Fulfilment Performance
?
Live snapshot of all currently active orders, bucketed by how many days have passed since their Processing Start Date vs. the 10-day target. Not affected by the date range above.
Table: sale.order
Field: processing_start_date (set when WooComm status → Processing)
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 on invoiced orders in the period, broken down by product type. Only lines from orders with invoice_status = 'invoiced' are included.
Table: sale.order.line
Formula: SUM(product_uom_qty) WHERE order_id.state IN ('sale','done') AND order_id.invoice_status = 'invoiced' AND product name CONTAINS 'key' / 'fob' / 'remote'
Keys—
Fobs—
Remotes—
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
Revenue from invoiced orders, grouped by the chosen period. Use the date presets on the right to independently control the chart range. All values excl. GST. Only orders with invoice_status = 'invoiced' are included.
Table: sale.order
Field: amount_untaxed (excl. GST)
Formula: SUM(amount_untaxed) WHERE invoice_status = 'invoiced' grouped by day / week / month
Top 10 Products
?
The highest-earning products by total revenue from invoiced order lines in the period, excl. GST. Only lines from orders with invoice_status = 'invoiced' are included.
Table: sale.order.line
Field: price_subtotal (excl. GST)
Formula: SUM(price_subtotal) WHERE order_id.invoice_status = 'invoiced' GROUP BY product_id ORDER BY revenue DESC LIMIT 10
Top 10 Categories
?
Revenue and order count grouped by product category from invoiced order lines in the period, excl. GST. Only lines from orders with invoice_status = 'invoiced' are included.
Tables: sale.order.line, product.product
Field: price_subtotal (excl. GST)
Formula: SUM(price_subtotal) WHERE order_id.invoice_status = 'invoiced' GROUP BY product_id.categ_id ORDER BY revenue DESC LIMIT 10
Top 10 Buildings / OCs
?
The customers with the most invoiced orders in the period — typically representing buildings or owners corporation accounts. Only orders with invoice_status = 'invoiced' are included. Revenue excl. GST.
Table: sale.order
Field: amount_untaxed (excl. GST)
Formula: COUNT(id) + SUM(amount_untaxed) WHERE invoice_status = 'invoiced' GROUP BY partner_id ORDER BY order count DESC LIMIT 10
Top 10 Order Reasons
?
The most common reasons entered on invoiced orders in the period, by order count. Only orders with invoice_status = 'invoiced' are included.
Table: sale.order
Field: reasons_for_order (char)
Filter: state IN ('sale','done') AND invoice_status = 'invoiced'
Help Desk Overview
Tickets Created?
Total helpdesk tickets created during the selected date range.
Source: helpdesk.ticket · create_date
—
Open Tickets?
Tickets created in the period that are not in a resolved/closed stage (based on stage name).
Source: helpdesk.ticket · stage_id
—
SLA Breaches?
Number of SLA policies that failed (deadline exceeded) for tickets in the selected period.
Source: helpdesk.sla.status · status = failed
—
Resolved (Period)?
Tickets created in the period that are in a folded (closed) stage in Odoo.
Source: helpdesk.ticket · stage_id.fold = true
—
Avg Resolution Time?
Average days from ticket creation to close_date, for tickets resolved within the selected period.
Open POs with expected arrival within the next 7 days.
Source: purchase.order · date_planned between today and today+7
—
POs arriving soon
POs Arriving in the Next 7 Days?
Purchase orders with an expected arrival date within the next 7 days, sorted by arrival date.
Source: purchase.order · date_planned between today and today+7, state = purchase
PO Ref
Supplier
Expected Arrival
Value (excl. tax)
Loading…
Owners Corporation
Search and select an Owners Corporation above to view performance metrics.
OC Summary
Performance Report
Generate a summary of this OC's performance for the selected period.
✎ Click any heading or paragraph to edit it. Copy and Download PDF use your edited version, Regenerate builds on it, and future reports learn your wording.
Orders
Orders Received?
All orders placed by this OC in the selected period, regardless of status.
Table: sale.order
Formula: COUNT where oc_id = OC and date_order in range
—
Orders Approved?
Orders that have been confirmed and are actively being processed (state = Sale).
Table: sale.order
Formula: COUNT where oc_id = OC and state = 'sale' and date_order in range
—
Orders Completed?
Approved orders where all deliveries have been completed or cancelled — nothing left outstanding.
Table: sale.order + stock.picking
Formula: Approved − orders with any picking still in progress
—
Open Orders?
Approved orders that have not yet been fully completed — still in progress.
Formula: Orders Approved − Orders Completed
—
Fulfilment & Items
Fulfilment Time?
Days from when processing started to when the delivery was marked done. Uses Processing Start Date if set, otherwise falls back to Order Date.
Table: sale.order + stock.picking
Start: processing_start_date ?? date_order
End: stock.picking.date_done (outgoing, state = done)
Formula: AVG / MIN / MAX of (date_done − start) in days
—
Items Sent?
Actual units dispatched to this OC in the period, broken down by product category. Counts done quantity on completed outgoing deliveries.
Table: stock.move.line
Filter: outgoing picking, state = done, scheduled_date in range
Field: quantity (done qty) grouped by product category
—
Keys
—
Fobs
—
Remotes
Orders By?
All orders for this OC broken down by who placed them — Agent, Owner, or Tenant.
Table: sale.order
Formula: COUNT where oc_id = OC and date_order ≥ period start, grouped by ordering_as field
—
Agent
—
Owner
—
Tenant
Fulfilment Breakdown
Within 3 Days?
Orders for this OC fulfilled within 3 days of processing start — the fastest delivery tier.
—
Within 10 Days?
Orders fulfilled between 4–10 days of processing start — within the standard delivery window.
—
> 10 Days?
Orders that took more than 10 days to fulfil — outside the standard window and worth investigating.
—
Fulfilment Performance by Product Type
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—
Support Tickets
Open?
Helpdesk tickets for this OC that are currently open — created in the selected period and not yet resolved.
Source: helpdesk.ticket · partner_id = OC, stage not folded
—
Closed?
Helpdesk tickets for this OC that have been resolved or closed in the selected period.
Percentage of tickets created in the period that have been closed. Closed ÷ (Open + Closed).
—
Phone Calls (estimated)
Calls?
Estimated calls about this OC. RingCentral calls aren't linked to an OC, so this is all calls in the period × this OC's share of the helpdesk tickets that have an OC set. "Answered Elsewhere" duplicates are left out.
Source: crm.phonecall × (OC tickets ÷ tickets with an OC)
—
Call Minutes?
Estimated talk time on answered calls about this OC: total talk time in the period × this OC's share of the helpdesk tickets that have an OC set.
Average length of an answered call in the period, across all calls (the estimate assumes this OC's calls are typical).
Source: crm.phonecall · Accepted / Call connected
—
minutes per call
Share of Tickets?
This OC's helpdesk tickets as a percentage of the tickets created in the period that have an OC set. Tickets with no OC are left out. Used to estimate its share of calls.