{{ loadingMsg }}

Sales Report Dashboard

View-only Analytics & Reporting

Back
to

Total Quantity By Brand

{{ productsByBrand.length }} Brands
Brand {{ u }} Qty
{{ row.brand }} {{ row.units[u].toLocaleString() }} -
No brand data matches the current filters.
OVERALL TOTAL {{ productsByBrand.reduce((sum, r) => sum + (r.units[u] || 0), 0).toLocaleString() || '-' }}

Total Quantity By Product Items

{{ productsByItem.length }} Items
Product Name Brand {{ u }} Qty
{{ row.name }} {{ row.brand }} {{ row.units[u].toLocaleString() }} -
No product data matches the current filters.

Sales Value By Brand

{{ salesByBrand.length }} Brands
Brand {{ u }} Qty Total Sales ($)
{{ row.brand }} {{ row.units[u].toLocaleString() }} - ${{ row.sales.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
No sales data matches the current filters.
OVERALL TOTAL SALES ${{ salesByBrand.reduce((sum, r) => sum + r.sales, 0).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}

Sales By Outlet

{{ salesByOutlet.length }} Outlets
Outlet Name {{ u }} Qty Total Sales ($)
{{ outlet.shopName }}
{{ outlet.units[u].toLocaleString() }} - ${{ outlet.sales.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
Product Name Brand Unit Qty Sales ($)
{{ prod.name }} {{ prod.brand }} {{ prod.unit }} {{ prod.qty }} ${{ prod.sales.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
No sales data matches the current filters.

No Data Loaded

Select your date range and filters above, then click 'Fetch Data' to generate your sales reports.

Orders for: {{ productOrdersModal.productName }}

PO ID Date Outlet Name Unit Qty
{{ order.id }} {{ order.date ? (order.date.includes('T') ? order.date.split('T')[0] : order.date) : '-' }} {{ order.shopName }} {{ order.unit }} {{ order.qty }}
No order details found.