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"
- Open the CRM opportunity, click New Quotation
- 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
- Verify customer, products, quantities, and pricing
- Add customer PO number in the Customer Reference field (if they provided one)
- 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)
- Collect deposit before ordering equipment if required
- Create a partial invoice from the SO for deposit amount
- 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
- Log into the Husqvarna dealer portal
- Select product(s) and place the order in their system
- Copy their order confirmation number
- In Odoo: open the draft PO, add confirmation number to notes, click Confirm PO
- When Husqvarna bill/invoice arrives: create Vendor Bill in Odoo, match to PO, pay via ACH from bank
Kress / Positec
- Log into the Positec dealer portal
- Place order, note confirmation number
- Confirm PO in Odoo with confirmation number in notes
- When Positec invoices: create Vendor Bill in Odoo, pay via ACH
Korechi
- Confirm the Odoo PO and send it directly to Korechi (this IS the purchase order they need)
- Korechi invoices against it ? create Vendor Bill in Odoo when received, pay via ACH
NexMow
- Contact NexMow rep directly (TBD ? update as process is confirmed)
- Create Vendor Bill in Odoo when they invoice, pay via ACH
STEP 5: Receive Equipment into Inventory
When: Equipment physically arrives at our location
- Open the Purchase Order in Odoo
- Click Receive Products
- Verify quantities match what arrived physically
- Validate the receipt ? inventory moves into WH/Stock or TPB/Stock
- Record the serial number on the equipment record immediately
- 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
- Contact customer to confirm install date and time
- Create calendar event linked to the Sale Order
- Confirm site survey has been completed ? if not, schedule site survey first (separate visit)
- 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
- In Odoo: open the Delivery Order linked to the Sale Order, verify product and serial number match
On Site
- Install boundary wire / RTK setup (depending on model)
- Place and wire charging station
- Connect unit, configure zones and schedule in app
- Run full test mow cycle ? verify obstacle detection, return to base, charging
- Walk customer through app: zones, scheduling, alerts, manual control
- Customer signs off
After Installation ? Critical Odoo Steps
- Return to Odoo, validate the Delivery Order
- Inventory moves automatically: WH/Stock (or TPB/Stock) ? Partners/Customers/SYNC Deployed
- The unit is now tracked under the customer in the system
STEP 8: Invoice the Customer
- Open the Sale Order, click Create Invoice
- If a deposit was collected earlier, apply it here
- Review line items, click Confirm to post
- Send invoice to customer from Odoo
- 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:
- In Odoo, open the Sale Order
- Create a new subscription (or the SO may auto-generate one if set up as recurring)
- Verify billing cadence (monthly) and first billing date
- Confirm customer has app access and knows what MaintainME covers
Inventory Location Reference
| Location | Meaning |
|---|---|
| WH/Stock | Equipment on hand at Knoxville HQ, not yet deployed |
| TPB/Stock | Equipment on hand at West Palm Beach, not yet deployed |
| Partners/Customers/SYNC Deployed | Active customer units ? deployed and in service |
| Partners/Customers/Service / Repair | Units pulled in for service, repair, or warranty work |
| Partners/Customers/Loaner Pool | Loaner units available while customer unit is in service |
| Used/Stock | Refurbished / previously deployed units available for resale |
Entity / Billing Reference
| Territory | Entity to Bill From | Warehouse |
|---|---|---|
| Knoxville + most TN/national | KnoxBots LLC | WH/Stock |
| South Florida / Palm Beach | TerraSync Palm Beach LLC | TPB/Stock |
Vendor Quick Reference
| Vendor | How to Order | Odoo PO | Payment |
|---|---|---|---|
| Husqvarna | Husqvarna dealer portal | Auto-drafted on SO confirm; add their confirmation # to notes | ACH from bank when bill arrives |
| Kress / Positec | Positec dealer portal | Auto-drafted on SO confirm; add their confirmation # to notes | ACH from bank when bill arrives |
| Korechi | Send Odoo PO directly to Korechi | IS the actual PO ? confirm and send to vendor | ACH from bank when they invoice |
| NexMow | Contact rep directly | Create manually | ACH 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
- Create the Sales Order — Normal process. Add the Installation/Training Fee product ($800 for 0-5 acres).
- Confirm the SO — The booking link is pre-loaded in the SO notes.
- Decide: self-schedule or manual? — If self-schedule, proceed to step 4. If manual, skip to step 7.
- Copy the booking link from SO notes — Link: https://terracore.odoo.com/appointment/20
- 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.
- 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)
- Manual scheduling (alternative): Create the FSM task directly in Field Service, assign William, set the date. No booking link needed.
- William completes install — Marks FSM task as done in Odoo.
- 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