Skip to main content

Record an actual expense

POST 

/expenses/actual

Goes through the plugin's own save, after field-level checks. 201 with the new expense; 200 with the existing one when uuid already names an actual expense the caller can see. See the Classification notes on ActualExpenseWrite.

Field-level details on 422: date, amount, quantity, unit_cost, unit_price, total_price (required / invalid); expense_type (invalid / unsupported / required); paid_by_id (invalid / required); currency_id, is_billable, expense_id, task_id, product_rate_id (invalid); member_ids (invalid / required / folder_not_allowed / task_project_mismatch / budget_mismatch / <dimension code>_required); task_id: task_without_project; uuid: conflict; _: rejected for what EVX Software's save refuses.

Request​

Responses​

uuid already named an actual expense the caller can see.