ContractShieldContractShield
Contractor Docs

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.