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 --> fetch

How to use it

  1. Open Transactions in the portal sidebar (Financials section).
  2. Browse the register — each row shows date, description and counterparty, category, account, review status, and amount.
  3. Type a vendor name, description, or amount into Search transactions… to filter; results refresh automatically.
  4. Use the Next/Previous arrows to page through results 25 at a time.
  5. 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.