Project Expenses
Capture, submit, approve, and report project costs and billable pass-through expenses
Overview
Project expenses record costs such as mileage, travel, meals, lodging, hardware, software, subscriptions, and subcontractors. Expenses record actual project costs; the removed Budgets UI is not part of this workflow.
Open a project and select Expenses.
Record and submit an expense
- Select Submit expense.
- Enter the date, amount, currency, category, description, and technician when applicable.
- Choose the reimbursement kind: reimbursable, corporate card, or vendor pass-through.
- Mark the expense billable when it should be passed to the customer, and enter any supported markup details.
- Optionally enter an existing receipt storage path, then submit for review. The form currently accepts a path; it does not upload a receipt file.
Pending expenses appear separately from approval history. Rejected expenses remain in history so the reason and workflow are visible.
Approval controls
Users with project_expenses:submit can create and submit expenses. Users with project_expenses:approve can approve or reject pending entries. Normal approval blocks a user from approving their own expense. Owners, super-admins, and admins with approval permission have an explicit override path for exceptional cases; that action remains deliberate and auditable.
Approved billable expenses contribute to project reporting. Rejected rows are excluded from expense totals. Editing or deleting an expense is subject to its workflow state and the user's permissions.
Closed periods
An expense dated inside a closed project billing period is frozen. Reopen the period with a recorded reason, make the correction, and re-close it. Closing a period does not automatically approve pending expenses, so clear the approval queue before month-end close.