Understanding how payments work in PoolFlow helps you manage your cash flow and set customer expectations.
The payment timeline
Here's what happens from booking to payout:
1. Customer books (Card captured)
When a customer completes your booking form, their card is authorized but not charged. This places a hold on the funds and verifies the card is valid.
The customer sees "pending" on their bank statement, but no money moves yet.
2. You approve the job
Review the booking in your dashboard. When you click Approve, the authorization hold is confirmed. The customer's bank continues to hold those funds.
For one-time jobs, the hold lasts up to 7 days. If you need more time, you can extend it or charge a deposit.
3. You complete the work
Do the job. If anything changes (extra chemicals needed, repairs discovered), you can create a change order to adjust the price before charging.
4. You mark it complete (Card charged)
Click Complete & Charge when the job is done. This captures the payment — funds are actually charged to the customer's card.
The button shows the exact amount: "Complete & Charge $245.00"
5. Money hits your bank
Stripe deposits funds to your bank account, typically within 2 business days. New accounts may have longer initial delays.
One-time vs. recurring payments
One-time jobs
Examples: pool opening, equipment repair, green pool cleanup
- Card authorized at booking
- Charged when you mark complete
- Single payment, job done
Recurring services
Examples: weekly cleaning, monthly maintenance
- First payment charged immediately at booking
- Subscription created in Stripe
- Auto-charges on schedule (weekly, biweekly, monthly)
- Customer can manage subscription in their portal
For recurring services, clicking "Complete Job" just updates the status — Stripe handles the ongoing billing automatically.
What customers see
At booking
- Order summary with services and total
- Processing fee (if you pass it to customers)
- Card entry form
- "Your card will be authorized for $X"
After booking
- Confirmation email with job details
- "Pending" charge on their bank statement
- Link to customer portal
When charged
- Receipt email from PoolFlow
- Charge appears on bank statement as your business name
Change orders
If the job scope changes after approval, use change orders to adjust the price:
- Go to the job detail page
- Click Add Change Order
- Enter the adjustment (positive or negative)
- Add a reason the customer will see
Auto-approved: Credits (negative amounts) and small increases below your threshold
Customer approval required: Larger increases — customer gets an email to approve
The final charge includes all approved change orders.
Refunds and cancellations
Before the job is complete
Cancel the job — the authorization hold is released and the customer isn't charged.
After the job is charged
For refunds, you'll need to process them through your Stripe dashboard. Go to dashboard.stripe.com, find the payment, and issue a full or partial refund.
Failed payments
Sometimes cards decline. Common reasons:
- Insufficient funds
- Card expired
- Bank flagged as suspicious
When a payment fails:
- You're notified via email/SMS
- Job stays in "Awaiting Payment" status
- Customer is notified to update their card
- You can retry the charge or request a new card
Disputes and chargebacks
If a customer disputes a charge with their bank:
- Stripe notifies you immediately
- You have 7 days to respond with evidence
- Provide photos of completed work, signed agreements, communications
- Bank makes final decision (typically 60-90 days)
Minimize disputes by:
- Taking before/after photos
- Getting written approval for changes
- Keeping clear communication records
- Using the customer portal for transparency