Support

How can we help?

Search the same step-by-step guides and answers built into the product, or reach a real person.

Getting Started
Platform Overview
Understand the three core modules and how they work together.
  1. Purchasing (PO) Module — Handles the full procurement lifecycle: Purchase Requisitions → Approval → Purchase Orders → Vendor management → Receiving → Parts inventory update. Every line item references a catalog entry from the Products section.
  2. Equipt (CMMS) Module — Handles asset and maintenance lifecycle: Asset registry → Preventive Maintenance schedules → Work Orders → Parts inventory → Labor tracking → Maintenance history. Vehicles are a specialized asset type with service-interval reminders.
  3. Field Service (CRM) Module — Handles the full customer and field service lifecycle: Clients (with commercial parent/child hierarchies) → Properties → Estimates (built with a production-rate budget engine) → Jobs → Dispatch Board → Invoices → Contracts. Job types include recurring, one-time, waiting list, package, snow, and project work.
  4. How the modules connect — All three modules share Vendors (one table used by PO, CMMS, and CRM) and Parts inventory (replenished via PO → Receiving → Parts stock). A Work Order or a CRM Job can each spawn a Purchase Requisition when materials are needed, and CRM invoices link back to PO purchase orders for job cost reconciliation.
  5. Recommended setup order — 1) Go to Settings > Users and invite your team. 2) Configure Approval Flows for Requisitions and POs. 3) Add your vendors. 4) Build the Products catalog. 5) Add your assets and vehicles. 6) Add spare parts and link them to assets. 7) Create PM Schedules. 8) Set up Automations for meter-based maintenance. 9) In CRM, add your clients and their properties. 10) Configure Services and Production Rates so Estimates can use the budget engine. 11) Build out Packages and Contracts for recurring billing.
User Roles & Permissions
Know which role to assign to each team member.
  1. Admin — Full access to all modules, settings, users, and approval flows. Can view and edit anything. Typically the operations manager or system owner.
  2. Manager — Can approve requisitions and POs, create and close work orders, manage assets and parts. Cannot change org-level settings or manage users.
  3. Purchaser — Focused on the PO module — can create and manage requisitions, purchase orders, receiving, vendors, and products. Read-only on CMMS.
  4. Staff — Standard Equipt access — can create and update work orders, record meter readings, view PM schedules and parts, and start requisitions and POs. Cannot approve requisitions or modify settings.
  5. Requestor — Can submit maintenance requests only. Cannot create work orders directly. Useful for field staff or other departments who need to flag issues.
  6. Viewer — Read-only access across both modules. Cannot create, edit, or approve anything. Useful for executives or auditors who need visibility.
  7. Full guide — A deeper walkthrough — the full role-permission matrix, why CRM access runs on a completely separate 100+-toggle permission system rather than these roles, and how Crew and Client Portal access fit in.
Purchasing
Creating a Purchase Requisition
Request items before a formal PO is issued.
  1. Open the Requisitions page — Navigate to Purchasing > Requisitions in the sidebar. Click '+ New Requisition' to open the creation form.
  2. Fill in the header — Enter a title, select the vendor from the dropdown, and add any notes. The requisition number is auto-generated.
  3. Add line items — Click '+ Add Line Item'. Each line must reference a product from the catalog (Purchasing > Products). Set the quantity and unit cost. Optionally assign the line to a project for cost tracking.
  4. Save or submit — Save as Draft if you need to come back later. Click 'Submit for Approval' when ready — this routes it to the first approver in your configured Approval Flow.
  5. Track the approval — Status moves through: Draft → Pending Approval → Approved (or Rejected). You'll get an in-app notification and email when a decision is made.
Converting a Requisition to a PO
Turn an approved requisition into a formal Purchase Order.
  1. Open the approved requisition — From Purchasing > Requisitions, click the requisition with status 'Approved' to open its detail panel.
  2. Click 'Convert to PO' — The button appears in the header of the detail panel. A new PO is pre-filled with all line items, vendor, and cost information from the requisition.
  3. Review and adjust — You can modify quantities, costs, or add a vendor reference number before saving. The PO links back to the originating requisition automatically.
  4. Submit the PO for approval — If your org requires PO approval, click 'Submit for Approval'. Otherwise it can be moved directly to 'Ordered' status once sent to the vendor.
Recording Goods Received
Log delivered items and auto-update parts inventory.
  1. Go to Receiving — Navigate to Purchasing > Receiving and click '+ New Receipt'.
  2. Select the Purchase Order — Pick the PO from the dropdown. All open line items from that PO load automatically.
  3. Enter received quantities — For each line item, enter the quantity received. You can receive partially — the PO tracks remaining open quantities across multiple receipts.
  4. Parts inventory auto-updates — Any line item with category 'Maintenance Part' automatically increments quantity on hand in CMMS > Parts when the receipt is saved. This is the only place stock levels are updated.
  5. Attach documentation — You can attach delivery slips, invoices, or inspection reports to the receipt record for audit trail purposes.
Managing the Products Catalog
The single source of truth for all purchasable items.
  1. Why a catalog is required — Every line item on a Requisition or PO must reference a catalog entry. Free-text descriptions are not allowed — this ensures consistent naming, GL coding, and reporting.
  2. Three product categories — 'Maintenance Part' — spare parts that feed into CMMS Parts inventory on receipt. 'Stocked Material' — landscape supplies kept on hand (mulch, seed, etc.). 'Project Material' — job-specific materials that must be assigned to a project.
  3. Adding a new product — Go to Purchasing > Products, click '+ New Product'. Fill in the name, unit of measure, default unit cost, category, and optional GL code. Save and it's immediately available on all Requisition and PO line items.
  4. Linking Maintenance Parts to CMMS — When you create a Maintenance Part in the catalog, you can link it to a Part in the CMMS Parts inventory. This creates the connection so receiving that product updates the correct part's stock level and cost — see Administration > Inventory Costing Methods.
Project Cost Tracking
Assign materials to landscaping jobs and track spend.
  1. Create a project — Go to Purchasing > Projects and click '+ New Project'. Enter the job name, client, start date, and budget. Projects represent individual landscaping jobs or contracts.
  2. Assign line items to a project — When adding line items to a Requisition or PO, set the optional 'Project' field on each line. Only 'Stocked Material' and 'Project Material' category items can be project-assigned.
  3. View project costs — Open a project to see its Materials tab — all assigned line items, quantities, and costs are rolled up here. Total committed and received spend updates in real time.
  4. Full guide — A deeper walkthrough — why 'Projects' means the same underlying record in both Purchasing and CRM, the extra CRM-only tabs, and how the Job Costing Dashboard's breakeven rate feeds into a project's default labor rate.
Equipt (CMMS)
Work Orders
Create and manage maintenance tasks from open to done.
  1. Create a work order — Go to CMMS > Work Orders and click '+ New Work Order'. Fill in the title, linked asset or vehicle, priority (Low / Medium / High / Urgent), due date, and assign to a technician.
  2. Status flow — Work orders move through: Open → In Progress → On Hold → Done. Update the status from the detail panel. Moving to Done stamps a completed date and can advance automation thresholds if the WO was created by an automation.
  3. Request parts from a work order — Use 'Request Parts' in the work order detail to auto-create a linked Purchase Requisition pre-filled with the parts needed. The WO reference is stored on the requisition so costs trace back to the job.
  4. Add notes and labor — Use the Notes tab to log what was done, findings, or follow-up tasks. Labor time can be recorded to track technician hours per job.
  5. View maintenance history — Open any asset or vehicle to see its full history of completed work orders in the History tab.
Maintenance Requests
Let your team flag issues without creating WOs directly.
  1. What is a Maintenance Request? — A Maintenance Request is a lower-friction way for staff or requestors to flag an issue. It goes through an approval flow before becoming a Work Order, giving managers a triage step.
  2. Submitting a request — Go to CMMS > Requests and click '+ New Request'. Select the asset, describe the issue, and set priority. Submit — it enters the approval queue.
  3. Approving and converting — Managers can approve the request and convert it to a Work Order from the request detail panel. The WO is pre-filled with the request details and linked back.
  4. Automations can create requests too — If you set up an automation with action type 'Create WO Request', it inserts a Maintenance Request (not a direct WO) when the trigger fires — ideal when you want a human review step.
Preventive Maintenance Schedules
Schedule recurring maintenance before problems occur.
  1. Create a PM Schedule — Go to CMMS > PM Schedules and click '+ New PM Schedule'. Give it a name (e.g., 'Monthly Blade Inspection') and set the frequency, then link it to the asset(s) it covers from the Assets tab.
  2. Frequency options — Schedules can repeat daily, weekly, monthly, quarterly, or annually. The Next Due Date you set is the schedule's calendar — a weekly schedule first due on a Wednesday stays due every Wednesday.
  3. One schedule can cover multiple assets — A PM Schedule's Assets tab holds a list of assets, not just one — useful for a fleet-wide routine like 'Quarterly Blade Sharpening' that applies to every mower on the crew. Add or remove assets from that tab at any time.
  4. Parts lists — Two ways to plan parts for a PM: the schedule-level Parts tab lists parts expected for the routine in general, while each asset row on the Assets tab can carry its own per-asset parts list (with quantity and unit cost) — useful when different assets on the same schedule need different parts, e.g. different oil filter part numbers per mower model.
  5. Notifications — PM schedules due within 7 days appear in the Notifications bell as 'PM Due' alerts. The PM Due Reminder automation template can also create a work order automatically before the due date.
  6. Generating work orders — Click Generate WOs on the schedule. Each work order is due on the schedule's Next Due Date, and Next Due moves to the next date on the cadence. Generating late doesn't shift the calendar: last Wednesday's batch generated on Sunday leaves Next Due on this Wednesday. Only one batch can be open at a time — finish or skip it before generating the next.
  7. Pausing for the off-season — Click Pause to stop a schedule between two dates, until you resume it, or every year (e.g. Dec 1 → Apr 1 for mowers). Paused cycles aren't due: nothing is generated, alerted on, or counted against PM compliance. Pause windows are listed on the Details tab.
  8. PM compliance — PMs are scored against the schedule's calendar, so a week nobody generated counts as missed — once per asset on the schedule. Skipped and overdue PMs count as missed too; late ones count as done. See each asset's Performance cards or Equipt > Reports > PM Compliance.
  9. Full guide — A deeper walkthrough — fleet-wide seasonal PMs, exactly how due dates advance, and how this relates to usage-based meter automations.
Assets & Vehicles
Build your equipment registry and track service history.
  1. Assets vs. vehicles — Assets (CMMS > Assets) cover equipment like pumps, HVAC units, and mowers. Vehicles (CMMS > Vehicles) are a specialized type with VIN, odometer tracking, and oil change/registration reminders.
  2. Key fields — For assets: make, model, serial number, location, status, and purchase date. For vehicles: all of the above plus VIN, license plate, and service reminder dates/mileages.
  3. Linking spare parts — In the asset detail, use the Parts tab to link which parts this asset typically uses. This is a many-to-many relationship — one part (like an oil filter) can be linked to multiple vehicles.
  4. Adding meters — Meters track usage values like hours, miles, gallons, or cycles. Add them in the asset detail and record readings regularly. Meters power automation triggers — e.g., create an oil change WO every 5,000 miles.
  5. Vehicle service reminders — Set oil change due date and mileage, registration expiry, and inspection due on each vehicle. The reminder card changes color: green (current), amber (due soon — within 30 days / 500 miles), red (overdue).
  6. Warranties — Edit an asset or vehicle and fill in the Warranty section — either the end date, or a coverage period (e.g. 3 years) from a start date (blank = purchase date). Add notes like 'powertrain 5 yr / 2,000 hrs'. The Details tab shows a countdown; 90 days or less reads 'Expiring soon'. Equipt > Reports > Warranties lists everything expiring.
  7. Performance cards — The top of every asset's Details tab shows uptime, 12-month and lifetime maintenance cost (with lifetime as a % of purchase price), PM compliance, average repair time, and warranty status. Pick 30 days, 90 days or 12 months for the time-based cards.
  8. Keep status current for uptime — Uptime is measured from the asset's status: In Shop and Out of Service are down, Active is up, and Inactive (parked) or Disposed time is left out. Set a machine to In Shop when it goes down and back to Active when it's fixed.
  9. Full guide — Exactly how uptime, maintenance cost and PM compliance are calculated, with worked examples, and what the PM Compliance, Uptime and Warranties reports show.
Parts Inventory
Manage spare parts stock and link parts to assets.
  1. Adding a part — Go to CMMS > Parts and click '+ New Part'. Enter the part name, part number, unit of measure, minimum stock level, and current quantity on hand. You can also add a picture, a storage location, and one or more categories to help with search and filtering.
  2. Linking to assets — In the part detail, use the Assets tab to link which assets use this part. This is many-to-many — a single part can serve multiple assets.
  3. Multiple vendors per part — A part can list a primary vendor plus alternate vendors it's also sourced from. This is for reference/reordering convenience — it does not split the part into separate catalog entries.
  4. Generic / interchangeable equivalents get their own part — If a part number is genuinely interchangeable across brands (e.g. a name-brand filter vs. an aftermarket equivalent that fits the same spec), keep them as two separate catalog entries rather than merging purchases of both under one part — the two aren't the same cost or vendor history, and PO line items need to attach to the correct one. Import history is easy to conflate the first time a part number is entered under a different name in a later purchase; if you spot a part whose Products catalog name and Parts inventory name genuinely disagree, check its Audit Trail for a 'name conflict' entry (see FAQ) before assuming it's just a typo.
  5. Linking alternative parts — Once you've split two interchangeable parts into separate catalog entries, use the Interchangeable Parts section on either part's detail page to formally link them together — click 'Link as alternative part' (or 'Add Alternative' if you're starting from a part that already has one or more links) and pick the other part. Either part can link to the other; there's no required direction, and neither side is treated as more authoritative.
  6. Replenishing stock — Create a Purchase Requisition using the Maintenance Part product that corresponds to this part. When the PO is received in Purchasing > Receiving, the quantity on hand increments automatically. Never adjust quantity manually outside of receiving.
  7. Cost stays in sync with the Products catalog — Every part is linked to a Products catalog entry. When a receipt updates a part's unit cost, the linked product's cost updates automatically too (and vice versa for manual edits) — so the price shown in CMMS Parts and Purchasing Products should always match. See Administration > Inventory Costing Methods for how that cost is actually calculated.
  8. Low stock alerts — When quantity on hand drops to or below the minimum stock level, a Low Stock badge appears on the part and a notification fires in the bell. Use the Low Stock Alert automation template to auto-create a requisition.
  9. Full guide — A deeper walkthrough of the full part lifecycle, the asset link model, and exactly when to split interchangeable parts vs. add an alternate vendor.
Meters & Automations
Automate work orders based on usage thresholds.
  1. Adding a meter to an asset — Open any asset or vehicle detail and go to the Meters tab. Click '+ New Meter'. Choose the unit (miles, hours, gallons, cycles, etc.) and give it a name.
  2. Recording a reading — Click the meter and use '+ Add Reading'. Enter the value and date. The meter's current value updates to the latest reading.
  3. Creating a meter-threshold automation — Go to CMMS > Automations and click '+ New Automation'. Set Trigger Type to 'Meter Threshold', select the meter, choose the operator (≥ for cumulative like mileage), and enter the threshold value.
  4. Other trigger types — Beyond meter thresholds, an automation can trigger on: a part dropping below minimum stock (any part, or a specific one), a PM schedule coming due within N days, a work order going overdue by N+ days, a new maintenance request being submitted, a work order's status changing to a specific value, or a purchase order's status changing to a specific value.
  5. Action types — An automation can: create a Work Order, create a Maintenance Request (a review step before it becomes a WO), create a Purchase Requisition, notify a role in-app (Send Notification), or send an email (Send Email, requires email configuration).
  6. Setting a service interval — When the action type is 'Create Work Order' or 'Create WO Request', you can set a Service Interval. After the triggered WO is marked Done, the threshold automatically advances by the interval — so you never have to update it manually.
  7. Automations fire immediately on reading — Every time you record a meter reading, the automations engine runs instantly in the background. If the reading crosses a threshold, the WO or request is created right away.
  8. Pre-built templates — On the Automations page, click any template card to add it instantly. Available templates: Low Stock Alert, PM Due Reminder, WO Completed — Notify Team, PO Approved.
  9. Full guide — A deeper walkthrough — a full meter + threshold + service-interval worked example, the 'Pending Reset' state machine, and every trigger/action type in one table.
Landscapt (CRM)
Clients & Properties
Manage client accounts, commercial hierarchies, service properties, and the activity timeline.
  1. Creating a client — Go to CRM > Clients and click '+ New Client'. The quick-create step captures Display Name, Account Type (Residential or Commercial), phone, and email — click 'Create & Continue' and the full client record opens immediately for billing info, custom fields, and office notes.
  2. Client status — Status is one of Active, Inactive, Lead, or Cancelled. Cancelling a client requires picking a reason — Price, Moved, Unhappy with Service, No Longer Needs Service, or Other — which is kept on the record for churn reporting.
  3. Commercial parent/child hierarchy — Use 'Link Parent Account' on a commercial client to nest it under a property-manager parent. Only a client that isn't already a child itself can be picked as the parent — the hierarchy is one level deep. The parent's record shows a Sub-Accounts banner with the combined balance across all its children.
  4. Adding a property — On a client's detail page, open the More menu and click 'Add Property'. Enter the property name/label, street address, city/state/zip, gate code, and notes to crew. Properties are address-only — a second billed-together location on the same account, not a separate jobs/invoicing record. Turf sq ft, mulch bed sq ft, gross sq ft, and linear ft measurements are entered on the client's Custom Fields tab and feed the estimating engine's production-rate calculations.
  5. A location that needs its own jobs/invoices — If a location genuinely needs independent scheduling and billing — not just a second address on the same account — use the Commercial parent/child hierarchy above instead of a property.
  6. Open Tickets card — The client detail page shows a compact Open Tickets card (count plus the most recent few) alongside Contacts and Office Notes, with a link to the full Tickets tab and an Add Ticket shortcut.
  7. Contacts — Add contacts from the client detail page with a type — Owner, Primary, Spouse, Property Manager, District Manager, Trustee/Board Member, Employee, Child, or Other. A contact can have multiple phone numbers; toggle the star to mark which one is primary.
  8. Activity timeline — Every note, call, email, invoice, payment, job visit, estimate, contract, automation, and ticket for a client lands in one chronological Activity Timeline, filterable by All History, Notes, Visits, Transactions, or Estimates. Rows deep-link straight to the invoice, estimate, or job they reference.
  9. Full guide — A deeper walkthrough — the parent/child hierarchy worked in full, how a Lead becomes a Client, and a status table of what's blocked in each state.
Estimates & the Budget Engine
Build client-facing proposals using production rates, labor burden, and overhead markup.
  1. Creating an estimate — Go to CRM > Estimates and click '+ New Estimate'. Pick a client (leads are labeled '(lead)' in the picker; inactive or cancelled clients don't appear), set the estimate date and a valid-until date (defaults to 30 days out), and assign a sales rep.
  2. What the client's proposal link shows — The proposal link (and the client portal) shows the last version you sent — emailing the estimate, or Get link / Copy link / Open, publishes the current estimate as a numbered version. If you keep editing, a banner reads 'Edited since Version N was sent': the client still sees Version N and can't accept until you send again. The page honors the Valid until date through the end of that day; after it, the page reads Expired, acceptance (link or portal) is refused, and the client can still decline or request changes. The page also has a Download PDF button, and Visits, Quantities and Units are separate display toggles. Tax rate, overhead rate and win probability are limited to 0-100%.
  3. Stage vs. approval status — Stage tracks the sales process: Draft → Quote → Sent → Accepted → Lost → Invoiced. Approval Status (Not Required / Pending / Approved / Rejected) is a separate internal sign-off gate that can hold an estimate back from being sent regardless of its stage.
  4. Manual vs. production-rate budgeting — Each line item snapshots a budget method from its service at the time it's added: Manual (enter budgeted hours directly — Service Autopilot style) or Production Rate (hours = quantity ÷ the service's sq ft per man-hour — Aspire style). Lines with an hourly unit type always use the entered quantity as hours, regardless of method.
  5. Cost and overhead — A labor line's cost pre-fills from your org's breakeven (fully-burdened) rate the first time it's added, and only while it's still zero — edit it directly to override. Overhead markup applies per cost type (Labor, Sub-Contract, Product/Material, Asset/Equipment, Service/Other), each configurable separately in org settings.
  6. Reading the line-item grid — The grid's GM% column color-codes gross margin per line — green at 30%+, gray at 10%+, red below 10% — calculated from Rate, Cost, and Adjusted Rate. Toggle a line between per-unit (×) and fixed total ($) pricing with the Calc Type control.
  7. Converting an estimate to a job — Click 'Convert Estimate to Job', choose which line items to include, and pick a Job Type: One Time, Recurring, Project, or Waiting List. Package and Snow jobs are created directly rather than converted from an estimate. Set the scheduled date and assign a crew before confirming.
  8. Full guide — A deeper walkthrough — a full worked numeric example of the production-rate calculation, the Stage state machine, and why budget method is snapshotted per line.
Jobs, Packages & the Dispatch Board
Schedule recurring and one-time work, bundle services into packages, and run the daily dispatch board.
  1. Job types — A CRM Job is one of: recurring, one_time, waiting_list, package, snow, or project. The job itself has a status (Scheduled, In Progress, Completed, Cancelled, Skipped, Hold); each individual scheduled occurrence — a visit — has its own status (Scheduled, Dispatched, In Progress, Completed, Cancelled, Skipped).
  2. The Dispatch Board — CRM > Scheduling > Dispatch Board shows one day at a time with a week strip for picking the date. Click a visit's status pill to cycle it forward — Scheduled → Dispatched → In Progress → Completed (or Skipped) — and assign crews directly from the board.
  3. How actual hours are calculated — Unless a crew clocks in and out manually, a visit's actual hours are calculated as (scheduled end time − scheduled start time) × number of crew members assigned — not a fixed estimate carried over from the job.
  4. Packages — Go to CRM > Settings > Packages to bundle recurring services (e.g. a 7-Step Fertilizer program) under one program. A package's Services tab defines each visit — its service, date window, minimum days between visits, and default budgeted hours/rate. The fixed monthly billing amount, discount, and renewal terms live on the resulting job once a client is signed up, not on the package template itself.
  5. Projects — CRM > Scheduling > Projects tracks one-off landscaping jobs distinct from recurring service — the CRM equivalent of the PO module's Projects/Jobs section, used the same way for cost tracking and reporting.
  6. Stop order is remembered per crew, per weekday — Reorder a crew's stops (drag in Manual Route mode, or use Reverse) and click Save Order. That sets today's sequence AND remembers it for that crew on that weekday — so next Monday's board comes up already in the order you routed this Monday, instead of an unsorted crew grouping. Jobs with no remembered position sort to the bottom, which is your cue to place them; saving a day always wins over the remembered order, so a one-off change never overwrites the usual route.
  7. Optimize Route — Reorders the stops in view by real driving time, anchored at the crew's starting address (Team > Crews) rather than at whichever stop happens to be listed first. The dropdown beside the button picks the direction: 'Nearest first' takes the closest stop each time (shortest total drive), 'Furthest first' drives out to the far end and works back in so the crew finishes near the yard. Anchoring only applies when every stop in view belongs to one crew — filter to a single crew first. An optimized order isn't saved until you click Save Order. Needs a Google Maps API key with the Distance Matrix API enabled, under Landscapt Settings > Integrations.
  8. Full guides — Job types and Packages get their own deep dive; the Dispatch Board's status cycling, stop order, and actual-hours calculation get a dedicated guide.
  9. Dispatch Board guide — The day-to-day scheduling screen — status cycling, crew assignment, and exactly how actual hours are calculated when a crew doesn't clock in.
Services & Pricing
The service catalog, bulk catalog price changes, and Price Adjustment runs that re-price live client work.
  1. Where it is — CRM > Services, titled 'Services & Pricing'. Three tabs: Service Catalog (your services, rate matrices and production rates), Price Adjustments (re-pricing existing client work), and Adjustment History (every run, with an undo).
  2. Catalog rates vs. what actually bills — A service's default rate is a starting value — it fills in a price when that service is added to a NEW estimate, invoice or package. It is not what existing clients are billed. Each job keeps the rate it was sold at on its own Services tab, and that per-client rate is what an invoice is built from when a visit completes. Raising the catalog rate alone moves no money.
  3. Bulk Prices (catalog) — On the Service Catalog tab, 'Bulk Prices' opens an editable grid with a Quick Adjust: percent or flat dollars, with rounding to the exact cent, nearest $0.25, $1 or $5. It acts on whatever matches the search box, so you can raise just mowing. Rate-matrix tiers and the overflow rate are included by default — for a matrix-priced service the tiers ARE the real price, so leave that on for a general increase. A percentage leaves a $0.00 row at $0.00; use a flat adjustment to price something that has none.
  4. Price Adjustment runs (live work) — The Price Adjustments tab changes what clients are billed going forward. Pick percent or flat plus a rounding rule, choose targets (client job service rates, package monthly amounts, package service rates), optionally narrow by service and job type, then Preview changes. The preview is a line-by-line before/after naming each client and job, with the total change broken down per target. Name the run and apply. Signed contracts, already-issued invoices, and per-visit rate overrides are never touched.
  5. Leaving a customer out — Every line in the preview has a checkbox, ticked by default. Untick one and it's struck through, badged 'excluded', and dropped from the selected count and the total — so a price increase that shouldn't cover a promised-rate account doesn't need its own narrower run. To skip a whole client or service at once, search their name in 'Search these lines' and use Exclude shown, which acts only on what the search is displaying; the header checkbox does the same. The confirmation states both numbers before writing: 'Re-price 12 lines by +$201.00? 3 lines you unticked will be left alone.'
  6. Safety rails — Changing the form after previewing clears the preview, your ticks and the Apply button, so you can't apply numbers you didn't look at. A run only ever touches lines you ticked, so rows created after your preview are never swept in — and if one of those lines was re-priced by someone else in the meantime it's skipped rather than increased from a figure you never saw, with the toast reporting how many.
  7. Undoing a run — Adjustment History lists every run with an undo arrow that restores each line's original price. Undo deliberately skips any line you re-priced by hand since the run and tells you how many it left alone — a later manual decision is never thrown away. A reverted run stays in the history and can't be undone twice.
  8. Permissions — Two separate keys under Scheduling > Service Access in Roles, both off by default for non-admin roles: 'Bulk Update Catalog Prices' shows the Bulk Prices button, 'Run Price Adjustments' shows the Price Adjustments and Adjustment History tabs. The second is enforced server-side, not just hidden in the UI.
  9. Full guide — Which price lives where, what each tool touches, and how the undo's skip behaviour works.
Sales Meetings
Book sales appointments per rep, catch double-bookings, and remind reps and clients automatically.
  1. Setting up sales reps — Only employees flagged as a sales rep show up on the calendar. Mark someone as a sales rep (and make sure they're active) in Team > Employees before booking meetings for them.
  2. Where it is — CRM > Sales Meetings shows a per-rep Day, Week, or Month calendar. Click any open slot to book a new meeting for that rep and time, or click an existing meeting to edit it.
  3. Booking a meeting — Pick a sales rep, an existing client (or a free-text lead name for a new prospect), a title, meeting type (in person, phone, video), date/time, and duration. Location accepts either an address or a meeting link.
  4. Double-booking warning — If the picked rep already has another meeting overlapping the chosen time, the dialog warns you when you save — it does not block the save. This matches the same-class overlap warning used on the Dispatch Board.
  5. Linking to estimates and tickets — Once a client is selected, the dialog lets you link the meeting to one of that client's existing estimates or tickets — useful for tying an in-person walkthrough back to the estimate it's discussing.
  6. Reminders — 60 minutes before a scheduled meeting, the assigned rep gets an in-app and email reminder automatically (toggle either off in Settings > Notifications). If the meeting has a client, a separate 'Sales Meeting Reminder' automation trigger is also available in the Automations builder for a client-facing reminder.
  7. Rescheduling — Changing a meeting's date or time re-arms its reminder so it fires again for the new time. Editing anything else (notes, title, link to an estimate) leaves an already-sent reminder alone.
  8. Full guide — Sales-rep visibility rules, exactly how the double-booking check compares meetings, and the split between the rep's direct reminder and the client-facing automation trigger.
Waiting List & Snow Jobs
Queue opportunistic work and manage storm-based snow dispatch.
  1. What the Waiting List is for — CRM > Scheduling > Waiting List holds jobs with type Waiting List or Package that don't have a fixed date yet — only a date range (e.g. 'From May 1' or 'May 1 – May 15'). Filter by Client, Service, Date Range, City, Zip, Crew, or Rate.
  2. Dispatching from the waiting list — When a crew has an opening nearby, click 'Dispatch' on a waiting-list job to assign a firm date and crew, converting it into a scheduled visit. Matching today is by City/Zip filtering rather than GPS geofencing.
  3. Storm events — CRM > Scheduling > Snow Jobs is organized around Storm Events, not individual visits. Click '+ New Storm Event', name it (defaults to 'Snow Event' plus the date), and set the event date, forecast depth, and temperature.
  4. Dispatching snow visits — Add jobs to the storm event, then dispatch visits in priority order — High before Normal before Low, set per client. Storm event status moves Pending → Working → Complete.
  5. Snow invoicing — CRM > Accounting > Snow Invoicing groups a client's uninvoiced storm visits and computes the amount from the job's invoice type: a flat rate per event, a rate per inch of snowfall (per event or per push), or an hourly rate × actual hours logged.
  6. Full guides — The Waiting List's filtering and dispatch flow gets its own deep dive; storm-event dispatch and snow invoice types get a dedicated guide.
  7. Snow Jobs guide — Storm events, priority-based visit dispatch, and a worked example of all three snow invoice types with dollar amounts.
Invoicing & Contracts
Bill clients, track payments, and manage recurring service contracts.
  1. Invoice status — Invoices move Draft → Sent → Viewed → Partial → Paid, with Overdue and Void as side states. Payments can be recorded against an invoice with a specific method — Cash, Check, ACH/E-Check, AutoPay, Credit Card by network, AR Write-off, or Other.
  2. Photos on an invoice — Open the invoice's Photos tab (or 'Photos to include' in the email dialog) to attach up to 12 photos from the invoice's visits and jobs, Job Photos linked to the client or project, or direct uploads. They print on extra PDF pages and show as a gallery on the client's online invoice page. HEIC iPhone photos are converted automatically; only JPEG and PNG print in the PDF, and Print Selected leaves photos out.
  3. Invoices list columns and filters — The Columns menu adds Account Balance, Prepay, Credits, Payment type, Sent / Printed (where a draft is queued, or Sent/Printed once issued) and Frequency (the contract's cadence, or One-time). Filters: Date takes a from/to range, Balance takes At least / At most / Exactly, and Status and Payment type are pick-from-list (Status matches what the column shows, so a past-due Sent invoice is under Overdue). The Payments page has the same Date range filter.
  4. Limits, voids and disputes — Payment amounts must be greater than $0. Discounts can't be negative or exceed the subtotal, and tax rate is limited to 0-100%. An invoice with payments applied can't be voided — hover the greyed-out Void button to see why (refund or unapply first); Charge shows why it's disabled too (for example a bank debit still settling). While a card chargeback is open, the invoice is flagged and drops out of the To Charge queues and can't be charged again until the dispute closes.
  5. Paying across sub-accounts — Recording a payment against a commercial parent with sub-accounts shows open invoices from the parent AND every sub-account, grouped by account — covers a property manager sending one check for several HOAs' invoices at once. A sub-account's own invoice list tags that payment 'via [Parent Name]'.
  6. Contracts — CRM > Accounting > Contracts covers ongoing agreements: a monthly amount, billing frequency (weekly through annual, or one-time — honored by the invoicing cron, set through the API since the dialog doesn't expose it), auto-renew, billing day of month, and whether the contract bills a month in advance. The amount is charged per invoice at every frequency, not annualized. The end date can't be before the start date. Month-by-month amount overrides are supported for seasonal pricing.
  7. Sub-properties on one contract — A commercial contract can be set to include sub-properties — billing every property on the SAME client's account from a single contract rather than issuing one contract per address. This is for one client billed together across multiple sites, not the parent/child (sub-account) hierarchy — that's for locations that need their own independent jobs/invoicing.
  8. The 'PO Number' field is not the internal PO module — The PO Number shown on an invoice or estimate PDF is a free-text field for the client's own purchase order reference — it has no link to this platform's internal vendor Purchase Orders (Requisitions → POs → Receiving). Don't confuse the two.
  9. Linking job costs to vendor POs — To reconcile what a job actually cost against vendor purchase orders, assign the PO line item to a CRM Project (via the line item's Project field) rather than to a specific job — cost tracking rolls up at the project level.
  10. Full guides — Invoice status state machine, partial payments, and the PO-Number gotcha get a dedicated guide; contract billing frequency and sub-property billing get their own.
  11. Contracts guide — Billing frequency, month-by-month seasonal overrides, and billing every property under a commercial hierarchy from one contract.
Online Payments (Stripe)
Connect your Stripe account, then save cards/bank accounts on file and charge clients directly from an invoice.
  1. One-time setup: connect your Stripe account — CRM > Settings > Card Payments (Stripe). Click Connect and complete Stripe's onboarding — this creates a Standard connected Stripe account for your org, fully independent of Landscapt's own billing. Charges, payouts, and your Stripe dashboard login are entirely managed by Stripe; Landscapt only initiates charges and listens for the result.
  2. Managing your Stripe account — Once connected, 'Manage on Stripe' opens dashboard.stripe.com directly — log in there with your own Stripe credentials to see payouts, statements, and update your bank details for deposits.
  3. Turning on ACH / bank transfer payments — Stripe's own ACH toggle in their dashboard does not control whether Landscapt can accept bank transfers — it only affects Stripe's automatic payment-method detection. Enabling ACH here requires two things: ACH Direct Debit activated on your Stripe account, and the separate 'Enable ACH / bank transfer payments' checkbox in CRM > Settings > Card Payments (Stripe). Until both are on, only card payments are offered.
  4. Processing fees — A processing fee is added automatically to card charges (not ACH) to cover the Stripe rate. Staff can waive the fee or override it to a custom amount on any single charge. Fees collected flow into the Profit & Loss report as 'Credit card processing fees' income, and the Credit Card Processing Fees report itemizes every fee by payment.
  5. Saving a card or bank account on file — From a client's Details tab, use 'Payment Method on File' to save a card or ACH bank account — staff can enter the client's card themselves, without the client needing to do anything on their end. Saving a method defaults to enrolling the client in Autopay, but there's a checkbox to save the method without turning Autopay on, for clients who just want a card kept on file for you to charge manually.
  6. Autopay vs. a saved method — A saved payment method and Autopay are independent settings, toggled separately in the client's Payment Method on File section. Autopay On means the client's saved method is eligible for the 'To Charge' / 'ACH To Charge' invoice tabs and bulk 'Charge All' action. Autopay Off still lets staff charge that saved method any time via 'Charge Saved' — it just won't be swept up automatically.
  7. Charging an invoice — From an invoice, 'Charge Saved' uses the client's card/bank on file; the Card/Bank toggle lets staff key in a fresh card or account for a one-off charge instead. The Invoices list's 'To Charge' and 'ACH To Charge' tabs show every invoice eligible for its respective saved method, with a per-row Charge button and a bulk 'Charge All' in the Actions menu.
  8. Charging across multiple invoices at once — In Add Payment, 'Charge a Card/Bank Instead' switches the same client + invoice allocation table used for recording a manual payment into a real Stripe charge — one card/bank charge for the combined total, split across however many invoices are checked, using the client's saved method or a freshly entered card/bank.
  9. Where a payment shows up — A successful online charge posts automatically as a payment against the invoice(s) it was allocated to — no manual recording needed. It can take a few seconds after checkout to appear while Stripe's confirmation is processed; if it hasn't shown up after a minute, check the payment wasn't declined before assuming something's wrong.
Communication & Automations
Trigger event-driven emails, texts, and alerts without manual follow-up.
  1. Automation structure — CRM > Communication > Automations. Each automation contains one or more Sequences; a sequence has Triggers (with optional Trigger Conditions), Stop Conditions, and an ordered list of Events that run once triggered.
  2. What can trigger a sequence — Client/lead events (created, cancelled, converted, card charge failed), dates (a specific date, day of week, or an anniversary of the client's start date), estimate events (sent, won, lost, expiring, no response), form submissions, invoice events (past due, paid), job/visit events (created, cancelled, completed, dispatched, skipped, moved to waiting list), tag added/removed, and ticket events (created, past due, closed, reopened).
  3. What an event can do — Wait (delay), Email, Text Message, Alert (Info / Warning / Urgent), Ticket (with priority Low / Normal / High / Urgent), If/Branch, Note, Update a field, or add/remove Tags.
  4. Email send windows — An email event can be restricted to weekdays only and a specific send-time window, and can require manual approval before it actually sends — useful for anything you want a human to glance at first.
  5. Forms and campaigns — Forms (Draft / Published) capture leads and route submissions into automations via the 'form submitted' trigger. Sales Campaigns (Draft, Scheduled, Sending, Active, Paused, Completed, Cancelled) send email, SMS, or postcard blasts to a segment — All Clients, Active Clients, Leads, Past Clients, or a custom list — and track delivered/opened/clicked/unsubscribed counts.
  6. Full guides — A deeper walkthrough of sequences/triggers/events with a worked example, plus Automations vs. Sales Campaigns compared side by side.
  7. Forms guide — Field types, embedding a public form, what happens on submission, and the two things to know before sharing a link publicly.
Tickets
Track customer-service issues from open through closed.
  1. What a ticket is — A CRM customer-service record — distinct from a CMMS Maintenance Request, which is for asset/equipment issue triage. Every published form submission automatically creates an open ticket, in addition to manual creation and automation-driven creation.
  2. Status and priority — Status is one of Open, On Hold, Pending, or Closed. Priority is Low, Normal, High, or Urgent. A ticket can also be typed as a Note, Call, or Event — the same underlying list view covers all three.
  3. Assignment — Assign a ticket to a specific user. Notification preferences let that person (and anyone watching) get alerted on assignment and new comments, both by email and in-app.
  4. Show in client portal — A ticket linked to a client has a 'Show in client portal' switch (also on the New Ticket form), off by default. When on, the client sees the subject, category, status and notes in their portal, never comments, files or the assignee.
  5. Full guide — A deeper walkthrough — the full lifecycle from form submission to close, the real status/priority/type values, and a clear line between Tickets and CMMS Maintenance Requests.
  6. Field upsells from crews — Work a crew spots at a property arrives as a normal ticket with category 'Upsell', carrying their note, who spotted it, the date, the property, the suggested service, and any photo they took (on the Files tab — usually enough to price it without a trip out). The ticket is linked back to the job. Crews never see or set a price; they pick from a list you control by ticking 'Show in field upsells' on a service under Services & Pricing. With no services ticked the Suggest work button doesn't appear in the crew app, which is how the feature is switched on and off. To take one forward, click Create estimate on the ticket (needs the Add Estimate permission): it makes a draft estimate for the client with the suggested service already on it at your catalog rate, links the two, and opens it ready to price. A ticket can only be converted once — the estimate claims it, so two people clicking at the same time, or an interrupted conversion, reopens the estimate that already exists instead of building a second one; deleting that estimate makes the ticket convertible again. You can still link extra estimates by hand from Linked Records when work is re-quoted, and the reports read the most recent one. That link is what makes a suggestion measurable, since the estimate carries the Won/Lost stage while ticket open/closed only means whether the office has dealt with it. Two Report Center reports read it: Field Upsells (every suggestion and its outcome) and Upsell Conversion by Crew Member (submissions against revenue won).
Damage Cases
Track property damage during a job and warranty claims.
  1. Two kinds of case, one record shape — CRM > Tools > Damage Cases covers both property damage during a job (e.g. a mower hitting a sprinkler head) and warranty claims (e.g. a plant dying in its warranty window), distinguished by a Case Type field.
  2. Cost tracking — A case's cost is the sum of its linked expense entries, not a single manual total. A case can optionally link to one existing Purchase Order.
  3. Status — Open, In Progress, Resolved, or Closed. Creating a case can fire both an internal automation and a Zapier trigger. Once Resolved or Closed, adding an expense or editing the description/resolution notes is blocked until the case is reopened.
  4. Full guide — A deeper walkthrough — a worked example, and a real current limitation worth knowing about client-linking before you rely on filtering cases by client.
Injury & Near-Miss Cases
Report injuries, illnesses and near misses from the field and follow them up in the office.
  1. Report from the field — Job Photos > Field > Injury / Near Miss is a phone-friendly form based on your paper Employee's Report of Injury. Choose Injury, Illness or Near miss, then fill in who, when, what happened, the injury, and what could have prevented it. Submitting opens a new case. The same menu has a Damage Report form that opens a Damage Case.
  2. Follow up in the office — Tools > Injury Cases shows Days Since Last Injury, open and closed cases, and year-to-date totals above a searchable list. Open a case to set severity, days away, how the cost is handled (workers' comp or self-pay), cause and corrective action, and to attach your completed investigation PDF on the Files tab.
  3. Self-pay expenses — If the company pays instead of filing a workers' comp claim, log the costs on the case's Expenses tab (medical, lost wages or other). The total shows in the list and on the Reporting tab.
  4. Supervisor alerts — Filing a report alerts the named supervisor (if they match an employee with a login) and everyone on the Injury & Near-Miss Report Recipients list in Settings > Notifications (default: all admins and managers). The reporter is never alerted about their own report, and anyone can opt out.
  5. Near misses count differently — A near miss is tracked but never resets Days Since Last Injury or the Accident Free Workdays KPI. That KPI is calculated automatically from Injury Cases: Monday-Friday workdays since the last injury or illness.
  6. Full guide — Every field, status, who can see injury records, and how this works alongside your paper investigation form.
The Client Portal
A separate, invite-only login where clients pay invoices and act on estimates.
  1. Inviting a client — From a client's '…' menu, send a portal invite. It emails a 7-day registration link. The portal is a fully separate login from staff accounts — a client cannot use it to access the main app.
  2. What a client can do — Not read-only: a client can pay invoices via Stripe (card or ACH), and can accept (with e-signature), decline, or request changes on estimates. Up to seven tabs are available — Home, Billing, Services, Estimates, Tickets, Documents, Account — and an org can hide three of them.
  3. What stays hidden, and sharing tickets — Draft invoices and unsent estimates never appear in the portal and can't be paid from it. Invoice and estimate PDFs are the real PDFs. Tickets the client submits show up automatically; for one you created, turn on 'Show in client portal' on the ticket (it needs a linked client) — the client sees only the subject, category, status and description, never comments, files or the assignee. Documents have separate View and Download buttons. The portal shows the last sent version of an estimate and refuses acceptance after its Valid until date.
  4. Configuring what's visible — Landscapt Settings > Client Portal controls which optional tabs are shown.
  5. Full guide — A deeper walkthrough — the full invite/registration flow, e-signature estimate approval, multi-org clients, and a known dead-code gotcha worth being aware of.
Job Photos
A paid add-on for field photo documentation, annotation, and before/after comparisons.
  1. What it's for — A photo-documentation system organized around lightweight Photo Jobs, optionally linked to an Equipt Project or a Landscapt Client. Access is role-based, not crew-exclusive — Admins and Crew get it automatically, others need it enabled.
  2. Uploading — Camera, photo library, video, or generic file uploads are client-side compressed and GPS-tagged from live device location.
  3. Annotation and before/after — Admins/Managers can mark up a photo with arrows, circles, text, and freehand drawing, and pair photos into labeled Before/After comparisons with a slider view.
  4. Full guide — A deeper walkthrough — real access rules, the annotation tool, before/after pairing, and current limitations (manual client linking, no visit/work order link).
Report Center & Dashboards
75 reports across 12 categories, curated and custom dashboards, and a customizable KPI Scorecard.
  1. Where it lives — CRM > Reports. A 4-tab shell: Dashboard (the legacy overview), Custom Dashboards, Report Center (the searchable catalog), and My Reports (saved analyses).
  2. Categories — Service, Client, Revenue, Schedule Lists, Job Costing, Financial, Audits, Lead, Estimates, Job Hours, Receivables, and Forms.
  3. Exporting — CSV, Excel, PDF, and print are all available on demand. There is no scheduled or emailed report delivery today.
  4. KPI Scorecard — Dashboards > KPI Scorecard scores annual targets by category. Metrics tagged auto are computed live from Landscapt data (invoices, payments, visits, estimates, clients, employees); the rest are typed in. Click Customize to add metrics from the catalog, add your own manual metrics, set weights, or remove any row. Viewing needs the View Report Center permission; editing targets, manual actuals, or the layout needs Manage Report Center.
  5. Company Report — Dashboards > Company Report is a live sales/operations/A-R snapshot, always "as of now" (YTD from Jan 1, trailing 3 months for the monthly tables). Progress bars on the KPI row read Targets from that org's KPI Scorecard. The flags section is rule-based (fixed dollar/percent thresholds), not AI-generated commentary.
  6. Social Media dashboard — Dashboards > Social Media tracks your accounts week by week. Someone logs each week's numbers per platform (posts, views, profile views, likes, comments, shares, saves, followers, leads) from each platform's own analytics; the dashboard shows trends, a platform comparison, and this month against editable minimum/stretch goals. Add, hide or reorder platforms from Add / hide platforms (hiding keeps past numbers). Admins and managers can log and edit; give another role the Social Media: Enter & Edit Data permission to let them too. Each dashboard also has its own View permission in the role editor.
  7. Full guide — A deeper walkthrough — a worked example running the Production Rate Accuracy report end to end, and the distinction between curated and custom dashboards.
  8. Reports reference — A description, available filters, and known gotchas for every one of the ~75 reports, organized by section — for researching a specific report rather than the Report Center itself.
Administration
Configuring Approval Flows
Set up multi-step approval chains for requisitions and POs.
  1. Open Approval Flows — Go to Settings > Approval Flows. There are separate flows for Requisitions and Purchase Orders.
  2. Add steps — Each flow can have one or more approval steps in sequence. For each step, assign either a specific user or a role (e.g., any Manager). If a role is assigned, any user with that role can approve.
  3. Approval chain order — Steps are processed in order. Step 1 approver is notified first. After they approve, Step 2 is notified. All steps must approve before the entity reaches 'Approved' status.
  4. Rejection — Any approver in the chain can reject. This moves the entity to 'Rejected' status immediately and notifies the original requester by email with the rejection comment.
  5. Multiple eligible approvers on one step — If a step is assigned to a role (e.g., any Manager), every user with that role — including the requester, if they hold the role — is listed as an eligible approver for that step. Whoever decides first resolves the step; the other eligible approvers' entries are marked 'Superseded' and no longer actionable.
  6. Reordering steps and admin-only steps — Drag a step by its grip handle to reorder; on a phone or narrow screen use the up/down arrows on each step instead. Managers can approve on behalf of another approver, but never on a step whose required role is admin — only an admin can decide those.
  7. Full guide — A deeper walkthrough — a worked 2-step example with dollar-threshold routing, the full state-machine table, and the 'Superseded' self-approval gotcha explained.
Notification Preferences
Control which events trigger email and in-app alerts.
  1. In-app notifications — The bell icon in the top bar shows live alerts for overdue work orders, low stock parts, pending approvals, and upcoming PM schedules. These update in real time.
  2. Per-user preferences — Go to Settings > Notifications to toggle which events show as in-app or email notifications. Preferences are per-user and save automatically.
  3. Email notifications — Approval flow emails (requested, approved, rejected) send automatically when a verified sender domain is configured. Contact your admin if you are not receiving approval emails.
  4. Automation notifications — The 'Send Notification' automation action pushes an alert to users by role (e.g., all Managers). Use this for custom trigger-based alerts beyond the built-in ones.
  5. Full guide — A complete table of every notification event, which ones are email-only or in-app-only, and how personal preferences differ from the admin-controlled recipient pool.
Managing Vendors
Vendors are shared across Purchasing, Maintenance, and CRM.
  1. Shared vendor directory — Vendors live in a single shared table. A vendor can supply landscape materials (used on POs), maintenance parts/services (used on work orders), or field-service subcontractor/chemical-supplier work (used on CRM jobs and contracts). There is no module-specific vendor list.
  2. Adding a vendor — Go to Vendors in the sidebar. Click '+ New Vendor'. Enter name, contact name, email, phone, and address. Vendors are immediately available on all Requisition, PO, and CRM forms.
  3. Vendor history — Open a vendor to see its Spend History — POs issued to them AND direct CMMS work-order vendor charges, both counted in Total Spend — plus contact history. Use this for vendor performance reviews and negotiations.
Inventory Costing Methods
Choose how the unit cost pre-fills on new Requisition, PO, and Work Order lines.
  1. Where it's configured — Go to Settings > Costing. This is an org-wide setting with three modes: Manual, Weighted Average Cost (WAC), and First In, First Out (FIFO).
  2. Manual — The catalog's stored unit cost is used as-is. It updates to the most recently received price after each goods receipt, but you can also override it directly on the part or product record.
  3. Weighted Average Cost (WAC) — The pre-filled cost is the quantity-weighted average across every cost layer still in stock. Receiving more stock at a different price blends into the average rather than replacing it outright.
  4. First In, First Out (FIFO) — The pre-filled cost is whatever the oldest still-in-stock batch paid. As that batch is consumed and a newer one becomes the oldest, the pre-fill shifts to that batch's price.
  5. Cost layers, and what never changes — Each goods receipt adds a 'cost layer' (quantity + unit cost + date + PO reference) to the part/product record. Cost layers only affect the pre-fill on new lines — historical Requisition, PO, and Work Order line items keep whatever cost was recorded at the time and are never retroactively changed.
  6. Parts and Products always agree — A CMMS Part and its linked Products catalog entry share one cost — updating either one (through a receipt or a manual edit) propagates to the other automatically, so the price you see is consistent whether you're looking at CMMS > Parts or Purchasing > Products.
Import & Export
Bring in existing data from a spreadsheet, or pull your data back out.
  1. Where it lives — Both Equipt Settings and Landscapt Settings have their own Import/Export tab, each covering the entities relevant to that module. Export produces a real CSV of your actual data; import maps spreadsheet columns to fields and shows a preview before committing.
  2. Duplicate handling — Depends on the entity — some merge into the existing record by a matching field (name, part number), others skip a row outright if it already exists (e.g. by PO number).
  3. The bulk PO importer's name-conflict handling — A separate, denormalized purchase-history importer keeps the first name it ever saw for a part number. If a later import uses a different name for the same part number, it doesn't silently overwrite the catalog — it logs a 'name conflict' entry on that part's audit trail for review.
  4. Full guide — A deeper walkthrough — a worked import example, exactly what gets validated, and the bulk PO name-conflict mechanic in full.
Required Fields
Make specific fields mandatory before a record can be saved.
  1. Where it's configured — Equipt Settings covers Purchase Orders, Requisitions, Work Orders, Assets, and Vehicles. Landscapt Settings > CRM covers Clients and Tickets. Each field can be set to Required, Optional, or Hidden. This is a single org-wide setting — there's no per-role variant.
  2. Enforcement — Checked client-side by the relevant creation forms — there's no API or database-level enforcement of these toggles. A few fields are hard-required outside this system entirely and can't be loosened (e.g. every Requisition/PO line item must reference a Products catalog entry).
  3. Full guide — A deeper walkthrough — every entity's configurable fields, a worked example, and the client-side-only enforcement gotcha.
Samsara Integration
Sync vehicle odometer readings automatically from Samsara.
  1. Connecting — Settings > Integrations. Enter your Samsara API key. Vehicles match to Samsara by a stored vehicle ID first, falling back to an exact name match — an unmatched vehicle is skipped, not errored.
  2. What syncs — Odometer and GPS-distance readings, converted to miles. A reading only updates if the new mileage is greater than or equal to the meter's current value. Nothing else from Samsara's API — no engine hours, fuel, or fault codes.
  3. When it runs — A daily scheduled sync, plus a manual 'Sync Now' button for admins. There's no webhook — Samsara doesn't push data to Landscapt in real time.
  4. Full guide — A deeper walkthrough — the full setup flow, exactly how vehicle matching and mileage validation work, and what to check if readings aren't updating.
API Keys & MCP
Scoped REST API access, and the same keys work as an MCP server for AI agents.
  1. Create a scoped key — Go to Master Account Settings > Integrations > Public API Keys and click 'Create Key'. Pick only the scopes it needs from the checklist (Clients, Jobs, Work Orders, Invoices, and 11 more resources, each with Read / Write / Write-sensitive tiers). The plaintext key is shown once, immediately after creation — copy it before closing the dialog.
  2. Same key works as MCP — There's no separate MCP credential. Point Claude Desktop, Claude Code, or any MCP client at /api/mcp with the same 'Authorization: Bearer <key>' header, and it sees exactly the tools its scopes allow — a key with zero scopes still gets a 'whoami' tool so an agent can see what org/scopes it's connected as.
  3. Full reference — Every endpoint and its MCP tool name is generated live from the API's own OpenAPI spec.
  4. Full guide — A narrative walkthrough — a worked example scoping a read-only reporting key, a table of all 14 resources, and why REST and MCP share one credential system.
Connecting Zapier
Trigger Zaps on Equipt and Landscapt events, or create records from a Zap.
  1. Generate your key — Go to Master Account Settings > Integrations (not Equipt Settings or Landscapt Settings — this connection is account-wide and works regardless of your plan). Click Generate Key and copy it — it's shown once, in full. Paste it into the API Key field when connecting the Equipt/Landscapt app in Zapier. A link to the full, detailed guide below sits right under the key on that page.
  2. Landscapt triggers — New Client, New Lead, Lead Converted to Client, Client Cancelled, New Estimate, Estimate Won/Lost, New Job, New Ticket, Ticket Closed, New Invoice, Invoice Paid, Contract Signed, New Damage Case, and Visit Dispatched all fire instantly — the moment the event happens, not on a delay.
  3. Equipt triggers — New Asset, New Work Order, New Requisition, New Purchase Order, PM Schedule Due, Part Low Stock, and New Vendor check every few minutes rather than firing instantly. Work Order Completed and PO Approved are instant. A delayed poll rarely matters for these — low stock and PM-due don't need a same-second alert.
  4. Meter Threshold — This trigger is configured per-Zap rather than always meaning one fixed thing: pick a meter (or leave it blank to watch every meter), a threshold value, and a direction (at least / at most). Example: watch Truck #4's odometer and fire once it reaches 50,000 miles. This is separate from any meter-threshold automations already configured inside Equipt itself.
  5. Actions — A Zap can create a Client, Job, or Ticket (or add a note to a client's activity timeline) in Landscapt, and a Work Order or Requisition in Equipt. Every vendor/client/asset/work-order ID a Zap passes in is checked against your org before anything is created.
  6. Rotating the key — Clicking Regenerate immediately invalidates the old key — any Zaps still using it will need to be reconnected with the new one before they'll work again.
  7. Full reference guide — Every trigger and action, with sample payloads and field-by-field explanations, lives on one dedicated page.
Guide library

Longer, step-by-step deep dives — the same ones built into the product, free to read with no account needed.

Equipt (CMMS)
Landscapt (CRM)
Clients, Properties & Leads
Client accounts, commercial hierarchies, service properties, and the activity timeline that ties it all together.
Estimates & the Budget Engine
How an estimate is built, how its numbers are actually calculated, and how it becomes a job.
Jobs & Packages
The six job types, how a job's status differs from a visit's status, and how a Package template turns into a billed job.
Services & Pricing
The service catalog, bulk catalog price changes, and Price Adjustment runs — which prices seed new work and which ones actually bill.
The Dispatch Board
The daily scheduling screen crews and dispatchers live in — visits, crews, status, and how actual hours get calculated.
The Crew App
What a crew sees on their phone — the day's stops, clocking on and off, breaks, photos, and sending work back to the office.
Sales Meetings
Booking appointments per sales rep, the double-booking warning, and the split between a rep's direct reminder and the client-facing automation trigger.
The Waiting List
Jobs with a date range instead of a date, held for opportunistic scheduling — and how to actually get them dispatched.
Snow Jobs & Storm Dispatch
Storm events, priority dispatch, and the invoicing flow built specifically for snow.
Invoicing & Payments
How an invoice is born, how its status moves, and where the client's own PO number actually goes.
Contracts
Ongoing billing agreements — monthly amounts, seasonal overrides, sub-properties, and how signing and invoicing actually work.
Communication Automations
How sequences, triggers, and events work — and how Automations differ from Sales Campaigns.
Forms & Lead Capture
Building, publishing, and sharing public forms — and what happens to a submission once it lands.
Tickets
Support and service tickets — where they come from, how they're worked, and how they connect to the rest of a client's record.
Damage Cases
Tracking property damage and warranty claims tied to a job — what a case captures, how cost rolls up, and a real current limitation in how it connects to a client record.
Injury & Near-Miss Cases
Reporting injuries, illnesses and near misses from the field, following them up in the office, tracking self-paid costs, supervisor alerts, and the Accident Free Workdays KPI.
Job Photos
Field photo documentation, annotation, and before/after comparisons — attached to a job site, not a person.
Online Payments & Stripe
How a client actually pays an invoice online, how Stripe Connect keeps every org's money in their own account, and how the platform takes zero cut.
Administration
Frequently asked
Purchasing
How do I create a purchase order from a requisition?

Open the approved requisition from Purchasing > Requisitions and click 'Convert to PO' in the detail panel. The PO is pre-filled with all line items, vendor, and cost information. You can adjust any field before saving.

Why can't I approve my own requisition?

There's no rule against it — if you hold the role assigned to that approval step, you're listed as an eligible approver even on your own submission. What usually happens is another eligible approver decided first: when a step allows any user with a role (e.g., any Manager) to approve, the first decision resolves the step and the other eligible approvers' entries are marked 'Superseded'.

Why can't I edit the line items on an ordered requisition or PO?

Once a requisition or PO reaches Ordered (or a later status), only admins can change its line items (managers can't either). Ask an admin to make the change. Editing lines on a Pending Approval or Approved record, by contrast, sends it back through the approval chain for the new total.

What do the Parts Spend and Repair Cost reports include?

Reports > Parts Spend totals maintenance-part lines on POs by PO date and excludes canceled and rejected POs; pick Last 6 months, Last 12 months, or All time, and click any stat card to see the lines or POs behind it. Reports > Repair Cost totals the parts, labor and vendor/sub lines on work orders' Costs tabs over the same ranges, with cards that also drill down. The Equipt Dashboard shows Parts Spend MTD with repairs MTD beneath it.

Why does a line item require a product from the catalog?

Free-text item descriptions are not allowed. Every line must reference the Products catalog to ensure consistent naming, GL coding, and reporting. If the item doesn't exist yet, add it to the catalog first in Purchasing > Products.

Can I partially receive a purchase order?

Yes. When recording a receipt in Purchasing > Receiving, enter only the quantities that arrived. The PO tracks remaining open quantities and you can create additional receipts as more goods arrive.

How do I assign material costs to a specific job?

When adding line items to a Requisition or PO, set the optional 'Project' field on each line. Only Stocked Material and Project Material category items can be assigned to a project. Costs roll up in the project's Materials tab.

How do I record goods received against a purchase order?

Go to Purchasing > Receiving and click '+ New Receipt'. Select the PO, enter quantities received for each line, and save. Maintenance Part lines auto-update the CMMS Parts inventory quantity on hand.

Why did a product's unit cost change after a goods receipt?

A Products catalog entry and its linked CMMS Part always share one cost. Depending on the org's Costing Method (Settings > Costing — Manual, WAC, or FIFO), receiving stock at a different price can update that shared cost. See Administration > Inventory Costing Methods for details.

Maintenance & Work Orders
What's the difference between a Work Order and a Maintenance Request?

A Work Order is a direct maintenance task — created by Staff, Managers, or Admins and immediately actionable. A Maintenance Request goes through an approval flow before becoming a Work Order. Requestors can only submit requests.

Can a work order automatically create a requisition for parts?

Yes. Open a work order and use the 'Request Parts' action. This creates a linked requisition pre-filled with the parts needed, and stores the work order reference so cost traces back to the job.

How do I set up a preventive maintenance schedule?

Go to CMMS > PM Schedules and click '+ New PM Schedule'. Select the asset, set the frequency, add instructions, and save. Upcoming and overdue PMs surface in the Notifications bell.

How do I stop a PM schedule over the winter?

Open the schedule and click Pause. Pick a start date and either a resume date, 'Until I resume it', or 'Repeat every year' (e.g. Dec 1 → Apr 1). Paused cycles aren't due, can't be generated, don't trigger PM Due alerts, and don't count against PM compliance.

We forgot to generate last week's PM. What happens if we generate it now?

Generate it as usual. The batch is due on the date it was actually due, so once it's done it counts as late — not missed. Next Due moves to the next date on the schedule's cadence (e.g. this Wednesday), not a week from today. Finish that batch before generating the next one; a schedule can only have one open batch at a time.

Why does PM compliance show a missed PM when no work order exists?

Compliance is scored against the schedule's calendar. If a due date passes and nobody generates the work orders, that cycle counts as 'Not generated' (missed) for each asset on the schedule. Generating it turns it into an overdue PM, and completing it into a late one. If the equipment really wasn't running, pause the schedule for that period instead.

How is asset uptime calculated?

From the asset's status history: time Active ÷ time Active + In Shop + Out of Service, over the window you pick. Inactive and Disposed time is left out entirely, so a mower parked for the winter isn't counted as down. Average repair time is the average length of an In Shop / Out of Service stretch.

What counts toward an asset's maintenance cost?

Parts, labor and vendor charges on the asset's work orders (the lines on each work order's Costs tab), dated by when the work order was completed — or created, while it's still open. Skipped work orders don't count. PM is anything typed Preventive or generated from a PM schedule or meter automation; the rest is Repair.

Do meter-based oil changes count toward PM compliance?

Yes. A work order from a Meter Threshold automation — created directly or converted from its request — is due 7 days after the meter tripped. Done within 7 days is on time; a request still unconverted after 7 days counts as a missed PM.

What happens when a part falls below minimum stock?

A Low Stock alert appears in the Notifications bell and a warning badge shows on the Parts page. Use the Low Stock Alert automation template to automatically create a purchase requisition when this happens.

Why didn't my automation fire when I expected?

Check that: 1) The automation is enabled. 2) 'Pending Reset' is false — set to true after firing and cleared when the linked WO is marked Done. 3) The meter's current value actually crosses the threshold. 4) The correct meter is selected in the trigger config.

How does the service interval on an automation work?

After the triggered WO is marked Done, the threshold automatically advances by the interval amount. Example: oil change automation at 36,000 miles with a 5,000 mile interval — after WO completes, threshold becomes 41,000 miles automatically.

Why does a part's audit trail show a 'name conflict' entry?

The bulk PO import keeps the first name it ever saw for a given part number. If a later purchase uses a different name for the same part number (a different vendor's label for an interchangeable part, or a genuine data-entry mismatch), the import doesn't silently overwrite the catalog — it records a 'name conflict' entry on that part/product's audit trail instead so it can be reviewed rather than lost.

A part number seems to cover two different physical parts — what should I do?

Split it into two catalog entries — one per physical part — rather than sharing one record. Give each a distinct part number (e.g. append '-OEM' / '-GEN' if the real-world part number would otherwise collide) so future purchases and Work Order usage attach to the correct one. Any Assets already linked to the shared part should be copied over to the new entry for whichever part actually fits them. Once split, link the two as alternatives via the Interchangeable Parts section (see Parts Inventory).

Does it matter which part I start from when linking two interchangeable parts?

No. Whichever part you click 'Link as alternative part' from, and whichever part you pick, is purely which side of the link initiates it — the display is identical either way and neither part is treated as more correct or authoritative.

Landscapt (CRM)
Should we report near misses, or only injuries?

Report both. A near miss is an event that could have hurt someone but didn't, and the Injury / Near Miss form in Job Photos > Field has its own type for it. Near misses are tracked and reported separately and never reset Days Since Last Injury or the Accident Free Workdays KPI, so reporting them can't make your numbers look worse.

Does the in-app injury report replace our paper accident investigation form?

No. The in-app report is the quick intake and the place the case is tracked. Keep using your paper investigation form for the detail that doesn't belong in the app (date of birth, address, unsafe acts and conditions checklists, signatures) and attach the finished PDF to the case's Files tab.

Why didn't my supervisor get an alert when I filed an injury report?

The alert finds the supervisor by matching the name typed on the report to an employee who has a login — pick the name from the suggestions rather than typing it. People on the Injury & Near-Miss Report Recipients list (Settings > Notifications, default all admins and managers) are alerted regardless, and anyone can turn the alert off for themselves. You are never alerted about a report you filed yourself.

Why is Accident Free Workdays showing a dash?

It's calculated from Injury Cases, and shows a dash until at least one injury or illness case exists. Near misses and deleted cases don't count.

What's the difference between an estimate's stage and its approval status?

Stage (Draft/Quote/Sent/Accepted/Lost/Invoiced) tracks where the estimate sits in the sales process. Approval Status (Not Required/Pending/Approved/Rejected) is a separate internal sign-off gate — an estimate can be stuck 'Pending' approval even though its stage already says 'Sent', which blocks it from actually going out.

Why can't I pick a client as a parent account?

A commercial client can only be linked as a parent if it doesn't already have a parent of its own — the hierarchy is one level deep. If the client you want to use as a parent is itself a sub-account, unlink it from its current parent first.

Where do I enter a property's zone measurements, like turf or mulch bed square footage?

On the client's Custom Fields tab, not the Add Property dialog — there's currently no dedicated per-zone editor in the UI. The client-level totals (Turf Sq Ft, Mulch Bed Sq Ft, Gross Sq Ft, Linear Ft Perimeter/Edging, Yards of Mulch) entered there feed the estimating engine's production-rate calculations.

Does the 'PO Number' field on an invoice link to a purchase order in the PO module?

No. It's a free-text field for the client's own purchase order reference number and has no connection to this platform's internal Purchase Orders (Requisitions → POs → Receiving). To connect vendor PO spend to a CRM job, assign the PO line item to a Project instead — cost tracking is at the project level, not the individual job.

How does the Dispatch Board calculate hours if a crew doesn't clock in?

It falls back to (scheduled end time − scheduled start time) × the number of crew members assigned to the visit. Clocking in/out with actual times overrides this estimate.

What's the difference between a job's 'Waiting List' type and the Waiting List page?

They're the same thing — a job with type 'waiting_list' (or 'package', before its recurring dates are set) has no fixed date, only a date range, and automatically surfaces on the Waiting List page for opportunistic dispatch.

How is snow invoicing different from a regular invoice?

Snow Invoicing groups a client's uninvoiced storm visits and computes the total from the job's invoice type — a flat rate per storm event, a rate per inch of snowfall, or an hourly rate — rather than itemizing a fixed monthly job the way a regular contract invoice does.

A snow visit shows 'Possibly billed on invoice #N' — what does that mean?

The visit's job already has a non-void invoice line for the same service date that isn't linked to the visit (for example an invoice made by hand), so generating from Snow Invoicing would bill it a second time. Check that invoice first; if you generate anyway you'll be asked to confirm with 'Bill anyway'.

Why can't I charge an invoice or void it?

Hover the greyed-out button. Void is blocked while payments are applied (refund or unapply them first). Charge is blocked while a card charge or bank debit is still processing (bank debits take a few business days), and charging is refused while a chargeback on that invoice is open, until the dispute closes.

Why does a client's proposal link still show the old price after I edited the estimate?

The link shows the last version you sent. Edit as much as you like, then use Send or Copy link to publish the new version; until then the client sees the previous one and can't accept it. The estimate header shows an 'Edited since Version N was sent' banner when the two differ.

Can an automation email send itself before anyone reviews it?

Only if 'require approval' is off for that email event. Turn it on to hold the email for manual approval before it sends — useful when you're not fully confident in a new automation yet.

Users & Settings
How do I report a bug or suggest an idea?

Use Send Feedback (the feedback button in the app, also on the Support page). Pick Bug, Idea or Other, describe what happened or what you'd like, and attach a screenshot if you can — the page you were on is included automatically. Submissions go straight to the Landscapt team.

How do I add or remove users from my organization?

Go to Settings > Users. Admins can invite new users by email and assign a role (Admin, Manager, Staff, Purchaser, Requestor, or Viewer). Users receive an email invitation and set their own password on first login.

What happens if we cancel our subscription?

The account becomes read-only for 90 days: you can still view your data, but saves are blocked, automations pause, and a banner shows the end date with a Resubscribe link (Settings > Subscription). After 90 days the app locks and shows a Resubscribe screen; your data is kept. Resubscribing restores full access and resumes automations.

Can I customize which fields are required?

Yes. Go to Settings > Required Fields to toggle required/optional status for fields across both modules.

How do I import existing data?

Go to Settings > Import / Export. Download the template for the entity you want to import, fill it in, and upload. The importer validates each row before committing.

How is data isolated — can other companies see our data?

All records are scoped to your organization at the database level using Row Level Security. Queries that don't match your org ID return zero rows by design. No data is ever shared between organizations.

How do I connect the Samsara integration for vehicle odometers?

Go to Settings > Integrations and enter your Samsara API key. Once connected, vehicle odometer readings sync automatically and update the corresponding vehicle meter, which can trigger mileage-based automations.

How do I connect Zapier?

Go to Master Account Settings > Integrations and click Generate Key — this is account-wide, not tied to Equipt or Landscapt specifically. Paste the key into Zapier's API Key field when connecting the app. Most Landscapt triggers fire instantly; most Equipt triggers check every few minutes instead. There's a full, detailed guide to every trigger and action linked right on that Integrations tab, under the API key.

Didn't find it here?
Tell us what you're stuck on and we'll get back to you directly.
© 2026 Landscapt. All rights reserved.