# TrackGo Reports Reports implemented in the report engine. Columns reflect **available data** only — fields from the legacy PMPS UI without backing tables are omitted. ## Sales reports (`sales_report`) ### Report Sales Order | Column | Source | | --- | --- | | Date | `sales_orders.date` | | Branch | `branches.name` | | Division | `divisions.name` | | No. Sales Order | `sales_orders.code` | | Customer | `customers.name` | | Invoice Amount | `SUM(sales_order_products.quantity * price)` | | Sales Rep. | `employees.name` | | Last Status Order | `sales_orders.status` | ### Report Request Order | Column | Source | | --- | --- | | Date | `sales_requests.date` | | Branch | `branches.name` | | Division | `divisions.name` | | No. Request Order | `sales_requests.code` | | Customer | `customers.name` | | Sales Rep. | `employees.name` | | Status | `sales_requests.status` | ### Report Invoice | Column | Source | | --- | --- | | Date | `sales_invoices.date` | | Branch | `branches.name` | | Division | `divisions.name` | | Customer | `customers.name` | | Customer code | `customers.code` | | Sales Order No. | `sales_invoices.sales_order_code` | | Invoice No. | `sales_invoices.code` | | Status | `sales_invoices.status` | | Sales Rep. | `employees.name` | | Balance | `sales_invoices.balance` | ### Report Payment | Column | Source | | --- | --- | | Date | `sales_payments.date` | | Payment No. | `sales_payments.code` | | Customer code | via `sales_invoices` → `customers.code` | | Branch | via invoice → `branches.name` | | Division | via invoice → `divisions.name` | | Sales Rep | via invoice → `employees.name` | | Invoice ID | `sales_invoices.code` | | Invoice Amount | `sales_invoices.balance` | | Payment Amount | `sales_payment_invoices.amount` | | Status | `sales_payments.status` | ### Report Visit Plan | Column | Source | | --- | --- | | Date | `plans.date` (`purpose = sales`) | | Sales Rep | `employees.name` | | Branch | start branch name | | Plan | count of `plan_destinations` | | Invoice | count of `plan_invoices` | | Status | `plans.status` | ## Logistics reports (`logistics_report`) ### Report Packing Slip | Column | Source | | --- | --- | | Date | `packing_slips.date` | | Sales Order No. | `packing_slips.sales_order_number` | | Packing Slip No. | `packing_slips.code` | | Customer | `customers.name` | | Status | `packing_slips.status` | ### Report Delivery Plan | Column | Source | | --- | --- | | Date | `plans.date` (`purpose = logistics`) | | Sales Rep | `employees.name` (driver) | | Branch | start branch name | | Plan | count of `plan_destinations` | | Packing Slip | count of `plan_packing_slips` | | Status | `plans.status` | ## Not built (no backing data) These reports from the legacy PMPS list require visit tracking, permissions, or alerts tables that do not exist in TrackGo: - Report Performance (sales and logistic) - Report Sales Permission / Report Logistic Permission - Report Alert (sales and logistic) Also omitted as columns everywhere: Visited, Break Time, Driving, Stop Time, Cancel, Alert counts, and live visit actuals.