Tabs and row scope follow §3 per role; Pricing has no Reports access (§3.6).
Reports
TASK-054..058: sales, job order, shipment, revenue and outstanding invoice reports. Each report runs server-side against the same scoped API as its module — no client-side joins across role boundaries.
Sales performance
per sales: quotations, conversion, active JOs — scope per §3.2
Sales
Quotations (period)
Confirmed
Conversion
Active JOs
Confirmed value
Job order summary
state distribution + completion, current scope
Shipment summary
lifecycle distribution; delayed = ETA passed while not delivered
Revenue
from journal accounts 4-41xx/4-42xx per period — finance domain (§3.5)
Service line
Aug 2026
Sep 2026 MTD
YTD
Outstanding invoices
TASK-058 · open invoices with aging
Invoice
Customer
Due date
Outstanding
Aging
Status
Access (§3). Sales sees only own rows in Sales/JO reports and has no revenue tab (finance data). Finance owns Revenue and Outstanding; CS and Customs get operational summaries only. Commission report (TASK-059) lives on the dedicated Commission screen per §13. Export honors current role scope and tab.