Recurring services like weekly maintenance are handled differently than one-time jobs. Here's how subscriptions work in PoolFlow.
How recurring billing works
When a customer books a recurring service:
- First payment — Customer pays immediately at checkout
- Subscription created — A Stripe subscription starts automatically
- Ongoing charges — Stripe bills the customer on schedule (weekly, biweekly, monthly)
- Job tracking — Each service visit creates a job in your dashboard
You don't need to invoice customers or chase payments. Stripe handles it all.
Setting up recurring services
When creating a service, choose "Recurring" as the billing type:
- Weekly — Customer billed every 7 days
- Biweekly — Customer billed every 14 days
- Monthly — Customer billed on the same date each month
The price you set is the per-service price. A $75/week service bills $75 weekly.
What customers see
At checkout, customers see:
- First payment amount (today's charge)
- Recurring amount and frequency
- When their next charge will be
After booking, they receive:
- Confirmation email with subscription details
- Access to manage their subscription in the customer portal
- Email receipts for each recurring payment
Managing subscriptions
Your dashboard
Subscription jobs show a recurring icon in the jobs list. When you complete a subscription job:
- Click "Complete Job" (not "Complete & Charge")
- The job moves to Done
- No payment action needed — Stripe already handles billing
Customer portal
Customers can manage their subscriptions at any time:
- View upcoming payments
- Update payment method
- Cancel subscription
The portal link is in their confirmation email, or they can request a magic link.
Cancellations
When a customer cancels:
- Future charges stop immediately
- Any scheduled jobs remain on your board
- You can manually remove them or let them expire
You can also cancel from your dashboard if needed.
Failed payments
If a payment fails, Stripe automatically:
- Retries the charge after 1 day
- Retries again after 3 days
- Retries one more time after 5 days
- Marks the subscription as past due
You'll see a notification when payments fail. Stripe sends the customer emails asking them to update their card.
Pausing service
Need to skip a week? Here are your options:
For a single skip: Complete the job without doing the work, or remove the job manually. Billing continues as normal.
For extended pause: Have the customer pause their subscription through the portal, or cancel and rebook when ready.
Price changes
To change pricing for a recurring service:
- Edit the service price in your Services settings
- New subscribers pay the new price
- Existing subscribers keep their original price
To update an existing customer's price, they need to cancel and re-subscribe at the new rate.
Tips for recurring services
Set expectations upfront
Make your service description clear about what's included in each visit. This reduces disputes and cancellations.
Check the portal
When customers have billing questions, point them to their portal first. They can update cards, view history, and manage their subscription there.
Track completion
Even though billing is automatic, mark jobs complete when you finish the work. This keeps your records accurate and shows customers you've serviced their pool.