After a Quote Is Approved

Find the service contract a signed quote created, check the billing day, and know when no plan appears on purpose.

Updated October 20, 2026

When the customer approves (or you record acceptance), an approved quote becomes exactly one of two things, decided by its work type. It can create a service contract — pool companies see Maintenance Plan, aquatic companies see Pond Contract — at Sales and BillingContracts. Or it can create a standalone job on the board instead. A work type never does both, and some do neither: approval then only records the acceptance.

Either outcome happens automatically. That is the step people expect to do by hand. You do not.

  1. Confirm the quote is Approved

    Open it under Sales and BillingQuotes. Status must be Approved.

  2. Open the contract

    Find it under Sales and BillingContracts. Check the billing day and the rate now — that is the date and amount the customer will see if the plan bills monthly. A pricing-catalog label whose last word is a year follows this contract's season on the Service Scope, invoice plan, and invoices — Pond Maintenance Plan 2026 on a 2027 contract reads Pond Maintenance Plan 2027. A year in a range, in the middle of the name, or after Dock / Unit / Lot stays as it is, as does a quote line the customer signed as the catalog label. A plan that bills the month the invoice goes out in, starts this month and is approved after this month's billing day (a quote starting October 12, approved October 12, on a plan billed on the 1st) already has this month's invoice as a draft under Sales and BillingInvoices. The automatic run only drafts a month on its billing day, so October is drafted at approval, with a note saying why, and the office gets a notification. It is never sent automatically. Review and send it. This happens only when the start date (or the First billing month, when later) is in this month. A plan that starts in an earlier month — a backdated start, or a monthly quote with blank dates sent in an earlier month, whose term starts on the 1st of the month it was sent — has nothing drafted at approval, this month included, and the office gets a notification saying this month was not invoiced. Create the months the customer owes for with + Create Invoice; its amber note counts the periods already past. A contract flagged Check this contract's billing drafts nothing at approval; when it starts this month, clearing the check offers this month.

  3. Check visits

    Recurring work types generate visits on their interval (every 7 days for pool Routine Service by default), or on fixed weekdays when the work type uses Set weekdays. They show on the schedule and stay tied to this plan's billing.

No contract appeared?

Open SettingsWork Types, pick the work type, and check What an approved quote creates. Creates a Service Contract on Approval makes the plan; Routine Service has it on, a one-off equipment repair does not. If that box is off, check Creates a Job on Approval instead — the two are mutually exclusive, so a work type set up for jobs will never produce a plan. Look for the job on the schedule rather than in Contracts. The approved quote's page links to the job it created: Open the job (or This quote gates a job. when the job existed before the quote was approved). With both off, approving the quote only records the acceptance — and the quote page tells you so (see below).

Which season a quote with no dates builds

A quote with blank agreement dates builds the work type's term (Seasonal, Annual or Ongoing) for its Season Year. With Season Year blank too, it builds the season in progress, or next year's once this year's season has ended — on your company's calendar (the Company time zone under SettingsCompany). "Pond Maintenance Plan 2027" sent in November with Season Year blank and approved December 5 builds the May 1 – October 1, 2027 season, not the 2026 season that already ended. A winter season that runs from November into March keeps the year it opened in while it runs. Annual and Ongoing terms build the current year, as before.

The quote page, the customer's quote and the PDF show the season it will build — "Agreement period (on approval): 2027 season · May 1 – Oct 1, 2027" — while the quote is a draft or sent. Sending keeps that year until its season ends. After that, all three name the next season, and approving builds it: a quote sent in September for the 2026 season and opened in December shows the 2027 season, and approving it then makes a 2027 contract. If the quote's total depends on its dates (a price per week, say) and the next season's total is different from the one sent, the new contract is flagged Check this contract's billing (see When OpsVara asks you to check a contract's billing). Type a Season Year on the quote to pin a year, or set agreement dates.

A monthly quote with blank dates starts on the 1st of the month it is sent, not January 1: sent in October, it plans October to December. Opened or approved after that term has ended (sent in December, approved in January), it starts on the 1st of that month instead.

New Contract fills Season Year by the same rule: the season in progress, or next year's once this year's season has ended, on your company's calendar. A lawn agreement created on November 20, after an April 1 – November 15 season, gets next year's season rather than one already over. Annual and Ongoing terms fill Service Year or Start Year with the current year. Type a year to pin it. A season already under way keeps its own start date, and on Monthly on fixed day New Contract also fills First billing month, usually with the current month (see A Season Already Under Way). Approving a quote does not fill First billing month. A monthly quote with blank dates already starts on the 1st of the month it was sent (above); a quote whose agreement dates start in an earlier month keeps that start, and nothing is drafted at approval, as Open the contract above describes.

When approving creates nothing

A work type with both boxes off — a pool Equipment Repair, say — leaves an approved quote with no contract and no job. So the work does not get forgotten, the quote page shows an Approved — no job yet card at the top, the office notification for that approval reads "Create the job or invoice from the quote.", and the Quotes list shows No job yet under Approved. Office roles see the buttons. The card and the No job yet marker show only for a quote approved in the last 60 days, so older approved quotes your office already handled by hand do not all light up. On an older quote, Create Job and Create Invoice are in the quote's Actions menu instead:

  • Create Job creates the same job approval would have created: the customer's site, with the quote's lines and the customer's notes in the job notes, and the signed total as its estimated revenue. It lands on the next business day (or the same day, when the work type's When to schedule the job says so) and is assigned to the estimator who recorded the approval (else who sent the quote, else who wrote it) — the first of them who has a field role and this work type under Team → Work types. An office-only user is never assigned; if none of the three qualify, nobody is assigned. The job is a one-off Quoted repair billed from its quote, so it is never linked to a service contract — unless this work type's Scheduled jobs must be under a contract is on, in which case the job is linked when exactly one covering contract is on the site. OpsVara takes you to the new job so you can set the date and crew. A quote can only ever have one job — clicking again opens the one that exists. If the site needs an active permit first, no job is created and the card says so; finish the permit and click again.
  • Create Invoice drafts an invoice from the quote with no job: the lines the customer approved, each at the price they signed (a line's own discount comes off that line, so a $600 pump at 10% off is invoiced at $540), the quote's overall discount shown as a discount line, and the tax rate signed on the quote (your company's rate when the quote has none). An invoice drafted from the quote's job once the work is done bills the same way. Review it and send it as usual. It does not charge a card. If you voided that invoice, the card offers Create Invoice again. A quote gets one invoice this way: if two people click Create Invoice at the same moment, one draft is made and the other person reads "This quote already has an invoice".

On the job, the Quote card shows the approved quote, and the Invoice section's button reads Create Invoice from QU-… once the job is completed. It bills the quote the same way. Build an invoice by hand instead is still there. The full repair path — wrap-up after an on-site approval, Parts Used, and parts logged after the invoice — is in Quote and Invoice an Equipment Repair.

The card does not appear for contract work types, for repair quotes raised from an Issue (schedule those from the Issue), or once the quote has a job. If you create the job after invoicing, the new job is linked to that invoice: the job shows the invoice, and completing the job does not draft or offer a second one. If the quote already has a job, invoice it from the job once the work is done. If that job is deleted later, the quote is back to having no job, so the card and both actions return.

When the quote updates an existing contract

A quote set to Replace the existing contract or Add these services to the existing contract updates that contract instead of creating a new one.

  • Replace restates the contract's service scope and price from the quote. Its invoice schedule and service term change only where you changed them on the quote itself (Invoice Schedule → Customize for this quote). Anything the quote just inherited from the work type or the company default leaves the contract's own setting alone. First billing month and Bill for always stay as the contract has them, so months you cancelled before the first billing month stay cancelled. Invoice amount changes only with the schedule: a quote that keeps the contract's When to create invoices leaves its invoice amount as it is, even if the quote shows a different one. To change only the invoice amount, edit the contract.
  • Add never changes the contract's dates, invoice schedule or service term.
  • Either way, the quote's recurring prices (Per visit, Per month) are counted on the contract's own schedule — its visits, its term (a replace quote with its own agreement period uses that period) and its first billing month — the same way the customer's quote page showed them.
  • On an Add quote, a Per month line counts only the months the contract has not invoiced yet. An add-on for $250 a month signed on October 20, after October's invoice was made, shows and is signed at $250 × 2 months = $500 (November and December), because October cannot be billed again. Signed after the term's last month is invoiced, the line reads $0.00 — every month of this agreement is already invoiced; put the services on next term's quote instead. The contract plans and bills the added services from that month on too — the contract total grows by what was signed, and an earlier month re-drafted later does not pick them up. A renewed term bills them every month.
  • A contract that is still active or paused is the one updated, even when next term's renewal already exists — unless the quote's agreement period starts on or after the renewal's start date. A quote dated to next term updates the renewal instead, and this term keeps its own dates and price.
  • When a quote for this term updates a contract whose renewal already exists, the renewal still has the old services and prices. It shows Check this contract's billing (with a link to the previous term), and its automatic invoices wait until you update it to match or confirm it is right. The same happens when you edit the price, service scope, schedule, invoice options, sites or tax rate of such a contract on its own page: the page says This change did not reach the next term and links to it.
  • If the contract has ended and was renewed, the latest active renewal is the one updated. It keeps its own start and end dates unless the quote's agreement period starts on or after the renewal's start date.
  • If the contract has been cancelled, archived or completed and has no active renewal, OpsVara does not change it. It creates a new contract from the quote instead and flags that contract for a billing check, because the quote was written against the old one.

The tax rate the customer signed

The customer signs the quote's totals at the quote's own tax rate. When that rate is different from your company rate under SettingsQuote Templates on the day the quote is approved, the contract the quote creates keeps the quote's rate, and every invoice drafted for the contract charges it on its taxable lines. That covers monthly and scheduled invoices, invoices after a visit, Create Invoice, combining the contract's invoices, and an Ongoing contract's next term. With a company rate of 7%, a quote at 8.25% for a taxable $200-a-month service invoices $216.50 a month, and a tax-exempt customer quoted at 0% is invoiced without tax. A later change to the company rate does not move either contract.

A quote signed at the company rate leaves the contract with no rate of its own. The contract charges the company rate and follows it: if you change the company rate, or set it for the first time, invoices drafted after the change charge the new rate. Most contracts work this way, so a rate change does not have to be repeated on each one.

  • A Replace quote at a rate other than the company rate sets the contract's tax rate to its own. A Replace quote at the company rate removes a rate an earlier quote left on the contract, so the contract follows the company rate again. A rate you set yourself under Invoice Options stays: a tax-exempt customer you set to 0% is still at 0% after a replace quote written at the company rate.
  • An Add quote never changes it. If the add-on quote was signed at a different rate, the customer's activity gets a note saying so. Billing is not held.
  • The contract page shows the rate under Invoice Options — Tax rate 8.25% — from quote QU-00019 for a contract with its own rate, or Tax rate 7% — your company rate (Settings → Quote Templates) for one that follows the company rate. Office roles can click Change to set a different rate, or Use company rate to go back to the company rate. A change applies to invoices drafted after it. Drafts already made keep their rate, so edit a draft to change its tax.
  • Contracts created before October 2026, imported, or made by hand have no rate of their own either. They charge the company rate, as before, until you change it on the contract.
  • A one-off invoice drafted from an approved quote — from its job, or with Create Invoice on the quote — also charges the quote's rate.
  • Combining invoices keeps the tax rate they were drafted at when they all have the same one. Two invoices from a tax-exempt quote combine without tax, and drafts made before a rate change keep their old rate (the combined draft's internal note says the contract's rate has changed). If the invoices were drafted at different rates, the combined draft charges the contract's rate, or the company rate when they have no contract, and its internal note lists the rates. Check the tax before you send it.

When OpsVara asks you to check a contract's billing

When a quote is approved, OpsVara compares the total the customer signed (before tax, after any quote discount) with the total the contract was set up at — or, for a quote that adds to an existing contract, with how much the contract total went up. Lines that bill each time the work is done are left out of both. If the two differ by more than $1 or 0.5%, whichever is larger, the approval still goes through: the customer's signature is recorded and the contract exists. But the contract shows Check this contract's billing with both amounts, the quote shows the same notice, and the office gets a notification.

While the check is open:

  • Scheduled invoices for the contract are not created automatically, and none of its drafts are sent automatically. A Send Draft Invoices campaign leaves them out too.
  • Create Invoice on the contract still works, for anything that is due now.
  • If an Ongoing contract renews before anyone checks, the new term copies the old term's totals and carries the same check, so its automatic billing waits too. Check and resume billing on each term.
  • An Ongoing plan renews at the monthly price the customer has been paying: a short first term billed monthly (October to December at $355, say) renews at $355 a month for the full new term, whether the price was typed as a Per month row or as a total for the term.
  • On the renewal night every active office user gets one notification per company — on the web bell and, for those with the phone app, as a push — saying how many plans renewed, plus one when a plan could not be renewed (it is tried again the next night), one when a plan was not renewed because the customer already has next term's contract, and one each night an Ongoing plan is past its end date with no next term — including a plan whose customer was deactivated without ending the contract (a deactivated customer's plan does not renew); the cure is End Contract on the plan. A plan that renews after its first billing day has that month's invoice drafted at once and held, like the rest of a renewed term's billing, until you review it.

Compare the contract's price and service scope with the signed quote and fix whatever is wrong. Then click Totals checked — resume billing on the contract (office roles). OpsVara records who clicked it and when, and the contract bills as normal from then on.

If a billing day passed while the check was open, OpsVara lists those invoices first — a month the contract bills for (for a contract that bills the month just finished, only months that have ended), or a scheduled date. On a new contract that was flagged when the quote was approved, the list also has the month that would have been drafted at approval (see Open the contract above), even when the contract started a few days before the approval. Create these invoices now is ticked: click Resume Billing and each one is created as a draft for you to review. Resuming billing does not send them. Untick it to resume billing without them and create them yourself later with Create Invoice. An invoice you voided during the check is not offered again.

The same check appears on a new contract created because the quote's target contract had ended (see above), and on a contract a replace or add-on quote updated with a line priced in a unit the contract's invoice schedule cannot bill — for example a Per month line on a contract that bills after each visit. Change the line's price unit or the contract's invoice schedule, then resume billing.

The customer already had a contract for this site

Approving a quote that is not set to add to or replace a contract always creates a new contract. When the customer already has an Active or Paused contract for the same work type, on one of the same sites, for a period that overlaps the new one, the approval still goes through and the customer is not stopped. The new contract shows Check this contract's billing and says the customer now has two agreements for this site, with Open the other contract. The office gets a notification. This is what happens when someone creates the contract by hand after a phone yes and the customer later approves the quote that was still open, or when an Ongoing plan renews while a renewal quote is out.

The check holds the new contract's automatic invoices only. It does not hold scheduling: visits may be scheduled on both contracts. Decide which one to keep and archive the other. If you keep the new one, click Totals checked — resume billing on it.

Two cases are not flagged. A quote for next season does not overlap this season's contract, so a renewal quote approved while this season's contract is still active creates next season's contract as usual. And when you chose Create A New, Separate Contract on the quote — the choice New Quote shows under This customer already has a contract on this site (or on a site in this quote when the quote has more than one site) — the second contract is what you asked for.

New Quote lists every Active or Paused contract of the same work type on any site in the quote, by name, site and status. Add these services and Replace are offered only for an active contract on the quote's first site. When the only contracts listed are paused or on another site, the choice is Create A New, Separate Contract; to add to one of them, make its site the first site on the quote.

That choice covers exactly the contracts listed when you last saved the quote. A contract that was not listed — one created after that (made by hand after a phone yes, or the next term of an Ongoing plan that renewed while the quote was out), or one New Quote did not show — is flagged as above. A quote saved before October 2026 listed only active contracts on its first site, so its choice covers only those.

Contract statuses you may see later: Active, Paused, Cancelled, Expired, Completed, Archived. The contracts list hides Archived unless Status includes Archived. Cancelled stays on the default list. Contracts have no Void status — Void exists only on invoices and quotes (and on invoice plan slots).

When an approval does not finish

An approval saves the customer's acceptance first and then creates the contract (or adds to the one the quote names). If that second part fails, or the quote sits on Approving for more than ten minutes, the quote page shows This approval did not finish and the office gets a Quote Approval Did Not Finish notification. When the server restarted in the middle of the approval (during an update, for example), a check that runs every five minutes finds it and sends the notification once, so it arrives within about fifteen minutes of the customer signing.

Click Finish Approval on the quote (office roles). It completes the approval from the acceptance that was saved — the signature, the options they picked and the time they signed — and it continues from anything the first attempt already created. It does not create a second contract, and a quote that adds services to a contract adds them once. The customer does not sign again. Until you finish it, their link and their portal show We have your approval.

If a contract already exists for the quote from an earlier attempt, the approval continues from that contract and does not change it. When the total the customer signed is different from that contract's total — they ticked other options this time, or the quote was edited in between — the contract shows Check this contract's billing with both figures, and its automatic invoices wait until you click Totals checked — resume billing.

The quote does not go back to Sent once a contract exists for it. While an approval is running (the last ten minutes), a second person approving the same quote sees This quote is already being processed. Please refresh and try again.

Void is refused on a quote that is Approving. While the approval is running you see This quote is being approved right now. After ten minutes, if the approval already created a new contract, Void names that contract: click Finish Approval, or cancel that contract first and then void the quote. Voiding the quote alone would leave that contract scheduling and billing. If the quote adds services to, or replaces the services on, an existing contract and the approval already changed it, Void names that contract and asks you to click Finish Approval. Do not cancel that contract: it is the customer's existing agreement, and cancelling it stops all of its visits and billing. A quote whose approval created or changed nothing can be voided as usual.

Verify it worked

The contract is Active, the billing day matches what you quoted, and the accepted line items are on the plan's scope.

What to do next

Send an invoice when a draft appears, or turn on Automatically Send Draft Invoices.

Frequently asked questions

The quote is Approved but there is no contract. Is that a bug?

Not if the work type is not set up to create one. Check Settings → Work Types → What an approved quote creates. If Creates a Job on Approval is on instead, look for the work on the job board — that work type produces a job, not a plan, by design. If both are off, the quote page shows Approved — no job yet with Create Job and Create Invoice buttons (for a quote approved in the last 60 days; an older one has both in its Actions menu).

The quote says Approved — no job yet. What do I do?

Click Create Job to put the work on the schedule, or Create Invoice to bill the quote now. Nothing was created on approval because the work type makes neither a contract nor a job. You can do both; a quote you invoiced is not billed a second time when its job is completed.

A quote with no Season Year was approved in December. Which season is the contract for?

The next one, when this year's season has ended. With Season Year and agreement dates both blank, a quote builds the season in progress, or next year's once this year's has ended, read on your company's calendar. A seasonal May 1 – October 1 quote approved December 5, 2026 builds the 2027 season. A season in progress keeps the current year, and Annual and Ongoing terms build the current year. The quote page, the customer's quote and the PDF name the season ("2027 season · May 1 – Oct 1, 2027") before you send. Sending keeps that year until its season ends; after that, the quote names the next season and approving it builds that one. Type a Season Year to pin a year.

Where did the visits come from?

The plan generates them on its interval. You should not create those by hand if you want them tied to billing.

Why does a new contract say Check this contract's billing?

The total the customer signed does not match the total the contract was set up at, the quote was meant to update a contract that had ended, it added a line priced in a unit the contract's invoice schedule cannot bill, the customer already had a contract for the same work at the same site when the quote was approved, or (on a renewal) a quote or an edit on the contract page changed the previous term after the renewal copied it. Its automatic invoices wait until someone in the office checks the totals and clicks Totals checked — resume billing.

I corrected a price on this year's Ongoing plan after next year's term was created. Did next year change too?

No. The next term was copied on the renewal night and keeps its own price, scope, schedule, invoice options, sites and tax rate. When you save such a change on a term whose next term exists, the page says "This change did not reach the next term" with a link, and the next term shows Check this contract's billing so its scheduled invoices wait. Open the next term, make the same change if it should carry over, then click Totals checked — resume billing.

A customer signed a new quote for next year before the renewal night. Will the plan renew on top of it?

No. On the renewal night, OpsVara looks for another active or paused contract of the same customer and work type that covers one of the plan's sites over the new term. If one exists, the plan is not renewed, it reads Ends On its end date instead of Renews On, and the office gets one notification naming the plan and the other contract. If that is wrong, archive the other contract and create next term's plan by hand.

A customer approved a quote and now has two contracts for the same site. What happened?

They already had an active or paused contract for that work type at that site, for the same period, when the quote was approved — usually one made by hand after a phone yes, or an Ongoing plan that renewed while a renewal quote was still out. The approval went through and made a second contract. The new contract shows Check this contract's billing with a link to the other one, and its automatic invoices wait. Visits may be scheduled on both, so archive the one you do not want.

A quote is stuck on Approving. Did the customer's approval count?

Yes. Their acceptance is saved on the quote, and their link shows We have your approval. Open the quote and click Finish Approval (office roles). It finishes from the saved acceptance and continues from whatever was already created, so the customer never ends up with two contracts.

The quote had a different tax rate than our company rate. Which one do the invoices use?

The quote's. The contract the quote created keeps the rate the customer signed, and every invoice drafted for that contract charges it, also after your company rate changes. Contracts without a rate of their own — made from a quote at the company rate, created before October 2026, imported, or made by hand — charge the company rate and follow it when it changes. You can change a contract's rate under Invoice Options on the contract page; drafts already made keep their rate, also when you combine them.

We changed our company tax rate. Do existing contracts pick it up?

Yes, unless the contract has a rate of its own. Invoice Options on the contract page shows which — your company rate, a rate from a quote, or a rate set on the contract. Invoices drafted after the change charge the new company rate; drafts already made keep the rate they were drafted at. For a contract with its own rate, click Use company rate to put it back on the company rate.

Related guides