Skip to content

Design: Data model

Status Draft
Author Stuart Meeks
Last updated 2026-10-10
Phase 1

Context

Every entity, field and relationship, designed in full before build.

Known constraints (to be expanded)

  • Core chain: customer, quote (versions, lines, components), sales order, job, invoice, payment.
  • Supporting: users and roles, catalogue items, materials, pricing rules, work centres, activity log, email events.
  • Every object has one ID, a prefix and random digits in groups of four, which is also its primary key (ADR 0017). Versioned objects keep one ID; their versions are numbered beneath it.
  • Rows are soft-deleted by default (ADR 0018).

Object ID prefixes

Every object type has one three-letter prefix and a fixed number of digits, a multiple of four (ADR 0017). Neither changes once the type is in use. Add a row here, with the digit length, when writing the type's requirements.

Prefix Object type Digits
USR User To be decided
ACC Account (business, customer or operations) To be decided
MEM Membership To be decided
QUO Quote To be decided
ORD Sales order To be decided
JOB Job To be decided
INV Invoice To be decided
EML Email To be decided
FIL File To be decided

This list grows as the data model is designed.

Design

To do.

Failure modes

To do.

Alternatives considered

To do.

Open questions

To do.