Anatomy of a TX1 Project
A project is the top-level container for an estimate. Everything else — items, overheads, resources, notes, templates — belongs to it.
What a Project Contains
Project
├── Settings (name, number, version, currency, tax rate)
├── Client (optional link)
├── Folder (optional; organises the list of projects)
├── Sections (optional item grouping)
├── Direct Cost Items ──┐
│ └── Breakdowns │
├── Overheads ─┤ linked via Resources
│ └── Breakdowns │
├── Resources (project-scope) ┘
├── Project Parametrics (#variables)
├── Custom Columns (extra fields on each grid)
├── Code Sets and Allocations
├── Apportionment Allocations
├── Allocation Scenarios (what-ifs)
├── Markup Configuration
├── Carbon Allocations + Emission Records
├── Notes (rich text)
├── Documents (attachments)
├── Linked Projects
├── Lock state and permissions
└── Custom colours / formatting
Project Identity Fields
| Field | Purpose |
|---|---|
| Name | Human-readable title. Required. |
| ProjectNumber | Organisation-specific job number (optional but recommended). |
| Description | Short summary for the project picker. |
| Type | Standard, Template, or other custom type. |
| Status | Draft → In Progress → Completed → Archived. |
| Version | Free-text decimal ("1.0", "1.1", "2.0"). You control increments. |
| Currency | ISO code used across the project. |
| TaxRate | Default tax % (GST / VAT) for the project. |
| TaxIncluded | Whether entered prices already include tax. |
| IsTemplate | If true, this project is a master pattern rather than a real job. |
| SourceProjectId | If duplicated, a pointer back to the original. |
| FolderId | Optional project folder. |
Scope Boundaries
- Project-scope resources live with the project — visible only in that project.
- Master Library resources live organisation-wide — usable in every project.
- Templates can be Private (you), Project (this project), Organisation, or Global.
Project Lock
A ProjectLock attaches when editing to:
- Prevent concurrent edits from the same shared database profile.
- Allow read-only viewing by others while you work.
A lock has an expiry; it is released when you close the project or manually release it.
What Doesn't Live On The Project
- Users, roles, permissions — these are global.
- Emission Factor defaults — global.
- Currencies, enum definitions — global.
- Keybindings — per-user.
Understanding where data lives tells you when a change ripples and when it stays local.