Home / Help Center / pos-app-hardware / hardware / Job Cards
🛠️ hardware

Job Cards

Job Cards is where a hardware shop logs each repair or fabrication job for a customer — who it is for, what needs to be done, delivery date, labour cost and advance paid — and tracks it through a simple status pipeline: OPEN → IN_PROGRESS → DONE (or CANCELLED).

📍 Menu path: Hardware → Job Cards
👤 Who uses it: All roles with the Billing feature enabled

Overview

Every job gets an auto-generated job number in the form JOB-YYYYMMDD-NNN, where the date is today's date and NNN is a running sequence for your store (not reset daily).

The status chips at the top (All / OPEN / IN PROGRESS / DONE / CANCELLED) filter the job list; clicking a job opens a detail panel on the right with its full information and a delete action.

A "→ IN PROGRESS" / "→ DONE" quick-advance button appears directly on each OPEN or IN_PROGRESS job card in the list, so you can move a job to its next status without opening the detail panel.

Before You Start

Step-by-Step Guide

1 Create a new job card

  1. Open Hardware → Job Cards and click "+ New Job".
  2. Fill in Customer Name (required), Customer Phone, Description and Delivery Date, plus Labour Cost and Advance Paid if known.
  3. Add any Notes, then click "Create Job Card" — a job number is generated automatically and the job starts in OPEN status.

2 Advance a job through its lifecycle

  1. On the job list, click the "→ IN PROGRESS" button on an OPEN job once work begins.
  2. Click "→ DONE" on an IN_PROGRESS job once the work is finished and ready for the customer.
  3. There is no quick-advance button once a job is DONE or CANCELLED — those are treated as final states from this list view.

3 Filter and review jobs

  1. Use the status chips (All, OPEN, IN PROGRESS, DONE, CANCELLED) to narrow the list to one status at a time.
  2. Click any job card to open its detail panel on the right, showing customer, phone, description, delivery date, labour cost, total, advance paid and notes.

4 Delete a job card

  1. Open a job's detail panel and click "Delete Job", then confirm.
  2. Deletion is immediate and permanent — there is no restore.

Every Field & Button, Explained

Field / ButtonWhat it does
Job NumberAuto-generated as JOB-YYYYMMDD-NNN — the date reflects when the job was created; NNN is a running count of all job cards ever created for the store, not a per-day counter.
Customer NameRequired. Who the job is for.
Customer PhoneOptional contact number for the customer.
DescriptionFree-text description of the work to be done.
Delivery DateThe date you expect to hand the finished job back to the customer.
Labour Cost (₹)What you charge for labour on this job, entered manually.
Advance Paid (₹)Amount the customer has already paid upfront, entered manually.
TotalShown on the job card and in the detail panel; it is not computed from Labour Cost or materials by this screen — see Troubleshooting.
StatusOPEN → IN_PROGRESS → DONE, or CANCELLED. Advanced one step at a time via the → button; there is no UI action to cancel a job or move it backward.
NotesOptional free-text notes shown only in the detail panel.

Tips & Best Practices

Troubleshooting & FAQ

The Total shown on a job is always ₹0.
The New Job form does not include a Total field — it only captures Labour Cost and Advance Paid, and the job is created with totalAmount left at its default of 0. Total will stay at ₹0 for jobs created through this screen unless it is set directly via the API.
I need to change the customer name, phone or description after creating a job.
There is currently no edit form for these fields on an existing job card — only the status can be advanced from the list view. Delete and recreate the job if these details were entered incorrectly.
Can I move a job back from DONE to IN_PROGRESS, or cancel one?
Not from this screen — the quick-advance button only moves a job forward one step (OPEN → IN_PROGRESS → DONE), and there is no button to cancel a job or move it backward, even though CANCELLED exists as a status value and filter option.
Two jobs created around the same time got job numbers I did not expect.
The sequence number is a running count of existing job cards at the moment of creation, not a locked/reserved counter — creating jobs in very quick succession (e.g. via automation) could in theory produce the same sequence number if the count is read before an earlier insert completes.