How Payouts Work
Plain-English walkthrough of the full money flow — from the moment your client pays an invoice to the moment funds land in your bank — plus exactly what happens during a refund or dispute.
This matters because the contractor carries the risk on refunds and chargebacks. Knowing the rules up front means no surprises later.
The Payout Lifecycle
Five steps from client payment to your bank account
1. Client pays the invoice
Money lands in ContractShield's Stripe balance
Your client pays via card, ACH, or Stripe Link. The full amount sits in our platform balance — it is NOT immediately wired to your bank. We hold it on purpose so refunds and disputes don't have to chase money that has already left.
2. Pending payout is created
A row appears in your Payments tab marked 'Pending'
The moment a charge succeeds we record a pending payout for your share (invoice total minus the 1% contractor platform fee). You can see it on the project Payments tab. Status: pending. Release_after: not yet set.
3. Client approves the work
Client clicks 'Approve completion' on /my-projects/[id]
The client confirms the job is done to their satisfaction. This starts a 7-day grace period before the payout is released — they can still raise a dispute during that window if something turns out wrong after the walkthrough.
4. 7-day grace period
release_after = approval date + 7 days
Nothing is paid out yet. If a dispute or refund happens during these 7 days, we keep the money in the platform balance and can return it to the client without ever touching your bank account. No grace period existed in earlier versions of the platform — we added it because it's the only way to make refunds painless for both sides.
5. Daily sweeper transfers to your bank
Cron at 09:00 UTC runs and releases everything past release_after
After the 7 days are up, our payout-sweeper cron picks up your pending payouts and transfers them to your Stripe Connect account. From there Stripe pushes to your linked bank account on its normal schedule (usually 2 business days). A confirmation email goes out on the first successful transfer.
Refunds
What happens when money needs to go back to the client
Full refund (before 7-day grace ends)
Easiest case — money never left
Client requests a full refund and you agree (or it's clearly warranted). We refund from the platform balance directly to the client's card. Your pending payout is canceled. No money moved through your bank, nothing to claw back. Status on the invoice flips to 'refunded'.
Partial refund
Client refunded for part of the work
Same flow as a full refund, but only a portion is returned. The remainder of your pending payout stays scheduled and releases on the original date. Invoice status becomes 'partially_refunded'.
Refund AFTER payout has released
Money already in your bank — clawback applies
If a refund is initiated after we have already transferred to your Connect account, we claw back the funds from your next pending payout. If you have no pending payouts, the amount becomes outstanding_debt_cents on your profile and is netted against future payouts. The contractor is responsible for refunds — TOS § 7.5.
Disputes & Chargebacks
When a client goes to their bank instead of working it out with you
Dispute opened (chargeback initiated)
Client's bank pulls the funds from us pending review
When a client disputes a charge with their bank, Stripe immediately pulls the disputed amount from our platform balance — even before any review happens. Your pending payout for that invoice is reversed. The invoice flips to 'disputed' and you'll see it on the dispute portal.
Chargeback fee passes through to you
Stripe charges $15 per chargeback regardless of outcome
Stripe assesses a chargeback fee on every dispute (currently $15 in the US). Per TOS § 7.5 we pass this fee through to you on the first successful clawback. If your pending payouts cover it, it's deducted there. Otherwise it accrues as outstanding_debt_cents and nets against your next payout.
You win the dispute
Funds restored, plus chargeback fee refunded
If you submit evidence and Stripe rules in your favor, the disputed funds come back to our platform balance. We re-issue your pending payout (with a fresh 1-day release window) and refund the $15 chargeback fee back to your outstanding_debt_cents. The invoice goes back to 'paid' status.
You lose the dispute
Funds stay with the client. Clawback is final.
If Stripe rules in the client's favor, the disputed amount is permanently lost. Your clawback stands. Invoice status becomes 'refunded'. The chargeback fee stays on your account. This is why responding to disputes within 7 days with photos, timesheets, and chat history matters.
Staying Healthy
Habits that keep your dispute rate low and your payouts flowing
Document everything
Photos at every project milestone, timestamped chat messages, signed change orders. When a dispute opens you have 7 days to submit evidence — having it organized matters.
Get explicit approval before scope changes
Most disputes start with 'I never agreed to that.' Use the change-order tool every single time the work expands beyond the original quote. A signed change order is your strongest evidence in a dispute.
Resolve complaints before they become disputes
If a client is unhappy, work it out in chat first. Offer a partial refund or rework rather than letting them go to their bank. A voluntary refund through ContractShield doesn't count against your dispute rate. A chargeback does.
Keep your dispute rate below 0.75%
We auto-pause payouts when your rolling 30-day dispute rate crosses 0.75% (and you've had at least 5 transactions in that window). This matches Visa/Mastercard's 'excessive disputes' threshold. Auto-pause is reversible — you keep working, payouts resume the moment your rolling rate drops back under 0.75%.
Quick Reference
The numbers you actually need to remember
- Platform fee
- 2% total — 1% from you, 1% from the client
- Grace period before payout
- 7 days from client approval
- Chargeback fee passed through
- ~$15 per dispute (matches Stripe's fee)
- Auto-pause threshold
- 0.75% rolling 30-day dispute rate (min 5 transactions)
- Payout sweeper schedule
- Daily 09:00 UTC
- Bank arrival after sweeper
- Usually 2 business days (Stripe standard)
Questions?
Email support@contractshield.io if anything in the payout flow surprises you. Better to ask before a dispute than after.