Rules and integrity

What Netzo refuses to protect your business, and why the database applies it on every surface.

A rule refuses a change that would break your business: a price under its floor, a shipment of more than is in stock, an invoice without a tax ID. The refusal names the rule and how to fix it, the same for a person and an agent.

Kinds of rule

RuleChecksExample
RecordThat the record is valid in every stateThe delivery date is not before the order date.
ActionThat the record is in the correct state before the actionOnly a created quote can be sent.
Related recordsThat the records it points to allow itA blocked customer is not used on a new order.
EligibilityThat the selected record is valid for this useThe product is enabled for the company and the site.
PeriodThat the period is openNo journal entry is recorded in a closed month.
TransitionThat the status change is allowedA canceled CFDI does not go back to valid.
Append onlyThat the history does not changeA stock movement is not edited or deleted.

In the database

Netzo applies the rules in the database, not on a screen. This is why they hold everywhere:

validbreaks a rulePersonAI agentProgramRules in thedatabaseSavedRefusal:rule and how to fix it
  • No surface skips them. A bulk import, a script or an agent meets the same rules as a person in the app.
  • All or nothing. An action saves all its changes or none. An order is not approved without its stock reservation.
  • A dry run checks everything. A dry-run write runs the same rules, and then discards the changes. If the dry run passes, the real write passes too, unless the data changes between the two.

Isolation

The database also checks the organization of every row. See Access.