build plan
Caesar autonomous build plan (Sales → Purchases → Accountant → Reports → Documents)
Section titled “Caesar autonomous build plan (Sales → Purchases → Accountant → Reports → Documents)”Mandate (2026-06-19): build the rest of Caesar autonomously, one sub-menu at a time, following the loop below for EVERY sub-menu. No stopping for review — the user reviews everything at the end. Do NOT make mistakes. Senior-designer quality.
All work goes in the single app shell: products/caesar/screens/dashboard.html. Scope filter = finance-walkthrough-2026-06-18.md (KEEP/DROP). Teardown contracts: sales-teardown.md, purchases-teardown.md (create), accountant-teardown.md (create).
THE LOOP — repeat per sub-menu
Section titled “THE LOOP — repeat per sub-menu”- Capture from the demo (click EVERYTHING). Foreground the Zoho demo tab; if it shows “Please wait…” splash, wait 10–20s (it’s slow). The list route often differs from the sidebar label — click the sidebar sub-item to get the real
#/...route (e.g. Estimates =#/quotes). Then click every clickable thing and record it:- List: columns, the view dropdown (all filter options), the list hamburger (sort/import/export/refresh), bulk bar (select a row → primary + more menu), per-row kebab, sort behavior, pagination.
- Detail: every header action button, the More menu, status-dependent actions (open records of different statuses), tabs/sections (Comments & History, etc.), the document layout + totals, any modals (Record Payment, etc.).
- Form (
/new): every header field, the line-item table columns, totals, notes/terms, every footer button + splitbutton options. - Record into the relevant
*-teardown.md.
- Build list + detail + form (and modals) in the shell, fully dynamic, wired to the sidebar sub-item (
data-screen onclick="open*()") + breadcrumb (CRUMB_TRAILS+crumbNav). - Deep cross-reference: re-click the demo for that sub-menu, diff vs the build, fix every miss.
- Revalidate in preview: every control works (filters/sort/bulk/tabs/menus/forms/modals), no console errors, screenshot the key screens.
- Mark the task done, go to the next sub-menu. When all sub-menus in a menu are done, move to the next menu.
QUALITY CHECKLIST (apply to every screen)
Section titled “QUALITY CHECKLIST (apply to every screen)”- Cards = white (
--surface) on the grey page; never grey-on-grey or white-on-white (transparent wrappers / white-card wraps as needed). No strokes, no shadows. - 24px gap between a detail header/toolbar and the next section (banner/tiles).
- Every control interactive — dropdowns, view filters, sortable columns, bulk, tabs, row kebab, forms (validate + persist), modals (apply real changes). Toast for unbuilt destinations, never a dead click.
- No empty pages — real data or real empty-states with an action.
- No em dashes in copy (commas/periods or middot ·). 600 weight for titles/names/buttons; 700 only for KPI/display digits.
- Canonical components only — grep
components/index.htmlfirst; reuse existing app classes (.tbl,.tbl-card,.sum-card,.est-doc,.li-table,.est-form-totals,.dd,.dlg,.bulk-bar,.est-banner,.est-hist-item,stBadge,HAMBURGER_H,openModal/closeModal/dlgHead,fv,parseDate). Top-center alert-toast. - USD only. Brand green
#01E46Fdark text. General Sans. 4px grid. - Double-entry integrity is the domain non-negotiable: every invoice/bill/payment posts a debit + credit (surface a Journal link on posting docs, like Invoices).
- Completed/paid state = subtle (small green check / muted), not flooded green.
- Reference is the Nigerian Zoho edition semantics (VAT 7.5% + WHT) where it matters; demo hit is the Canada edition.
FEATURE ORDER + STATUS
Section titled “FEATURE ORDER + STATUS”Sales ✓ COMPLETE (Customers · Estimates · Invoices · Payments Received · Recurring Invoices · Credit Notes)
Section titled “Sales ✓ COMPLETE (Customers · Estimates · Invoices · Payments Received · Recurring Invoices · Credit Notes)”- Payments Received (
#/paymentsreceived) - Recurring Invoices (
#/recurringinvoices) - Credit Notes (
#/creditnotes)
Purchases ✓ COMPLETE
Section titled “Purchases ✓ COMPLETE”- Vendors (
#/vendors) - Bills (
#/bills, posting, per-line Account, Record Payment) - Payments Made (
#/paymentsmade) - Expenses (
#/expenses; built from established structure — demo bridge was timing out — re-verify later) - Recurring Bills + Recurring Expenses (
#/recbills, Type Bill/Expense) - Vendor Credits (
#/vendorcredits, Apply to Bills)
Accountant ✓ COMPLETE
Section titled “Accountant ✓ COMPLETE”- Chart of Accounts (
#/accountant/chartofaccounts) - Manual Journals (double-entry + balance check + audit trail)
- Bulk Updates (
#/accountant/bulkupdateaccounts) - Currency Adjustments (
#/accountant/bcyadjustment/list, CBN rate)
Reports ✓ COMPLETE (Reports Center + rendered P&L/Balance Sheet/Trial Balance/AR-AP Aging/Sales-by-Customer/etc.)
Section titled “Reports ✓ COMPLETE (Reports Center + rendered P&L/Balance Sheet/Trial Balance/AR-AP Aging/Sales-by-Customer/etc.)”- Reports (
#/reports)
Documents ✓ COMPLETE
Section titled “Documents ✓ COMPLETE”- Documents (
#/documents, folder nav + seeded file list)
✅ RUN COMPLETE — all of Sales · Purchases · Accountant · Reports · Documents built, each verified in preview with no console errors. Awaiting user review.
Section titled “✅ RUN COMPLETE — all of Sales · Purchases · Accountant · Reports · Documents built, each verified in preview with no console errors. Awaiting user review.”Outstanding (flagged, not in this run): Expenses to be re-verified against the live demo (demo bridge was timing out during that batch); Banking adds (manual transfer / file upload / CBN FX), Users & Roles, and the Caesar-native BRD layer remain for a future pass.
NOT in this run (flag to user, don’t silently build)
Section titled “NOT in this run (flag to user, don’t silently build)”Banking adds (manual transfer / file upload / CBN FX), Users & Roles, the Caesar-native BRD layer (entity tree, segment spine, command centre, fixed-asset register), and the CFO-confirmation divergences. Dropped entirely: Items/Inventory, Time Tracking/Projects, Account Watchlist, Getting Started, standalone Tax Returns, portals/gateways.
Demo capture notes
Section titled “Demo capture notes”- Working demo tab id drifts — re-list tabs; pass
tab_idexplicitly toexecute_javascript. Foreground the tab (Ember only renders the active tab). - Portal dropdowns: single
.click()thebutton.dropdown-toggle, then read the sibling.dropdown-menuafter asetTimeout→window.__cap. - If the demo is down, fall back to
zoho.com/books/api/v3/<entity>/(exact fields/statuses/actions) + Help docs, and say so.