Mid-market distributors adopting Business Central often ask the same question at the end of a customization project: should the work be shipped as a per-tenant extension, or productized as an AppSource app to sell to similar distributors? The technical work is almost identical. The ALM, support model, and business case are completely different.
What an AL extension is
Business Central customizations are AL code packaged as an extension. AL is a TypeScript-ish language specific to BC - it's not X++. An extension can add pages, tables, report layouts, API endpoints, and business logic through events and handlers.
Every customization in modern BC (SaaS) must be an extension. Direct modifications to the base code aren't possible. This is the opposite of old NAV where partners shipped customer-forked code.
Per-tenant publishing














