sales teardown
Sales module — teardown (Caesar build contract)
Section titled “Sales module — teardown (Caesar build contract)”Captured from the live Zoho demo 2026-06-19. Sales sub-menu order (build batches): Customers · Estimates · Invoices · Payments Received · Recurring Invoices · Credit Notes. (Caesar is USD-only; drop multi-currency/Exchange-Rate fields, Reporting Tags optional.)
Batch 1 — CUSTOMERS (#/contacts)
Section titled “Batch 1 — CUSTOMERS (#/contacts)”List view
Section titled “List view”- Columns: Name · Company Name · Email · Work Phone · Receivables · Unused Credits.
- Toolbar: + New · All Customers filter dropdown (All / Active / Inactive / Overdue / With unused credits / Portal-enabled) · search · column sort · bulk-select (checkbox → bulk actions) · per-row kebab.
- Row click → customer detail. Sample rows: Heather E. Garrett ($142 / $20), Wilfredo A. Martin ($703 / $1), Alice J. Rogers ($268 / $59).
List view — DEEP CAPTURE 2026-06-19
Section titled “List view — DEEP CAPTURE 2026-06-19”- Title is a view dropdown “All Customers ▾”. Default filters: All Customers · Active Customers · CRM Customers · CRM Vendors · Duplicate Customers · Inactive Customers · Client Portal Enabled · Client Portal Disabled · Overdue Customers · Unpaid Customers + “Created by me”, “Shared with me” + custom views. (Caesar set: All · Active · Inactive · Overdue · Unpaid · Portal Enabled · Portal Disabled · Duplicate · CRM Customers.)
- Columns: ☐ · NAME · COMPANY NAME · EMAIL · WORK PHONE · RECEIVABLES · UNUSED CREDITS · (sort affordance). Clicking a column header sorts; inactive customers render muted.
- Toolbar right: + New (→ new form) and a list-options hamburger ▾: Sort by (Name · Company Name · Receivables · Unused Credits · Created Time · Last Modified Time) · Import Customers · Export Customers · Export Current View · Preferences · Refresh List · Reset Column Width.
- Bulk bar (appears on checkbox select): “{n} Customer(s) Selected”, Mark as Active/Inactive (primary), more ▾ = Merge · Associate Templates · Mark as Inactive · Delete, close (✕).
- No per-row kebab in the demo (row click → detail). Caesar keeps a row kebab as an enhancement.
New / Edit Customer form (#/contacts/new)
Section titled “New / Edit Customer form (#/contacts/new)”- Customer Type: Business / Individual (radio).
- Primary Contact: Salutation · First Name · Last Name.
- Company Name · Customer Display Name* · Customer Email · Customer Phone (Work Phone · Mobile).
- Add more details → section tabs: Other Details · Address · Contact Persons · Custom Fields · Reporting Tags · Remarks.
- Other Details: Currency · Tax Rule · Opening Balance · Payment Terms · Price List · Enable Portal? (+ Portal Language) · Documents · Website URL · Department · Designation · Twitter · Skype · Facebook.
- Address: Billing Address + Shipping Address, each = Attention · Country/Region · Street 1 · Street 2 · City · State · Zip Code · Phone · Fax (Shipping has “copy billing”).
- Contact Persons: table — Salutation · First Name · Last Name · Email Address · Work Phone · Mobile (+ Add).
- Remarks (internal).
- Footer: Save · Save and New · Cancel.
Customer detail view (#/contacts/{id}) — DEEP CAPTURE 2026-06-19
Section titled “Customer detail view (#/contacts/{id}) — DEEP CAPTURE 2026-06-19”- Header: avatar, name + Active status pill, sub
Company · Type · Terms. Actions: Edit · New Transaction ▾ · More ▾. - New Transaction ▾ (group header “Sales”): Invoice · Customer Payment · Estimate · Recurring Invoice · Expense · Recurring Expense · Journal · Credit Note · Project. (Each pre-fills
contact_id.) - More ▾: Associate Templates · Configure Customer Portal · Enable All Reminders · Add New Card · Fetch from Google Workspace · Link to Vendor · Clone · Merge Customers · Mark as Inactive · Delete. → Caesar keeps: Configure Portal · Enable Reminders · Clone · Merge · Mark as Inactive · Delete (drop Google Workspace fetch).
- Tabs: Overview · Comments · Transactions · Mails · Statement. Caesar DROPS Mails → Overview · Comments · Transactions · Statement.
Overview tab — two columns.
- LEFT: Primary Contact (or “no primary contact” empty state + Add) · Remarks (free text) · Address (Billing + Shipping each: Attention · Street1/2 · City · State · Zip · Country · Phone · Fax) · Other Details (Customer Type · Default Currency · Price List · Payment Terms · Portal Status · Portal Language · Source · Social Networks · Website URL) · Associate Tags · Client Reviews (dated review lines) · Record Info (Payment due period).
- RIGHT: Receivables table (CURRENCY · OUTSTANDING RECEIVABLES · UNUSED CREDITS, then TOTAL row) · Income bar chart (“displayed in base currency”, Accrual, Last 6 Months, Jan–Dec bars,
Total Income (Last 6 Months) - $X). - Caesar (USD-only): collapse currency table to Outstanding / Unused Credits / Total; keep the Income bar chart (last 6 months) so the tab is never empty.
Comments tab — Add Comment composer (textarea + button) + ALL COMMENTS <n> list. Each: avatar, Author · DATE TIME, body, optional contextual link (“View the invoice”).
Transactions tab — Go to transactions → link, then collapsible accordion sections, each with Add New:
- Invoices: Status filter (All). Cols: DATE · INVOICE NUMBER · ORDER NUMBER · AMOUNT · BALANCE DUE · STATUS. Status set: Draft · Pending Approval · Approved · Open · Overdue · Partially Paid · Paid · Void · Pending.
- Customer Payments: DATE · PAYMENT NUMBER · REFERENCE NUMBER · PAYMENT MODE · AMOUNT RECEIVED · UNUSED AMOUNT. Modes: Stripe · Cash · Forte · Bank Transfer.
- Estimates · Recurring Invoices · Expenses · Recurring Expenses · Projects · Journals · Bills · Credit Notes (collapsed; each Add New). → Caesar shows the sales-relevant ones: Invoices · Payments Received · Estimates · Credit Notes (+ Recurring Invoices).
Statement tab — toolbar: date-range dropdown (This Month…) · Filter By (All / Outstanding) · Send Email · Print / PDF / XLS. Body: org address block + Customer Statement for {name} + From … To … + Customize, then statement table (Date · Transactions · Details · Amount · Payments · Balance) with opening/closing balance.
Interlinks
Section titled “Interlinks”Customer = a Contact (shared store). Anchors Invoices, Estimates, Payments Received, Credit Notes, Recurring Invoices. Receivables = sum of open invoices (AR). “New Transaction” from a customer pre-fills that customer. Currency/Payment Terms/Price List flow onto their documents. (Full map: zoho-books-product-map.md.)
Batch 2 — ESTIMATES (#/quotes) — DEEP CAPTURE 2026-06-19
Section titled “Batch 2 — ESTIMATES (#/quotes) — DEEP CAPTURE 2026-06-19”Route is #/quotes (internally “quotes”); #/quotes/new for create. Captured from the live demo + Zoho API/Help docs.
List view
Section titled “List view”- Title = view dropdown “All Estimates ▾”. Default filters: All · Pending Approval · Approved · Draft · Sent · Client Viewed · Accepted · Invoiced · Declined · Expired (+ Created by me).
- Columns: ☐ · DATE · ESTIMATE NUMBER · REFERENCE NUMBER · CUSTOMER NAME · STATUS · AMOUNT · (kebab).
- Toolbar: + New · list-options hamburger (Sort by Date/Estimate#/Customer/Amount · Import · Export · Refresh).
- Bulk bar: Mark as Sent (primary) + more (Mark as Accepted · Mark as Declined · Print · Email · Delete).
- Statuses + colors: Draft (grey) · Pending Approval (amber) · Approved (green) · Sent (blue) · Client Viewed (blue) · Accepted (green) · Invoiced (green) · Declined (red) · Expired (red/grey).
Detail view (#/quotes/{id}) — DEEP CAPTURE 2026-06-19
Section titled “Detail view (#/quotes/{id}) — DEEP CAPTURE 2026-06-19”- Toolbar: Comments & History · Edit · Mails · Share · PDF/Print + status-dependent primary actions + More.
- Status-dependent actions (the right-side action cluster changes by status): Draft → Send Estimate (primary) + Mark as Sent; Sent/Client Viewed → Mark as Accepted · Mark as Declined · Convert to Invoice; Accepted → Convert to Invoice; Invoiced → View Invoice; Declined/Expired → Convert to Invoice still available.
- More: Mark as Sent/Accepted/Declined · Clone · Create Project · Share · Delete.
- Comments & History is a toolbar toggle that reveals a panel: an Add Comment composer + comment list, and a History/audit timeline (Estimate created → sent → viewed → accepted/declined/invoiced/expired, each with date + actor).
- Status banner contextual to status (Draft → “send when ready”; Sent → “awaiting approval”; Expired → “an expired estimate can still be converted to an invoice”).
- Estimate document (PDF-style): Org block + “ESTIMATE” + Estimate Number# + Bill To + Estimate/Expiry dates + Salesperson (+ Project); line-item table # · Item & Description · Qty · Rate · Disc · Tax · Amount; totals Sub Total · Discount · Shipping · Adjustment · Tax · Total; Customer Notes + Terms.
Create / Edit form (#/quotes/new) — DEEP CAPTURE 2026-06-19
Section titled “Create / Edit form (#/quotes/new) — DEEP CAPTURE 2026-06-19”- Header fields: Customer Name* · Estimate# · Reference# · Estimate Date · Expiry Date · Salesperson · Project Name · Select Price List.
- Line items table columns (confirmed from demo): ITEM DETAILS · QUANTITY · RATE · DISCOUNT (%) · TAX (%) · AMOUNT (+ remove, “Add another line”, “Add Items in Bulk”). Per-line discount + tax roll up into the totals.
- Totals: Sub Total · Discount (summed from items) · Shipping Charge · Adjustment · Tax (summed from items) · Total — all recompute live.
- Customer Notes (“displayed on the estimate”) · Terms & Conditions · attach (Upload File).
- Footer: Save and Send · Save as Draft · Cancel.
Interlinks
Section titled “Interlinks”Estimate (non-posting) → Convert to Invoice (creates the posting Invoice, status → Invoiced) / Create Project. Pre-filled from a Customer’s “New Transaction → Estimate”. Amount = sum of line totals. (Full map: zoho-books-product-map.md.)
Batch 3 — INVOICES (#/invoices) — DEEP CAPTURE 2026-06-19
Section titled “Batch 3 — INVOICES (#/invoices) — DEEP CAPTURE 2026-06-19”The first posting sales doc (detail has a Journal link to the GL entry). Route #/invoices, #/invoices/new.
List view
Section titled “List view”- Title = view dropdown “All Invoices ▾”. Filters: All · Draft · Pending · Pending Approval · Approved · Client Viewed · Partially Paid · Unpaid · Overdue · Payment Initiated · Paid · Void (+ Created by me, Favorites).
- Columns: ☐ · DATE · INVOICE# · ORDER NUMBER · CUSTOMER NAME · STATUS · DUE DATE · AMOUNT · BALANCE DUE · (kebab).
- Toolbar: + New · hamburger (Sort by · Import Invoices · Export Invoices · Export Current View · Preferences · Online Payments · Refresh List · Reset Column Width). Bulk: Mark as Sent + more (Print, Email, Delete…).
- Statuses + colors: Draft (grey) · Pending/Pending Approval (amber) · Approved (green) · Sent/Client Viewed (blue) · Partially Paid (amber) · Overdue (red) · Paid (green) · Void (grey).
Detail view (#/invoices/{id})
Section titled “Detail view (#/invoices/{id})”- Toolbar: Edit · Comments & History · Send · Share · PDF/Print · Record Payment + status-dependent actions (Draft → Send Invoice / Mark as Sent; Sent/Overdue/Partially Paid → Record Payment primary) + More (Clone · Write Off · Mark as Void · Create Credit Note · Delete). A Journal link (it posts to the GL).
- Payment tracking: Amount Paid / Balance Due; status banner contextual (Draft/Sent/Overdue/Paid). Record Payment opens a payment modal (amount, date, mode, deposit account).
- Invoice document (PDF-style): org block + INVOICE + Invoice# + Bill To + Invoice Date + Due Date + Terms; line table # · Item & Description · Qty · Rate · Disc · Tax · Amount; totals Sub Total · Discount · Shipping · Adjustment · Tax · Total · Payment Made · Balance Due; Notes + Terms.
Create / Edit form (#/invoices/new)
Section titled “Create / Edit form (#/invoices/new)”- Header fields: Customer Name* · Invoice# · Order Number · Invoice Date · Payment Terms · Due Date · Salesperson · Price List.
- Line items: Item Details · Quantity · Rate · Discount (%) · Tax (%) · Amount (per-line disc/tax → totals).
- Totals: Sub Total · Discount · Shipping · Adjustment · Tax · Total (live).
- Customer Notes · Terms & Conditions · attach.
- Footer: Save as Draft · Save and Send · Make Recurring · Cancel.
Interlinks
Section titled “Interlinks”Invoice = posting (creates GL journal). Origin: standalone or converted from an Estimate (status → Invoiced). Payments Received apply against it (Balance Due ↓, status → Partially Paid/Paid). Credit Notes can be applied. Receivables (customer AR) = Σ open invoice balances. (Full map: zoho-books-product-map.md.)
Batch 4+ — Payments Received · Recurring Invoices · Credit Notes
Section titled “Batch 4+ — Payments Received · Recurring Invoices · Credit Notes”To capture per batch when reached.