Configuration reference
All plugin settings live under Extensions > My extensions > PackGuard > Configuration. The tables below are generated from the plugin's config.xml, so they always match the settings screen of the installed version.
General Settings
| Setting | Type | Default | Description |
|---|---|---|---|
trackingThreshold — Tracking threshold (%) | int | 30 | Orders with empty space below this value are not recorded at all. Keeps dashboards focused on packaging worth reviewing. |
warningThreshold — Warning threshold (%) | int | 50 | Orders at or above this empty-space ratio are flagged as warnings. |
blockThreshold — Block threshold (%) | int | 70 | Orders at or above this empty-space ratio are flagged as violations and box selection is rejected. |
autoCalculate — Auto-calculate on order creation | bool | true | Records the best box for each new order. Older orders are recorded on their next status change. Recording runs in the message queue, so the box appears shortly after the order is placed. |
companyName — Company name (for the Packaging Efficiency Report) | text | `` | Shown as the author on the Packaging Efficiency Report PDF. Leave empty to fall back to your shop name. |
declarationTitle — Report title | text | Packaging Efficiency Report | Main heading shown at the top of the Packaging Efficiency Report PDF. |
declarationSubtitle — Report subtitle | text | Regulation (EU) 2025/40, Article 24 | Subtitle shown under the main heading on the Packaging Efficiency Report PDF. Leave empty to hide it. |
Thresholds are compared against the empty space ratio of an order's selected (or suggested) box — see Concepts for how the ratio is calculated.
Entities
PackGuard adds five entities to your database. All of them are removed (including data) when the plugin is uninstalled without the "keep data" option.
| Entity | Purpose |
|---|---|
ssd_packguard_box | A packaging type in your catalog: internal dimensions (mm), computed internal volume, weight, cost, material, type, insulated flag, active flag. Name is translatable. |
ssd_packguard_packaging_profile | A named set of packing rules (e.g. "Fragile"). Name and description are translatable. |
ssd_packguard_profile_constraint | One rule inside a profile: type (padding, orientation, insulated, allowed_box_types) plus its configuration. |
ssd_packguard_product_packaging | Assigns a packaging profile to a product (set on the product detail page or via bulk edit). |
ssd_packguard_order_packaging | The per-order record: the recorded box (auto-calculated or selected), product volume, box volume, empty space ratio, status (compliant / warning / violation), and saving amount. Feeds the dashboard. Override reasons are written to the system log, not this table. |
ACL permissions
The plugin registers a PackGuard entry under Permissions > Content in admin role administration:
| Role | Grants | Depends on |
|---|---|---|
ssd_packguard.viewer | Read access to all PackGuard entities, orders, products, and plugin config. Required to see the module and the order card. | — |
ssd_packguard.editor | Update access (edit boxes, profiles, assignments; select boxes on orders). | viewer |
ssd_packguard.creator | Create access (new boxes, profiles, constraints; preset import). | viewer, editor |
ssd_packguard.deleter | Delete access for boxes, profiles, constraints, and product assignments. | viewer |
The Packaging Profile card on the product detail page is shown to ssd_packguard.viewer. Changing an existing assignment needs ssd_packguard.editor; assigning a profile to a product for the first time needs ssd_packguard.creator. Users without any PackGuard role can still open and save products.
Admin API routes
For automation and integrations. All routes require an authenticated Admin API client whose role grants the matching PackGuard permission: read routes need ssd_packguard.viewer, box selection needs ssd_packguard.editor, preset import needs ssd_packguard.creator. Otherwise the route returns HTTP 403.
| Route | Method | Purpose |
|---|---|---|
/api/ssd-packguard/box-suggestion/{orderId} | GET | Live suggestion for an order: product volume, ranked box list, exclusions. |
/api/ssd-packguard/select-box | POST | Select a box for an order. Returns HTTP 422 with error: blocked above the block threshold. |
/api/ssd-packguard/select-box/override | POST | Select a blocked box with a mandatory reason (audited). |
/api/ssd-packguard/dashboard-stats | GET | Aggregated KPIs, distribution, and recent violations. |
/api/ssd-packguard/declaration/{boxId} | GET | Packaging Efficiency Report data for a box (JSON). |
/api/ssd-packguard/declaration/{boxId}/pdf | GET | The report as a PDF document. |
/api/ssd-packguard/preset-boxes | GET | List of importable preset packaging formats. |
/api/ssd-packguard/preset-boxes/import | POST | Import selected presets into the box catalog. |
Plan tiers
PackGuard ships as a single edition — every feature documented in this manual is included in every subscription. There is no feature gating.
