Recurring charges create real invoices
Why monthly billing rows appear in your quotes list, and why they deliberately stay out of your pipeline stats.
Updated September 11, 2026
If you use recurring billing, you will notice invoice rows tagged "Recurring" in your quotes and invoices list every month. That is by design, and the design is worth understanding.
Every charge documents itself
When a customer's recurring plan bills (say, the 1st of each month), PoolChecker does not just charge the card. It first creates a real invoice for that period, then charges against it. So every dollar of recurring revenue has a paper trail: an invoice with a number, a date, a line item, and a payment attached.
Ripple effects of that choice:
- The customer's page shows each month's charge as a normal payment against a normal invoice.
- QuickBooks sync treats it identically to any other invoice and payment, so your books never contain naked charges.
- A failed card leaves the invoice standing as issued and unpaid, which is exactly the truth: the month was billed, the money did not arrive. You can chase it with a payment link like any other open invoice.
Why they stay out of your pipeline stats
The dashboard's quote pipeline and the quote analytics on the Reports page exclude recurring invoices on purpose. Those views measure your sales funnel: how many quotes go out, what share get approved, how fast. A hundred automatic monthly invoices would drown that signal in noise and make your "conversion rate" meaningless. So: recurring rows appear in the list (each one is a record you can open, refund against, or void), but the funnel numbers pretend they do not exist.
If you ever compare "total invoices in the list" against "pipeline count" and they disagree, this is why, and it is correct.
Where the recurring plan itself lives
On the customer's page, not the pool's. One plan per customer: the amount, the day of the month, and exactly which months bill (skip the winter with two clicks). The plan editor shows the sum of the customer's per-pool rates as a sanity reference, and paused pools are excluded from that suggestion. The plan amount always wins over pool rates; the rates are advisory.