Orange Collar Media
Orange Collar Media
DOCS
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, the ocmlabsSetSelectedFees mutation, and CustomerOrder.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