OCMLABS/MODULE-EXTRA-FEES · CHANGELOG
Extra Fees module changelog
MAGENTO 2.4.7 - 2.4.8 PHP 8.3+ LUMA + HYVÄ COMPOSER
All notable changes to OCMLabs Extra Fees are listed here. This module follows Semantic Versioning.
1.1.0
Added
- Six condition operators per condition row: Is, Is Not, >=, <=, >, < (numeric operators are scalar-only and never match multiselect values).
- Cart-level conditions: cart subtotal (base currency, evaluated against the live in-flight total), total item quantity, shipping country, shipping region, shipping postcode, customer group, shipping method, and payment method. Shipping- and payment-dependent conditions never match until the quote actually has that data.
- Min/Max amount caps for percentage fees, in base currency, applied before tax.
- Optional (customer-choice) fees: an opt-in checkbox in the checkout order summary, selection persisted on the quote and preserved across guest-to-customer cart merge, with REST selection endpoints for customer and guest carts.
- GraphQL coverage:
Cart.ocmlabs_extra_fees,Cart.ocmlabs_available_optional_fees, theocmlabsSetSelectedFeesmutation, andCustomerOrder.ocmlabs_extra_fees. - Admin REST CRUD for fees under
/V1/ocmlabs-extra-fees, ACL-gated per route. - Store view scoping per fee, with optional per-store display label overrides. Existing fees are backfilled to All Store Views on upgrade.
- Date-range scheduling (Active From / Active To), evaluated in each store view’s own timezone with inclusive bounds.
- Per-fee Tax Class override with fallback to the global Fee Tax Class, and a store-wide tax-inclusive fee entry option (Fee Amounts Include Tax).
- Multi-currency support: fixed amounts convert from base to display currency; percentage fees compute per currency from that currency’s own row totals.
- Fee Revenue report grid (Sales > Extra Fees > Fee Revenue) with per-order fee, tax, invoiced, and refunded amounts.
- Change Log audit grid recording every fee create, update, delete, enable, disable, and duplicate, with field-level diffs for admin form edits; entries survive fee deletion.
- Duplicate action on the fee grid; the copy is always created disabled.
- View-only admin role (
OCMLabs_ExtraFees::view); existing roles with manage or delete access are backfilled automatically. - Fee rows on guest order views, print views, and PDF invoices and credit memos.
- Translation dictionary (
i18n/en_US.csv).
Changed
- Fee tax is now computed by Magento’s tax engine via associated taxables, using the fee’s effective tax class, instead of being applied as a flat amount only.
- The fee grid’s Conditions column shows the real stored operator per condition (e.g.
color == 91 AND cart.subtotal >= 100).
1.0.1
Initial public release.
Features
- Fixed and percentage fees defined in the admin, each rendered as its own labeled line item in cart and checkout totals; multiple fees stack.
- Product attribute and SKU conditions with AND/OR combination; configurable products checked on both parent and child.
- Taxable flag per fee with a global Fee Tax Class setting.
- Fees persisted on orders and displayed across admin order views, customer account pages, and order, invoice, and credit memo emails.
- Invoice-once / refund-once lifecycle: the full fee is captured on the first invoice and refunded on the first credit memo after it, never more than was invoiced.
- Admin orders grid column for the order’s total fee amount.
- Clean uninstall via
bin/magento module:uninstall OCMLabs_ExtraFees --remove-data.
Requirements
- Magento Open Source or Adobe Commerce 2.4.7 - 2.4.8
- PHP 8.3 or higher