Official Technical Documentation & User Manual
User Manual › Volume 6: Field Service Job Cards, Technician Dispatch, Projects, Tasks & Time Billing
Verified Guide • Updated 16 Oct 2026
User Manual Volume 6: Field Service Job Cards, Technician Dispatch, Projects, Tasks & Time Billing Verified Guide

#18: Field Service Job Cards, Technician Dispatch, Mobile Touch Sign-Off & Governance Studio

Updated 21 hours ago 18 min read 1 views
Volume 6 • Field Service, Projects & PSA Engine

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.

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**.

📸 SCREENSHOT PLACEHOLDER jobcards-command-center-overview.png

How to capture this screenshot:

  1. Log in as an Administrator or Service Manager and navigate to /jobcard (Roster View).
  2. Ensure at least 3–4 sample Job Cards exist across different stages (e.g., Dispatched, On-Site, Pending Review, and Invoiced).
  3. 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**:

  1. Active Field Roster (#tab-active): All currently open field dispatches (`Dispatched`, `En Route`, `On-Site`, `Awaiting Parts`).
  2. 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**.
  3. 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`).
  4. Subcontractor Operations (#tab-subcontracted): All dispatches outsourced to a 3rd-party vendor (`subcontractor_vendor_id`), displaying the vendor badge and external contractor docket number.
  5. 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
  • Start / Stop Live Timer ( / ): Starts or stops a live background stopwatch for the current technician. Stopping prompts for work notes and automatically logs the exact elapsed hours (`jobcard/stopTimer`).
  • Log Technician Hours (): Opens the `#logJcTimeModal` popup to manually record hours worked without running a live stopwatch.
  • Approve for Billing (): Appears on `Pending Review` jobs; transitions the job to `Approved` (`jobcard/approve/{id}`).
  • Convert to Invoice (): Sweeps all unbilled labor, call-out fees, travel, and parts into a Tax Invoice (`jobcard/convertToInvoice/{id}`).
  • 3-Dot Dropdown Menu (): Open **Full Job Card Cockpit** (`/jobcard/edit/{id}`), **Mobile Technician Cockpit** (`/jobcard/mobile/{id}`), **Quick Edit Dispatch & Status**, **Download Proof-of-Work PDF** (`/jobcard/pdf/{id}`), or **Delete Job Card** (blocked if already invoiced).

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)**.

📸 SCREENSHOT PLACEHOLDER jobcards-5tab-execution-cockpit.png

How to capture this screenshot:

  1. Open an active Job Card in /jobcard/edit/{id}.
  2. 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.
  3. 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 a Billable? 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), and Rate 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.

📸 SCREENSHOT PLACEHOLDER jobcards-mobile-technician-signature-pad.png

How to capture this screenshot:

  1. 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).
  2. Draw a sample signature on both the Customer / Site Representative Signature canvas and the Technician Signature canvas.
  3. 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
  • 1. En Route Button: Tapping this immediately updates the Job Card status to `En Route` and stamps `en_route_at` so the office knows the technician is driving to the site.
  • 2. Arrived On-Site Button: Updates the status to `On-Site` and stamps `on_site_at`.
  • Start / Stop Live Work Timer: A full-width green/red touch button that starts or stops the technician's billable labor timer on the spot.
2. Site Location, GPS & Click-to-Call
  • Automatically prioritizes the **Site Location Customer's** address and phone number over the Head Office Billing Customer.
  • Open GPS Navigation (): Launches Google Maps directions directly to the site address.
  • Call Contact (): Dials the site contact's phone number directly (`tel:`).
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})
  • Customer Sign-Off Name (signed_by_name): Required input for the full name and title of the client representative accepting the work.
  • Customer Signature Canvas (#clientSigCanvas): Touch/stylus signature pad with a **Clear Pad** button.
  • Technician Signature Canvas (#techSigCanvas): Touch/stylus signature pad for the technician's counter-signature.
  • Complete & Lock Job Card Button: Validates that required signatures and photos (if enforced in Studio) are present, saves the high-resolution PNG signatures, stamps `signed_at` and `completed_at`, transitions the Job Card to `Pending Review`, **locks the Job Card**, and fires an in-app notification to all Administrators!

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:

  1. 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.
  2. 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!
  3. 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.

📸 SCREENSHOT PLACEHOLDER jobcards-governance-studio-tabs.png

How to capture this screenshot:

  1. Navigate to /jobcard/settings.
  2. Open Tab 2 (Service Types & SLA Rate Cards) or Tab 4 (Numbering, Billing & Legal Governance).
  3. 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)
  • Document Prefixes & Default Rates: Set the **Internal Job Card Prefix** (default `JC-`), **Subcontractor Prefix** (default `SUB-`), **Default Call-Out Fee**, **Default Hourly Labor Rate**, and **Default Travel Rate per km**.
  • 5 Operational & Billing Automation Switches:
    1. jc_require_signatures: Block mobile sign-off unless both Customer and Technician digital signatures are captured on glass.
    2. jc_require_photos: Block mobile sign-off unless at least one Before/After site photo has been uploaded.
    3. jc_auto_add_callout_to_invoice: Automatically add the Job Card's Call-Out Fee as a line item when converting to a Tax Invoice.
    4. jc_auto_add_travel_to_invoice: Automatically calculate and add round-trip travel mileage (`travel_km × travel_rate`) when converting to a Tax Invoice.
    5. jc_auto_generate_delivery_note: Automatically generate a linked Delivery Note (`DN-XXXX`) for physical parts used when converting a Job Card to a Tax Invoice.
  • Legal Sign-Off Disclaimer (jc_default_terms): Custom legal acceptance wording displayed above the signature pad on the Mobile Cockpit and printed at the bottom of the Proof-of-Work PDF (`jobcard/pdf/{id}`).
Was this technical guide helpful?
Back to top