Buy a traditional ERP and the first thing you do is learn its vocabulary. Your "lot" is now a "batch." Your "job worker" is a "subcontracted operation." The thing you've called a dispatch for thirty years is a "delivery document, type ZLF." Before the system can run your business, you have to translate your business into its language.

That translation is where most ERP projects quietly go wrong. SG Schema is built on the opposite premise: the software should speak your language, not the other way around.

The same word means different things

Here's the problem every generic ERP pretends doesn't exist: the same business term means completely different things in different parts of your operation.

Take the word "order." On the sales side, an order is a customer commitment - a promise to deliver, with a price and a date. In production, an order is a work instruction - what to make, in what sequence, on which line. In procurement, an order is a purchase commitment to a vendor. Same word. Three different entities, with three different lifecycles, three different sets of rules.

A module-based ERP forces all three into one rigid "Order" object, or splits them across modules that don't quite line up, and then sells you the integration to stitch them back together. Your team spends the next year learning which screen means which kind of order.

What a schema actually is

SG Schema is a description of your operation in your own terms: the entities you actually work with, the words you actually use, and the rules that actually govern how they move. "Order" can mean three things, and the schema keeps each one distinct - with its own fields, its own states, and its own boundaries - while still knowing how they relate.

This isn't a settings screen or a pile of custom fields bolted onto a generic object. The schema is the system. When your business says a dispatch can't ship until QC signs off, that's a rule in the schema, enforced everywhere, not a workflow plugin someone has to remember to install. (The entities themselves are defined as entity roots - the building blocks the schema is assembled from.)

Why this matters for deployment

When the software speaks your language, three things change.

Onboarding collapses. Your stores manager doesn't learn a new vocabulary, because the screens already say "lot" and "dispatch" and "job worker." The interface looks like the business they already run.

Customization stops being a project. Changing how an entity behaves means editing the schema, not rebuilding a module. That's the difference between a change that takes minutes and one that takes months.

The data stays honest. Because nobody is translating reality into the software's categories, nothing gets lost or mislabeled in the gap between what happened and what the system can represent.

Your operation is not generic

The entire premise of off-the-shelf ERP is that businesses in an industry are basically the same, so one set of modules should fit all of them. They aren't, and it doesn't. Two furniture factories down the road from each other settle contractors differently, track wood differently, and define "finished" differently. A generic model flattens those differences and calls it best practice.

SG Schema captures the differences instead of erasing them. Your business speaks. The software listens - in your language, not translated into someone else's modules.

← Event Sourcing: Why SimpleGrid Stores Every Action Forever Entity Roots: Building Blocks of an SG Schema ERP →