Recurring Services

Set up weekly, biweekly, or monthly billing

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:

  1. First payment — Customer pays immediately at checkout
  2. Subscription created — A Stripe subscription starts automatically
  3. Ongoing charges — Stripe bills the customer on schedule (weekly, biweekly, monthly)
  4. 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:

  1. Retries the charge after 1 day
  2. Retries again after 3 days
  3. Retries one more time after 5 days
  4. 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:

  1. Edit the service price in your Services settings
  2. New subscribers pay the new price
  3. 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.

Was this helpful?

Let us know if we can improve this article.

Send feedback