Client Transactions
Transactions is the read-only register in the DayZero client portal (the /client shell). A firm's clients open it to see exactly how each bank transaction was categorized; firm staff get the same view via Client View. It lets a client confirm a charge or check their categorization at a glance, without any risk of editing the books — the firm's ledger stays authoritative.
Key capabilities
- Read-only transaction table for the active business
- Columns for Date, Description, Category, Account, Status, and Amount
- Description shows the cleaned description (falling back to the original) plus the counterparty
- Category pulled from the transaction's opposing ledger entry, color-coded by type (expense / revenue / other)
- Uncategorized transactions clearly flagged in italics
- Review Status badge: Reviewed vs. Pending
- Amounts right-aligned with negatives styled as outflows
- Debounced search across description and amount
- Pagination at 25 rows per page with Previous/Next
- Nothing is editable — viewing only
How it works
The page loads a page of transactions for the selected business and renders them in a sortable table. Typing in the search box (debounced) re-queries from the first page; Next/Previous walk the cursor forward and back through the result set.
flowchart TD
open["Open Transactions"] --> fetch["Fetch page (limit 25)"]
fetch --> table["Render read-only table"]
search["Type in search"] --> debounce["Debounce (~400ms)"]
debounce --> reset["Reset to first page"]
reset --> fetch
table --> next["Next / Previous"]
next --> cursor["Advance / rewind cursor"]
cursor --> fetchHow to use it
- Open Transactions in the portal sidebar (Financials section).
- Browse the register — each row shows date, description and counterparty, category, account, review status, and amount.
- Type a vendor name, description, or amount into Search transactions… to filter; results refresh automatically.
- Use the Next/Previous arrows to page through results 25 at a time.
- Watch the Status column — "Pending" means the firm hasn't finished reviewing that transaction yet.
Pro tips
- Firm-side: keep categories and counterparties tidy — clients read the Category and Account columns directly, so a clean ledger means fewer "what is this charge?" questions.
- Firm-side: the Reviewed/Pending status is visible to clients, so use it as a shared signal for where bookkeeping stands.
- Client-side: searching by amount is the quickest way to track down a specific charge you recognize from your bank.
- Client-side: spot a miscategorization or an unfamiliar transaction? Don't expect an edit control — flag it through Questions or Messages and the firm will fix it.
In-depth guide
What the client can see vs. do
The register is strictly read-only. The only interactive controls are search and pagination — there is no add, edit, recategorize, or delete. This keeps the firm's books authoritative while still giving clients full transparency.
| Column | Source | Notes |
|---|---|---|
| Date | Transaction datetime | Localized short date |
| Description | Cleaned description, else original | Appends counterparty when present |
| Category | First opposing ledger entry name | Color dot: expense (red), revenue (green), other (blue); "Uncategorized" in italics when none |
| Account | Transaction's own ledger name | The bank/account the line posted to |
| Status | Review status | "Reviewed" (green) vs. "Pending" |
| Amount | Signed amount | Negatives styled as outflows |
Pagination model
Paging works page by page:
- Previous — the page tracks where you've been so it can rewind exactly.
- Next — only enables when there's another page.
- Search — changing it resets to the first page.
How firm-side data flows in
- Origin — transactions come from connected bank feeds and uploads on the firm side.
- Processing — bookkeepers categorize and review them in the Books workspace; the client portal mirrors the result.
- Same ledger — because it's the same ledger, anything the firm changes appears here on the next load.
Flagging an issue
There's intentionally no edit path for clients. If a client sees something off, the tracked channels are:
- Questions — the firm attaches a question to a specific transaction for the client to answer.
- Messages — free-form conversation.
Both keep a record instead of relying on email.
Edge cases
- No business selected: the page shows "No business selected."
- No matches: the table shows "No transactions found." for an empty result or a search with no hits.
- Uncategorized: transactions without an opposing ledger entry render "Uncategorized" rather than a blank category.