Core Concepts
Understanding the data model behind ORKSTRA makes every screen easier to navigate.
Tenant → Company → Project
Tenant (your contracting firm)
└── Company (legal entity, e.g. UAE LLC, KSA LLC)
└── Project (one job site / contract)
├── BOQ (one or more revisions)
├── IPCs
├── Variations
├── Inspections / NCRs / Punch lists
├── HSE records
└── Documents
A tenant is your contracting firm. Tenants are fully isolated from each other — there is no data overlap, ever.
A company is a legal entity inside the tenant — a UAE LLC, a KSA branch, an Egyptian SPV. Companies have their own currency, tax registration, bank accounts, and chart of accounts.
A project is a single job site or contract under a company. Most of the heavy work in ORKSTRA happens at the project level.
BOQ and revisions
The Bill of Quantities is the priced quantity list of work to be performed. Each project has at least one BOQ. As variations are issued and scope changes, the BOQ grows new revisions — v1, v2, v3. Older revisions remain immutable for audit; IPCs always reference a specific revision.
IPC and certification flow
An IPC (Interim Payment Certificate) is the monthly progress claim to the client. Each IPC has a draft → submit → review → approve → certified → paid lifecycle. The IPC engine pulls cumulative quantities from completed inspections and writes back to the BOQ once certified.
Approvals
ORKSTRA's generic approvals engine handles every multi-step decision flow — IPC approvals, VO approvals, document transmittals, leave requests. Each request type has a configurable workflow (sequential, parallel, or by role) with full audit log and SLA timers.
RBAC: Role-Based Access Control
Every action in ORKSTRA is gated by a permission. Permissions are grouped into roles (e.g., PROJECT_MANAGER, FINANCE_DIRECTOR, HSE_OFFICER). Users are assigned roles per-company. The system ships with 30+ pre-defined roles and you can create custom roles at the tenant level.
See the RBAC module guide for the full permission matrix.
Multi-currency
Every monetary value carries its own currency. The system automatically converts between currencies using the rate table on the value date of the transaction. See Multi-currency & Hijri for how to configure currencies and rate sources.
Audit log
Every state change in ORKSTRA writes to an immutable audit log keyed by tenant, user, entity, action, and timestamp. The log is exposed at Admin → Audit log and via the audit API.
Soft delete vs. hard delete
Most entities support soft delete — they vanish from the UI but remain in the database with a deleted_at flag for 90 days. Administrators can restore soft-deleted records. After 90 days the records are hard-deleted by a scheduled job, except where local law requires longer retention.