Capture a billable expense
Goal
Capture a rebillable cost so it appears in the unbilled queue.
Who it is for
billable_expenses.manage.
Preconditions
- Module billable_expenses enabled.
- Customer party exists.
- Know setup rules: receipt required, markup rule, approval threshold, default category.
Steps
- Open Billable expenses → Capture expense (or
/billable-expenses/new). - Choose Customer.
- Set Source: Manual, Purchase bill, Expense claim, or Payment.
- Enter Cost, optional Markup % (defaults may apply from setup), and Description.
- Confirm Capture. Billable amount = cost × (1 + markup%).
Result
An Unbilled expense is created. Approval status may be pending if above the threshold. It is ready to invoice or write off later.
Hard stops
- Receipt required but missing → 422
billable_receipt_required. - Markup required by rebill rule but omitted → 422
billable_markup_required. - Unknown category / party / source line → 422.