⚠ This document is superseded (v1 reference — not confirmed v2 design).

Module 6: Reporting & Analytics

SUPERSEDED 2026-06-11 — Sprig-era feature spec (pre-pivot). The authoritative current design is the locked schema in docs/SCHEMA.md, the module's entry in docs/PROJECT_DECISIONS.md, and the responsibility/seam maps in docs/MODULE_INDEX.md + docs/CROSS_MODULE_CONTRACTS.md. This file is retained for historical feature context only; do NOT treat its scope/table/feature claims as current (it predates the nursery→generic pivot, the HR-out-of-scope cut, the identity/payments/integrations/files extractions, and the schema locks). Superseded note added 2026-06-11.

Status: ✅ Locked for v1.0 Schema: reporting Feature count: 146 features in v1.0 Build estimate: Strategic spec only — implementation effort TBD Last updated: 2026-05-12

Overview

Reporting & Analytics is the "show me the data" surface across all other modules. It owns dashboards, scheduled reports, custom report building, exports, and BI-style visualizations. Reporting consumes data from every operational module via materialized views and event subscriptions.

For nurseries, the operational reporting questions are: what's selling, what's not, what's slow-moving; how contractors perform; where margins live; cash flow visibility during spring crunch; inventory turnover and waste; vendor performance trends; and marketing campaign effectiveness.

Reporting is a terminal module — it consumes from everywhere, emits relatively little.

Target Customer Profile

  • Mid-size growth-stage retail nursery, $500K–$5M revenue
  • Owner reviews dashboards daily during spring
  • Bookkeeper/accountant pulls monthly financial reports
  • Manager reviews weekly operational reports
  • Sales rep / lead checks contractor scorecards
  • Multi-site operations require consolidated reporting

Architecture Principle: Configurability

Every threshold, default, refresh rate, and schedule in Reporting is configurable per tenant via the Owner Dashboard (Module 10).

Feature Hierarchy (146 features across 15 groups)

Group 1: Sales Reports (13 features)

# Feature Notes
1.1 Daily sales summary Total revenue, transactions, avg ticket — for any day
1.2 Sales by date range Custom date range with filters
1.3 Sales by cashier Performance ranking
1.4 Sales by hour-of-day When is your busy time?
1.5 Sales by day-of-week Saturday vs Tuesday patterns
1.6 Sales by month-over-month Trend visualization
1.7 Sales by year-over-year Seasonal comparison
1.8 Sales by tender type Cash vs credit vs charge account
1.9 Sales by customer type Retail vs contractor vs commercial
1.10 Sales by site (multi-loc) Site-level performance comparison
1.11 Top sales days Best 10/30/365 days by revenue
1.12 Sales velocity tracking Items per hour, transactions per hour
1.13 Goal vs actual reporting Set targets, compare against actuals

Group 2: Product / Inventory Reports (15 features)

# Feature Notes
2.1 Top selling items (by qty) Volume leaders
2.2 Top selling items (by revenue) Dollar leaders
2.3 Top selling items (by margin) Profit leaders
2.4 Slow-moving items Items not selling; flags for clearance/markdown
2.5 Dead stock report Items with no sales in X days
2.6 Aging inventory report How long inventory has been in stock
2.7 Inventory valuation Total value of stock on hand (cost basis or retail)
2.8 Inventory turnover rate How fast inventory cycles through
2.9 Out-of-stock report Items currently at zero qty
2.10 Low-stock alerts dashboard Items at or below reorder threshold
2.11 Variant performance comparison Compare different sizes of same plant
2.12 Plant category performance Annuals vs perennials vs trees, etc.
2.13 Vendor cost trend per item How vendor costs change over time
2.14 Inventory shrinkage / loss report Dead count, theft, adjustments over time
2.15 Plant health analytics Dead count by plant category; flags categories with high mortality

Group 3: Customer Reports (13 features)

# Feature Notes
3.1 Top customers by revenue Highest-spend customers
3.2 Top customers by frequency Most repeat customers
3.3 New customer acquisition by source Where new customers come from
3.4 Customer retention rate % of customers returning over time
3.5 Customer LTV distribution Spread of customer lifetime values
3.6 Customer churn analysis When customers stop returning
3.7 Contractor customer performance A/R aging, payment behavior, spend
3.8 Customer segment performance Revenue per segment
3.9 Customer geographic heat map Where customers come from
3.10 Loyalty program performance Enrollment rate, redemption rate, tier distribution
3.11 Cohort analysis Customer/order cohorts over time — retention, LTV per cohort
3.12 Customer concentration report "Top 10 customers = 60% of revenue" — concentration risk
3.13 Sustainability dashboard Aggregates % of inventory and % of sales tagged as native / pollinator-friendly / drought-tolerant / pet-safe (from Inventory feature 1.4 plant care attributes). Trend over time. Per-segment breakdown. Useful for trade reporting and customer-facing sustainability claims.

Group 4: Margin & Profitability Reports (9 features)

# Feature Notes
4.1 Gross margin by product Per-item or per-category margins
4.2 Gross margin by customer Margins on different customer types
4.3 Markup analysis Markup % per category vs target
4.4 Discount impact on margin How much margin lost to discounts
4.5 Promotional pricing margin Margin during sale events
4.6 Cost variance When receiving cost differed from PO cost
4.7 Profit by site Multi-loc profitability
4.8 Profit trend Year-over-year profit changes
4.9 Profitability waterfall Sales → Cost → Margin → Discounts → Fees → Net (visualization)

Group 5: Order & Fulfillment Reports (11 features)

# Feature Notes
5.1 Open orders dashboard All active reservations, contractor orders, special orders
5.2 Order aging How long orders have been open
5.3 Reservation conversion rate % of reservations that convert to sales
5.4 Quote-to-order conversion % of quotes that become orders
5.5 Cancellation rate Order cancellation patterns
5.6 Fulfillment performance Time-to-ready, accuracy, errors
5.7 Picker performance Per-staff fulfillment metrics
5.8 Order revenue forecast Projected revenue from open orders
5.9 Backorder pipeline What's waiting to ship
5.10 SLA compliance "Customer expected by X" — are we meeting it?
5.11 Funnel analysis Quote → Order → Fulfilled → Paid — drop-off rates per stage

Group 6: Purchasing & Vendor Reports (11 features)

# Feature Notes
6.1 Open POs dashboard What's been ordered, what's pending
6.2 PO spend by vendor Top vendors by $ spent
6.3 PO spend by category Plants vs hard goods vs services
6.4 Vendor lead time tracking Actual vs promised lead times
6.5 Vendor performance ranking On-time + fill rate + quality + price composite
6.6 Vendor cost trend How costs change with each vendor over time
6.7 Receiving discrepancy report Shorts, substitutions, damages by vendor
6.8 Three-way match status Pending matches, mismatches, approved invoices
6.9 Vendor 1099 spending Annual spend per vendor for tax reporting
6.10 Reorder accuracy Forecast vs actual purchases
6.11 Vendor concentration report "Top 5 vendors = 80% of spend" — concentration risk

Group 7: Financial Reports (11 features)

# Feature Notes
7.1 Daily cash position Cash on hand, in drawers, in deposits
7.2 A/R aging Customer receivables by age bucket
7.3 A/P aging Vendor payables by age bucket
7.4 Cash flow projection Expected cash in/out next 30/60/90 days
7.5 Daily journal entries Sales, refunds, adjustments — accounting feed
7.6 Sales tax collected By jurisdiction; ready for filing
7.7 Sales tax owed What needs to be remitted
7.8 Charge account aging Specific to customer A/R
7.9 Variance reports Cash drawer variances, inventory variances
7.10 Reconciliation reports Daily Z-tape, deposit reconciliation
7.11 Budget vs actual reporting If tenant sets budget, show variance with breakdown

Group 8: Marketing & Campaign Reports (8 features)

# Feature Notes
8.1 Campaign performance dashboard All campaigns: sent, opened, clicked, converted
8.2 Email open rate by campaign Effectiveness metric
8.3 Campaign-to-revenue attribution How much revenue came from this campaign
8.4 Customer engagement scoring Active vs disengaged customers
8.5 Loyalty program ROI Cost of program vs revenue impact
8.6 Referral program performance New customers from referrals
8.7 Customer-facing app engagement App opens, plant care views, purchases via app
8.8 Marketing ROI by channel Email vs SMS vs in-store

Group 9: Operational Reports (11 features)

# Feature Notes
9.1 Staff performance dashboard Sales per cashier, picker times, returns processed
9.2 Register reconciliation status Open/closed/variance per register per site
9.3 Daily operations summary One-page view of today: sales, orders, receipts, issues
9.4 Plant care reminders sent Customer-facing automation effectiveness
9.5 Customer-facing app metrics Plant care queries, AI usage
9.6 Fraud / suspicious activity report Patterns flagged by AI
9.7 Compliance status dashboard PCI, GDPR, tax filings status
9.8 System uptime / health Backend service status
9.9 Database / storage health Disk usage, backup status
9.10 API usage tracking Internal API call patterns
9.11 Anomaly detection alerts AI-flagged variance ("Sales down 30% vs expected today") — automatic

Group 10: Custom Reports & Builder (12 features)

Scope framing: Group 10 is a BI-lite layer — pivot tables, calculated columns, scheduled custom reports. Not a full data warehouse. Complex multi-table joins via UI are permitted but performance-bounded by source materialized views. Group 10 is tier-gated to Pro+.

# Feature Notes
10.1 Custom report builder Drag-and-drop or query-builder UI
10.2 Save custom report definitions Name and reuse later
10.3 Shared custom reports Share within tenant (manager creates, staff views)
10.4 Schedule custom reports Auto-run daily/weekly/monthly
10.5 Report export to CSV All custom reports
10.6 Report export to PDF All custom reports
10.7 Report email delivery Auto-email scheduled reports to stakeholders
10.8 Custom report templates library Pre-built starter templates for common questions
10.9 Pivot table report builder Drag-and-drop pivot tables for ad-hoc analysis
10.10 Saved filter views Re-usable filter combinations (e.g., "Spring contractor orders")
10.11 Report parameter prompts Run-time inputs ("Enter date range" / "Enter customer" / etc.)
10.12 Calculated columns in reports Add columns like margin %, growth %, days-to-pay

Group 11: Dashboards & Visualizations (11 features)

# Feature Notes
11.1 Real-time owner dashboard Today's sales, open orders, low stock, A/R balance. "Real-time" = polled every 30 seconds from materialized views; not streaming. See ARCHITECTURE.md "Real-Time vs Streaming Reconciliation".
11.2 Customizable dashboard widgets Choose which metrics, charts to display
11.3 Mobile dashboard view Owner can check from phone anytime
11.4 Multi-site dashboard Owner views all sites in one dashboard
11.5 Drill-down capability Click metric → see underlying data
11.6 Time-period switcher Day/week/month/quarter/year views
11.7 Comparison views Side-by-side: this period vs last period
11.8 Charts and visualizations Lines, bars, pies, maps
11.9 Conditional formatting on reports Red for negative variance, green for positive
11.10 Date dimension picker Calendar/fiscal/custom date hierarchies
11.11 YTD / MTD / QTD running totals Year-to-date, month-to-date, quarter-to-date

Group 12: Export & Integration Reports (6 features)

# Feature Notes
12.1 QuickBooks export reports Sales summary, vendor bills, tax data — formatted for QB. Routes via the Integrations module (Core & Platform Layer); Reporting prepares the report payload, Integrations delivers it to QuickBooks via the unified connector pattern.
12.2 Excel export All reports exportable to Excel
12.3 PDF export Branded PDF reports
12.4 Raw data export (CSV) All data exportable
12.5 API for third-party tools Reports queryable via API (Enterprise tier)
12.6 Webhook event subscriptions External tools subscribe to report events

Group 13: Forecasting & Predictive (5 features)

# Feature Notes
13.1 Revenue forecast Next 30/60/90 days projected
13.2 Seasonal demand forecast What to stock for next season
13.3 Inventory needs forecast Reorder suggestions with AI
13.4 Cash flow forecast Projected cash position
13.5 Customer churn prediction Who's at risk of leaving

Group 14: Audit & Compliance Reports (6 features)

# Feature Notes
14.1 Audit trail report All system changes with actor, time, IP
14.2 User activity log Who did what when
14.3 Failed login attempts Security monitoring
14.4 Data access log (sensitive data) Who viewed customer PII, financial data
14.5 GDPR/CCPA compliance audit Data exports/deletions tracked
14.6 PCI SAQ-A scope evidence export Generates evidence package for the tenant's PCI SAQ-A self-attestation. Vrida uses Stripe tokenization; cards never touch Vrida systems. Export documents the tokenization scope, not a full PCI audit (which is Stripe's responsibility under their SAQ scope).

Group 15: Report Distribution & Subscriptions (4 features)

# Feature Notes
15.1 Report subscription management Choose which reports to receive automatically
15.2 Report scheduling per recipient Different recipients get different reports
15.3 Report opt-in / opt-out Users manage their report subscriptions
15.4 Report history archive All sent reports archived; resendable

Tier Behavior (Module-Level)

Tier Reporting capability
Starter Basic reports only: daily sales, inventory valuation, top sellers, low stock. No custom builder, no scheduling, no exports beyond CSV.
Pro Full reporting suite: all built-in reports, custom builder, pivot tables, scheduled reports, dashboards, exports. Single-site view.
Enterprise + Multi-site dashboards + comparison views + API access + advanced analytics + budget/goal/forecast features + cohort analysis + concentration reports + anomaly detection.

Configurable Defaults (Owner Dashboard)

Configurable Default
Daily dashboard refresh rate "Real-time" = polled every 30 seconds from materialized views (NOT streaming); configurable to 1 min, 5 min, 15 min. See ARCHITECTURE.md "Real-Time vs Streaming Reconciliation".
Default reporting period Last 30 days
Comparison period Same period last year
Email scheduled reports OFF by default; user opts in
Owner dashboard default widgets Sales today, Open orders, Low stock, A/R balance, Recent activity
Mobile dashboard enabled ON (owner role)
Custom report sharing default Owner-only (must explicitly share)
Report retention 7 years for compliance reports; 90 days for ad-hoc
API access for reports Enterprise tier only
Multi-site dashboard Enterprise tier only
Forecast horizon 30/60/90 days
Audit trail granularity All actions logged
Anomaly detection sensitivity Medium (configurable: low/medium/high)
Anomaly alert delivery Email + dashboard notification
Budget/goal tracking enabled OFF (configurable to ON)
Concentration risk threshold Top 10 customers >= 50% of revenue triggers flag
Cohort retention window 12 months

AI Features in Reporting & Analytics

Feature # AI capability
2.4 AI-powered slow-mover identification
9.6 AI fraud / suspicious activity detection
9.11 AI anomaly detection alerts
13.1 AI revenue forecasting
13.2 AI seasonal demand forecasting
13.5 AI customer churn prediction
11.5 AI-suggested drill-downs based on anomalies
1.12 AI-detected sales velocity anomalies
8.4 AI customer engagement scoring

All AI features route via AIService (AI / Intelligence module; model-as-config; AWS Bedrock Claude Haiku 4.5 is the default model). Reporting does not call Bedrock directly.

Events Emitted

  • reporting.report_generated
  • reporting.scheduled_report_sent
  • reporting.dashboard_accessed
  • reporting.alert_triggered (e.g., revenue below forecast, anomaly detected)
  • reporting.audit_log_exported
  • reporting.budget_threshold_exceeded
  • reporting.concentration_risk_flagged
  • reporting.churn_risk_flagged

Events Consumed

All modules emit events that Reporting subscribes to for analytics:

  • pos.sale_completed, pos.refund_processed, etc.
  • orders.reservation_created, orders.fulfilled, etc.
  • purchasing.po_sent, purchasing.receipt_recorded, etc.
  • crm.customer_created, crm.churn_risk_detected, etc.
  • inventory.stock_changed, inventory.dead_count_recorded, etc.
  • billing.subscription_changed

API Contract (ReportingService — public methods)

High-level surface (detailed signatures during implementation):

  • Standard reports: getSalesReport, getInventoryReport, getCustomerReport, getMarginReport, getOrdersReport, getPurchasingReport, getFinancialReport, getMarketingReport, getOperationalReport
  • Custom reports: createCustomReport, saveReport, runReport, scheduleReport, shareReport, addCalculatedColumn, setParameterPrompt
  • Dashboards: getDashboard, updateDashboardWidgets, getMultiSiteDashboard
  • Drilling: getDrillData, getRelatedData
  • Forecasting: getRevenueForecast, getInventoryForecast, getChurnPrediction
  • Anomaly detection: getAnomalies, setAnomalyThresholds, acknowledgeAnomaly
  • Goal & budget: setGoal, setBudget, getGoalProgress, getBudgetVariance
  • Cohort & funnel: getCohortAnalysis, getFunnelMetrics
  • Concentration: getCustomerConcentration, getVendorConcentration
  • Audit: getAuditLog, exportAuditLog, getUserActivity
  • Export: exportToCSV, exportToExcel, exportToPDF, exportToQuickBooks (exportToQuickBooks routes the payload to the Integrations module's QuickBooks connector; Reporting does not call the QB API directly)
  • Subscriptions: subscribeToReport, unsubscribeFromReport, getSubscriptions

Out of Scope

Capability Why excluded
Business Intelligence (BI) full data warehouse Too complex for v1.0
Real-time streaming analytics Future v2.0
Geographic information system (GIS) detail Mapping limited to standard
Machine learning prediction confidence intervals Surfaces results, not confidence; v2.0
Multi-tenant analytics (cross-tenant insights) Privacy concern; per-tenant only
SQL access for super-users Too risky for v1.0; defer to v2.0
Weather-adjusted sales analysis (v1.0 only) Deferred to v1.2 per Gap #2 — weather-tied AI forecasting ships v1.2 as part of full Purchasing launch. See ROADMAP v1.2 and MARKET_RESEARCH_GAPS Gap #2.
Regression analysis with confidence intervals BI-territory; defer
Deep statistical reports (full descriptive stats) BI-territory; defer

Gaps Identified from Market Research

Source: See docs/MARKET_RESEARCH_GAPS.md for the master gap registry. Status: All gaps below are Open — pending decision. None have been accepted into scope yet.

Gap # Gap What's missing in this module Research source Possible options
2 Weather-tied reporting Out-of-Scope line "Weather-adjusted sales analysis" Research §6.3.5 Deferred (v1.2) — Bundled with v1.2 weather-tied AI expansion. See ROADMAP v1.2.
7 Unified AI copilot UX No unified "this week you should do X, Y, Z" copilot surface Research §6.3.3 Deferred (v1.5) — Needs year of multi-tenant signal. See ROADMAP v1.5.
8 Sustainability dashboard Sustainability dashboard added as Reporting 3.13 Research §10.E Accepted — Leverages existing Inventory 1.4 attribute data with no schema change.
15 AI markdown optimization No markdown recommendation in Forecasting group Research §6.3.5 Deferred (v1.2) — Part of v1.2 AI markdown bundle. See ROADMAP v1.2.
16 Pre-trained on nursery seasonality No nursery-specific fine-tuning or RAG corpus Research §6.3.3 Deferred (v1.5) — Needs year of operational data. See ROADMAP v1.5.
24 Opinionated answer-dashboards BI-lite + standard reports in v1.0; curated dashboards are additive Research §10.C Deferred (v1.2) — Curated layer added in v1.2 alongside BI-lite. See ROADMAP v1.2.
26 Markdown guidance reporting No decision support report yet Research §6.3.5 Deferred (v1.2) — Coupled with Inventory Gap #26 in v1.2 AI markdown bundle.
Last modified: Jun 17, 2026, 6:57 PM PT
On this page
Esc