sylius/gmv-bundle
Sylius GMV Bundle adds Gross Merchandise Value analytics to Sylius stores. It calculates and reports GMV metrics from order data, helping merchants track sales performance, revenue trends, and growth through simple reporting tools.
Architecture fit. Unchanged by v1.1.0: sylius/gmv-bundle remains a Symfony bundle with no Laravel service provider, no config publish tags, no Eloquent integration, and no Laravel-facing API. The release is an infrastructure-compatibility change, not a re-architecture — nothing in it introduces a framework-agnostic surface. The bundle is still structurally coupled to Sylius's domain model (sylius/order-bundle, sylius/core-bundle, Doctrine ORM mappings, resource configuration), which Laravel does not share. What the release does confirm is the direction of coupling: the package's version line is now explicitly tied to Sylius's version line, which makes the framework boundary tighter, not looser.
Integration feasibility. The three viable paths from the prior assessment stand, and the release reorders their appeal slightly:
Technical risk. Overall risk profile improves on maintenance, worsens slightly on installability.
2026-10-12 timestamp should be retired: the changelog establishes a real, ordered v1.0.0 → v1.1.0 lineage, and the earlier date should be treated as bad metadata rather than a red flag.Key questions. In addition to the prior list (GMV semantics, Sylius hard-dependency, public vs. internal surface, finance reconciliation, test suite):
composer.json constraints, or does it also modify service definitions, interfaces, or query logic? Read PR #8's diff.Stack fit. Unchanged: poor for Laravel, adequate for Symfony/Sylius. The release adds no Laravel affordances. The one practical delta is that v1.1.0 is a Sylius 2.3 artifact — so any "co-host a Sylius service" plan must now be scoped against a Sylius 2.3 deployment, which is a larger commitment than the v1.0.0 baseline implied.
Migration path. Sequence holds, with one amendment:
Compatibility. This is the section with the most material change. v1.1.0 raises the floors — expect Sylius 2.3, a modern Symfony range, and a corresponding PHP minimum. Two consequences:
symfony/* transitives. Continue to resolve on a throwaway branch with --dry-run; expect a worse outcome than with v1.0.0.Sequencing. No change to priority. This remains a metrics concern, not a platform dependency, and should not jump ahead of first-party work. Within the workstream: define finance-accurate GMV semantics → run the spike against v1.1.0 → build the aggregate → only then decide whether you are borrowing logic or installing code. If you are running Sylius, insert "confirm Sylius version and upgrade path to 2.3" at the front, because that, not the bundle, is the long pole.
Maintenance. If you port: unchanged — low, small, self-owned, tested against your own data, and the source logic is stable so re-syncing is not a recurring chore. If you depend directly: the calculus improves slightly (upstream is demonstrably alive) but adds a new maintenance obligation — you must track Sylius minor releases, because the bundle's versions now follow them. That is a recurring upgrade task you would not have with a port, and it lands on the same calendar as the Sylius platform's own upgrades.
Support. Unchanged in substance. Still no external corpus, still no peer experience, still vendor-owned with no SLA. A first-time contributor does not change the support posture; treat issues as likely untriaged and plan to read the source. Nothing in the release notes constitutes documentation of the public API or of GMV semantics.
Scaling. Unchanged — an infrastructure release has no bearing on query shape. The scaling answer still depends entirely on whether GMV is aggregated incrementally or scanned per request, and the fix (materialized aggregates plus event-driven updates) is the same work regardless of the package. Watch per-request scans of large order tables and currency-mixing in multi-currency setups.
Failure modes.
Ramp-up. Unchanged for the port — low, commerce-standard domain logic. Unchanged for reuse — the multi-day cost of learning Sylius's data model remains, with no transferable value to a Laravel team, and it is now compounded by having to learn the Sylius 2.3 release delta too. The release does not reduce ramp-up; it slightly adds to it for anyone consuming directly.
Recommendation. Unchanged in direction, strengthened in confidence: treat sylius/gmv-bundle as a specification, not a dependency. v1.1.0 is a compatibility tag, not a feature release — it tells you the project is alive and that its GMV logic has been stable across a Sylius minor upgrade, which is precisely the profile of a package worth reading and reimplementing rather than installing. Run the two-day spike against v1.1.0, confirm from PR #8 that only dependency constraints moved, extract the formula and edge-case handling, and build it natively behind a domain interface. Adopt the package directly only if you already operate Sylius 2.3 — in which case it is a reasonable fit, but budget for the lockstep upgrade cycle you are signing up to.
How can I help you explore Laravel packages today?