Skip to content

Reports overview

Every report in P2Lab Stats is built on the same layout. Once you understand the chrome, every individual report is just a different chart and table on top of it.

Each report page is split into four areas:

+-----------------------------------------------------------+
| Header: Date-range picker | View-mode | Export |
+--------------+-----------------------------+--------------+
| | | |
| Filter | KPI cards | Profile |
| sidebar | ──────── | sidebar |
| (left) | Chart | (right) |
| | ──────── | |
| | Sortable data table | |
| | | |
+--------------+-----------------------------+--------------+
  • Header — date range picker, view-mode switch, export button.
  • Filter sidebar (left) — sales channel, order state, payment/shipping method, customer group, country/region, manufacturer, category, product, coupon, free-text search.
  • Profile sidebar (right) — saved profiles per report, refresh button.
  • Main panel — KPI cards on top, chart in the middle, table below.
  • 9 presets: last 7 / 14 / 30 days, current month, previous month, last 3 / 6 / 12 months, current year.
  • Dual-month custom calendar for arbitrary ranges.
  • Previous period is always computed automatically (same length, immediately before).
  • Every chart, KPI and table column with a Δ % shows current vs previous comparison.

The picker is identical to the one used by the order and customer KPI widgets, so the same range presets are available everywhere.

The left sidebar exposes the following filters. Every filter narrows chart, KPIs and table simultaneously:

FilterNotes
Sales channelMulti-select
Order stateMulti-select; defaults configurable per profile
Payment methodMulti-select
Shipping methodMulti-select
Customer groupMulti-select
CountryBilling or shipping (configurable)
RegionBilling or shipping
ManufacturerMulti-select
CategorySingle or tree-pick
ProductMulti-select
CouponMulti-select
SearchCustomer name, e-mail, order number, product number

Some reports add their own filters on top (e.g. Margins has a “low-margin only” toggle). Those are documented on the per-report page.

Some reports support multiple views of the same data — e.g. the Sales summary can be grouped by order (one row per order) or by period (one row per day/week/month). The view-mode switch lives in the header next to the date range picker.

The current view mode is part of the URL, so links remain stable when shared.

Profiles store filter + sort + view-mode + date-preset combinations and can be reloaded with one click. Every report has its own profile list — your sales profiles don’t pollute the customer reports.

Profiles also support:

  • My default — your personal default for this report. Loads automatically when you open the page without a specific profile in the URL.
  • Global default — a default shared with all admin users (set by an admin).
  • URL priority — if the URL has explicit filter / sort / view-mode params, they win over the default profile.

See Profiles for the deep dive.

The Export button in the header opens a small modal where you pick CSV or PDF.

  • The export job runs in the background via the standard Shopware messenger worker.
  • A progress modal shows the row count being processed.
  • When finished, a download link appears in the modal and on the P2Lab Stats → Exports page.
  • Filters, sort and view-mode applied to the report are preserved in the export.

See Export for the per-format details and limits.

If cache warming is enabled, the report payload may be served from cache. The right-hand panel’s Refresh button forces a recompute against the live database for the current filter + range combination.