Work Orders
Note — desktop feature. This chapter describes the TechieCRM desktop application. Work Orders is not yet available in the web portal: the web shows a read-only list of any records synced from the desktop, and none of the dialogs, toolbars, right-click actions or automations described below exist there yet.
A work order is a dispatched unit of work: what is to be done, for which customer, by which partner/assignee, when, and what it costs/earns. Work orders are their own module (not a child of Service) because they can come from a Service case, a Sale, a Project, an Agreement, or stand alone. (No source-CRM equivalent.)
In this chapter - The dispatch list - The work order dialog: Basic, Lines, Assignments - Two statuses: internal and customer - Assigning a partner: role, agreed amount, and the compliance guard - Raising a work order from a won sale - Raising a work order from a ticket, without opening it first - Where work orders appear
The dispatch list
Icon bar ▸ Work Orders. Status icon/tint by internal status; filters by status; New Work Order. Double-click opens the order. The toolbar's Column Setup button (left of Refresh) lets you choose, create and share the columns shown — see Chapter 20, Column setups on the TechieCRM windows.
The toolbar's Work Order Settings (⚙) button reports that Work Order Settings is not yet implemented — there is no Work Orders section in Settings yet. It is listed here so you know the button is answering honestly rather than failing.
The dialog
| Tab | Contents |
|---|---|
| Basic | Subject, description, customer (Choose…), parent (ticket / sale / project / agreement — an agreement-spawned order names its agreement, a sale-spawned order names its sale), priority, scheduled date, site location, zone, NTE (not-to-exceed), currency, on-site hours, and the two status pickers. |
| Lines | Products / labour / parts / inventory: description, qty, unit price (customer) and unit cost (yours). Totals roll up to the header. |
| Assignments | The assignment ledger — every partner/person assigned, role, agreed amount, status. Assign Partner… picks from the client list and asks for the role and the agreed amount. |
Zone and on-site hours
- Zone is the dispatch zone or territory the job falls in — free text, up to 60 characters
(for example
Zone 4 — North). Leave it blank if you do not zone your work. - On-site hours is how long the visit took, in hours (two decimals). While it reads “— not recorded” the field is empty; type or step above 0 to record a figure. Setting it back to 0 clears it again.
Both can be filled in when you create the order and changed afterwards on an existing order; Save writes them.
What Save writes
Save (on an existing order) writes the two status pickers and every field you can edit on the Basic tab:
| Written by Save | Notes |
|---|---|
| Subject | Required — a work order must always have one. If you clear it, Save stops and asks you to type a subject; nothing at all is saved until you do. |
| Description | The free-text box under the subject — what the job actually is. There is no length limit and line breaks are kept. Empty the box to clear it. |
| Site / Location | Clear the box to remove the site again. |
| Priority | Low / Medium / High / Urgent. An order with no priority yet shows Medium as a stand-in and stays unset unless you choose one. |
| Scheduled date | The date shown in the picker. An order that has no date yet shows today's date as a stand-in — Save leaves it unscheduled unless you actually pick a date. |
| NTE amount | Set it back to 0 to clear the not-to-exceed figure. |
| Currency | CAD or USD. Changing it re-labels the order's amounts; it does not convert them. Amounts print as $1,234.50 CAD, and a negative amount as -$50.00 CAD — minus sign before the dollar sign (Chapter 7, How money is written). |
| Zone | Clear the box to remove the zone. |
| On-site hours | Set it back to 0 (“— not recorded”) to clear it. |
| Internal status / Customer status | Completing an order stamps the completed date (and, for a plan-spawned order, updates the plan's last-service date). |
Everything on the Basic tab is re-read from the database straight after a save, so what you are looking at is what was stored.
Note. The customer and the parent record (the case, sale, project or agreement the order came from) are set when the order is created; on an already-saved order they are shown for reference and cannot be changed. Lines and assignments have their own tabs and are saved there, not by this button.
Two statuses
| Internal (your team) | Customer-facing |
|---|---|
| new → dispatched → accepted → on site → completed / cancelled | open → scheduled → in progress → completed → closed |
Assigning a partner
Assignments ▸ Assign Partner… searches your client list and, alongside the search results, asks for two things about this assignment:
| Field | What it means |
|---|---|
| Role | Lead, Member or Crew. Only a Lead assignment fills the order's lead-partner field and moves a brand-new order to dispatched — a Member or Crew assignment is added to the ledger without changing the header. |
| Agreed amount | What you have agreed to pay this partner for this assignment (your payable). It is recorded in the work order's own currency, shown next to the box, so a USD order records a USD amount. While it reads “— not agreed yet” no amount is stored. |
Both appear straight away in the Assignments tab's Role and Agreed columns.
The compliance guard
When you assign a partner whose compliance is expired or missing for that kind of work (Chapter 11), TechieCRM warns you and asks to confirm before assigning.
Raising a work order from a won sale
When a sale is won, the work it was sold for becomes a job to dispatch. TechieCRM raises that work order straight from the sale, so the order carries the customer and stays linked back to the sale it came from.
Two ways in, both on the Sale (Chapter 6):
| Where | What it does |
|---|---|
| Actions ▸ Create Work Order from this Sale (toolbar) | Opens the New Work Order dialog already linked to the sale, with the sale's client as the customer, the sale's objective as the subject (Work order — <objective>) and one line already filled in from the sale (below). Fill in schedule, adjust the lines and assign as usual, then Create. |
| Work Orders tab ▸ Create Work Order | Exactly the same thing — the button on the tab does the same job as the Actions item, seeded line and all. The tab also lists every work order this sale has already produced; double-click one to open it. |
A sale never raises a work order on its own. Saving a sale, or ticking Won, creates nothing. The order is only created when you ask for it here — and even then, nothing is written until you press Create in the New Work Order dialog.
The line the sale fills in for you
The New Work Order dialog opens with its Lines tab already holding one line taken from the sale:
| On the line | Where it comes from |
|---|---|
| Description | The sale's Objective, exactly as it reads on screen — e.g. Installation & Configuration. |
| Quantity | 1. A sale records one agreed amount for the whole job, not a unit price and a count. |
| Unit price | The sale's Forecast Revenue. If the sale has no revenue figure the line starts at $0.00 — type the real amount over it. |
| Unit cost | The sale's Cost, or $0.00 if the sale has none. |
| Item type | Left blank. A sale does not say whether what was sold is a product, labour or a part, so it is yours to choose. |
It is a starting point, not a decision. Nothing about the line is fixed: select it and use Edit Line… to change any of it, Remove Line to throw it away, or Add Line… to add more alongside it. The line — and everything you did to it — is written only when you press Create.
If you correct the sale's Objective, Forecast Revenue or Cost before raising the order, the line follows what is on screen, not what was last saved.
A sale with an empty Objective raises the work order with no lines at all. TechieCRM will not write a line reading "Sale" or "TBD" just to have one — an empty Lines tab tells you honestly that there is nothing to copy, and you add the lines yourself.
Won sales only
Both are available only when the sale's status is Won and the sale has been saved. On any other sale they are greyed out, and hovering says why:
| What you see | What it means |
|---|---|
| "Work orders can only be raised from a sale whose status is Won." | The sale is New, In Progress, Lost, Abandoned or Suspended. Set its status to Won on the sale's Status tab and save. |
| "Save this sale first, then mark it Won to raise a work order." | The sale has never been saved, so there is nothing for the work order to link to. |
| "This sale could not be identified in the database, so it cannot be linked." | TechieCRM could not read the sale back (usually no database connection). Nothing is created — it will not guess a link. |
Ticking Won on the Status tab is not enough on its own: Apply or OK the sale first. The buttons follow the sale's saved status, and they switch on as soon as the save completes — you do not have to close and reopen the sale.
The sale's existing work orders are always listed on the Work Orders tab, whatever the sale's status. Only creating a new one is restricted to won sales.
What the link records
The new order is stored with a parent of Sale and a permanent reference to that exact sale, so:
- the work order's Parent field names the sale — e.g. Sale 4001 — Replace the roof — instead of showing a bare reference number;
- the sale's Work Orders tab finds it again;
- the same link is understood by the web portal and the mobile app, so an order raised on the desktop shows under the right sale everywhere.
The parent is fixed when the order is created and cannot be changed afterwards (see the note under What Save writes).
Raising a work order from a ticket, without opening it first
The Work Orders ribbon tab's Create ▸ From Ticket button raises a work order linked to a
Service ticket in one step — pick the ticket from a search list (type to filter by ticket number,
subject or company), and TechieCRM opens the New Work Order dialog already linked to it, with
the ticket's client as the customer and the ticket's subject as the work order's subject
(Work order — <subject>). Fill in schedule, lines and assignment as usual, then Create.
This is the same link the ticket's own Work Orders tab makes (see below) — From Ticket exists because the Work Orders module has no "selected ticket" of its own to act on, so it asks first instead of requiring you to open the ticket to get there.
Where work orders appear
- The customer's Interactions (as customer) and the partner's Interactions (as partner).
- A Work Orders tab on the Sale, Ticket, Project and Agreement dialogs — each listing the orders that record spawned, with Create Work Order and double-click-to-open.
- A Work Orders tab on the Partner dialog, listing the orders that partner is assigned to. It is a read-only list: partner work is dispatched from the customer's side, so there is no Create button there.