How Payouts Actually Work
From the moment your client clicks Pay to the moment money lands in your bank — every step, every fee, every hold rule.
The full money flow
Five stops between client payment and your bank account.
Client pays invoice
Day 0Client clicks Pay on the invoice in their portal. Stripe charges their card or bank account immediately. The full invoice amount + 1% client platform fee hits Stripe.
Funds enter escrow
Day 0 (instant)ContractShield holds the contractor portion in escrow on the platform Stripe account. The client fee goes to ContractShield directly. Money does NOT immediately route to the contractor.
Project milestone marked complete
Day 0 to Day NFunds release to the contractor only after the matching milestone is marked complete by the client (or auto-approved after a 7-day window with no client action). Solo invoices without milestones release immediately on payment.
Contractor balance available
Day N + 0Money lands in the contractor's Stripe Connect balance. You can see it in /contractor/payments. The 1% contractor platform fee has already been deducted at this point.
Payout to bank
Day N + 2 (standard)Stripe sweeps your Connect balance to your linked bank account on the next standard payout window. Default cadence is daily for established accounts; new accounts get a 7-day rolling hold on the first $100.
Platform fee breakdown
ContractShield charges 1% to each side. Build the contractor fee into your bid prices — the client fee is already added at checkout.
| Party | Fee | When applied | Example ($10K invoice) |
|---|---|---|---|
| Client | 1% of invoice subtotal | Added on top of the invoice the client sees | $10,000 invoice → client is charged $10,100 |
| Contractor | 1% of invoice subtotal | Deducted from your payout when funds release | $10,000 invoice → you receive $9,900 (before any refund/dispute) |
| Stripe processing | 2.9% + $0.30 per card transaction | Already baked into the contractor fee — you don't pay this separately | Contractor net is exactly $9,900 on a $10,000 invoice paid by card |
Why is my payout held?
Four reasons your money might not be in your bank account yet.
First $100 — 7 day rolling hold
Stripe's standard fraud control on new Connect accounts. Applies once, then disappears.
Milestone not marked complete
Money sits in escrow until the client approves the milestone or the 7-day auto-approval window elapses. Push the client in /messages if it's stalled.
Active dispute
If the client filed a chargeback, the disputed amount is held in reserve. See Stripe Connect Troubleshooting for dispute response.
Connect account flagged
If your dispute rate crosses 0.75% (3 disputes per 400 transactions), payouts auto-pause until reviewed. Email support to expedite.
More on getting paid
Last updated