Skip to content

UI revamp Phase 5e: Receipts & statements page, statement import history - #101

Merged
coderconnoisseur merged 5 commits into
ui-revamp/phase5d-budgetfrom
ui-revamp/phase5e-receipts
Oct 22, 2026
Merged

coderconnoisseur merged 5 commits into
ui-revamp/phase5d-budgetfrom
ui-revamp/phase5e-receipts

Conversation

@coderconnoisseur

@coderconnoisseur coderconnoisseur commented Oct 22, 2026 •

Copy link
Copy Markdown
Owner

Phase 5e of the UI revamp (spec §4.5, mockup receipts.html). Stacked on #100; retarget to refactor once it lands. Last page of Phase 5.

Backend

  • statement_imports table: every POST /api/statements/import writes one row (file, optional account label, period from the lines, counts as returned). GET /api/statements/imports lists them, newest first, per user.
  • Home's "receipts to review" link now points at /receipts.

Frontend

  • /receipts replaces the Documents / Import / Review tabs:
    • Needs your review cards (only when something is flagged): the doubtful field highlighted from its validation flag, the reason in plain words, Approve / Edit (sends only changed fields) / Reject; duplicates offer Keep both.
    • Library: receipts, review items, documents (deletable) and statement imports in one list, with chips, search and Show more.
    • Statement imports card (new / matched / duplicates / credits bar) and From your inbox (Check now, Pause/Resume, or Connect with Google — Gmail had no entry point in the app since the old dashboard went).
  • Upload dialog: choose Receipts & invoices or Documents (PDF, with a type).
  • Import flow moved to /receipts/import with an optional account name. /import → /receipts/import, /review and /documents → /receipts. The three old pages are deleted.

Checks

Backend 995 passed, eval 1, lint clean, build ok, e2e 199 passed (15 new Receipts checks).

Manual checks

  1. Upload a receipt whose total doesn't add up: a card appears with Total highlighted; Edit the total, Save & approve.
  2. Upload the same receipt twice: the second shows "Keep both".
  3. Import a CSV with an account name: it shows in Statement imports and in the library under Statements.
  4. Upload a PDF as a Document: it appears in the library; the trash icon deletes it.
  5. From your inbox: Connect with Google (or Check now if already connected).

Calls made

  • Library chips are All / Receipts & invoices / Statements / Documents: receipts and invoices aren't told apart in the data yet.
  • Left out (hidden, not faked): Compare on duplicates, Approve all high-confidence, Reading/Failed states.
  • The library lists the latest 100 receipts.

Phase 5 whole-branch review (fixes in this PR)

One fresh review of all 43 Phase 5 commits: no Critical issues, 8 Important + 1 upgraded (CSV formulas), all fixed test-first in the last commit:

  • Receipts library: statement lines are filtered on the server (GET /transactions?exclude_source=statement), so a big import can't push receipts off the page.
  • Budget: a past month without category limits no longer shows today's overall budget; approving last month's draft applies from this month; every budget call names the browser's month and writes are allowed only within one month of the server's (the 1st-of-month UTC skew).
  • Bills: a bill that's late but not stopped stays listed as "Not seen yet" (Bills page, tiles and Home's Coming up).
  • Review: Open original on cards and library rows; the server's error text is shown; an edited total must be a positive number (also enforced by the API).
  • CSV export: text starting with =, +, - or @ is kept as text.
    Nine minors went to the spec §12 backlog. Checks: backend 1004 passed, eval 1, lint clean, build ok, e2e 207 passed.

@vercel

vercel Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
lumen Ready Ready Preview Oct 22, 2026 5:47pm UTC

…raft budgets, month skew, late bills, open original, review errors and totals, CSV formulas)
@coderconnoisseur
coderconnoisseur merged commit 3b95f23 into ui-revamp/phase5d-budget Oct 22, 2026
4 checks passed

This branch was successfully deployed

1 active deployment
Preview — b3f1fa52 Deployed Oct 22, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant