Some operations are close enough to share a core and different enough that a single rigid product cannot serve them. The engineering problem is deciding what belongs in the shared core, what belongs in configuration, and where the boundary between the two should sit — because that boundary is expensive to move later.
The architectural question
A shared core reduces the cost of every future change, but only if the variation between business models is genuinely expressible as configuration. Where it is not, configuration becomes a second, undocumented programming language, and the platform becomes harder to change than the separate systems it replaced.
The work is therefore as much about what the platform refuses to make configurable as about what it allows.
Where the engineering effort concentrates
Architecture and data modelling for a shared core; a configuration model that carries the legitimate variation between business models without leaking into the core; roles and permissions that hold across tenants; and the deployment and operational design a platform needs before it carries anyone's day-to-day work.