FIRMA Database Design
Schema Atlas & Design Rationale
Every schema, table and column in the FIRMA platform database — why it exists, what it is grounded in, and what real values it holds. 32 schemas · 265 tables · 3,995 columns.
About FIRMA
FIRMA is a multi-tenant, mobile-first, cloud-hosted operations platform for
construction and trade businesses — typically 10 to 100+ staff, spanning construction and concreting, HVAC
and mechanical services, electrical, plumbing and fire services, subcontractors working across multiple
client sites, and body corporate/facilities management. It replaces the five-plus disconnected tools these
businesses currently stitch together with one system that follows a job from first quote through the build
and into the years a building is lived in and maintained afterward.
A responsive web app (office experience) and native offline-first iOS/Android apps (field experience) share a single data layer, covering quoting, scheduling, jobs and projects, purchasing, invoicing, timesheets, and audits, with live job costing throughout. Four capabilities anchor the product: a pass/fail audit and checklist engine, an AI “internal team member” that reconciles invoices and drafts quotes and variations under human approval, a private company-only social feed, and a migration path from tools like Simpro.
A responsive web app (office experience) and native offline-first iOS/Android apps (field experience) share a single data layer, covering quoting, scheduling, jobs and projects, purchasing, invoicing, timesheets, and audits, with live job costing throughout. Four capabilities anchor the product: a pass/fail audit and checklist engine, an AI “internal team member” that reconciles invoices and drafts quotes and variations under human approval, a private company-only social feed, and a migration path from tools like Simpro.
About this atlas & how to use it
This atlas is the single source of truth for FIRMA’s database design — every schema,
table, and column, with a plain-English reason it exists and, where relevant, exactly which requirement or
architectural decision it traces back to. It is generated from one underlying dataset, so what you see
here is what actually gets built, not a separate description that can drift out of sync.
Start from the schema list below, or the sidebar on the left — click a schema to see its tables, then click a table for its full column detail: type, nullable/required, primary and foreign keys, defaults, and a “why” note on almost every column. Foreign keys are clickable, so you can trace a relationship straight to the table it points at. The coloured badge on every table (see the classification key below) shows how firmly that table is grounded, from a direct line to a specific requirement through to an unconfirmed draft still waiting on review. Press
Start from the schema list below, or the sidebar on the left — click a schema to see its tables, then click a table for its full column detail: type, nullable/required, primary and foreign keys, defaults, and a “why” note on almost every column. Foreign keys are clickable, so you can trace a relationship straight to the table it points at. The coloured badge on every table (see the classification key below) shows how firmly that table is grounded, from a direct line to a specific requirement through to an unconfirmed draft still waiting on review. Press
/ anywhere to jump straight to a schema, table, or column by name.
Classification key
Direct requirementRequirement-derivedArchitecture /
technicalRecommended designOptional / unconfirmed— hover a table
for the full name; badges reflect how firmly each structure is grounded in the source requirements.
Schemas
referenceShared lookup vocabularies10 tables
platformControl-plane operations13 tables
tenantBusiness/org registry11 tables
identityUsers, logins & roles13 tables
securityData-plane security projections3 tables
featuresFeature flags2 tables
billingFIRMA's own subscriptions4 tables
migrationCSV data import3 tables
peopleTenant's own workforce6 tables
crmCustomers, leads, suppliers17 tables
financeQuotes, variations, invoices43 tables
projectsMulti-job groupings3 tables
jobsThe job lifecycle core10 tables
procurementPurchasing &
reconciliation15 tables
schedulingCrews & schedules7 tables
fieldOffline field-worker flow11 tables
offlineOffline sync infrastructure5 tables
qualityConfigurable audit engine10 tables
riskDaily risk sign-off2 tables
defectsDefect register2 tables
incidentsWHS incident register2 tables
documentsPhotos, plans & files10 tables
assetsPhysical asset register6 tables
handoverJob handover to customer6 tables
workflowGeneric approval engine6 tables
notificationsTemplated alerts7 tables
messagingIn-app conversations5 tables
socialInternal activity feed6 tables
aiAI suggestion pipeline8 tables
integrationsExternal system connectors6 tables
governanceRetention & legal hold8 tables
auditTamper-evident audit log4 tables