Dashboard — Overview LIVE
9:41
Invoices
Outstanding
$4,280
3 invoices
Overdue
$1,750
1 invoice
Paid (Feb)
$12,450
8 invoices
Total Revenue
$67,830
YTD 2026
All
Draft
Sent
Overdue
Paid
SM
INV-2026-042
Sarah Mitchell · Kitchen Remodel
$2,400
SENT
JK
INV-2026-038
James Kowalski · Roof Repair
$1,750
OVERDUE
AB
INV-2026-037
Angela Briggs · Bathroom Tile
$3,200
PAID
TH
INV-2026-043
Tom Henderson · Deck Staining
$880
DRAFT

InvoiceDashboard component with stat tiles and filterable list

useQuery(api.billing.invoices.list) · useMemo for filter


Create — Form LIVE
9:41
New Invoice
Link to Job
Kitchen Remodel — Sarah Mitchell
Auto-PopulatedLine items pulled from your pricebook for this job.
Sarah Mitchell
sarah.mitchell@email.com · (330) 555-0142
1247 Oak Valley Dr, Akron, OH 44313
Line Items
Cabinet Installation
8 units × $175.00
$1,400.00
Countertop — Quartz
32 sq ft × $22.00
$704.00
Plumbing Rough-In
1 × $296.00
$296.00
Subtotal$2,400.00
Tax (7.25%)$174.00
Discount−$0.00
Total$2,574.00
Payment Terms
Apply Sales Tax
Notes / Memo

InvoiceCreateForm — job selector auto-fills customer + line items

useMutation(api.billing.invoices.create) · pricebook lookup


Detail — Full View LIVE
9:41
INV-2026-042
Invoice
INV-2026-042
SENT
Issued
Feb 10, 2026
Due
Mar 12, 2026
Bill To
Sarah Mitchell
1247 Oak Valley Dr
Akron, OH 44313
sarah.mitchell@email.com
Items
Cabinet Installation
8 × $175.00
$1,400.00
Countertop — Quartz
32 sq ft × $22.00
$704.00
Plumbing Rough-In
1 × $296.00
$296.00
Subtotal$2,400.00
Tax (7.25%)$174.00
Total Due$2,574.00
Payment Timeline
Invoice Created
Feb 10, 2026 · 2:15 PM
Sent to Customer
Feb 10, 2026 · 2:16 PM
Viewed by Customer
Feb 11, 2026 · 9:03 AM
Awaiting Payment
Due Mar 12, 2026
Remind
Record
Copy
Void

InvoiceDetail — full invoice with payment timeline and actions

useQuery(api.billing.invoices.getById) · Stripe payment link


Payment — Record LIVE
9:41
Record Payment
Invoice
INV-2026-042
Total Due
$2,574.00
Payment Amount
Remaining Balance$1,287.00 will remain after this payment.
Payment Method
Cash
Check
Card
Transfer
Zelle
Payment Date
Reference / Check #
Payment Notes

PaymentRecordForm — partial payments with remaining balance

useMutation(api.billing.payments.record) · balance recalculation


Recurring — Templates PLANNED
9:41
Recurring
C
Lawn Maintenance — Carter
$150.00 · Next: Mar 1, 2026
WEEKLY
B
HVAC Service Plan — Briggs
$89.00 · Next: Mar 15, 2026
MONTHLY
P
Gutter Cleaning — Park
$275.00 · Next: Apr 1, 2026
QUARTERLY
K
Snow Removal — Kowalski
$200.00 · Next: Mar 1, 2026
MONTHLY
Recurring Revenue
Monthly
$1,039
Active
3
Paused
1

RecurringInvoiceList — active/paused toggles with revenue summary

useQuery(api.billing.recurring.list) · useMutation(api.billing.recurring.toggle)


Estimates — List PLANNED
9:41
Estimates
All
Draft
Sent
Accepted
Declined
DP
EST-2026-019
David Park · Fence Installation
$3,850
ACCEPTED
MC
EST-2026-021
Maria Chen · Bathroom Remodel
$7,200
SENT
RW
EST-2026-018
Robert Walsh · Driveway Repair
$2,100
DECLINED
LT
EST-2026-022
Lisa Torres · Window Replacement
$4,500
DRAFT
Estimate vs Actual
Fence — Park
Est: $3,850 Act: $3,720
3.4% under estimate

EstimateList — status filters with one-tap convert to invoice

useQuery(api.billing.estimates.list) · convertToInvoice mutation


Expenses — Overview PLANNED
9:41
Expenses
By Category
Materials
$2,340
Fuel
$892
Tools
$710
Permits
$485
Other
$405
Recent Expenses
Home Depot — Lumber
Materials · Deck Build — Henderson
$342.18
RECEIPT
Shell Gas Station
Fuel · 42.3 miles · Feb 23
$67.40
Summit County — Permit
Permits · Kitchen Remodel — Mitchell
$185.00
RECEIPT
Mileage Tracker
GPS ON
This Month
847 mi
Deduction
$564.26
IRS rate: $0.67/mile · Auto-tracking enabled

ExpenseTracker — receipt scanning, categories, mileage GPS

useQuery(api.billing.expenses.list) · Clearbit Logo API for vendor icons, fallback to category IconCircle


Reports — Overview PLANNED
9:41
Reports
Week
Month
Quarter
Year
Revenue
Bar Line
JulAugSepOctNovDecJanFeb
Feb Revenue
$12,450
vs Last Month
+18.3%
Accounts Receivable Aging
Current
$2,530
30-60d
$1,750
60-90d
$0
Top Customers by Revenue
SM
Sarah Mitchell
4 invoices · Kitchen Remodel, Bathroom
$8,740
DP
David Park
3 invoices · Fence, Gutter Cleaning
$6,280
AB
Angela Briggs
2 invoices · HVAC, Bathroom
$5,450
Tax Summary (YTD)
Total Revenue$67,830
Total Expenses$28,412
Mileage Deductions−$3,840
Net Profit$35,578
Estimated quarterly tax: $8,895 · Due Apr 15, 2026

FinancialReports — revenue charts, AR aging, tax summary

useQuery(api.billing.reports.summary) · useQuery(api.billing.reports.topCustomers)

Invoices & Payments LIVE
9:41
Invoices & Payments
$4,280
Outstanding
$1,750
Overdue
$12,450
Paid (Feb)
$67,830
YTD Revenue
Recent Invoices
+ New
SM
INV-2026-042
Sarah Mitchell · $2,400
Sent
JK
INV-2026-038
James Kowalski · $1,750
Overdue
AB
INV-2026-037
Angela Briggs · $3,200
Paid
TH
INV-2026-043
Tom Henderson · $880
Draft
Invoice
INV-2026-042
Sent
Sarah Mitchell
1247 Oak Valley Dr, Akron, OH 44313
Cabinet Installation
8 × $175.00
$1,400.00
Countertop — Quartz
32 sq ft × $22.00
$704.00
Plumbing Rough-In
1 × $296.00
$296.00
Total$2,574.00
Payment Timeline
Invoice Created
Feb 10, 2026
Sent to Customer
Feb 10, 2026
Viewed by Customer
Feb 11, 2026
Awaiting Payment
Due Mar 12, 2026
Remind
Record Payment

Estimates, Recurring & Expenses PLANNED
9:41
Estimates & More
Estimates
DP
EST-019 — Fence Install
David Park · $3,850
Accepted
MC
EST-021 — Bathroom Remodel
Maria Chen · $7,200
Sent
RW
EST-018 — Driveway Repair
Robert Walsh · $2,100
Declined
Recurring Invoices
Lawn — Carter
$150 · Next: Mar 1
Weekly
HVAC — Briggs
$89 · Next: Mar 15
Monthly
Gutter — Park
$275 · Next: Apr 1
Quarterly
$1,039/mo recurring revenue
Expenses by Category
Materials
$4,200
Labor
$3,100
Equipment
$1,800
Fuel
$940
Estimate vs Actual
Fence — Park
Est: $3,850Act: $3,720
3.4% under estimate
Billing Settings
Auto-Send Receipts
Late Fee Reminders
Billing Dashboard LIVE
https://app.3bids.io/contractor/billing
3BidsBilling
Dashboard ⌘1
Invoices ⌘2
Payments ⌘3
Estimates ⌘4
Recurring ⌘5
Expenses ⌘6
Reports ⌘7
Settings ⌘,
MR
Mike Reynolds
Contractor

Billing Dashboard

$184.5K
Total Revenue
$24.8K
Outstanding
96%
Collection
2.8d
Avg Pay Time
$1,039
Recurring/mo
Recent Invoices
AllSentOverduePaid
Invoice
Customer
Job
Amount
Due
Status
042
SM
Sarah Mitchell
Kitchen Remodel
$2,574
Mar 12
Sent
038
JK
James Kowalski
Roof Repair
$1,750
Overdue
Overdue
037
AB
Angela Briggs
Bathroom Tile
$3,200
Feb 28
Paid
043
TH
Tom Henderson
Deck Staining
$880
Draft
Estimates
Fence Install
David Park · $3,850
Accepted
Bathroom Remodel
Maria Chen · $7,200
Sent
Window Replace
Lisa Torres · $4,500
Draft
Recurring
Lawn — Carter
$150/week
Active
HVAC — Briggs
$89/month
Active
Gutter — Park
$275/quarter
Paused
Expenses (Feb)
Materials
$4.2K
Labor
$3.1K
Equip
$1.8K

Invoices LIVE
https://app.3bids.io/contractor/billing/invoices
3BidsBilling
Dashboard ⌘1
Invoices ⌘2
Payments ⌘3
Estimates ⌘4
Recurring ⌘5
Expenses ⌘6
Reports ⌘7
Settings ⌘,
MR
Mike Reynolds
Contractor

Invoices

Search invoices…
All Draft Sent Overdue Paid
New
Invoice
Customer
Job
Amount
Due
Status
042
SM
Sarah Mitchell
Kitchen Remodel
$2,574
Mar 12
Sent
038
JK
James Kowalski
Roof Repair
$1,750
Overdue
Overdue
037
AB
Angela Briggs
Bathroom Tile
$3,200
Feb 28
Paid
043
TH
Tom Henderson
Deck Staining
$880
Draft
035
DP
David Park
Fence Install
$3,850
Feb 15
Paid

Payments LIVE
https://app.3bids.io/contractor/billing/payments
3BidsBilling
Dashboard ⌘1
Invoices ⌘2
Payments ⌘3
Estimates ⌘4
Recurring ⌘5
Expenses ⌘6
Reports ⌘7
Settings ⌘,
MR
Mike Reynolds
Contractor

Payments

$12,450
Collected (Feb)
$4,280
Outstanding
$1,750
Overdue
Payment History
Record Payment
Date
Customer / Invoice
Amount
Method
Status
Mar 5
Angela Briggs — INV-037
$3,200
Stripe
Completed
Feb 28
David Park — INV-035
$3,850
Check
Completed
Feb 20
Sarah Mitchell — INV-034
$1,200
Stripe
Partial
Feb 15
Lisa Torres — INV-031
$2,100
Cash
Completed

Estimates PLANNED
https://app.3bids.io/contractor/billing/estimates
3BidsBilling
Dashboard
Invoices
Payments
Estimates
Recurring
Expenses
Reports
Settings
MR
Mike Reynolds
Contractor

Estimates & Quotes

AllDraftSentAcceptedDeclined
New Estimate
Estimate
Customer
Description
Amount
Sent
Status
019
David Park
Fence Installation
$3,850
Feb 10
Accepted
021
Maria Chen
Bathroom Remodel
$7,200
Feb 22
Sent
022
Lisa Torres
Window Replacement
$4,500
Draft

Recurring PLANNED
https://app.3bids.io/contractor/billing/recurring
3BidsBilling
Dashboard
Invoices
Payments
Estimates
Recurring
Expenses
Reports
Settings
MR
Mike Reynolds
Contractor

Recurring Billing

$1,039
Monthly Revenue
3
Active Templates
1
Paused
Recurring Templates
New Template
Customer
Amount
Frequency
Next Run
Status
Lawn Maint. — Carter
$150
Weekly
Mar 8
Active
HVAC Service — Briggs
$89
Monthly
Mar 15
Active
Gutter Clean — Park
$275
Quarterly
Apr 1
Paused
Snow Removal — Kowalski
$200
Monthly
Mar 1
Active

Expenses PLANNED
https://app.3bids.io/contractor/billing/expenses
3BidsBilling
Dashboard
Invoices
Payments
Estimates
Recurring
Expenses
Reports
Settings
MR
Mike Reynolds
Contractor

Expense Tracking

February Spending
$9,132
18 expenses · 6 linked to jobs
Materials
$4,201
Labor
$3,105
Equipment
$1,826
Recent Expenses
Add
Date
Description
Category
Amount
Mar 4
Quartz countertop slab
Materials
$1,240
Mar 2
Mileage — 48 mi @ $0.67
Travel
$32.16
Feb 28
Plumbing fittings — Home Depot
Materials
$387
Feb 26
Subcontractor — Electrician
Labor
$850

Reports PLANNED
https://app.3bids.io/contractor/billing/reports
3BidsBilling
Dashboard
Invoices
Payments
Estimates
Recurring
Expenses
Reports
Settings
MR
Mike Reynolds
Contractor

Financial Reports

Revenue Trend
6 MonthsYTD12 Months
Top Customers
David Park$12,400
Sarah Mitchell$8,750
Angela Briggs$6,200
Accounts Receivable Aging
Current
$2,530
30-60d
$1,750
60-90d
$0

Settings PLANNED
https://app.3bids.io/contractor/billing/settings
3BidsBilling
Dashboard
Invoices
Payments
Estimates
Recurring
Expenses
Reports
Settings
MR
Mike Reynolds
Contractor

Billing Settings

Invoice Defaults
Payment Terms
Net 30
Tax Rate
7.25%
Invoice Prefix
INV-2026-
Default Memo
Thank you for your business!
Notifications
Auto-Send Receipts
Late Fee Reminders
Payment Received Alert
Weekly Summary Email

Data Architecture

Schema tables, queries, mutations, and status flows that power Billing & Invoicing.

Source Files

index.tsx
Invoice Dashboard — stats, filters, invoice list with status badges
screen
create.tsx
Invoice Create Form — line items, tax toggle, payment terms
screen
[id].tsx
Invoice Detail — line items, payment timeline, send/remind actions
screen
recurring.tsx
Recurring Invoice List — active/paused toggles, revenue summary
screen
estimates.tsx
Estimate List — draft/sent/accepted, convert-to-invoice action
screen
expenses.tsx
Expense Tracker — receipt scanning, mileage, category breakdown
screen
reports.tsx
Financial Reports — revenue trends, top customers, spending categories
screen

Convex Queries

billing.invoices.list
Filter by status, customer, date range. Returns invoices with payment totals.
query
billing.invoices.getById
Single invoice with line items, payment history, and customer details.
query
billing.estimates.list
Draft/sent/accepted estimates with conversion status.
query
billing.recurring.list
Active and paused recurring templates with next-run dates.
query
billing.expenses.list
Expenses by category, date range. Supports receipt attachment lookup.
query
billing.reports.summary
Revenue, outstanding, overdue totals. Powers dashboard stat cards.
query
billing.reports.topCustomers
Ranked customer list by total spend for reporting period.
query

Convex Mutations

billing.invoices.create
Line items from pricebook, tax, terms, customer. Links to job.
mutation
billing.invoices.send
Generates Stripe payment link, sends email via SendGrid.
mutation
billing.invoices.void
Voids unpaid invoice. Cancels Stripe link if active.
mutation
billing.payments.record
Manual payment entry. Updates balance, triggers status transition.
mutation
billing.estimates.convertToInvoice
Copies line items to new invoice. Marks estimate as converted.
mutation
billing.recurring.toggle
Activates or pauses recurring template. Updates next-run date.
mutation
billing.expenses.create
Amount, category, receipt upload, optional mileage with IRS rate.
mutation

Invoice Status Flow

draft sent viewed overdue | partial paid
Terminal: voided write_off

Key Design Decisions

Contractor Palette
Terracotta accent, IconCircle styles B/D/F + semantic H/J/K states
Stripe Integration
Payment links for online collection, automatic status sync on webhook
Partial Payments
Balance tracking with automatic draft → partial → paid transitions
Estimate Conversion
One-tap conversion copies line items to new invoice, preserves linkage
Recurring Templates
Auto-generate invoices on schedule with active/paused toggle control
Expense Tracking
OCR receipt scanning + GPS mileage at IRS standard rate