CONSTRUCTION / BILL PAY

Retainage for Bill Pay

Can we build it on what already exists?

The Bill Pay gap in construction

39%
Non-construction
Bill Pay attach
24%
Construction
Bill Pay attach

Construction processes $2T+ in AP invoices every year. We have the right to win —
but construction-specific workflows are blocking adoption.

What we're hearing from the field

9 customers in the Construction Alpha actively eager to use this if we build it.

What is retainage?

Example: GC hires an electrical sub for a $100K contract at 10% retainage
Invoice Billed Retained (10%) Paid
#1 $25,000 $2,500 $22,500
#2 $25,000 $2,500 $22,500
#3 $25,000 $2,500 $22,500
#4 $25,000 $2,500 $22,500
Release $10,000

5-10% of every invoice is withheld until the work is done, then released in bulk.

Problem statement

Customers need to withhold a percentage of an invoice payment, then release that percentage at a later date.

PROTOTYPE — SETUP

Select the liability account

Bill Pay

Needs review (4)
Scheduled (12)
Paid
Awaiting release 8
#VendorAmount
4521ABC Concrete Inc$45,000
8834Steel Supply Co$12,400
2201Midwest Electric$8,750
Bill Pay Settings ×
Retainage Payable Account
Withheld retainage amounts will be posted to this account until released.

One-time setup: pick the GL account where retainage lands.

PROTOTYPE — PAY

Paying an invoice with retainage

← Back to Bill Pay

ABC Concrete Inc — Invoice #4521

Invoice #
4521
Amount
$45,000
Invoice Date
Jan 28, 2026
Due Date
Feb 15, 2026
Matched Purchase Order
PO-2024-0892
Foundation concrete - Phase 2
PO Amount
$50,000
Retainage: 10% $5,000 withheld to date
Default Coding
Project
Hudson Yards Tower A
GL Account
5000 - COGS
Cost Code
02-100 Concrete
Location
New York
Invoice
Lien Waiver
📄
Invoice PDF Preview
Retainage
10% ($4,500) will be withheld
Inherited from PO · Override
Payment amount
$40,500

Retainage % inherited from the PO. Controller can override per invoice.

PROTOTYPE — RELEASE

Releasing retainage

Bill Pay

Needs review (4)
Scheduled (12)
Paid
Awaiting release 8
8 invoices across 3 projects · $18,050 withheld
3 selected · $10,440
Hudson Yards Tower A 5 invoices
$11,850
ABC Concrete Inc PO-2024-0892 $4,500
Steel Supply Co PO-2024-1105 $1,240
ABC Drywall PO-2024-0147 $4,700
ProBuild Materials PO-2024-1221 $320
Smith Plumbing PO-2024-0961 $1,090
Riverside Office 2 invoices
$4,350

Select invoices by project, bulk release when the work is done.

What we know

Approval for invoice and retainage release are separate
Standard bill pay approvals for the invoice. Separate approval chain for releasing retainage later.
Retainage is usually on the PO, but a PO isn't always required
Some invoices with retainage won't be matched to a PO.
Some ERPs have retainage-specific modules
Intacct has a retainage release object. Customers have said they'd be okay without perfect sync to it, but it's something to keep in mind.
Document compliance is often required for release, but out of scope
Lien waivers, COIs, etc. Thinking about this separately.
Releases often tie to project phases completing
Could automate release triggers later. Right now: focus on the fundamental workflow.

How do we build this?

1
Can we do this with partial payments?
Model retainage as "pay 90% now, pay 10% later." What in the current partial payment flow supports this, and what breaks?
2
What's easy vs. what's hard with existing infra?
Help us narrow down what a realistic MVP looks like. Where can we lean on what Bill Pay already has, and where do we need something new?