Advanced Fee Management in PrestaShop: Solving Surcharges & Extra Costs

Advanced Fee Management in PrestaShop: Solving Surcharges & Extra Costs

As e-commerce evolves, the need for flexible and dynamic pricing structures goes beyond simple product costs and standard shipping. Many PrestaShop merchants encounter scenarios where additional charges are necessary – be it for cash on delivery (COD), handling fees for remote postcodes, small order surcharges, or value-added services like gift wrapping or assembly.

The core PrestaShop platform, while robust, lacks a general, built-in solution for these diverse "non-product" line items that must integrate seamlessly into the cart, invoice, and refund processes, complete with correct tax treatment.

The Challenge: PrestaShop's Fee Limitation

Merchants often struggle to implement various surcharges without resorting to complex workarounds or custom development. Common needs include:

  • Cash on delivery fees, often varying by delivery location (e.g., zip code).
  • Surcharges for specific product brands or categories.
  • Fees for orders below a certain minimum cart value.
  • Optional or mandatory per-product services like gift wrap or assembly.

These fees need to be clearly visible to the customer, correctly taxed, and manageable through the entire order lifecycle.

A Module Solution: Order Surcharge & Extra Fee by MEG Venture

The PrestaShop forum thread #1109845 introduces a dedicated module designed to fill this critical gap: "Order Surcharge & Extra Fee." This module aims to provide a comprehensive answer to PrestaShop's limitation in handling various extra charges.

Key features highlighted in the announcement:

  • Diverse Fee Types: The module supports five primary types of fees, which can run concurrently:
    • Per-product: Customer-selected options on the product page (e.g., gift wrap, assembly).
    • Brand: Applied if any product from a selected manufacturer is in the cart.
    • Category: Applied if any product from a selected category is in the cart.
    • Order Product: Triggered by the presence of up to 100 specific products in the cart.
    • Minimum Cart: A classic small-order surcharge, configurable for customer removal.
  • Postcode-Specific COD: A highly requested feature, allowing fees to be applied based on a list of delivery postcodes, with support for various formats. If the postcode doesn't match, no fee is applied, and no error is shown, which is an important diagnostic point.
  • Flexible Configuration: Amounts are entered tax-excluded, with the module applying shop tax rules. Brand fees can be fixed or a percentage. Per-product fees offer detailed control over descriptions, amounts, per-quantity multiplication, and states (pre-selected/removable, pre-selected/locked, off by default). They can also be bound to specific product combinations.
  • Customer Discounts: A per-customer discount feature allows exempting trade accounts from fees.
  • Bulk Setup: CSV export and import functionality for per-product fees simplifies management for large catalogs.

Important Considerations & Limitations

The module's design includes specific architectural choices and limitations that merchants should be aware of:

  • Hidden Fee Product: It creates a hidden "Fee" product in the catalog to ensure fees behave like standard cart lines (for totals, taxes, invoices, refunds). This involves an override of ps_emailalerts to prevent stock alerts. Merchants who cannot tolerate a hidden product in their database should consider alternatives.
  • Uninstall Behavior: Uninstalling deactivates and hides the "Fee" product rather than deleting it, and only removes combinations not tied to past orders. This preserves historical order data but means uninstall is not a "clean slate."
  • Pricing Rules: The module does not price by weight, distance, or carrier. Its rules are based on brand, product, category, customer group, delivery postcode, and cart minimum.
  • Silent Suppression: Postcode rules and 100% customer discounts suppress fees silently, without messages. This is a key troubleshooting point if a fee isn't applying as expected.

Community Engagement (or Lack Thereof)

At the time of this insight, the forum thread is purely an announcement from the module developer, MEG Venture, with no replies or community discussion. While this means there are no user-reported issues or alternative solutions discussed within the thread itself, the original post provides an exceptionally detailed overview of the module's capabilities and constraints.

For PrestaShop merchants grappling with complex fee requirements, this module presents a compelling, well-documented solution that addresses a significant functional gap in the platform.

Start with the tools

Explore migration tools

See options, compare methods, and pick the path that fits your store.

Explore migration tools