@{ ViewData["Title"] = "Jobs"; }

Overview

Jobs are the core unit of work in the shop. Every item that comes through the door for coating is tracked as a job. A job belongs to a customer, has a status that moves it through the shop workflow, a priority level, a due date, and one or more line items describing the work to be performed.

You can find Jobs under Operations › Jobs in the left sidebar. The list opens on the On Floor filter by default, showing only active in-progress work so completed jobs don’t clutter the screen. Use the filter pills at the top to switch views: All, On Floor, Overdue, Ready (awaiting pickup), and Completed. The list is sortable and searchable by job number, status, priority, scheduled date, due date, and price. Jobs can be created manually or converted automatically from an approved quote — no need to re-enter information that is already in the system.

Creating a Job

To create a job manually:

  1. Go to Operations › Jobs and click the New Job button in the top-right corner.
  2. Select the Customer — this field is required. Type to search by name or company.
  3. Enter a Job Description summarising the work (e.g., "Powder coat motorcycle frame — gloss black").
  4. Set the Scheduled Date (when work is expected to begin) and the Due Date (when the customer expects pickup or delivery).
  5. Choose a Priority — Normal is the default; see the Job Priority section below for all levels.
  6. Optionally assign a Worker from your shop workers list.
  7. Enter the customer's PO Number if they require one for their own records.
  8. Add any Special Instructions your team needs to know before starting work.
  9. Add one or more Line Items describing each piece being coated. See the Job Items section below.
  10. Optionally expand Oven & Batch Settings to assign a named oven, set the number of batches, and enter the cure cycle time. These values feed directly into the oven cost calculation so the job’s pricing reflects the actual oven run.
  11. Click Save Job.

The system automatically generates a unique job number in the format JOB-YYMM-#### (for example, JOB-2503-0042). This number appears on all documents related to the job.

Job Status

Each job moves through a defined sequence of statuses as it progresses through the shop. The status is displayed as a color-coded badge on the job list and details page. You can update a job's status at any time by opening the job and editing it.

The two special statuses — On Hold and Cancelled — can be applied at any point in the workflow regardless of the current status. Use On Hold to pause a job temporarily (waiting for customer approval, missing materials, etc.) and Cancelled to formally close a job that will not be completed.

On the Jobs list, click any status badge to open a quick-change modal. The modal includes a Notify customer via email toggle. If the customer has email notifications turned off, that toggle is automatically disabled and a warning note is shown — no email will be sent regardless.

Status What it means
Pending Job has been entered but work has not started. Initial state for all new jobs.
Quoted A formal quote has been generated and sent to the customer for this job.
Approved The customer has approved the quote and authorised the work to proceed.
In Preparation The job has been pulled from the queue and prep work has begun.
Sandblasting The parts are being surface-blasted to remove rust, old coatings, or contaminants.
Masking / Taping Areas that must not be coated are being masked off or taped.
Cleaning Parts are being chemically cleaned and degreased before coating is applied.
In Oven Parts are in the pre-heat oven being brought to the correct application temperature.
Coating Powder coating is being applied to the parts via electrostatic spray gun.
Curing Coated parts are in the curing oven at temperature to flow and bond the powder.
Quality Check Finished parts are being inspected for coverage, adhesion, and surface defects.
Completed Work is done and the job has passed quality inspection.
Ready for Pickup Parts are packaged and waiting for the customer to collect them.
Delivered Parts have been collected by the customer or delivered to their location.
On Hold Job is temporarily paused. Can be applied at any point in the workflow.
Cancelled Job will not be completed. Can be applied at any point in the workflow.

Job Priority

Every job has a priority level that tells your team how urgently a job needs to move through the shop. Priorities are color-coded throughout the system — in the job list, on the job details page, and on any dashboards. Set or change the priority in the Create or Edit form.

Priority When to use it
Low Non-urgent work that can be scheduled when the shop has capacity. No specific deadline pressure.
Normal Standard shop priority. Used for the majority of jobs. Work is completed within the agreed timeframe.
High Customer has a firm deadline or the job is part of a larger project. Should be worked ahead of Normal jobs.
Urgent Job must be completed very soon. Push to the front of the queue and notify the supervisor.
Rush Same-day or next-day turnaround required. Rush jobs are highlighted prominently in the job list to ensure they are never missed. A rush surcharge may apply.

Job Items

Each job contains one or more line items, each describing a distinct piece or group of parts being coated. Items are added using the item wizard when creating or editing a job.

Item Types

  • Calculated Item — enter surface area, quantity, and complexity. The system calculates material, labor, and equipment costs automatically. Select one or more powder coatings and optional prep services (sandblasting, masking, cleaning).
  • Custom Work Item — enter a free-text description and a manual price. Use this for one-off work that does not fit the standard calculation model.
  • AI Photo Quote Item — upload photos of the parts and let our AI agent estimate the surface area, complexity, and labor time. Review and override any value before accepting. Up to two follow-up rounds of questions are supported.
  • Labor Item — a line item representing time and labor charges only, without material costs.

Surface Area and Coatings

For each item you enter the surface area in square feet and the quantity of parts. You then select which powder coating(s) to apply. The system calculates how much powder is needed per coat based on the surface area, the coating's coverage rate (sq ft per lb), and the application efficiency factor.

The Powder Needed estimate is shown live in the wizard as you enter the surface area and select coatings. This helps you check whether you have enough stock on hand before committing to the job schedule.

Prep Services

Each item can also include optional prep services — sandblasting, masking, or chemical cleaning — that will be carried out before coating. These are selected in the wizard and appear as sub-lines under the item on the job details page.

Save to Product Catalog

After completing the coatings and prep services steps, Calculated and AI Photo Quote items include one final optional step: Save to Product Catalog. This lets you turn the item you just configured into a reusable catalog entry so it can be selected instantly on future quotes or jobs — without re-entering dimensions, coatings, or prep services.

The wizard pre-fills the catalog form with:

  • Name — taken from the item description (or AI-generated description); you can edit it
  • Default Price — copied from the item's calculated or manually adjusted unit price
  • Description — the item description
  • Sandblasting / Masking — automatically checked if those prep services were selected
  • Category — choose from your active catalog categories

At the bottom of the step you have two options:

  • Save to Catalog & Add — saves the catalog item immediately and then adds the line item to the job.
  • Skip — Add to Job Only — skips the save and adds the item to the job without creating a catalog entry.

Inline Price Editing

On the Job Details page you can edit any item’s unit price, quantity, or description directly in the table — without opening the full Edit form.

  1. Click a unit price, quantity, or description cell in the Items table. The cell turns into an input field.
  2. Type the new value.
  3. Press Enter or click anywhere outside the field to save. Press Esc to cancel without saving.

After saving, the line total updates immediately and the pricing summary card (Items Subtotal, Subtotal, Tax, and Grand Total) refreshes — no page reload required. The Job Costing card also recalculates automatically so your profit margin estimate stays current.

Converting from a Quote

When a customer approves a quote, the quickest way to create the job is to convert the quote directly rather than re-entering all the details manually.

  1. Open the approved quote from Operations › Quotes.
  2. Click the Convert to Job button on the quote details page.
  3. The system creates a new job pre-filled with:
    • All line items, surface areas, and quantities from the quote
    • All coatings and prep services selected for each item
    • The final pricing calculated on the quote
    • The customer record the quote was linked to
  4. Review the new job, set the scheduled date and priority, assign a worker if needed, and click Save Job.

The quote status changes to Converted and is linked to the new job. You can navigate between the quote and the job at any time using the link shown on each record's details page.

Creating an Invoice from a Job

Once a job is complete — or at any time when you are ready to bill the customer — you can create an invoice directly from the job's Details page. There is no need to manually re-enter pricing.

  1. Open the job from Operations › Jobs and go to its Details page.
  2. Scroll to the Invoice section at the bottom of the page.
    • If no invoice exists yet, you will see a Create Invoice button.
    • If an invoice already exists, you will see a link to open it.
  3. Click Create Invoice. The system generates a new invoice pre-filled with all the job’s line items and the final pricing. Line item descriptions include the coat color(s) for each item (e.g., Gloss Black / Satin Clear), which helps customers distinguish repeated items such as multiple sets of calipers.
  4. Review the invoice, confirm the due date, and save it.

Each job can only have one invoice. Once the invoice is created, the Create Invoice button is replaced with a link to view the existing invoice.

Completing a Job

When work is done and the parts have passed quality check, click the Complete Job button on the Job Details page. A modal opens where you confirm:

  • Completion date — defaults to today.
  • Actual hours spent on the job.
  • Final price — pre-filled from the job; adjust if needed.
  • Powder usage — if the job used powder from inventory, you are asked to enter actual lbs used. The modal groups all coats by unique powder color and shows one input row per powder, regardless of how many items or coats used that color. This avoids entering the same number repeatedly. Any lbs already scanned via QR code on the shop floor are credited automatically — you only enter the remaining amount.

Once confirmed, the job advances to Completed status, inventory is updated, and you are prompted to create an invoice if one does not already exist.

Photos and Notes

Job Photos

Upload before, during, and after photos directly from the Job Details page. Photo types include Before, Progress, After, Quality Check, Issue, and Completed. Photos are visible to anyone who opens the job record and help document the work performed.

Job Notes

Add internal notes to a job from the Details page. Notes are private — they are not visible to the customer. Use them for team communication, special handling instructions, or to log anything notable that happened during production.

Time Entries and Rework

Time Entries

Log labor time against a job from the Job Details page using the Time Entries section. Each entry records who worked on the job, how long, and when. Use this to track actual hours vs. estimated hours for costing and productivity analysis.

Rework

If finished parts fail quality inspection or need to be re-coated, create a rework record from the Job Details page. Rework records track the rework type, the reason (adhesion failure, color mismatch, damage, etc.), and the resolution. This data helps identify recurring quality issues over time.

Job Templates

If you do the same type of work repeatedly — for example, a standard wheel refinish package — you can save a job's line items as a template and reuse it for future jobs.

Templates are managed at /JobTemplates. To use a template:

  1. When creating a new job, look for the Load Template option.
  2. Select the template you want to use.
  3. The line items, coatings, and prep services from the template are pre-filled into the new job.
  4. Adjust any fields as needed for this specific job, then save.

Shop Display and Priority Board

Shop Display

The Shop Display (/Jobs/ShopDisplay) opens a full-screen view of all active jobs and their current statuses, designed for a TV or large monitor mounted on the shop floor. Workers can see at a glance what jobs are in their queue without needing to log in or use a computer.

Job Priority Board

The Priority Board (/JobsPriority) is a Kanban-style view of all active jobs, sorted by priority and status. It is the best view for supervisors who need to triage work and decide what gets done first. Rush and Urgent jobs are highlighted prominently.

Part Intake

The Part Intake workflow lets you formally check in a customer's parts at drop-off — before any work begins. This creates a timestamped record of how many pieces arrived, their condition, and who received them, which protects the shop if a customer later disputes pre-existing damage or a missing piece.

How to record an intake

  1. Open the Job Details page for the job.
  2. Click the Intake button in the top-right button group. The button is highlighted in blue when intake has not yet been recorded, and shows a checkmark (Intake ✓) once complete.
  3. On the intake form you will see:
    • A Job Summary card showing expected part count (from line items), due date, and any special instructions.
    • Actual Part Count — enter the number of pieces physically received. If this differs from the expected count, a warning appears prompting you to note the discrepancy.
    • Condition Notes — describe the condition of the parts (existing scratches, rust, missing hardware, special handling requirements, etc.).
    • Advance to In Preparation — toggle on to automatically move the job status to In Preparation at the same time. Leave off if the customer is dropping parts off early and work hasn't started yet.
    • Before Photos — upload photos documenting the condition at drop-off. Photos are saved as "Before" type on the job and appear in the Photos section of Job Details.
  4. Click Complete Intake.

Viewing intake records

Once an intake is recorded, the Part Intake card on the Job Details page shows the check-in date and time, who performed the intake, the actual part count, and any condition notes. You can update an existing intake at any time by clicking the Edit link in that card.

Shop Mobile

Shop Mobile (/Jobs/ShopMobile) is a phone and tablet-optimised view of all active jobs, designed for workers on the shop floor. Unlike the Shop Display (which is a passive TV view) and the full desktop UI, Shop Mobile is built for one-handed use — large touch targets, no sidebar, and instant status advancement with a single tap.

What you see

Jobs are grouped by their current status stage and ordered by due date. Each job card shows:

  • A priority colour strip on the left edge (green = Low, blue = Normal, orange = High, red = Urgent, purple = Rush)
  • Job number, customer name, and piece count
  • Assigned worker, sandblasting/masking flags, and due date
  • Line items (up to 3 shown; tap the details button for the full list)
  • Powder colours
  • Special instructions (amber callout — hard to miss)
  • An intake indicator — a green box icon means parts were checked in; an amber box icon means intake is still pending (tap it to go directly to the intake form)
  • An overdue badge when the due date has passed

Advancing a job status

Each card has a large Advance to [Next Status] button. Tap it to move the job to its next stage. The button shows a spinner while saving, then the page reloads with the updated status. No login to a desktop required.

Filtering by worker

Tap any worker chip in the filter bar at the top to show only jobs assigned to that person. Tap All to return to the full list.

Auto-refresh

The page automatically refreshes every 60 seconds so workers always see the current state without manually reloading. The green pulsing dot in the header indicates auto-refresh is active.

Changing the Customer

The customer on a job can be changed at any time from the Job Details page — no need to delete and re-create the job. This is useful when:

  • A job was created under the Walk-In / Phone placeholder and the real customer is added later.
  • A job was accidentally assigned to the wrong customer.
  • A job converted from a quote needs to be moved to a different customer record.

How to change the customer

  1. Open the job from Operations › Jobs and go to its Details page.
  2. Find the Customer field in the job header — it appears as a dropdown showing the current customer.
  3. Select a different customer from the dropdown.
  4. A confirmation banner appears: "Change customer to [Name]?" — click Save to confirm or Cancel to revert.

Work Order QR Codes

Every printed job work order includes two tiers of QR codes — one for viewing the job and a separate set for acting on it. This gives shop workers everything they need from a printed sheet without touching the desktop app. All QR codes require a logged-in account.

Top QR — View Job

Located in the work order header, next to the job number. Scan it with your phone to open the full Job Details page — items, catalog product images, powder specs, coatings, prep services, and special instructions. Use it to verify you're working the right job or to see catalog item images on your phone without hunting through the app.

Bottom QR — Update Status

Scan to open a mobile-friendly status bump page for this job. Tap the button to advance to the next stage (or put the job on hold). The status change is recorded in history with your name — no anonymous bumps.

Bottom QR — Log Powder Usage

One QR per unique powder on the job. Scanning opens the inventory usage log page pre-filled with that powder and the job number, so you can record actual lbs used in seconds without navigating through the app.

Logging Material Usage from a PC

You don’t need a phone or QR code to log material usage. On the Job Details page, expand the Materials Used section and click Log Material. A modal opens where you can:

  • Select any inventory item from a searchable dropdown — the item’s current stock level is shown when you pick it.
  • Choose Amount Used (enter how much was consumed) or Amount Remaining (enter what’s left in the bag — the system calculates the usage automatically).
  • Pick a reason: Job Usage or Waste / Spillage.
  • Add optional notes.

Saving immediately reduces the item’s stock on hand and creates an entry in the Inventory Activity ledger, exactly like a QR scan would. The QR scan icon is still available next to the button for mobile workers.

Blank Work Order

The Blank Work Order feature lets you instantly print a pre-formatted paper work order to hand to a customer at drop-off — before a digital job record has been created. It uses your company logo, address, and customizable terms so it looks professional right out of the box.

How to print a blank work order

  1. Go to Jobs in the sidebar.
  2. Click the Blank Work Order button in the top-right toolbar (next to the Jobs Board button).
  3. A PDF opens in a new browser tab — print it or save it to PDF.

You can also navigate directly to /WorkOrder/Blank to open the PDF at any time.

What's on the work order

  • Your company logo and address in the header
  • A Drop Off Date field opposite the "WORK ORDER" title
  • Client Name, Client Phone, and Due Date fields
  • 12-row parts table with columns for Part Description, Color, and Quote
  • A Notes box for special instructions
  • Your customizable Terms & Conditions text
  • A Customer Signature line with Date

Customizing the work order

Go to Company Settings → PDF Templates → Work Order to customize:

  • Accent Color — the color used for table headers, the title bar, and section labels. Defaults to dark gray.
  • Terms & Conditions — up to 2,000 characters of text printed in italic below the notes box. Use this for your shop's standard policies, liability disclaimer, or payment terms.

Click Save to apply changes, or Preview to open the PDF instantly without saving.

@{ await Html.RenderPartialAsync("_HelpNav"); }