📄 TerraSync - Quote to Installation SOP

TerraSync - Quote to Installation SOP

Last updated: March 3, 2026 | Version: 2.0

Overview

This SOP covers the complete operational workflow from a won deal through equipment procurement, installation, invoicing, and MaintainME subscription setup. Anyone on the team can execute this process. Follow each step in sequence.


STEP 1: Convert Won Opportunity to Sale Order

Trigger: CRM opportunity moved to "Won"

  1. Open the CRM opportunity, click New Quotation
  2. Select the correct company/entity on the SO:
    • KnoxBots LLC ? Knoxville territory and most residential/commercial
    • TerraSync Palm Beach ? South Florida / West Palm Beach territory
  3. Verify customer, products, quantities, and pricing
  4. Add customer PO number in the Customer Reference field (if they provided one)
  5. Click Confirm ? this automatically:
    • Creates an Equipment record in Odoo linked to the SO
    • Generates a draft Purchase Order (if product has Make to Order route set)

Note: For Sourcewell / government customers, include the Sourcewell contract number and customer member number in the SO notes. See the Sourcewell SOP (Knowledge #659) for full details.


STEP 2: Collect Deposit (if applicable)

  1. Collect deposit before ordering equipment if required
  2. Create a partial invoice from the SO for deposit amount
  3. Once paid, proceed with Step 3

STEP 3: Check Inventory

Check available stock at the correct warehouse:

  • WH/Stock ? Knoxville (Main HQ, all KnoxBots entity transactions)
  • TPB/Stock ? West Palm Beach (TerraSync Palm Beach entity)
  • Unit in stock? Skip to Step 5 (Schedule Install)
  • Not in stock? Proceed to Step 4

STEP 4: Order Equipment from Vendor

Odoo automatically creates a draft PO when the SO is confirmed (Make to Order route). Review and act on that draft ? do not create a new one manually.

Husqvarna

  1. Log into the Husqvarna dealer portal
  2. Select product(s) and place the order in their system
  3. Copy their order confirmation number
  4. In Odoo: open the draft PO, add confirmation number to notes, click Confirm PO
  5. When Husqvarna bill/invoice arrives: create Vendor Bill in Odoo, match to PO, pay via ACH from bank

Kress / Positec

  1. Log into the Positec dealer portal
  2. Place order, note confirmation number
  3. Confirm PO in Odoo with confirmation number in notes
  4. When Positec invoices: create Vendor Bill in Odoo, pay via ACH

Korechi

  1. Confirm the Odoo PO and send it directly to Korechi (this IS the purchase order they need)
  2. Korechi invoices against it ? create Vendor Bill in Odoo when received, pay via ACH

NexMow

  1. Contact NexMow rep directly (TBD ? update as process is confirmed)
  2. Create Vendor Bill in Odoo when they invoice, pay via ACH

STEP 5: Receive Equipment into Inventory

When: Equipment physically arrives at our location

  1. Open the Purchase Order in Odoo
  2. Click Receive Products
  3. Verify quantities match what arrived physically
  4. Validate the receipt ? inventory moves into WH/Stock or TPB/Stock
  5. Record the serial number on the equipment record immediately
  6. Update the unit firmware/software to latest version before install

Critical: This step is what makes inventory accurate in Odoo. Do not skip it.


STEP 6: Schedule Installation

  1. Contact customer to confirm install date and time
  2. Create calendar event linked to the Sale Order
  3. Confirm site survey has been completed ? if not, schedule site survey first (separate visit)
  4. Pre-Install Checklist (complete before leaving shop):
    • Firmware/software updated on the unit
    • All accessories confirmed staged (boundary wire, stakes, connectors, guide cable)
    • Charging station verified and functioning
    • App access confirmed for customer
    • Tools loaded

STEP 7: Install Day

Before Leaving Shop

  1. In Odoo: open the Delivery Order linked to the Sale Order, verify product and serial number match

On Site

  1. Install boundary wire / RTK setup (depending on model)
  2. Place and wire charging station
  3. Connect unit, configure zones and schedule in app
  4. Run full test mow cycle ? verify obstacle detection, return to base, charging
  5. Walk customer through app: zones, scheduling, alerts, manual control
  6. Customer signs off

After Installation ? Critical Odoo Steps

  1. Return to Odoo, validate the Delivery Order
  2. Inventory moves automatically: WH/Stock (or TPB/Stock) ? Partners/Customers/SYNC Deployed
  3. The unit is now tracked under the customer in the system

STEP 8: Invoice the Customer

  1. Open the Sale Order, click Create Invoice
  2. If a deposit was collected earlier, apply it here
  3. Review line items, click Confirm to post
  4. Send invoice to customer from Odoo
  5. When payment received: click Register Payment on the invoice

STEP 9: Set Up MaintainME Subscription

If the customer purchased a MaintainME plan, set up the recurring subscription after install:

  1. In Odoo, open the Sale Order
  2. Create a new subscription (or the SO may auto-generate one if set up as recurring)
  3. Verify billing cadence (monthly) and first billing date
  4. Confirm customer has app access and knows what MaintainME covers

Inventory Location Reference

LocationMeaning
WH/StockEquipment on hand at Knoxville HQ, not yet deployed
TPB/StockEquipment on hand at West Palm Beach, not yet deployed
Partners/Customers/SYNC DeployedActive customer units ? deployed and in service
Partners/Customers/Service / RepairUnits pulled in for service, repair, or warranty work
Partners/Customers/Loaner PoolLoaner units available while customer unit is in service
Used/StockRefurbished / previously deployed units available for resale

Entity / Billing Reference

TerritoryEntity to Bill FromWarehouse
Knoxville + most TN/nationalKnoxBots LLCWH/Stock
South Florida / Palm BeachTerraSync Palm Beach LLCTPB/Stock

Vendor Quick Reference

VendorHow to OrderOdoo POPayment
HusqvarnaHusqvarna dealer portalAuto-drafted on SO confirm; add their confirmation # to notesACH from bank when bill arrives
Kress / PositecPositec dealer portalAuto-drafted on SO confirm; add their confirmation # to notesACH from bank when bill arrives
KorechiSend Odoo PO directly to KorechiIS the actual PO ? confirm and send to vendorACH from bank when they invoice
NexMowContact rep directlyCreate manuallyACH from bank

Common Mistakes to Avoid

  • Not validating the Delivery Order after install ? inventory stays in "stock" forever, never moves to Deployed. Always validate on install day.
  • Not receiving goods against the PO ? skipping this means Odoo never knows the unit arrived. Always receive, even if you ordered via dealer portal.
  • Wrong entity on the SO ? billing from KnoxBots for Palm Beach deals (or vice versa) creates accounting issues. Check before confirming.
  • No serial number captured ? serial number must be on the equipment record to support warranty, service, and ownership transfer tracking.

Related SOPs: Ownership Transfer SOP | Loaner Swap SOP | Sourcewell Government Purchasing Guide (Knowledge #659) | Module Interconnection Map (Knowledge #666)

Questions or updates: Add a comment below or contact Wesley or Tensor.


Customer Self-Scheduling — Install Date Booking

Added March 2026 | Applies to: Residential installs, single-unit commercial

Overview

TerraSync offers an optional self-scheduling flow where customers can book their own installation date directly from William's calendar. This is toggled per order — not every sale uses it.

When to Use Self-Scheduling

  • Customer needs flexibility to pick their own date/time
  • Residential installs where scheduling back-and-forth would be slow
  • Customer is not ready to commit to a specific date at time of sale

When NOT to Use Self-Scheduling

  • Commercial or complex installs requiring site coordination
  • Bundled installs with multiple techs or equipment
  • Cases where you want to control the schedule directly

Step-by-Step Process

  1. Create the Sales Order — Normal process. Add the Installation/Training Fee product ($800 for 0-5 acres).
  2. Confirm the SO — The booking link is pre-loaded in the SO notes.
  3. Decide: self-schedule or manual? — If self-schedule, proceed to step 4. If manual, skip to step 7.
  4. Copy the booking link from SO notes — Link: https://terracore.odoo.com/appointment/20
  5. Send to customer — Text or email the link. Customer picks a 3-hour window from William's available Mon-Fri 8AM-5PM slots. They receive a confirmation email automatically.
  6. Automatic actions on booking:
    • William receives a calendar invite blocking his schedule
    • A Field Service task is auto-created in William's FSM queue with the date, customer info, and SO linked
    • If customer email matches Odoo record: SO is auto-linked to the task
    • If no match: task is still created — William links the SO manually (one click)
  7. Manual scheduling (alternative): Create the FSM task directly in Field Service, assign William, set the date. No booking link needed.
  8. William completes install — Marks FSM task as done in Odoo.
  9. Invoice customer — Invoice off the confirmed SO. Normal billing flow.

Mileage Pricing

  • Base install: $800 (within 30-mile one-way / 60-mile round trip)
  • Over 60 miles round trip: add $1.50 per extra mile
  • Example: 40 miles one-way = 80 RT = 20 extra miles = $30 surcharge = $830 total

Tech Reference

  • Appointment Type: ID 20 — Robotic Mower Installation
  • Assigned tech: William Pitts (User ID 8)
  • Automation Rule: ID 19 — fires on booking, auto-creates FSM task
  • To scale to another tech: create new Appointment Type, assign that tech, update automation rule filter