Demo mode — Firebase not connected.
Your ../firebase-init.js must export db (from getFirestore(app))
and auth (from getAuth(app)) using the Firebase v9 modular SDK.
Live mode — Connected to Firestore. All changes persist.
Commitment Workspace
Select a project and activity. Commitments reserve budget headroom before cash leaves — POs and contracts block budget before they are paid. Activities are loaded from the subProjects collection.
—
Project
Activity
Budget Version
Currency
Status
Headroom: remaining ≥ 0 enforced on save. Status APPROVED / LOCKED blocks all edits.
Firestore: accounting_commitments
Budget vs Commitment
Gating surface. Any negative remaining is a hard block on save.
budget: —commit: —
Budget
AED 0
Committed
AED 0
Remaining
AED 0
Utilisation
0%
Bucket
Budget
Committed
Remaining
Status
Select a project and activity to compute headroom.