Download the PHP package magendoo/module-omnibus without Composer

On this page you can find all versions of the php package magendoo/module-omnibus. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package module-omnibus

Magendoo Omnibus Price Tracker

A Magento 2 module that records product price history and computes the lowest price in a configurable window, satisfying the requirements of the EU Omnibus Directive 2019/2161 (Article 6a).

The directive requires that any price reduction must show the lowest price from the preceding 30 days — measured not from today, but from the moment the reduction began. This module implements that anchored-window algorithm correctly.


Requirements

Dependency Version
PHP ≥ 8.1
Magento Open Source / Adobe Commerce 2.4.4 – 2.4.x
MySQL / MariaDB 8.0 / 10.6+

No RabbitMQ required: all queue topics are pinned to Magento's MySQL-backed db queue connection (queue_message table), so the async pipeline works on any standard Magento installation. Consumers run through Magento cron (consumers_runner) or a process manager — see Async processing.


Installation

The module is distributed via its GitHub repository (it is not published on Packagist).

Via Composer (recommended)

Add the repository to your project's composer.json:

Install and enable:

Manual installation

Copy the module directory to app/code/Magendoo/Omnibus/, then run the same setup:upgrade / setup:di:compile / cache:flush sequence.


Quick Start

After installation, navigate to:

Stores → Configuration → Magendoo Extensions → Omnibus Price Tracker

  1. Set Enable Price History to Yes
  2. Set Period in Days to 30 (minimum required by the Directive; increase for a wider safety margin)
  3. Set Display Mode to Discounted Products Only (recommended for compliance)
  4. Set Display Omnibus Prices On to Product Pages Only or Product and Category Pages — the default is None, which records history but renders nothing on the storefront
  5. Click Save Config → the module queues a full catalog recompute on the magendoo.omnibus.recompute queue (make sure consumers are running)
  6. Seed an initial baseline so products have history to compute from:

The omnibus_price product attribute is then populated and the label renders on the configured surfaces.


Configuration Reference

general/* settings are scoped per website. label/* settings are scoped per store view so the label can be translated for each language (store view is Magento's locale boundary); an untranslated store view inherits the website/default value. cleanup/* and cron/* are global.

Path Default Description
general/enabled No Master toggle. Disabling stops capture and display but does not delete existing history.
general/period_in_days 30 Window length in days. Hard minimum: 30 (enforced at save time and again at read time).
general/display_mode discounted_only discounted_only — show only during active reductions. all_products — show for all products (rolling window).
general/display_on none Where to render the label: none, pdp_only, or pdp_and_plp. Must be changed from the default for any storefront output.
general/hide_if_matches Yes Suppress the label when the Omnibus price equals the current price.
general/show_history_on_product No Adds a notice on the admin product edit page pointing to the price history grid.
general/hide_for_customer_groups (none) Suppress the label for specific customer groups (history is still recorded).
label/template The lowest price from the last {days} days: {omnibus_price} Label text. Variables: {days}, {omnibus_price}, {percentage}. Allowed HTML tags: span i u b strong em.
label/display_format text text (inline) or tooltip.
label/percentage_difference disabled Show % change between current price and Omnibus price via {percentage}.
cleanup/enabled Yes Automatic deletion of old history records by the cleanup cron.
cleanup/period_in_days 400 Delete records older than this many days. Must be ≥ period_in_days + 30. The newest pre-cutoff record per product/website/group is always kept (carry-in).
cron/sync_schedule 0 2 * * * Drift-sync cron: queues captures for products whose current effective price (rule / active special / regular) drifted from the last history entry.
cron/cleanup_schedule 0 3 * * * Cleanup cron: deletes records older than the retention window.

All recorded_at timestamps are stored in UTC.


CLI Commands

All three commands refuse to run (exit non-zero) while magendoo_omnibus/general/enabled is 0.


Admin Interface

Marketing → Omnibus → Price Change History

The price history grid displays every recorded price change across your catalog. Columns: ID, SKU, Website, Customer Group, Price Type, Price (excl. tax), Price (incl. tax), Source, Recorded At, Actions.

Filterable columns include SKU (text), Website, Customer Group, Price Type, Source, and Recorded At (date range).

All destructive endpoints accept POST only; GET requests are rejected.

ACL resources

Resource Grants
Magendoo_Omnibus::view_history View the price history grid
Magendoo_Omnibus::delete_history Delete single records / mass delete
Magendoo_Omnibus::manage Restore History (wipe + rebuild)
Magendoo_Omnibus::configuration Stores → Configuration section

Product attributes

Attribute Where Purpose
omnibus_price Product edit → Prices group (read-only value, website scope) The computed lowest prior price.
omnibus_hide Product edit → General group (Yes/No) Set to Yes to suppress the storefront label for this product.

Async processing

Bulk capture and recompute work runs through two message queue topics on the MySQL (db) queue connection:

Magento's cron consumers_runner starts the consumers automatically. To run them under a process manager instead:

A single product save in admin/API is captured synchronously (so the product page is correct immediately); everything else is queued.


How It Works

See docs/how-it-works.md for a full explanation of the anchored-window algorithm (including the carry-in rule), the price resolution chain, and the complete event capture pipeline.

Architecture

See docs/architecture.md for the module structure, database schema, DI wiring, queue topology, and cron schedule.

Testing

See docs/testing.md for the PHPUnit suite inventory and manual verification checklist.


Roadmap

Reserved for future versions (constants exist in Api/Data/PriceHistoryInterface, but no code writes them yet):


Changelog

v2.0.0 — 2026-07-18

Major refactor. Breaking changes — review before upgrading from v1.x:

Removed

Fixed / changed

Notes

v1.0.0 — 2026-04-16

Initial release:


License

MIT — see the license header in each source file. Copyright © Magendoo (https://magendoo.ro)


All versions of module-omnibus with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
magento/framework Version >=103.0.0
magento/module-catalog Version >=104.0.0
magento/module-catalog-rule Version >=101.2.0
magento/module-sales-rule Version >=101.2.0
magento/module-tax Version >=100.4.0
magento/module-store Version >=101.0.0
magento/module-backend Version >=102.0.0
magento/module-ui Version >=101.2.0
magento/module-eav Version >=102.1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package magendoo/module-omnibus contains the following files

Loading the files please wait ...