Skip to content
Cnone-Tech Documentation

Service agreements

Cnone-Tech DocsVeldriq

Veldriq

The commercial relationship with a customer: period, coverage, optional visit pack, optional recurring charges. It is not a work order, not a preventive plan, and not a Veldriq Plan invoice.

Sales → Service agreements · /app/w/{workspace}/service-agreements · capability service_agreements + plan feature contracts_pm · service_agreements.view / create / activate

What Where What it does
This page Sales → Service agreements Contract period, coverage, billing schedule, included visits
Preventive maintenance Operations → Preventive Maintenance Creates Draft work orders on a recurrence — optional link here
Visit entitlements Included visits Counts office Complete on a work order with intent — not Closeout

An agreement can exist without a plan. A plan can exist without an agreement. Recurring billing does not consume visits. Completing a visit does not create the retainer invoice.

  1. Sales → Service agreements → Create agreement.
  2. Customer (required). Optional name, customer reference, primary contact, billing contact, description, service terms, internal notes.
  3. Starts on (required). Ends on optional unless you set a visit pack (then required). Open-ended agreements have no end.
  4. Coverage: Whole customer (every site and asset), Selected sites (≥1 site to activate), or Selected assets (≥1 asset). One mode at a time.
  5. Optional Included visits — integer ≥ 1, or leave empty if visits are not counted. Empty is not “unlimited”; it means the pack is off. 0 is rejected.
  6. Save. Number AGR-YYYY-######. Status Draft.
  7. Activate when ready.
Stored Meaning Actions
Draft Not operational. Activate, edit, Archive
Active Can cover work and generate billing/PM when dates allow. Cancel agreement, Renew, edit allowed fields
Cancelled Stopped. Linked work orders and reports stay. Archive

Effective badges (not a stored status): Upcoming, Active, Expired, Expiring soon (30-day window). Cancel and expiry do not cancel existing jobs. Archive is soft-delete. Cancel an Active agreement first (Cancel an active agreement before archiving it.).

Renew clones a Draft. Copy: Create a draft renewal of :name? Existing work orders and reports stay on the current agreement. Linked maintenance plans move when you activate the renewal. There is no automatic renewal.

Configure recurring billing. Copy: Recurring charges create draft invoices from this schedule. They do not include work orders or preventive-maintenance visits.

Frequency: Monthly / Quarterly / Yearly. Scheduler hourly: fsm:agreement-billing-generate (cron must run). Or Generate now for a period that is already due. Result: a Draft job invoice. Office still Issues it. Same period cannot be billed twice (This billing period already has an invoice.).

Stop recurring billing — existing invoices stay. This is not Plan & billing → Plan invoices.

Attach the agreement on a work order. Coverage does not by itself count a visit. Add maintenance plan can stamp visit intent when the pack is on. Estimate Convert to work order does not inherit — attach it yourself if it should count.

Portal customers can read agreements (nav Agreements). They cannot edit, cancel, or generate invoices. Technicians do not manage contracts in Field.

If Activate created no visit and no invoice: expected. Needs a plan and/or billing schedule + scheduler.

If you Cancel expecting jobs to vanish: they stay listed.

Related: Preventive maintenance, Visit entitlements, Invoices.