Skip to content
RONI CLEI.
← All articles

Magento15 Nov 2026· 6 min read

When to build a custom Magento 2 module instead of installing dozens of ready-made extensions

Use a ready-made extension for generic problems the market solves well. Build a custom module when the rule belongs to your business, when several extensions conflict, or when an extension ships ten times more code than you need.

The problem with a store running 80 extensions

Every extension adds plugins, observers, tables, JavaScript and CSS. Over time they overlap: two change the same method, three load scripts at checkout, and an upgrade becomes a gamble.

The symptoms are slowness, intermittent errors and fear of updating.

When a ready-made extension is the best choice

  • Official payment and shipping gateways, maintained by the provider.
  • Standard, mature features with a good reputation and frequent updates.
  • When maintaining your own code costs more than the licence.

When a custom module is worth more

  • Rules specific to your business (pricing, stock, approval, B2B flows).
  • Integrations with internal systems or ERPs with their own contract.
  • When you use 10% of a heavy extension.
  • When several extensions handle parts of the same flow and conflict.

How a good module is built

A well-made module doesn't create a hidden second platform inside the store. In practice:

  • Service Contracts and dependency injection, without overriding the core.
  • Plugins and observers only where they need to run.
  • Admin configuration instead of hard-coded values.
  • Upgrade compatibility designed in.

Examples I have published

My GitHub has open Magento 2 / Adobe Commerce modules that solve specific pains with little code: hreflang tags on CMS pages across store views, shipping estimates by Brazilian postcode on the product page, and per-payment-method discounts and instalments.

By Roni Clei Santos

Senior Full-Stack · Adobe Certified Expert