Vendors use "modular" for two different things, and they matter very differently.

Modular licensing

The first is a pricing model. You pay for the parts you switch on. Almost every SaaS product works this way, and it says nothing about how the product is built. A monolith with menu items hidden behind a flag is modular in this sense.

Modular data

The second is architecture. There is one shared set of records, such as customers, items, projects and ledger entries, and each module reads and writes them rather than keeping its own copy.

You can see the difference when you add a module. Suppose you run Sales, Procurement and Finance, and a year later you open a shop and want Retail. In a shared-data system, Retail sells items that already exist in Inventory, to customers that already exist in CRM, and its takings post to the ledger you already run. Nothing is imported.

In a system that is modular only in licensing, the new module is a separate application. It has its own item list and its own customer table, and someone has to keep them in step.

What the shared layer holds

In Circumz the shared layer is small:

  • Customers and suppliers, referenced by Sales, Projects, Leasing, Manpower, Retail and Finance.
  • Items and warehouses, used by Procurement, Inventory, Retail and Agriculture.
  • Employees, used by HR and by Manpower for its worker pool.
  • Documents and money: invoices, bills, payments, currencies, tax codes and the ledger.
  • Users, roles and the audit trail.

Everything else is a module on top. The 14 modules are grouped into a core (CRM, Sales, Inventory, Procurement, Finance, Accounting, HR) and packs for projects, transport, retail, real estate, agriculture and manpower. Each pack lists what it requires. Logistics needs Fleet, Retail needs Inventory, Manpower needs HR.

Dependencies are real, and stated

A shared model means modules depend on each other, and good ones say how. Accounting requires Finance, because it posts from invoices and bills. Manpower requires HR, because its workers are HR employees. Enabling a module without the one it depends on is refused with a message naming the missing module, so you find out at setup rather than halfway through a month.

How to check a vendor's claim

Ask what happens to your data when you enable a new module.

The answer you want is "nothing, it reads what is already there." The answer to worry about includes the words "map" or "import" or "sync".

A second check: ask whether a document in one module can point to a document in another by reference. An invoice that links to the rent schedule line, the timesheet or the farm sale that created it is a sign the records are shared. An invoice with a free-text field for "source" is not.

See what an ERP is for for the broader case, or choosing your modules if you are deciding where to start.