Commerce core
Purpose
Everything commercial calculates on one foundation. Tax, pricing, document generation, number allocation, stock keeping and payments live in the core, not in the individual modules.
The reason is uncomfortable but compelling: two places that calculate VAT will sooner or later calculate it differently. And the difference does not surface while programming — it surfaces during an audit.
Scope
- Tax and calculation in one place, for sales and purchasing alike.
- Money always in the smallest unit. Amounts are held in cents rather than as decimals with
rounding behaviour — which structurally removes the cause of silent one-cent differences.
- Number schemes per type and brand, with pattern, reset and a gapless variant for document types
where gaplessness is required.
- Pricing including tiers and customer-specific prices.
- Document generation per document type, brand and language from maintainable templates.
- Stock keeping as one truth: whoever changes stock goes through the same place.
- Payment terms with net period and discount tiers, frozen when the invoice is finalised.
- Partner master data for both the customer and the supplier side.
Interplay
The commercial modules — quotes, orders, invoices, purchasing, warehousing, shipping — build on this core rather than bringing their own calculation routes. Documents land in the file store, their dispatch runs through communication, and the brand determines appearance and number scheme, see Multi-brand.
Limits
- The core calculates; it does not operate. The working surfaces come from the respective
modules; without them there is no invoice, though the calculation rules exist.
- A finalised document is immutable. Later changes to master data affect future documents, not
past ones — that is the point of finalising.
- Gapless number schemes cannot be deleted. A gapless sequence is worth something precisely
because it cannot be removed after the fact.
- Without a document engine in the installation no PDF is produced — however well the template is
maintained.