Installing the Extra Fees module and creating your first fee
Requirements
- Magento Open Source or Adobe Commerce 2.4.7 - 2.4.9 (
magento/framework>=103.0.7 <103.0.10) - PHP 8.3 - 8.4 (Magento 2.4.9 requires PHP 8.4)
- GraphQL coverage is automatic when
Magento_GraphQl,Magento_QuoteGraphQl, andMagento_SalesGraphQlare enabled; on a REST-only install the schema is simply never parsed
Magento 2.4.9 is supported from version 1.2.0. Earlier versions block installation on 2.4.9; run composer require ocmlabs/module-extra-fees:^1.2 (or the -commerce package) before upgrading Magento. Magento 2.4.10 and later are blocked until the module has been retested.
Install via Composer
Composer access to the package is granted with purchase through the OCMLabs Packagist repository. The license is $250 for Magento Open Source (ocmlabs/module-extra-fees) and $500 for Adobe Commerce (ocmlabs/module-extra-fees-commerce); pick the edition on the product page at checkout.
composer require ocmlabs/module-extra-feesbin/magento module:enable OCMLabs_ExtraFeesbin/magento setup:upgradebin/magento setup:di:compilebin/magento setup:static-content:deploy -fbin/magento cache:flushsetup:static-content:deploy matters here: the fee form’s condition builder and the checkout components are deployed static assets, and skipping the deploy leaves them missing or stale on a production-mode store.
Adobe Commerce customers instead run composer require ocmlabs/module-extra-fees-commerce - a metapackage that licenses the module for Adobe Commerce and pulls in ocmlabs/module-extra-fees automatically. The remaining bin/magento steps are identical.
Hyva theme
If your storefront runs Hyva, install the companion compatibility module alongside the core module:
composer require ocmlabs/module-extra-fees-hyvabin/magento setup:upgradebin/magento setup:di:compilebin/magento setup:static-content:deploy -fbin/magento cache:flushThe companion package requires ocmlabs/module-extra-fees, so on a Magento Open Source store running Hyva, composer require ocmlabs/module-extra-fees-hyva followed by bin/magento setup:upgrade installs both modules in two commands. On a production-mode store, still run the compile, static deploy, and cache steps above. Adobe Commerce stores require ocmlabs/module-extra-fees-commerce first, then the Hyva package.
The companion module (Hyva_OCMLabsExtraFees) registers with Hyva’s compat module registry and renders fee lines in the Hyva cart totals with Alpine.js/Tailwind templates. Checkout fee lines and the optional-fee checkbox work through the standard Luma/Knockout checkout, which Hyva stores fall back to for the checkout flow. Native Hyva Checkout (Magewire) is not supported. See Troubleshooting for the details.
Verify the installation
bin/magento module:status OCMLabs_ExtraFeesThe output should read Module is enabled. In the admin panel, check for two new locations:
- Sales > Extra Fees > Manage Fees - the fee management grid
- Stores > Configuration > OrangeCollar > Extra Fees - the module configuration
If either menu item is missing, run bin/magento cache:clean config full_page.
Enable the module - it ships disabled
The global switch defaults to No, so nothing renders until you turn it on:
- Go to Stores > Configuration > OrangeCollar > Extra Fees
- Set Enable Extra Fees to Yes
- Save, then
bin/magento cache:flush
Grant admin access
Four ACL resources live under System > Permissions > User Roles:
- OCMLabs_ExtraFees::view - read-only access to the fee grid, the fee form, the Fee Revenue report, and the Change Log
- OCMLabs_ExtraFees::manage - create/edit fees, mass enable/disable, Duplicate (nested under view)
- OCMLabs_ExtraFees::delete - delete and mass delete (also nested under view)
- OCMLabs_ExtraFees::config - the configuration section
Upgrading from a version that predates the view-only role requires no role edits: a data patch grants view access to every role that already held manage or delete.
Create your first fee
- Go to Sales > Extra Fees > Manage Fees and click Add New Fee.
- Name it (this text is what shoppers see), pick Fixed or Percentage, and enter the amount.
- Add a condition - for example, a product attribute value that marks items needing special handling - or leave conditions empty to apply the fee to every cart.
- Set Is Active to Yes and save.
- Add a matching product to the cart on the storefront: the fee appears as its own line in the cart totals, and again in the checkout order summary.
If the fee does not appear, work through the checklist in Troubleshooting - store scope, schedule window, and condition option IDs are the usual causes.
Uninstall
bin/magento module:uninstall OCMLabs_ExtraFees --remove-data is a clean uninstall: it drops the module’s five tables, every column it added to quote, quote_address, sales_order, sales_order_grid, sales_invoice, and sales_creditmemo, and its configuration rows. A plain module:uninstall or module:disable leaves all data in place.