Field Service Job Cards, Technician Dispatch, Mobile Touch Sign-Off & Governance Studio
A complete guide to dispatching internal technicians and 3rd-party subcontractors, tracking live GPS & timer milestones on smartphones, capturing dual digital customer/technician signatures on glass, consuming serialized warehouse parts, and converting completed field work into SARS-compliant Tax Invoices and Delivery Notes in one click.
In This Article
1. Field Service Accounting 101: Unbilled WIP, Call-Out Fees & Subcontractors
In field service businesses (IT & network installations, solar & electrical contractors, HVAC & plumbing, security & CCTV, medical equipment servicing, or fleet repair), revenue is frequently leaked when technicians finish a job on-site, write notes on a paper pad in their van, and forget to tell the accounts department which spare parts they used or how many kilometres they drove.
Keystone X eliminates revenue leakage by unifying your **Dispatch Desk**, **Mobile Field Technicians**, **Warehouse Inventory**, **Helpdesk Tickets**, and **General Ledger** into a single paperless chain:
Unbilled Work-in-Progress (WIP) vs. Realized Revenue
While a Job Card is in progress (`Dispatched`, `En Route`, `On-Site`, `Pending Review`, or `Approved`), every hour logged by a technician, every kilometre driven, and every cable or spare part added to the Job Card accumulates in real time as **Unbilled WIP Value**.
No General Ledger revenue or SARS Output VAT is posted while a job is still in WIP. The moment your service manager clicks **Convert to Invoice**, Keystone X sweeps all four billable streams (**1. Fixed Call-Out Fee**, **2. Unbilled Technician Labor Hours**, **3. Round-Trip Travel Distance**, and **4. Billable Parts & Consumables**) into a formal Tax Invoice (`INV-XXXX`), shifting the value from *Unbilled WIP* to *Billed & Realized Revenue*.
Billing Customer vs. Site Location Customer (3rd-Party Dispatch)
Frequently, the company paying your invoice (**Billing Customer / Head Office / OEM Contractor**) is not the physical address where your technician must drive (**End-Client Site Location**).
Every Keystone X Job Card separates **Billing Customer** (`customer_id`) from **Site Location Customer** (`site_customer_id`). When your technician opens the Mobile Cockpit on their phone, Google Maps GPS navigation and click-to-call buttons automatically route them to the **Site Location Customer**, while 1-Click Invoicing bills the **Billing Customer**!
Internal Technicians (JC-) vs. 3rd-Party Subcontractors (SUB-)
You can dispatch a job to an internal staff member (**Assigned Technician**) or outsource it to an approved supplier from your Vendor Directory (**3rd-Party Subcontractor**). When a Subcontractor is assigned, Keystone X can automatically switch the Job Card numbering prefix from `JC-0001` to `SUB-0001` and track their external docket/reference number (`external_jobcard_no`) alongside your client billing.
Cryptographic Sign-Off & Automatic Helpdesk Ticket Closure
When a technician finishes work on-site and captures the customer's signature on their smartphone screen (`jobcard/mobile/{id}`), Keystone X timestamps the completion, transitions the Job Card to `Pending Review`, **locks the Job Card against tampering**, notifies office administrators, and—once invoiced—automatically closes any linked Helpdesk Support Tickets!
2. The Field Service & Dispatch Command Center (/jobcard)
Navigate to **Operations → Job Cards** (`/jobcard`) in the left sidebar to open the **Field Service & Dispatch Command Center**.
jobcards-command-center-overview.pngHow to capture this screenshot:
- Log in as an Administrator or Service Manager and navigate to
/jobcard(Roster View). - Ensure at least 3–4 sample Job Cards exist across different stages (e.g., Dispatched, On-Site, Pending Review, and Invoiced).
- Capture the full workspace showing the Top Action Toolbar, the 6 Telemetry KPI Cards, the Interactive Workflow Pipeline Stepper, and the 5-Tab Operational Roster Table.
Top Header Action Toolbar
| Button / Control | Route / Trigger | Exact System Behavior |
|---|---|---|
| Roster View | /jobcard?view=list |
Displays the searchable, filterable 5-tab DataTables roster with live timers and 1-click financial actions. |
| Dispatch Board | /jobcard/kanban |
Switches to the interactive Drag-and-Drop Kanban Dispatch Board grouped by workflow stage. |
| My Tech Queue | /jobcard/myJobs |
Filters the view into a streamlined mobile-friendly card grid showing only Job Cards assigned to the currently logged-in technician. |
| Customize | /jobcard/settings |
Opens the **4-Tab Job Cards Governance Studio** (Admin only) to configure workflow stages, SLA rate cards, safety checklists, and numbering rules. |
| Quick Dispatch | #quickDispatchModal |
Opens an instant slide-over modal to dispatch a technician or subcontractor in under 15 seconds without leaving the roster. |
| Dispatch Wizard | /jobcard/add |
Opens the full-screen Job Card Dispatch Wizard with Project/Task linking, 3rd-party site location selection, and SLA rate auto-fill. |
The 6 Live Field Telemetry KPI Cards
| KPI Card Title | Primary Metric & Sub-Badge | How It Is Calculated |
|---|---|---|
| 1. Active Dispatch | Open Job Card Count + Today badge |
Counts all Job Cards in active (non-completed/non-cancelled) stages, highlighting how many are scheduled for today's date (`scheduled_date = TODAY`). |
| 2. Live Field Execution | En Route / On-Site Count + Subcontracted badge |
Counts technicians currently travelling (`En Route`) or working at a client premises (`On-Site`), plus how many active jobs are assigned to 3rd-party subcontractors. |
| 3. QA & Billing Queue | Signed Off / Review Count + Ready to Bill badge |
Counts completed field jobs waiting in `Pending Review` or `Approved` status that have not yet been converted into a Tax Invoice. |
| 4. Unbilled WIP Value | Total Currency Value (`R`) + Logged Labor hrs badge |
Calculates the live unbilled revenue across all non-invoiced jobs: Call-Out Fee + (Unbilled Labor Hours × Hourly Rate) + (Travel km × Travel Rate) + Billable Parts Total. |
| 5. Billed & Realized | Converted Revenue (`R`) + Invoiced Jobs count |
Total revenue realized from Job Cards that have already been converted into formal Tax Invoices (`status = Invoiced` or `invoice_id IS NOT NULL`). |
| 6. Priority & ERP Links | Emergency / High Count + Project / Ticket count |
Counts urgent high-priority callouts currently open alongside how many Job Cards are linked to an active Project or Helpdesk Support Ticket. |
3. Interactive Workflow Pipeline & 5 Operational Roster Tabs
Directly beneath the KPI cards sits the **Interactive Field Service Workflow Pipeline Bar**. Clicking any stage pill (`All Stages`, `Dispatched`, `En Route`, `On-Site`, `Awaiting Parts`, `Pending Review`, `Approved`, or `Invoiced`) dynamically filters the roster table below it.
Below the pipeline bar, the Command Center organizes your field operations into **5 specialized tabs**:
- Active Field Roster (
#tab-active): All currently open field dispatches (`Dispatched`, `En Route`, `On-Site`, `Awaiting Parts`). - QA Review & Billing Queue (
#tab-review): Jobs where the technician has finished on-site work (`Pending Review` or `Approved`) and the office needs to inspect the checklist/photos and click **Convert to Invoice**. - Project & Ticket Linked (
#tab-linked): Field dispatches that are executing work for a larger **Enterprise Project** (`project_id`) or resolving a **Customer Support Ticket** (`ticket_id`). - Subcontractor Operations (
#tab-subcontracted): All dispatches outsourced to a 3rd-party vendor (`subcontractor_vendor_id`), displaying the vendor badge and external contractor docket number. - Invoiced & Completed Archive (
#tab-completed): Historical archive of all fully billed (`Invoiced`) and closed Job Cards with direct links to their generated Tax Invoices.
Roster Table Columns & Row Action Buttons
| Column / Button | Description & Interactive Controls |
|---|---|
| Job Card & Priority | Displays the unique Job Card number (`JC-0001` or `SUB-0001`), external reference number (`Ext: ...`), Priority badge (`Emergency`, `High`, `Medium`, `Low`), and Service Type badge (e.g., *Emergency Callout*, *Preventative Maintenance*). |
| Customer, Site & Links | Shows the **Billing Customer** name, the physical **Site Location Customer** badge (`Site: ...`) if different, plus clickable badges for linked **Projects**, **Tasks**, or **Support Tickets**, and a truncation of the reported fault description. |
| Resource / Dispatch | Displays the assigned internal Technician's avatar and name, or the 3rd-Party Subcontractor Vendor badge (`Subcontractor`), or an `Unassigned` warning badge. |
| Schedule & Stage | Shows the scheduled date (`scheduled_date`) and current workflow stage badge, plus a green `Signed Off` badge once the customer has signed on glass. |
| Field Effort & QA | Shows total logged labor hours (`Xh logged`) vs. estimated hours, total parts line items (`X parts`), and a live **QA Checklist Progress Bar** (`X/Y` safety/inspection checks completed). |
| Est. Value / Billing | Displays the calculated real-time billable value (`R X,XXX.XX`) broken down by `Labor + Callout` and `Parts`, and indicates whether it is still `Unbilled WIP` or linked to an `Invoiced` document. |
| Row Action Toolbar |
|
4. Drag-and-Drop Dispatch Board (Kanban) & Quick Dispatch Modals
Clicking **Dispatch Board** (`/jobcard/kanban`) switches the Command Center into an interactive multi-column visual board.
- Drag-and-Drop Stage Transitions: Dragging a Job Card from one column to another (e.g., from `Dispatched` to `En Route` or `On-Site`) fires an instant background update (`jobcard/updateStatusAjax`). Moving a card into `En Route`, `On-Site`, or `Pending Review` automatically stamps the exact GPS/server timestamp (`en_route_at`, `on_site_at`, `completed_at`).
- WIP Limit Overload Alerts: Each column header displays a badge showing `Active Cards / Max WIP Limit`. If a stage exceeds its configured Work-in-Progress limit (set in `/jobcard/settings`), the column header flashes red so dispatchers can rebalance workloads.
- Quick Dispatch Modal (
#quickDispatchModal): Allows dispatchers to create a job card on the fly while on the phone with a customer. Selecting a **Service Type** automatically populates the default **Call-Out Fee** and **Hourly Labor Rate** from your SLA Rate Card!
5. The 5-Tab Full Job Card Cockpit (/jobcard/edit/{id})
Clicking any Job Card number (e.g., `JC-0014`) opens the **Full Job Card Execution Cockpit** (`/jobcard/edit/{id}`). At the top of the cockpit, an interactive **One-Click Stage Progression Bar** shows the current stage along with exact timestamps for `En Route`, `On-Site`, and `Completed`, followed by 4 live summary cards: **Logged Field Labor**, **QA Inspection Progress**, **Parts & Materials Used**, and **Est. Total Billable (Ex & Inc VAT)**.
jobcards-5tab-execution-cockpit.pngHow to capture this screenshot:
- Open an active Job Card in
/jobcard/edit/{id}. - Ensure the 1. Dispatch, Diagnostics & Parts tab is active with sample diagnostic notes, 2 inventory parts added to the Materials table, and the right-hand Dispatch & Commercial Parameters sidebar visible.
- Capture the full screen including the top Stage Progression Bar and 4 KPI summary tiles.
Left Column: Technical Diagnostics & Materials Table
- Reported Fault / Scope of Work (
fault_description): The customer's initial problem description or installation brief. - Root Cause Analysis (
root_cause): Technical diagnosis discovered by the engineer on-site. - Work Performed / Resolution (
work_performed): Detailed breakdown of repairs or installations completed (printed prominently on the customer's Proof-of-Work PDF and Tax Invoice). - Future Recommendations / Follow-up (
recommendations): Advisory notes for preventative maintenance or future upgrades. - Materials, Spare Parts & Consumables Used Table:
- Use the Quick Add from Inventory Catalog picker (`#catalogQuickPicker`) to search your warehouse SKU catalog and auto-fill the item name, unit selling price, and SKU.
- Each row captures:
Part / Item Name,Description / SKU,Serial Numbers Used(for 360° serial warranty tracking),Qty,Unit Price (Ex VAT), and aBillable?toggle (`Bill Client` vs. `Warranty / No Charge`).
Right Column: Dispatch & Commercial Parameters
- Billing Customer (
customer_id) & Site Location Customer (site_customer_id): Separate selectors for who pays the invoice vs. where the physical site is located. - Assigned Technician (
technician_id) & 3rd-Party Subcontractor (subcontractor_vendor_id): Assign internal staff, an external contractor, or both. - Workflow Stage, Priority & Service Type / SLA: Selecting a Service Type automatically offers to apply its default Call-Out Fee and Hourly Labor Rate.
- Project, Task & Equipment Serial Links: Link the Job Card to an active **Project** (`project_id`), **Project Task** (`task_id`), **Serviced Asset Serial Number** (`equipment_serial`), or **External Contractor Ref #** (`external_jobcard_no`).
- Commercial Rates & Travel Recovery: Configure specific rates for this job:
Call-Out Fee,Labor Rate / Hr,Est. Hours,Round-Trip Travel (km), andRate per km.
- Load Blueprint Dropdown (
jobcard/applyChecklistTemplate): Select any pre-configured Safety or Quality Assurance Blueprint (e.g., *Electrical COC Inspection*, *Working at Heights Safety Check*, *CCTV Commissioning Steps*) and click **Apply Blueprint** to inject all steps in one click. - Ad-Hoc Checklist Input (
jobcard/addChecklistItem): Type custom site-specific verification steps and add them to the list. - Interactive Checkboxes (
jobcard/toggleChecklistItem): Checking an item stamps the user's name and exact completion timestamp (`completed_at`).
- Displays a complete audit trail of every time entry logged via the live stopwatch (`jobcard/startTimer` / `jobcard/stopTimer`) or via manual entry (`jobcard/logManualTime`).
- Shows each entry's **Technician**, **Start / End Time**, **Duration (Hours)**, **Work Notes**, and **Billing Status** (`Unbilled WIP` badge vs. green `Billed on Invoice` badge once invoiced).
- Includes a right-hand **Log Technician Hours** form to record hours for any technician on any date.
- Upload Before / After Site Photos (
jobcard/uploadPhotos): Upload multiple JPEG, PNG, or WEBP photos directly from a smartphone camera or desktop (up to 10MB per photo) to document pre-existing damage, serial number plates, or completed neatness. - Timestamped Field Notes Log: Appends chronological technician and dispatcher notes with automatic author and timestamp tags (`[YYYY-MM-DD HH:MM - Name]: ...`).
- Digital Sign-Off Verification: Displays the rendered PNG signatures of both the **Customer / Site Representative** (`signed_by_name`, `signed_at`) and the **Technician**, or provides a 1-click button to launch the touch-screen **Mobile Sign-Off Pad** (`/jobcard/mobile/{id}`).
- Financial Breakdown & 1-Click ERP Bridge: Displays an itemized preview of the Call-Out Fee, Unbilled Labor Hours, Travel Distance Charge, and Billable Parts before you click **Convert to Invoice** or **Generate Delivery Note**.
6. The Mobile Field Technician Cockpit & Dual Digital Signatures (/jobcard/mobile/{id})
When a technician is out in the field on an iPhone, Android smartphone, or rugged tablet, they click **My Tech Queue** (`/jobcard/myJobs`) and tap **Open Mobile Cockpit** (`/jobcard/mobile/{id}`). This opens a purpose-built, high-contrast, touch-optimized interface designed for one-handed operation on site.
jobcards-mobile-technician-signature-pad.pngHow to capture this screenshot:
- Navigate to
/jobcard/mobile/{id}for an active Job Card (ideally using your browser's responsive mobile/tablet viewport or the narrow centered mobile container). - Draw a sample signature on both the Customer / Site Representative Signature canvas and the Technician Signature canvas.
- Capture the view showing the 1-Tap Field Status buttons (1. En Route, 2. Arrived On-Site), GPS/Call buttons, and the Dual HTML5 Signature Pads.
| Mobile Cockpit Section | Touch Controls & Automated Actions |
|---|---|
| 1. Live Field Status & Timer Card |
|
| 2. Site Location, GPS & Click-to-Call |
|
| 3. Interactive Safety & QA Checklist | Large touch-friendly checkboxes (`transform: scale(1.35)`) allowing the technician to tick off safety and commissioning checks as they work. |
| 4. Field Execution, Parts & Photos | Allows the technician to dictate or type **Root Cause**, **Work Performed**, **Recommendations**, **Round-Trip Travel (km)**, add **Parts / Consumables Used** (with inventory catalog auto-fill), and snap **Before / After Site Photos** directly from their phone camera. |
5. Dual HTML5 Touch Signature Capture (jobcard/signOff/{id}) |
|
7. 1-Click Financial Bridge: Converting Job Cards to Tax Invoices & Delivery Notes
When a Job Card reaches `Pending Review` or `Approved`, clicking **Convert to Invoice** (`jobcard/convertToInvoice/{id}`) performs a comprehensive automated accounting and operational handoff:
- Sweeps Up to 4 Billable Revenue Streams into a Tax Invoice:
- Line 1 — Fixed Call-Out Fee: Added automatically if `callout_fee > 0` and enabled in Governance settings (`jc_auto_add_callout_to_invoice`).
- Line 2 — Unbilled Technician Field Labor: Sums all unbilled time logs (`is_billed = 0`) across all technicians on the Job Card (or falls back to `estimated_hours` if no timer logs exist) multiplied by the Job Card's `hourly_rate`, including itemized dates and technician notes. Marks all those time logs as `is_billed = 1` so they can never be double-billed.
- Line 3 — Travel & Mileage Recovery: Calculates `travel_km × travel_rate` if `travel_km > 0` and enabled in Governance settings (`jc_auto_add_travel_to_invoice`).
- Line 4+ — Billable Materials, Parts & Serial Numbers: Adds every part from the Job Card where `is_billable = 1`, appending any consumed **Serial Numbers** directly onto the invoice line description for warranty traceability.
- Auto-Generates a Linked Delivery Note (Optional): If `jc_auto_generate_delivery_note` is enabled in `/jobcard/settings` (or if you click **Generate Delivery Note** manually via `jobcard/generateDeliveryNote/{id}`), Keystone X automatically creates a formal **Delivery Note (`DN-XXXX`)** for all physical parts consumed on the Job Card, carrying across the customer's digital signature!
- Auto-Closes Linked Helpdesk Support Tickets: If the Job Card was dispatched from one or more Helpdesk Support Tickets (`ticket_job_cards`), Keystone X automatically transitions those tickets to `Closed` and posts a resolution audit note referencing the completed Job Card and Invoice number.
8. The 4-Tab Job Cards Governance Studio (/jobcard/settings)
Administrators can click **Customize** (`/jobcard/settings`) from the Job Cards Command Center to tailor every aspect of field service operations without touching code.
jobcards-governance-studio-tabs.pngHow to capture this screenshot:
- Navigate to
/jobcard/settings. - Open Tab 2 (Service Types & SLA Rate Cards) or Tab 4 (Numbering, Billing & Legal Governance).
- Capture the studio showing the 4 navigation tabs and the configuration cards.
| Studio Tab | Configurable Rules, Rate Cards & Governance Switches |
|---|---|
Tab 1: Workflow Stages & WIP Limits (#tab-stages) |
Create, reorder, recolor, or toggle custom dispatch stages (e.g., `Dispatched`, `En Route`, `On-Site`, `Awaiting Parts`, `Pending Review`, `Approved`, `Invoiced`). Set a **Max WIP Limit** per stage to trigger visual overload warnings on the Kanban Dispatch Board. |
Tab 2: Service Types & SLA Rate Cards (#tab-services) |
Define commercial service tiers (e.g., *Standard Callout*, *Emergency After-Hours*, *Contract Preventative Maintenance*, *Warranty Repair*) with pre-set **Default Call-Out Fee (`R`)**, **Default Labor Rate / Hr (`R`)**, **Target SLA Response Hours**, and a **Billable by Default** toggle. Selecting a Service Type during dispatch auto-fills these rates onto the Job Card. |
Tab 3: Safety & QA Checklist Blueprints (#tab-checklists) |
Build reusable multi-step inspection and safety templates (`name`, `category`, and line-by-line checklist items) that dispatchers or technicians can inject into any Job Card in one click. |
Tab 4: Numbering, Billing & Legal Governance (#tab-governance) |
|