# Expenses grid

The Expenses grid controls your non-payroll expenses involved in operating your agency. Open it from the Expenses chooser, which loads any Google Sheet you have access to that matches the expected format.

If a Save from the saved views menu fails, the Expenses grid keeps the view's unsaved changes and its Unsaved marker, and the menu stays open with a message saying the view was not saved and why: your connection failed, the view changed elsewhere, or you can no longer change it.

The Quick metrics panel has From and To date inputs for the range its figures cover. A date is applied once it is complete, with a four-digit year; a partial year typed while entering a date is not applied. If you leave a field with an incomplete date, it returns to the last complete date.

## Row history

Row history is switched on for individual accounts, not yet for everyone. On an account that has it, a database-backed Expense grid shows a History control at the end of each row. It opens the row's details on a History tab, which counts the changes made to that row.

Each entry names who made the change and how: in the app, an agent acting for a person, an import or the system. It gives the time, and one line for each field that changed, with the old value struck through, an arrow, and the new value. Values are shown the way the grid shows them. An agent's entry also says how many changes its call made. The Field and Who filters narrow the list, and the last line says when and by whom the row was created.

**Restore previous value** sets one field back and records the restore as a new change in your name, naming the change it reverts. The original entry stays. It is refused, with a message naming who changed the field since, when the field no longer holds the value that entry set. Changes made by imports and the system cannot be restored, and nothing can be restored while the grid has unsaved edits.

**Deleted rows**, beside the grid's view controls, lists rows that were deleted and not put back. Choose one to read its history and use **Restore row**, which puts it back with the values it last held. Anyone who can edit the grid can restore. Grids kept in Google Sheets keep no history here.

## Reviewing agent batches

On accounts with the unlisted `grid.row-history` feature, agent history entries
link to a batch review page. A pending-review banner lists each unreviewed agent
batch separately. Save or cancel unsaved edits before opening it. The page shows
the recorded request, connection and changes. Authorized reviewers can Undo one,
Undo all eligible changes, or Keep all. Later edits block undo of the affected
field; the page lists skipped changes with the recorded actor and time. Keep
clears only the reviewed batch's banner. Original changes and undo remain in
history. This feature does not change Google Sheets navigation.

## Grid history panel (opt-in)

The unlisted `grid.history-panel` feature is enabled separately for selected accounts; it is off on every default plan. Database grids also require row history on the same owning account. **History** opens a panel beside the grid; close it with **Close** or Escape while focus is inside it. **Who** filters All, People, Agents or Imports. Search matches row, field or actor, and **Load earlier changes** reads older complete row/save entries, newest first and grouped by your calendar day.

Select an entry to open the row's History tab, revealing it through current filters without saving the view. Deleted rows open read-only history. Agent entries identify the connection or API key and owning person; they do not represent an MCP session.

A small teal mark on an editable input names the most recent change in the last 24 hours, its actor, time and earlier value on hover or keyboard focus. Totals and calculated values have no mark. Recent agent batches have a **Review changes** link; save or cancel edits first. Keeping or fully undoing a batch removes its banner. **All pending batches** still provides access to older unresolved batches.

On Sheets-backed grids, **History (in Google Sheets)** opens the same authorized workbook editor in a new tab. The direct version-history destination is unverified. Use Google's File → Version history in that workbook, subject to your existing Google permissions. No local panel, cell marks or agent banner is shown for Sheets.

## Three primary tasks

1. **Open the right grid.** Select the account and Expenses, then choose the grid you are authorized to read. Check its title and storage context.
2. **Record an expense.** Add a row below the table, enter the category, dates, recurring Time Unit and Value, and allocate it across the cost categories. For example, the synthetic Software row is $100 Monthly, not $100 per year. Choose **Save** when valid; **Cancel Edits** discards edits.
3. **Review a period.** Search a category, apply filters, and open Quick metrics. Set From and To to inspect the period's expense allocations. Change Included to exclude a what-if expense from reports; a search filter only changes the current view.

## Columns and units

| Column | Meaning |
| --- | --- |
| Included | Selects the expense for reporting. |
| Start Date / End Date | First active date and last recurring date. Blank bounds leave that side open. |
| Category | Your high-level name for the expense. |
| Time Unit | Yearly, Quarterly, Monthly, Weekly or Daily recurrence. |
| Value | Currency amount per selected Time Unit. |
| Delivery | Percentage allocated to delivery hard costs. |
| S&M | Percentage allocated to sales and marketing. |
| Back Office | Percentage allocated to administration. |
| Facilities | Percentage allocated to premises and related costs. |
| Other | Remaining expense allocation. |

The allocation percentages must total 100%. Do not enter an annual value while leaving Monthly selected. This grid records non-payroll spending; compensation belongs in People.

## Views and saving

Search narrows the visible rows. Filters select field values and show the applied choices; Clear removes the current search and filters. Column headings offer sorting where available. View controls choose visible columns and their arrangement. Saved views retain the view configuration for an account; they do not save source-row edits. Choose an account to save views when that option is unavailable.

Quick metrics opens the summary panel. Its From and To dates bound the summary, not the stored row dates. Check the units and period before comparing totals. **Save** writes row edits to the grid's configured storage; **Cancel Edits** discards unsaved row edits. Resolve validation messages before saving. Row actions duplicate or delete a row; People also offers employee-level actions. Administrative import and CSV tools are separate from member controls.

## Fixture screenshot

![Expenses grid with synthetic inputs in the light theme.](<https://docs.parakeeto.com/assets/screenshots/expenses-grid.png>)

## Quick metrics

Included Expenses shows Delivery, S&M, Back-office and Facilities amounts and their Overall Expenses total for From through To. The Other allocation appears separately under Unincluded Expenses and is left out of that overall total; it is not the same as turning the whole row's Included switch off. A model link appears when the account supplies an associated calculator destination. Row expansion and horizontal scrolling expose fields beyond the current viewport.
