Documentation
Recurring service contracts
Set up weekly, bi-weekly, or monthly service agreements that schedule and bill themselves.
What a service contract is
A service contract (your workspace may call it a “Maintenance Agreement,” “Service Plan,” or any name you choose under Settings → Terminology) is a repeating agreement with a customer. You define the schedule, the services bundled into every visit, and whether you bill per visit or per period — then Meridian schedules the visits and generates invoices automatically.
Each visit is a real job on your schedule and calendar. It inherits everything a one-off job has: crew assignment, status workflow, photos, and the ability to generate an invoice — no extra setup required.
Creating a contract
Open Contracts in the sidebar and choose New contract. Pick the customer, then build the service bundle the same way you build a quote — add line items from your service catalog with quantities and prices.
Choose the cadence: Weekly, Bi-weekly, Monthly, or a custom interval in days. For weekly and bi-weekly contracts you pick the day of the week; for monthly you pick the day of the month.
Set a start date and choose how the contract ends: after a set number of visits, on a specific date, or open-ended (runs until you pause or end it).
Finally, choose a billing mode. Per visit generates one invoice for each completed visit. Per period generates one invoice per billing period (for example, one invoice per month summarising all visits that month) rather than billing visit by visit.
Industry-seeded starting templates
When you create a new contract, a “Start from a template” option appears. Templates pre-fill the cadence, service bundle, and billing mode for common patterns in your industry — for example a weekly mow for landscaping, or a monthly HVAC maintenance visit. Prices are left blank for you to fill in; no numbers are invented.
How visits are scheduled
After saving, Meridian materializes roughly the next 70 days of visits (just beyond an 8-week planning window) as jobs on your schedule. A daily automated task rolls that horizon forward so upcoming visits are always visible without creating a full year of rows up front.
You can also trigger “Generate upcoming visits” from the contract’s detail page at any time to extend the horizon manually.
Invoicing a contract
For per-visit contracts you generate an invoice from the individual visit (job detail → Create invoice), or the daily automated task handles it when a visit is completed.
For per-period contracts the daily automated task generates one invoice per billing period automatically. You can also trigger it from the contract detail page.
All contract invoices use the same invoice system as one-off jobs — the customer gets a branded pay link, the invoice is marked paid when payment clears, and the payment is recorded against the customer.
Saved-card auto-charge
You can save a customer’s card on file per contract. When that option is on, recurring invoices for the contract are charged automatically to the card on file instead of sending a pay link. If the card declines or requires additional verification, the customer receives the standard pay link as a fallback.
To save a card, open the contract, choose “Save card on file,” and send the customer a secure setup link through Stripe. The card is stored by Stripe — Meridian never holds raw card numbers.
Pausing, resuming, and ending a contract
From the contract detail page you can pause a contract (no new visits are generated while paused), resume it, or end it. Ending a contract stops future visit generation; visits already on the schedule remain and can still be completed and invoiced.