Recurring Billing (2:19 video). Open on its own page
Every recurring service has a billing mode
When you create a recurring service, you choose how it bills: per visit (the default), a monthly or weekly flat rate, or externally (no in-app billing). The mode, the billing schedule, and any extra charges all live on the job itself, so different customers — and even different jobs for the same customer — can bill differently.
Flat-rate jobs bill the base rate on the job's billing date when the pool was serviced at least once that period. A period with zero completed visits is skipped (only queued one-time charges bill) unless Bill even without service or Bill ahead is on. Per-visit jobs normally bill only completed visits, but with "Bill even without service" on, a period with zero visits still bills the rate once so the invoice goes out on schedule.
The three billing modes
| Billing mode | How it bills |
|---|---|
| Per Visit (default) | Each completed visit is billed. Visits aggregate onto invoices according to the job's billing schedule. With "Bill even without service" on, a period with zero completed visits still bills the rate once on schedule. |
| Monthly / weekly flat rate | The flat base rate bills on the job's billing date when the pool was serviced at least once that period. A period with zero completed visits doesn't bill the rate (only queued one-time charges go out) unless Bill even without service (Billing tab → Invoicing) or Bill ahead is on. There is no included-visit count and no visit overage: the rate is the same however many visits happen. Recurring charges set to Per visit still bill for each completed visit on top of the flat rate. |
| Bill Externally | No in-app billing for the job. Use this when the job is billed outside Pool Founder. Visits are still tracked. On an existing job, choose External under When to invoice in Rate & billing. |
$0-rate jobs are allowed — for example, chemicals-only billing where the service rate is $0 and only chemical charges are billed.
Set up billing on a job
- 1On the create form, pick a billing mode from the tabs: Per Visit, Monthly (flat rate plus a "First Bill Date"), or Bill Externally.
- 2Choose a billing schedule: manual only, after a set number of visits, monthly from a start date, monthly on a fixed day, weekly from start, or weekly on a fixed day. The form previews "Next invoice: {date}" so you can confirm it before saving.
- 3In the Chemical Billing section, choose how chemicals bill: billed separately, all included, or partially included (with allowances).
- 4Use Add recurring charge to add recurring line items (e.g. "Chemical fee") alongside the base rate. Its Billed menu offers "Per invoice", "Per visit", "Every 3 months", "Every 6 months" and "Once a year".
On an existing job, the job summary on the job's Overview tab shows the rate with how it is charged ("$175.00 per visit" or "per month") and when it bills (for example "Billed monthly on the 1st, next on 10/01/2026"). The How this job bills panel at the top of the Billing tab shows the same, with the next invoice date, a progress bar for the current period, and what has been billed, paid, and is still open. To change any of it, click the pencil beside the rate (or Edit rate & billing on the Billing tab) to open Rate & billing: set the Rate, pick When to invoice (Manual, By visits, Monthly, Weekly, or External), and for Monthly or Weekly choose under How the rate is charged between Per visit (the rate for each completed visit) and Flat rate (the full rate each month or week however many visits there were, as long as there was at least one, unless Bill even without service or Bill ahead is on). A sentence at the bottom sums up the result before you click Save, and only what you change is saved. Bill-ahead jobs can only change the billing day, how many months each invoice covers, and the Starting date of the next invoice (or move to External; to turn bill ahead off, see "Turn bill ahead off" below), and jobs on consolidated customer billing can only change the rate here.
Bill a recurring service outside the app: in Rate & billing, choose External under When to invoice and click Save. The summary reads "Invoiced outside the app. Visits are still tracked." The job comes off Upcoming Billing, technicians keep logging visits, and the job's Overview shows a Billed outside the app banner whose Change button opens Rate & billing again. There is no separate Bill externally switch on a recurring service any more (work orders still have a Bill externally row under Invoicing on their Billing tab).
Who can bill externally: only roles with the "Change job pricing & billing" permission (Owner, Administrator, and Office Manager by default) can set a job or work order to bill externally, on the create forms or afterwards. For everyone else the Bill Externally tab on New Recurring Service, the External choice in the mobile app, and the Bill externally checkbox on New Work Order are hidden, and a new job they create is billed per visit in Pool Founder, unless the service or accepted quote it starts from is already set to bill externally. To stop office staff billing externally too, uncheck the permission on their role (see roles and permissions).
Bring it back into the app: open Rate & billing, pick another choice under When to invoice (and how the rate is charged), and click Save. On a per-visit setup, Include previous visits bills the visits completed while billing was external; on a monthly flat rate, Bill Ahead bills the upcoming month upfront. The dialog reminds you to stop billing the customer in your accounting software so they aren't billed twice.
Turn bill ahead off (bill in arrears instead): on a bill-ahead job, Rate & billing only lets you change the billing day, the months per invoice and the Starting date, and there is no Bill Ahead switch in it. To stop billing the month upfront, use one of these:
- Ask George, for example "turn off bill ahead on the Smith job". He prepares the change for your approval; it changes only bill ahead and leaves the rate and billing day alone.
- Change service in the job page's More actions menu (⋯, top right), to a recurring service that does not bill ahead (or push a service's billing with Save & apply: billing mode, schedule and bill ahead move together). See services.
- Through External: in Rate & billing pick External and click Save, then click Change on the Billed outside the app banner, pick Monthly with Flat rate, leave Bill Ahead unticked and click Save. Switching a job to External deletes its charges that are not on an invoice yet (queued one-time charges, chemicals waiting for the next invoice), so use this path right after an invoice has gone out, or use one of the other two.
Changing a monthly job's billing day never skips a month or bills one twice. The month that hasn't been billed yet keeps its invoice and moves to the new day. If the job was due on the 15th and you move it to the 1st, this month's invoice goes out on the next daily billing run instead of waiting until next month. If this month already went out on the 1st and you move it to the 15th, the next invoice is the 15th of next month, not the 15th of this month. The same applies to a customer's consolidated billing day.
Bill every few months or once a year: with Monthly picked under When to invoice, set Invoice every to anything from month to 12 months (yearly), for example 6 months for a customer billed twice a year. The job then invoices on its billing day once every that many months: billed on Nov 1 every 6 months, the next invoice is May 1. A flat rate is charged once per invoice, so enter the rate for the whole period (a $60 a month spa billed every 6 months is a $360 rate, shown as "$360.00 per 6 months"). When you change Invoice every on a flat-rate job, a link under the rate offers the rate scaled to the new period (Use $360.00 per 6 months). The first invoice is the next billing date shown under the options; to start in a particular month, pick Starting and choose the date (this works on bill-ahead jobs too: every 6 months starting Feb 1 invoices Feb 1, then Aug 1). Visits, chemicals and charges from the whole period go on that invoice, and with a flat rate the period bills if there was at least one visit in it (or Bill even without service or Bill ahead is on). The flat rate line on the invoice is named for the period: Quarterly Service, 6-Month Service or Yearly Service. Weekly schedules and consolidated customer billing stay weekly or monthly. There is no daily billing and no "first Monday of the month" style day: the billing day is a day of the month from the 1st to the 28th.
Skip one bill without pausing service: on a flat-rate monthly or weekly job, click Skip this bill beside the next invoice date in the How this job bills panel (Billing tab). There is no confirm step: that invoice never goes out, the next one is one period later (a month, a week, or the job's every-few-months period), and a message shows both dates with an Undo button that puts the bill back. Click it again to skip another period. Visits keep happening as scheduled, and their chemicals and queued charges wait for the next invoice. While the skipped period runs, the panel says when the next billing period starts. Use it when a customer paid ahead or overpaid; to give money back instead, use store credit, which pays their next invoices automatically. It needs the "Change job pricing & billing" permission. Per-visit jobs have no Skip this bill (their visits would only bill on the next invoice), and Suspend stops service and billing together. To bring a skipped bill back after the message is gone, open Rate & billing, pick Starting and choose the date it should go out.
Billing mode is set per job. To switch many jobs at once, push it from their recurring service on the Services page, which lets you send the billing change alone, so every pool keeps the price you negotiated for it.
Or ask George to change billing on many jobs in one step, picked by how they bill today, by service, or all of them: "change all customers from external billing to monthly with bill ahead starting Nov 1", "put every Basic pool on monthly flat billing on the 1st". He shows one approval card with how many jobs it covers, a few customer names, and what is skipped (suspended jobs are included but do not bill while suspended; jobs on consolidated customer billing cannot move to per visit or external). Rates do not change, nothing is invoiced before the first billing date, and visits completed while a job was billed externally are only billed if you ask for it. There is no bulk billing button in the Jobs list; use George or the recurring service.
The Upcoming Billing page: what bills, and when
The Upcoming Billing page (Billing → Upcoming Billing in the sidebar, or search "Upcoming Billing" with ⌘K) shows what the daily billing run will invoice for recurring maintenance over the next 60 days. It used to be called Maintenance Billing. It is a forecast built from each job's schedule and the charges waiting on it; it doesn't create or change anything.
- Next billing run: the next date invoices go out, the total (sales tax included), how many invoices and customers, and how much is charged to AutoPay cards versus emailed with a pay link. Next to it are totals for the next 30 days and the whole window; click the window total to list every invoice in it.
- Timeline: one bar per billing date, as tall as that date's total. The dark part is scheduled; the light part depends on visits still to come. A red dot means some invoices that day won't send because the customer has no email. Click a bar to open that date.
- The selected date: a bar splitting the total into service, chemicals, parts, task charges, one-time charges, recurring charges and sales tax, then counts and totals by billing type (Bill ahead, Monthly flat rate, Weekly flat rate, Per visit, After visits, Consolidated), by how it gets paid (AutoPay or emailed), and by how sure it is. Click a billing type or payment method to filter the list below; search by customer or job name.
- The invoice list: one row per invoice (a consolidated customer is one row covering all their enrolled jobs). Click the arrow to see the line items it will bill: charges already waiting on the job (chemicals, parts, queued charges) and lines the run adds on the billing date (the flat rate, recurring charges). Bill-ahead rows show the service month they pay for, like Nov 1 to Dec 1. Customer and job names open their pages.
| Label | What it means |
|---|---|
| Scheduled | Bills on that date as things stand: bill-ahead jobs, jobs set to bill even without service, and flat-rate jobs already serviced this period. |
| Needs a visit first | A flat-rate job with no visit yet this period. It only bills if the pool is serviced before the date. |
| Estimate | Per-visit and after-visits jobs grow with every visit, so the amount (and for after-visits jobs, the date, estimated from recent visits) can change. Later dates in the window are projected from the rate. |
Needs attention on the right lists what would stop or change billing: No email: will not bill (the run skips customers without an email, so they are not in the totals), Consolidated billing is off (a job set to bill with its customer's consolidated invoice when the customer has it turned off, so it never bills), No next billing date, Past due, retrying, Suspended: skipped (suspended jobs are not billed until resumed), $0 rate, and No AutoPay card (emailed). Click one to list the customers and jobs behind it. All that won't go out at the top lists every invoice that will never be sent (no email, $0 rate, or no next billing date) in one list. The choice is kept in the page address (<code>?view=blocked</code>, or <code>?attention=no_email</code> and so on), which is where the home to-do list sends you. Work order charges stuck waiting on a maintenance invoice that won't generate show in an amber box at the top of the page (<code>?view=stuck</code> scrolls to it).
Not on a date holds the rest. Invoice by hand lists jobs with no billing schedule that have charges waiting; each row has a Create Invoice button, and a confirm dialog shows the visits and total before anything is created. After visits, no date yet lists jobs that bill after a set number of visits but have too few recent visits to estimate a date.
Invoices go out on the morning run of the billing date. Amounts can still move before then: chemicals are re-priced from each visit at billing time, and new visits add per-visit charges. Externally billed jobs are not shown.
Recurring line items
Recurring line items are flat recurring charges on a recurring service — a monthly chemical fee, an equipment rental — billed per invoice or per visit alongside the base rate, and shown as their own line on the invoice. On an existing job, click the Recurring charges row on the job's Billing tab to open the Recurring line items dialog.
- Billed sets how often each charge bills: Per invoice (every invoice), Per visit (the amount × the completed visits on the invoice), or Every 3 months, Every 6 months or Once a year for treatments sold on a longer cadence, like a quarterly stabilizer or a semi-annual phosphate treatment. In the technician app the same choices are chips under each charge (Each invoice, Each visit, Every 3 months, Every 6 months, Once a year).
- An every-few-months charge goes on the job's next invoice, then is left off each invoice until that many months have passed since it last billed, and goes on the first invoice after that (an invoice up to a week early still counts, so a monthly job's quarterly charge lands on every third invoice). A voided invoice does not count as billed. There is no way to pick the exact month it starts: it starts with the next invoice, so add it when you want the first charge. Renaming the charge starts it over. The Upcoming Billing page and the job's pending total show it only on the invoices it will be on.
- Services carry recurring charges too: open Services → Services, edit a recurring service, and use the Recurring charges section.
- A service's recurring charges pre-fill on new jobs created from it.
- When you save a recurring service whose recurring charges changed, Save & apply in the "Apply these changes to N open jobs?" prompt pushes them to jobs linked to it. A service with no recurring charges leaves each job's own charges alone.
Queue a one-off charge or discount on the next invoice
An ad-hoc charge — a repair, a part — can ride along as its own line item on a recurring service's next invoice instead of going out as a separate one-time invoice. A one-time discount (a missed visit, a loyalty thank-you) works the same way and comes off that next invoice.
- 1Open the customer's recurring service page and click the Billing tab. Under Charges, find the One-time charges & discounts row.
- 2Click the row's value (it reads Add when nothing has been added). Choose Charge or Discount at the top, fill in a "Description" (e.g. "Acid wash" or "Missed visit") and an "Amount", then click Add charge or Add discount.
- 3Queued charges and discounts are listed under the row; a discount reads "Discount: Missed visit" with its amount in green and a minus sign. The row's value shows how many are queued and their net total. The trash icon beside one removes it before it bills.
- 4When the job's next invoice generates, they attach automatically as their own lines. A discount comes off the invoice's untaxed charges (the rate, recurring and one-time charges); it doesn't change the sales tax on taxed parts, chemicals, or a work order's own lines.
- A queued discount is a flat dollar amount; there is no percentage option here.
- It can't be more than the job usually bills (its most recent invoice total, or its rate if it has never been invoiced), counting any other charges and discounts already queued, including referral credits. A bigger discount is refused with how much room is left; split it across invoices.
- A job with a $0 rate and no invoices can't take a queued discount.
- A discount never goes out as an invoice on its own. If a period bills nothing it can come off (for example, a month with no visits, so no rate is billed), the discount stays queued and comes off the job's next invoice instead.
- To discount an invoice that already exists, edit that invoice instead (Edit Invoice, on draft and open invoices). See create and manage invoices.
When the work was tracked as a work order, you do not have to retype it here. Open the completed work order, click More actions (⋯, top right), and choose Add to Next Maintenance Invoice — its charges are queued onto this job's next invoice for you, and they show up under this same One-time charges & discounts row labelled From work order with a link back to it. Work order charges have no trash icon here; to take one off, open the work order and click Undo. Every work order waiting on a maintenance invoice is also listed under On a maintenance bill on the Work Order Billing page (sidebar → Billing → Work Order Billing), which warns when that invoice won't go out (for example "Recurring service is suspended"). See work order billing.
Adding a charge or discount here only works on monthly- or weekly-billed recurring services that are not archived, and a work order cannot be added to a per-visit job's invoice for the same reason. On other recurring services the "One-time charges & discounts" row appears only when there are task charges to list (see priced tasks below), with no way to add a charge or discount; discount a per-visit job by editing its invoice once it is created. Adding a charge or discount needs permission to create invoices; removing one needs permission to update invoices.
Priced tasks: charge for a task when it is done
A task on a recurring service can carry its own price, for extra work you charge on top of the rate, like a $45 filter clean every 12 weeks. The charge is added to the job's next maintenance invoice only on the visits where the task is actually checked off.
- 1On the recurring service's page, open the Tasks tab and click Edit tasks. The Edit Tasks dialog reads "Priced tasks are added to the next maintenance invoice when checked off."
- 2Type an amount in the $ box (it says "Price") beside the task's frequency (Every visit or every N weeks). Leave it blank for no charge. Prices can be $0 to $10,000.
- 3Click Save Tasks. The task shows its price in green, like "$45 · every 12 weeks", or just "$45" for an every-visit task.
The form for a new recurring service has the same $ box on each task row. Prices can also come from a recurring service or task group: a job created from a service copies its task prices, and a group applied in Edit Tasks prices the tasks it adds (see task templates and groups). Seeing prices takes the View invoices permission; setting or changing one also takes Change job pricing & billing (and Edit Tasks takes Edit jobs). Technicians never see prices in the mobile app: they just check the task off in the visit checklist.
How task charges bill
- A charge is created only when the task is checked off on a visit, at the price the task had when that visit was recorded. A task left unchecked, like a skipped optional task, is not charged. Changing the price later does not change visits already recorded.
- It goes on the job's next maintenance invoice as its own line with a Task badge, for example "Filter Clean - Weekly Service (Jun 20, 2026)".
- Until it is invoiced, the charge is listed on the job's Billing tab under Charges, in the One-time charges & discounts row: the task name, "Task done" with the visit date, and the amount in green. The row appears on every billing mode when there is a task charge. On a job invoiced by hand, the line above Create Invoice (in the job summary on the Overview tab) also says "Includes $45.00 in task charges", and the Create Invoice confirmation lists each one under Task charges, so you can see what makes up the amount. Only people who can view invoices see these lines.
- It works in every billing mode. On a flat monthly or weekly rate it is added on top and never sends an invoice of its own, and it never counts as a visit toward an "after a set number of visits" schedule. Customer-level consolidated invoices include it. On a job billed externally the charge is recorded but not billed.
- Unchecking the task, or deleting the visit, before the visit is invoiced removes the charge. Checking a task off afterwards in Edit Completed Tasks (expand the visit in Visit history on the job's Visits tab) adds it. Once the visit is invoiced, the charge stays.
- Task charges are not taxed.
Each recurring service on a pool keeps its own task prices, whether they were typed in Edit Tasks or came from the service on the Services page or a task group, and pushing a service or group price change never overwrites a custom one. Seasonal schedule segments carry no task prices: when a seasonal schedule switches the task list, only tasks on both lists keep their price. Work orders have no task prices (they bill their line items). Logging a visit from the office with the job page's Log Completion button bills tasks too: the Log Past Completion page has a Tasks section, and checking off a priced task there adds its charge the same way (see log a past completion). Task charges also need Stripe connected, the same as parts logged on visits; visits not yet invoiced pick them up once it is.
Chemical billing options
- Billed separately — chemicals used on visits are billed to the customer.
- All included — chemicals are covered by the service rate.
- Partially included — per-visit allowances, with usage beyond the allowance billed as overage.
- Alternatively, charge a flat chemical fee as a recurring line item instead of billing by usage.
Customer-level consolidated billing
A customer can be switched to one consolidated invoice on a customer-level monthly or weekly schedule that rolls up their enrolled flat-rate jobs — useful when one customer has several jobs and you want a single bill. It's enabled per customer, with its own fee-passing and bill-without-visits options. Full walkthrough: consolidated billing.
Charge a specific card for one job (AutoPay override)
A recurring service's page has an AutoPay row in the Invoicing group on the job's Billing tab. It shows which saved payment method autopays that job; click it to open the AutoPay card dialog. By default it's Use customer default — the customer's standing AutoPay card. Pick a specific saved card instead and only this job charges it, so one customer can pay different jobs (say, different properties) on different cards.
- No card on file yet? The AutoPay row reads No card on file with an Add card button. It opens the same Add Payment Method dialog as the customer's page: Enter card to type the card in yourself, or Email customer to send a secure link where the customer saves their own card. When you enter the card, Enable AutoPay with this card starts checked if the customer's AutoPay is off. A card the customer saves from the emailed link turns AutoPay on automatically when it was off.
- The AutoPay card dialog also has Add a new card at the bottom of the list. Closing the add-card dialog brings you back to the list, so you can pick the new card for this job.
- Adding a card from the job page needs Stripe connected (onboarding finished) and the edit-invoices permission. Without them, the row shows the current AutoPay card or Off, with no add option.
- A per-job card makes the job bill on its own schedule — it won't be combined into the customer's consolidated invoice.
- If the customer's AutoPay is currently off, the chosen card takes effect once AutoPay is enabled for the customer.
- Selecting Use customer default clears the override and the job goes back to the standing AutoPay card.
Seasonal schedules
Jobs can have seasonal rate and frequency segments across the year — for example, a higher rate and weekly visits in summer, and a lower rate with fewer visits in winter.
Frequently asked questions
Will maintenance bill automatically even if no visits happened?
Only if you ask it to. A monthly or weekly flat-rate job bills its rate when the pool was serviced at least once that period; with zero completed visits it skips the rate (queued one-time charges still bill), unless Bill even without service (Billing tab → Invoicing on the job) or Bill ahead is on. Per-visit jobs bill only completed visits, unless "Bill even without service" is turned on, in which case a zero-visit period still bills the rate once on schedule. A suspended job doesn't bill either way.
Can I switch a job between per visit and flat rate?
Yes. On the job's page, click the pencil beside the rate in the job summary on the Overview tab (or Edit rate & billing on the Billing tab), then in Rate & billing pick Monthly or Weekly under When to invoice and choose under "How the rate is charged": Flat rate or Per visit. Bill-ahead jobs can't switch modes there. An externally billed job switches back by picking a new choice under When to invoice and saving.
How do I switch a job from bill ahead to billing in arrears (after the month)?
Rate & billing has no Bill Ahead switch on a bill-ahead job: it only changes the billing day there. Ask George to turn bill ahead off on the job (he prepares it for your approval and changes nothing else), or use Change service to move the job to a recurring service without bill ahead. The other way is to switch it to External in Rate & billing, then click Change on the Billed outside the app banner, pick Monthly with Flat rate, leave Bill Ahead unticked and save; switching to External deletes the job's charges that are not on an invoice yet, so do that right after an invoice goes out.
How do I bill a recurring service outside the app?
Open the job, click the pencil beside the rate on the Overview tab (or Edit rate & billing on the Billing tab), choose External under When to invoice, and click Save. The job comes off Upcoming Billing and Pool Founder stops invoicing it, but visits are still tracked. To bill it in the app again, open Rate & billing, pick Manual, By visits, Monthly, or Weekly, and save; you can include the visits completed while it was external (per visit) or bill ahead (monthly flat rate). Stop billing the customer in your accounting software so they aren't billed twice.
Can I stop my employees from setting jobs to bill externally?
Yes. Bill externally needs the "Change job pricing & billing" permission. The built-in Technician role does not have it, so technicians never see the Bill externally checkbox on New Work Order or the External choice on a new recurring service, and jobs they create bill per visit in Pool Founder. Owner, Administrator, and Office Manager have it by default; to take it away, open the role on the Roles page, uncheck "Change job pricing & billing", and click Save Changes. That role then also can't change a job's rate or billing.
Where did the Bill externally switch go on a recurring service?
It moved into Rate & billing: External is now one of the five choices under When to invoice (Manual, By visits, Monthly, Weekly, External). The job's Overview shows a Billed outside the app banner with a Change button that opens it. Work orders still have the Bill externally row under Invoicing on their Billing tab, and the create form still has the Bill Externally tab.
How do I charge a flat chemical fee or equipment rental separately from the rate?
Add a recurring line item on the recurring service. It bills per invoice, per visit, every 3 months, every 6 months or once a year, and shows as its own line.
Can I bill a stabilizer or phosphate treatment quarterly or twice a year?
Yes. Add it as a recurring charge on the job (Billing tab → Recurring charges) or on the recurring service on the Services page, and set Billed to Every 3 months, Every 6 months or Once a year. It goes on the job's next invoice, then on the first invoice once that many months have passed since it last billed. It doesn't need a visit or a task check-off. You can't pick the exact starting month: the first charge is the next invoice.
Can I bill a customer every 6 months or once a year?
Yes. Open the job, click Edit rate & billing on the Billing tab (or the pencil beside the rate on Overview), pick Monthly under When to invoice, set Invoice every to 6 months (or 12 months (yearly), or anything from 1 to 12 months), choose the billing day and click Save. A flat rate bills once per invoice, so set the rate to the amount for the whole period, for example $360 for six months of a $60 a month service (the Use $360.00 per 6 months link under the rate fills it in). Daily billing and "first Monday" style days aren't available.
Can I pause billing on a customer without pausing their service, like when they overpaid?
Yes, one bill at a time. On a flat-rate monthly or weekly job, open the job's Billing tab and click Skip this bill beside the next invoice date. That invoice doesn't go out, the next one is a period later, and visits continue as scheduled; Undo on the message puts it back. To skip more, click it again. For an overpayment you can also add the amount as store credit on the customer's Billing tab: it pays their next invoices automatically. Suspend stops service and billing together.
How do I give a maintenance customer a one-time discount, like for a missed visit?
On a monthly- or weekly-billed job, open the job page and, on the Billing tab under Charges, click the value on the One-time charges & discounts row. Choose Discount, enter a description and a dollar amount, and click Add discount. It comes off the next invoice as its own discount line. It can't be more than the job usually bills. On a per-visit job, or once the invoice already exists, edit the invoice instead (Edit Invoice, on draft and open invoices). For a lasting price change, change the job's rate.
Can I put a credit on a customer's account, like for a missed visit or an overcharge?
Yes, two ways. Store credit: open the customer, go to the Billing tab, and in the Store credit panel click Add credit, enter the amount and a reason, and click Add credit. It sits on the customer's account and comes off their next invoices automatically, before autopay charges (see Store credit). Or a discount on their next invoice: on a monthly- or weekly-billed recurring service, open the job page, click the value on the One-time charges & discounts row (Billing tab, under Charges), choose Discount, enter a description (e.g. "Credit: missed visit") and the amount, and click Add discount. It comes off the job's next invoice automatically. It can't be more than the job usually bills, so split a bigger credit across invoices. On a per-visit job, or when the invoice already exists and is still draft or open, open that invoice, click Edit Invoice, add a Discount line, and save. If the invoice is already paid, refund the customer or give it back as store credit (Issue Refund → Store credit). Don't record a payment the customer never made to create a credit: Record Payment logs money received, so it would show on the invoice and in your payment records as cash you never got.
Can I queue a repair charge on a per-visit job?
No — the "One-time charges & discounts" row only exists on monthly- or weekly-billed recurring services. Per-visit jobs don't have it, so Add to Next Maintenance Invoice is unavailable on a work order at a property that only has per-visit maintenance.
Can a repair work order be billed on the monthly maintenance invoice instead of its own invoice?
Yes. On the completed work order click More actions (⋯, top right) and choose Add to Next Maintenance Invoice; its charges are queued on the recurring service you pick and appear under that job's One-time charges & discounts row (Charges, on the job's Billing tab) until the invoice generates. See work order billing.
Can I charge extra for a filter clean every 12 weeks on top of the monthly rate?
Yes. In the recurring service's Edit Tasks dialog, set the filter clean task to repeat every 12 weeks, type a price in the $ box beside it, and click Save Tasks. The price is added to the job's next maintenance invoice, on top of the flat rate, only on visits where the tech checks the task off. Unchecking it before the visit is invoiced removes the charge, task charges are not taxed. To price the filter clean on every job from a recurring service, set it on the task in the service: new jobs copy it, and when you save the service, Save & apply in the "Apply these changes to N open jobs?" prompt can push it to existing ones.
Can I have a job with a $0 rate?
Yes. $0-rate jobs are allowed — for example, chemicals-only billing where only chemical charges are billed.