Invoice Manager
Create, send, and track customer invoices with payment status monitoring and overdue alerts.
Overview
Invoice Manager lets you create professional invoices, send them to customers by email, and track payment status in real time. It integrates with Accounts Receivable to keep outstanding balances current and with Financial Accounts to post revenue when an invoice is marked paid.
Creating an Invoice
Click New Invoice to open the invoice form:
- Select the Customer from your CRM contacts.
- Set the Invoice Date and Due Date.
- Add line items — each with description, quantity, unit price, and tax rate.
- The system calculates subtotal, tax, and total automatically.
- Add optional Notes or Payment Terms text.
- Click Save Draft to hold, or Send to email the invoice immediately.
The Party Picker Only Lists Billable Companies
The Customer/Party picker (the Chart-of-Accounts party-matching dropdown) does not list every contact in your unified directory — it calls a dedicated billable-companies filter that returns only contacts where isCompany = true AND (isCustomer = true OR isVendor = true). In other words: only legal entities that can actually carry a receivable or payable ledger balance.
An individual person (isCompany = false) is intentionally excluded, even if they are a customer or vendor contact — in TotalApp's model a ledger account is always opened against the company behind a person, never against the person directly. For example: "Acme Corp" (isCompany, isCustomer) appears in the picker. "John Doe," an employee/contact at Acme Corp (isCompany = false, parentId = Acme Corp's contact id), does not appear — you invoice Acme Corp, never John Doe individually, even though John Doe might be the person you email. This is a deliberate business rule, not a bug.
A company that is both your customer and your vendor (e.g. a partner who buys your software but also supplies you services) appears once in this picker — one ledger relationship, not two. See Unified Contact Directory Architecture for the full role-flag model.
Invoice Statuses
| Status | Meaning |
|---|---|
| Draft | Created but not yet sent to the customer |
| Sent | Emailed to the customer, awaiting payment |
| Partially Paid | Customer has paid a portion of the total |
| Paid | Full amount received; journal entry posted |
| Overdue | Past due date with no full payment received |
| Cancelled | Invoice voided; no revenue posted |
Invoice List & Multi-Select
The Invoice Manager list view shows all invoices in a table with columns for Number, Customer, Date, Due, Total, Residual, and State. Clicking anywhere on a row opens that invoice's document view (header, lines, journal entries, and payments).
A checkbox column lets you select one or more invoices at once — a header checkbox selects or clears every row, and per-row checkboxes toggle individual invoices. Clicking a checkbox is isolated from row navigation, so selecting rows never opens the invoice document. When one or more rows are selected, a selected-count bar appears above the table with a clear (×) button to reset the selection.
The checkboxes and overall table layout follow your Settings → Appearance → List Style preference — the same setting used across My Workspace screens. List Style controls:
- Corner style — sharp or rounded table corners
- Select shape — circle or square checkboxes
- Show check icon — whether a checkmark glyph appears inside a selected checkbox
- Row layout — classic table rows, or a full alternate card-based layout for the invoice list
List view only
Multi-select and List Style apply to the invoice list screen only. The single-invoice document view (opened by clicking a row) is unaffected and does not include selection checkboxes.
Recording Payments
When a payment arrives:
- Open the invoice and click Record Payment.
- Enter the Amount Received, Payment Date, and Payment Method.
- If partial, the invoice status changes to Partially Paid and the remaining balance is shown.
- When fully paid, TotalApp posts a journal entry: Debit Bank/Cash, Credit Accounts Receivable.
Overdue Alerts
TotalApp automatically flags invoices as Overdue once the due date passes without full payment. Configure email reminders in Settings → Finance → Invoice Reminders:
- First reminder — X days before due date
- Second reminder — on the due date
- Overdue notice — X days after due date
AI Assistant
On the invoice list screen, open the AI Assistant panel from the tab on the right edge of the screen (toggled with the Sparkles-icon button) to ask questions about your invoices. The panel keeps chat history, and supports starting a new chat, going fullscreen, and attaching knowledge sources — the same AI Assistant pattern used across TotalApp.
The assistant can answer questions grounded in your actual invoice data, including:
- Invoice counts and total value broken down by state (Draft, Posted, Paid, Cancelled)
- Overdue invoices that need collection follow-up
- Receivables aging, grouped into buckets by how long amounts have been outstanding
- Which customers hold the highest outstanding balances
Opening the panel does not cover the invoice list. The main content area shrinks (its right margin grows to make room for the panel), so the list stays visible at a narrower width while you chat. Closing the panel restores the list to full width.
List view only
The AI Assistant panel is available on the invoice list screen. It is not present in the single-invoice document view.