Expenses
Use this page for the expense ledger — individual expense rows (manual One Time entries and lines from Recurring rules). Filter by date range, status, type, payment method, and category; paginate; and add, view, edit, or delete where permitted.
Open the screen: Sidebar → Expense Management → Expenses
Default date range
On load, From Date and To Date default to the current calendar month. Widen the range if expected rows are missing.
Expenses list
What it does
Shows a filterable, paginated table with view, edit, and delete actions.
Step-by-step
- Open Expense Management → Expenses.
- Pick Restaurant.
- Set filters (status, type, dates, etc.).
- Read the table columns.
- Tap refresh (tooltip Refresh one-time expenses) — disabled without a restaurant.
- Use pagination when rows exist — page size 10, 20, 50, or 100.
Filters
| Filter | What it does |
|---|---|
| Restaurant | Required. First outlet may auto-select. |
| Status | All, Unpaid, Paid, Reconciled (default All) |
| Expense Type | All, One Time, Recurring |
| Payment Method | All or one method |
| Expense Category | All or one category for this restaurant |
| From Date / To Date | Date pickers — default current month |
Changing filters or restaurant resets to page 1.
What the table shows
| Column | Meaning |
|---|---|
| Name | Expense name or — |
| Category | Linked category name |
| Expense Type | One Time or Recurring (when linked to a rule) |
| Amount | Two decimal places |
| Expense Date | Formatted date |
| Payment Method | Method label |
| Status | Paid (green), Reconciled (blue), or Unpaid (amber) |
| Actions | View, Edit, Delete |
Row actions
| Action | What it does |
|---|---|
| View (eye) | View Expense (read-only) |
| Edit (pencil) | Edit Expense |
| Delete (trash) | Confirm Delete dialog |
Common mistakes / FAQs
- “No one-time expenses found.” Widen From Date / To Date or clear filters — wording on screen; list can include Recurring rows too.
- “Loading one-time expenses...”. Wait for the list to finish loading.
- Add Expense disabled. Select a Restaurant first.
Add an expense
What it does
Creates a manual expense. New rows are saved with status Paid.
Step-by-step
- Tap Add Expense.
- In Create Expense, complete sections below.
- Tap Create Expense (Creating...) or Cancel.
- On success: One-time expense created successfully.
Basic Details
| Field | Required? | What to enter |
|---|---|---|
| Expense Name | Yes | Max 150 characters (placeholder e.g., Annual Software License) |
| Expense Category | Yes | Pick a category (None fails validation) |
| Supplier | No | None, existing supplier, or Create new supplier |
| Amount | Yes | Must be > 0 |
Date Details
| Field | Required? | What to enter |
|---|---|---|
| Expense Date | Yes | Defaults to today |
Period dates not shown
Period start/end exist in the data model but are not shown in the current form UI.
Payment
| Field | Required? | What to enter |
|---|---|---|
| Payment Method | Yes | From configured payment methods |
Additional Notes
| Field | Required? | What to enter |
|---|---|---|
| Notes | No | Optional textarea |
Validation messages (examples)
- Expense name is required / Expense name must be 150 characters or less
- Expense category is required
- Amount must be greater than 0
- Expense date is required
- Payment method is required
Edit an expense
What it does
Updates an existing row. Recurring-linked rows have limited edits.
Step-by-step
- Tap Edit on the row.
- In Edit Expense, change fields.
- Tap Update Expense (Updating...).
- On success: One-time expense updated successfully.
Recurring-generated rows
If the expense is tied to a recurring rule (recurring_id), an amber banner appears: For recurring expenses, only amount and notes can be updated. Name, Category, Supplier, Expense Date, and Payment Method are locked.
View an expense
What it does
Read-only View Expense. Tap Close.
Delete an expense
What it does
Permanently removes a row.
Step-by-step
- Tap Delete (trash) on the row.
- Confirm — Confirm Delete / Are you sure you want to delete this one-time expense?
- Tap Delete (Deleting...) or Cancel.
- On success: One-time expense deleted successfully.
Inline supplier create
On Supplier, Create new supplier opens the supplier form over the expense dialog. On success: Supplier created and auto-selected.
Permissions
| What you need | Why |
|---|---|
| Expenses module permission | See the menu and list |
| CREATE | Add Expense |
| UPDATE | Edit |
| DELETE | Delete |
