Invoice Dashboard Live
9:41
Invoices
Outstanding Balance
$12,450
Across 7 unpaid invoices
18
Paid
3
Overdue
4
Sent
2
Draft
Aging Summary
0–30 days$4,200
31–60 days$3,750
61–90 days$2,800
90+ days$1,700
3 Invoices Overdue
Oldest: INV-1042 — 87 days past due
$4,500
Payment ReminderSend automated reminders for invoices approaching 30 days. Customers who receive reminders pay 40% faster on average.

Invoice List Live
9:41
All Invoices
All (27)
Sent (4)
Paid (18)
Overdue (3)
Draft (2)
JM
INV-1058
Overdue
Jane Morrison • Mar 2, 2026
$2,340
RC
INV-1057
Sent
Robert Chen • Mar 10, 2026
$1,875
LP
INV-1056
Paid
Lisa Park • Mar 8, 2026
$3,100
MJ
INV-1055
Draft
Mark Johnson • Mar 15, 2026
$890
SW
INV-1054
Paid
Sarah Williams • Feb 28, 2026
$4,250
DK
INV-1042
Overdue
David Kim • Jan 5, 2026
$1,560

Create Invoice Planned
9:41
New Invoice
JM
Jane Morrison
INV-1059
Mar 20, 2026
Line Items
ServiceQtyRateTotal
Carpet Cleaning — Living Room1$180$180
Carpet Cleaning — Master BR1$140$140
Stain Treatment (Heavy)2$45$90
Apply Tax (7.25%)
Subtotal$410.00
Tax (7.25%)$29.73
Total$439.73
Payment due within 30 days. Thank you for your business!

Invoice Detail Live
9:41
INV-1058
INVOICE
INV-1058 • Mar 2, 2026
Kowalski Restoration
2841 Trade Ave, Charlotte NC
Bill To
Jane Morrison
1420 Elm St, Charlotte NC 28203
DescriptionQtyRateTotal
Carpet Cleaning — LR1$850$850
Carpet Cleaning — BR2$420$840
Stain Treatment (Pet)3$75$225
Deodorizer Application1$265$265
Subtotal$2,180.00
Tax (7.25%)$158.05
Total Due$2,338.05
Payment Terms: Net 30 • Due Apr 1, 2026

Payment Tracking Planned
9:41
Payment History
JM
INV-1058 • Jane Morrison
Total: $2,338.05 • Balance: $1,338.05
Partial
Payment Timeline
$1,000.00 received
Mar 12, 2026 • Credit Card • Visa ****4821
$1,338.05 remaining
Due Apr 1, 2026 • 6 days remaining
Invoice sent
Mar 2, 2026 • Email delivered
Accepted Methods
Credit Card ACH Transfer Cash Check
Receipt #RCT-4821 sent
jane.morrison@email.com • Mar 12, 2026

Invoice Settings Planned
9:41
Invoice Settings
Company Letterhead
Upload Letterhead PDF
PDF, PNG, or JPG • Max 5 MB
Current: kowalski-letterhead.pdf
Due on Receipt
Net 15
Net 30
Net 45
Net 60
7.25%
INV-####
####
YYYY-####
Next: INV-1059
Email Template
Invoice {{invoice_number}} from Kowalski Restoration
Hi {{customer_name}}, please find your invoice attached. Payment is due {{due_date}}.
Custom LetterheadUpload your company letterhead to automatically brand every invoice PDF. Customers trust professional-looking invoices and pay faster.
Dashboard & Invoice List Live
9:41
Invoices
Outstanding
$12,450
18
Paid
3
Overdue
Aging
0-30d$4,200
31-60d$3,750
61-90d$2,800
90+d$1,700
All (27)
Sent
Paid
Overdue
Draft
JM
INV-1058
Jane Morrison • $2,340
Overdue
RC
INV-1057
Robert Chen • $1,875
Sent
LP
INV-1056
Lisa Park • $3,100
Paid
MJ
INV-1055
Mark Johnson • $890
Draft

Create & Preview Planned
9:41
New Invoice
JM
Jane Morrison
INV-1059
Mar 20, 2026
Line Items
ServiceQtyRateTotal
Carpet — LR1$180$180
Carpet — BR1$140$140
Stain Treatment2$45$90
Payment due within 30 days.
Live Preview
INVOICE
INV-1059 • Mar 20, 2026
Kowalski Restoration
2841 Trade Ave
Bill To: Jane Morrison
ServiceQtyRateTotal
Carpet — LR1$180$180
Carpet — BR1$140$140
Stain Treatment2$45$90
Subtotal$410.00
Tax (7.25%)$29.73
Total$439.73

Detail & Payments Live
9:41
INV-1058
INVOICE
INV-1058 • Mar 2, 2026
Overdue
Bill To: Jane Morrison • 1420 Elm St
ItemQtyRateTotal
Carpet — LR1$850$850
Carpet — BR2$420$840
Stain (Pet)3$75$225
Deodorizer1$265$265
Subtotal$2,180.00
Tax$158.05
Total$2,338.05
Payment History
$1,000.00 received
Mar 12 • Visa ****4821
$1,338.05 remaining
Due Apr 1 • 6 days left
Invoice sent
Mar 2 • Email delivered
Receipt #RCT-4821 sent
jane.morrison@email.com

Settings & Letterhead Planned
9:41
Invoice Settings
Receipt
Net 15
Net 30
Net 45
7.25%
INV-####
####
YYYY-####
Next: INV-1059
Invoice {{invoice_number}} from Kowalski Restoration
Hi {{customer_name}}, please find your invoice attached.
Company Letterhead
Upload Letterhead PDF
PDF, PNG, or JPG • Max 5 MB
kowalski-letterhead.pdf
Uploaded Mar 1, 2026 • 245 KB
PDF LetterheadYour letterhead automatically appears at the top of every invoice PDF. Upload a high-resolution version for the best print quality.
Invoice Dashboard Live
https://app.3bids.io/contractor/invoices
3BidsInvoices
Dashboard ⌘1
Invoices ⌘2
Create ⌘3
Payments ⌘4
Aging Report ⌘5
Settings ⌘6
MK
Mike Kowalski
Contractor

Invoice Dashboard

27 Total · $12,450 Outstanding
$12,450
Outstanding
$48,320
Collected YTD
27
Total Invoices
18 days
Avg. Time to Pay
Aging Summary
0–30 days$4,200
31–60 days$3,750
61–90 days$2,800
90+ days$1,700
Recent Invoices
View All →
JM
INV-1058
Jane Morrison • Mar 2
$2,340
Overdue
RC
INV-1057
Robert Chen • Mar 10
$1,875
Sent
LP
INV-1056
Lisa Park • Mar 8
$3,100
Paid
SW
INV-1054
Sarah Williams • Feb 28
$4,250
Paid

Invoice List Live
https://app.3bids.io/contractor/invoices/list
3BidsInvoices
Dashboard ⌘1
Invoices ⌘2
Create ⌘3
Payments ⌘4
Aging Report ⌘5
Settings ⌘6
MK
Mike Kowalski
Contractor

All Invoices

27 invoices • $12,450 outstanding

All
Sent
Paid
Overdue
Draft
Invoice
Customer
Amount
Status
Date
Due
INV-1058
JM
Jane Morrison
$2,340.00
Overdue
Mar 2
Apr 1
INV-1057
RC
Robert Chen
$1,875.00
Sent
Mar 10
Apr 9
INV-1056
LP
Lisa Park
$3,100.00
Paid
Mar 8
Mar 22
INV-1055
MJ
Mark Johnson
$890.00
Draft
Mar 15
INV-1054
SW
Sarah Williams
$4,250.00
Paid
Feb 28
Mar 15
0 selected

Create Invoice Planned
https://app.3bids.io/contractor/invoices/new
3BidsInvoices
Dashboard ⌘1
Invoices ⌘2
Create ⌘3
Payments ⌘4
Aging Report ⌘5
Settings ⌘6
MK
Mike Kowalski
Contractor

Create Invoice

INV-1059 • Draft

Invoice Details
JM
Jane Morrison
Mar 20, 2026
Net 30
Apr 19, 2026
Line Items
ServiceQtyRateTotal
Carpet Cleaning — Living Room1$180$180
Carpet Cleaning — Master BR1$140$140
Stain Treatment (Heavy)2$45$90
Payment due within 30 days. Thank you for your business!
Live Preview
INVOICE
INV-1059 • Mar 20, 2026
Kowalski Restoration
2841 Trade Ave, Charlotte NC
Bill To
Jane Morrison
1420 Elm St, Charlotte NC 28203
ServiceQtyRateTotal
Carpet — LR1$180$180
Carpet — BR1$140$140
Stain Treatment2$45$90
Subtotal$410.00
Tax (7.25%)$29.73
Total Due$439.73
Payment Terms: Net 30 • Due Apr 19, 2026

Aging Report Planned
https://app.3bids.io/contractor/invoices/aging
3BidsInvoices
Dashboard ⌘1
Invoices ⌘2
Create ⌘3
Payments ⌘4
Aging Report ⌘5
Settings ⌘6
MK
Mike Kowalski
Contractor

Aging Report

Accounts receivable by age bucket

$4,200
0–30 Days
2 invoices
$3,750
31–60 Days
2 invoices
$2,800
61–90 Days
1 invoice
$1,700
90+ Days
2 invoices
Overdue Customers
3 overdue • $4,500 total
Customer
Amount
Days Late
Invoice
Action
JM
Jane Morrison
$2,340
24
INV-1058
DK
David Kim
$1,560
87
INV-1042
TH
Tom Harris
$600
45
INV-1048
Collection InsightInvoices sent with automatic reminders at 7, 14, and 21 days have a 92% collection rate. Enable auto-reminders in Settings to improve cash flow.

Data Architecture

Schema tables, queries, mutations, and status flows that power the Invoice system.

Source Files

invoices/index.tsx
Invoice List — dashboard stats, filters, search, invoice cards
screen
invoices/[id].tsx
Invoice Detail — letterhead preview, line items, payment history
screen
invoices/new.tsx
Create/Edit Invoice — customer select, line items, tax, preview
screen
invoices/payments.tsx
Payment Tracking — timeline, partial payments, receipt confirmation
screen
invoices/settings.tsx
Invoice Settings — letterhead upload, terms, tax, numbering, templates
screen
invoices/aging.tsx
Aging Report — bucket breakdown, overdue customers, export
screen

Convex Queries

listInvoices
Filter by status, customer, date range. Returns invoices with computed totals.
query
getInvoice
Single invoice with line items, customer info, payment history, letterhead URL.
query
getInvoiceSummary
Dashboard stats — outstanding, collected YTD, counts by status, aging.
query
getAgingReport
Aging buckets (0-30, 31-60, 61-90, 90+) with amounts and invoice counts.
query
getPaymentHistory
Payment timeline for invoice — amounts, methods, dates, receipts.
query

Convex Mutations

createInvoice
Customer, line items, tax, notes, terms. Auto-generates invoice number.
mutation
updateInvoice
Partial update — line items, customer, notes. Only allowed on drafts.
mutation
sendInvoice
Transitions draft → sent. Triggers email with PDF attachment via SendGrid.
mutation
recordPayment
Amount, method, reference. Supports partial payments. Auto-marks paid when full.
mutation
uploadLetterhead
Stores PDF/image to Convex file storage. Updates contractor invoice settings.
mutation

Invoice Status Flow

draft sent viewed partial paid
Terminal: overdue voided

Key Design Decisions

Contractor Palette
Terracotta accent throughout. IconCircle D for primary actions, semantic J/K/L for states
Aging Visualization
Color-coded bars (success → warning → terracotta → error) for aging buckets
Live Preview
Real-time invoice preview on web/tablet while editing — reduces errors before sending
Letterhead System
Custom PDF upload for invoice branding — stored in Convex file storage
Partial Payments
Timeline-based payment tracking supports multiple partial payments per invoice
Tip Card Pattern
Contextual tips use A (brand), B (info), C (success), D (warning) variants per section