1 Queue
2 Detail
3 Actions
4 Negotiate
5 Analytics
6 Bulk
7 Escrow
8 Audit
Queue & Triage
Change Order Queue
9:41
Change Orders
14
Pending
87
Approved
6
Declined
$24.3K
Total Delta
All (14) Scope Price Timeline Urgent
Kitchen Remodel — J. Thompson
Scope Change · Poster · 1h ago
+$2,400
Roof Replacement — M. Rivera
Price Dispute · Contractor · 3h ago
+$5,800
Bathroom Addition — S. Chen
Timeline Change · Contractor · 5h ago
+$1,200
Deck Build — A. Williams
Scope Change · Poster · 1d ago
-$800
HVAC Install — D. Park
Price Adjust · Contractor · 1d ago
+$3,100
Window Replace — E. Watson
Scope Change · Poster · 2d ago
+$950
ChangeOrderQueue — KPI summary, type/urgency filters, sortable list
useQuery(api.admin.changeOrders.listPending)
Change Order Detail
9:41
CO #1047
Kitchen Remodel
Requested by: Janet Thompson (Poster)
Submitted Feb 22, 2026 · Job #3892
Pending
Original vs Proposed
Scope
Original
Countertop replacement, cabinet refinish, backsplash
Proposed
+ Island with sink, under-cabinet lighting
Price
Original
$8,500
Proposed
$10,900 (+$2,400)
Timeline
Original
14 days
Proposed
21 days (+7)
Justification
Homeowner wants to add a kitchen island with integrated sink and under-cabinet LED lighting. Requires additional plumbing rough-in, electrical work, and countertop fabrication.
Supporting Photos
4 attachments · Floor plan + site photos
Impact Analysis
Cost Delta
+$2,400 (28.2%)
Timeline Delta
+7 days (50%)
Escrow Impact
+$2,604 w/ fees
Risk Level
Medium
Comments
JT
Janet Thompson
Poster
We'd love to add the island we discussed. Happy to cover the difference.
Feb 22, 2:30 PM
MR
Marcus Rivera
Contractor
Confirmed — island requires plumbing rough-in. $2,400 covers materials + 2 extra days labor.
Feb 22, 3:15 PM
ChangeOrderDetail — side-by-side comparison, photos, impact analysis
useQuery(api.admin.changeOrders.getById), useQuery(api.jobs.jobs.get)
Review & Negotiate
Approval Actions
9:41
Review CO #1047
Kitchen Remodel — CO #1047
Scope + Price Change · +$2,400
Decision
Conditional Approval
Approved with the condition that island countertop material matches existing. Contractor must provide material sample before ordering...
$2,400.00
7 additional days
Negotiated Amount
$1,800.00
Splits difference — covers materials at cost. Contractor absorbs labor delta.
Internal Notes
Contractor has strong history. Poster is a repeat customer. Recommend approval to preserve relationship. Flag for escrow team...
Notifications
Auto-Notify Both Parties
Email + in-app notification
ChangeOrderActions — approve/decline/negotiate, conditional form, counter-offer
useMutation(api.admin.changeOrders.decide), useMutation(api.admin.changeOrders.negotiate)
Negotiation Thread
9:41
Negotiate #1048
Roof Replacement — Active Negotiation
Original: $12,000 · Requested: $17,800 · Gap: $5,800
Thread3 days
MR
Marcus Rivera
Contractor
Found extensive water damage under the sheathing. Need to replace 6 sheets of plywood and add ice barrier.
Feb 20, 9:15 AM
Counter-Offer from Contractor
$17,800
+$5,800 for plywood replacement + ice barrier
KL
Karen Lee
Poster
That's almost 50% more. Can we do just the necessary repairs without the full ice barrier?
Feb 20, 11:30 AM
Counter-Offer from Poster
$14,500
Plywood only, skip ice barrier on south side
AD
Admin Danny
Admin
Reviewed photos. Ice barrier is code-required in Summit County for this roof pitch. Recommending $16,200 — full plywood + ice barrier on north face only. South face sheathing is sound.
Feb 21, 10:00 AM
Admin Mediated Offer
$16,200
Compromise: full plywood + north-face ice barrier only
NegotiationThread — chat thread with role badges, inline counter-offers, mediation
useQuery(api.admin.changeOrders.getThread), useMutation(api.admin.changeOrders.mediate)
Analytics & Compliance
Impact Dashboard
9:41
CO Analytics
81%
Approval Rate
2.4d
Avg Processing
$1.8K
Avg Delta
107
Total This Month
Categories
107
Total
Scope (44%)
Price (15%)
Timeline (19%)
Other (22%)
Monthly Trend
Sep
38
Oct
52
Nov
71
Dec
59
Jan
89
Feb
107
Flagged ContractorsView All
Tom Bradley Roofing
8 COs
Quick Fix Plumbing
5 COs
Summit Electric LLC
4 COs
ChangeOrderAnalytics — approval rate, processing time, category breakdown, trends
useQuery(api.admin.changeOrders.getAnalytics)
Bulk Review
9:41
Bulk Review
3 selected · $4,550 total
Auto-Approve: Under $500
3 orders auto-approved this week
Priority QueueSort: Amount
Kitchen Remodel — J. Thompson
Scope · +$2,400 · 1h ago
Urgent
Bathroom Addition — S. Chen
Timeline · +$1,200 · 5h ago
Normal
Deck Build — A. Williams
Scope · +$950 · 1d ago
Normal
HVAC Install — D. Park
Price · +$3,100 · 1d ago
Review
Window Replace — E. Watson
Scope · +$950 · 2d ago
Normal
Siding Repair — L. Johnson
Price · +$420 · 2d ago
Auto-OK
Threshold RulesConfigure
Auto-Approve Under $500
Both parties agreed, low risk
Flag Over $5,000
Requires senior admin review
BulkReview — multi-select, batch actions, threshold rules, priority sort
useMutation(api.admin.changeOrders.bulkDecide), useQuery(api.admin.changeOrders.getRules)
Escrow Adjustment
9:41
Escrow Adjust
CO #1047 — Approved
Kitchen Remodel · +$2,400
Approved Feb 23, 2026 by Admin Danny
Current Escrow
Original Job Amount
$8,500.00
Platform Fee (8.5%)
$722.50
Poster Paid
$8,500.00
Current Escrow Balance
$8,500.00
Proposed Adjustment
Change Order Amount
+$2,400.00
Additional Fee (8.5%)
+$204.00
Poster Owes Additional
+$2,400.00
New Escrow Total
$10,900.00
Fee Recalculation
Original Fee
$722.50
Additional Fee
+$204.00
New Total Fee
$926.50
Signatures Required
Janet Thompson (Poster)
Signed
Marcus Rivera (Contractor)
Awaiting
Both signatures required. Poster will be charged $2,400 via Stripe. 24h hold applies before contractor payout.
EscrowAdjustment — current/proposed breakdown, fee recalc, dual signatures
useQuery(api.payments.escrow.getBreakdown), useMutation(api.admin.changeOrders.adjustEscrow)
Audit Trail
9:41
Audit: CO #1047
All
Actions
Comms
Escrow
Change Order Completed
Feb 24, 2026 · 11:00 AM
Escrow adjusted. Both parties notified. Job timeline updated.
Escrow Adjusted
Feb 24, 2026 · 10:45 AM
Poster charged $2,400.00 via Stripe. New escrow total: $10,900.00
Contractor Signed
Feb 24, 2026 · 9:30 AM
Marcus Rivera accepted adjusted terms. Digital signature captured.
Poster Signed
Feb 23, 2026 · 4:15 PM
Janet Thompson approved change order amendment. Digital signature captured.
Admin Approved
Feb 23, 2026 · 2:00 PM
Approved by Admin Danny. Condition: material sample required before island countertop order.
Review Started
Feb 23, 2026 · 10:00 AM
Assigned to Admin Danny for review. Impact analysis generated.
Contractor Confirmed
Feb 22, 2026 · 3:15 PM
Marcus Rivera provided cost breakdown and confirmed additional plumbing scope.
Change Order Submitted
Feb 22, 2026 · 2:30 PM
Janet Thompson requested scope change: add kitchen island with sink + under-cabinet lighting. Delta: +$2,400.
AuditTrail — immutable timeline: submitted, reviewed, negotiated, approved, escrow adjusted
useQuery(api.admin.changeOrders.getAuditLog)
Data Architecture

Schema Tables

changeOrders // Per change order
  jobId: v.id("jobs")
  requestedBy: v.id("posterUsers") | v.id("contractorUsers")
  type: "scope" | "price" | "timeline"
  status: "pending" | "approved" | "declined" | "negotiating"
  originalScope: string
  proposedScope: string
  originalAmount: number
  proposedAmount: number
  originalTimeline: number // days
  proposedTimeline: number
  justification: string
  photoIds: v.array(v.id("_storage"))
  riskLevel: "low" | "medium" | "high"
  conditions: v.optional(v.string())
  reviewedBy: v.optional(v.id("adminUsers"))

escrow // Existing table
  adjustments: v.array({ changeOrderId, delta, feesDelta })

changeOrderMessages // Thread
  changeOrderId: v.id("changeOrders")
  senderId: string
  senderRole: "poster" | "contractor" | "admin"
  message: string
  counterOfferAmount: v.optional(v.number())

changeOrderAuditLog // Immutable
  changeOrderId: v.id("changeOrders")
  action: string
  performedBy: string
  details: object
  timestamp: number

Queries

listPending // Queue with KPIs
  filters: status, type, urgency, amountRange
  returns: items[], kpis{}

getById // Full detail + comparisons
  returns: original{}, proposed{}, impact{}

getThread // Negotiation messages
  returns: messages[], counterOffers[]

getAnalytics // Dashboard data
  returns: rates, trends[], categories{}

getAuditLog // Timeline entries
  returns: events[], filterable

Mutations

decide
  args: changeOrderId, decision, conditions?, amount?
  // Approve, decline, or negotiate

mediate
  args: changeOrderId, mediatedAmount, message
  // Admin mediates between parties

bulkDecide
  args: changeOrderIds[], decision
  // Batch approve/decline

adjustEscrow
  args: changeOrderId, escrowId
  // Process payment adjustment

updateRules
  args: autoApproveThreshold, flagThreshold
  // Configure automation rules

Hooks & Components

useChangeOrders // List + filters
useChangeOrderDetail // Single CO
useNegotiationThread // Messages
useEscrowAdjustment // Escrow calc
useChangeOrderAnalytics // Dashboard
useChangeOrderAudit // Trail

// Components
ChangeOrderQueue
ChangeOrderDetail
ChangeOrderActions
NegotiationThread
ChangeOrderAnalytics
BulkReview
EscrowAdjustment
AuditTrail
Queue & Detail
9:41
Queue & Detail
Change Order Queue
CO-2024-0847
Kitchen Reno · +$2,400 scope change
Pending
CO-2024-0846
Deck Build · Material upgrade request
In Review
CO-2024-0845
Plumbing · Emergency add-on
Approved
Change Order Detail
Pending
CO Number
CO-2024-0847
Description
Homeowner requested upgraded quartz countertops and additional under-cabinet lighting not in original scope.
Original
$24,500
Proposed
$26,900
Analytics & Audit Trail
9:41
Analytics & Audit Trail
Impact Dashboard
47
Total COs
+$18.4K
Net Impact
Audit Trail
CO-0847 submitted
Mike K. · Mar 10, 2:14 PM
Event
CO-0846 approved
Admin · Mar 9, 4:30 PM
Action
CO-0845 escrow adjusted
System · Mar 8, 11:00 AM
Auto
Change Orders Center
https://app.3bids.io/admin/change-orders
3Bids
Queue ⌘1
Detail ⌘2
Actions ⌘3
Negotiate ⌘4
Analytics ⌘5
Bulk ⌘6
Escrow ⌘7
Audit ⌘8
AU
Admin User
Admin
Settings ⌘,

Change Orders Center

47
Total COs
12
Pending
+$18.4K
Net Impact
89%
Approval Rate
Pending Review
View All
Kitchen Remodel — J. Thompson
Scope Change · Poster · 1h ago
+$2,400
Roof Replacement — M. Rivera
Price Dispute · Contractor · 3h ago
+$5,800
Bathroom Addition — S. Chen
Timeline Change · Contractor · 5h ago
+$1,200
Deck Build — R. Garcia
Material Upgrade · Poster · 8h ago
+$3,100
Audit Trail
Full Log
CO-0847 submitted
J. Thompson · Mar 10, 2:14 PM
1h ago
CO-0846 approved
Admin · Mar 9, 4:30 PM
Yesterday
CO-0845 escrow adjusted
System · Mar 8, 11:00 AM
2d ago
Escrow Impact
Original Contract
$24,500
Approved COs
+$8,200
Pending COs
+$12,500
Projected Total
$45,200