Skip to content
v26.3

Workshop Module

The workshop module extends DiKAS with job order and repair management — ideal for businesses that offer repair services alongside hospitality (e.g., bicycle café, phone repair, locksmith with snack bar).

Activation: Admin → Settings → Operations → Workshop


Job Order Lifecycle

A workshop job order goes through 7 statuses:

New → In Progress ↔ Paused → Completed → Invoiced → Paid
         ↘                                ↗
           → Cancelled ←──────────────────
Status Description Color Next Steps
New Job order has been created Blue Start, Cancel
In Progress Currently being worked on Yellow Pause, Complete, Cancel
Paused Waiting for parts or clarification Orange Resume, Cancel
Completed Repair finished Green Invoice, Cancel
Invoiced Invoice has been created Purple Record payment
Paid Fully completed Gray Job order archived
Cancelled Aborted Red Reopen

Status Transitions

From To Action
New In Progress Start
In Progress Paused Pause (e.g., spare part ordered)
Paused In Progress Resume
In Progress / Paused Completed Complete
Completed Invoiced Invoice (invoice is created)
Invoiced Paid Record payment
Any status Cancelled Cancel
Cancelled / Paid New Reopen

Creating a Job Order

In the POS

  1. POS → Workshop → "+ New Job Order"
  2. Fill in:
Field Example Description
Customer Thomas Müller Optional: select regular customer
Fault Description Gear shift defective, chain skipping What needs to be repaired?
Item Canyon Roadlite 7.0 What is being repaired? (model, type)
Serial Number WME12345678 Serial number / frame number
Notes Key with customer Internal notes
Technician Max Mechaniker Assigned employee
Estimated Completion Date 08.03.2026 Pickup date
  1. "Create" → job order is created with a unique number (e.g., WS-0042)

Label Printing

After creation, you can print a label (Code128 barcode):

┌──────────────────────────────────┐
│ WS-0042                         │
│ |||||||||||||||||||||||||||      │
│ Thomas Müller                   │
│ Canyon Roadlite 7.0             │
│ Gear shift defective            │
│ 05.03.2026                      │
└──────────────────────────────────┘

The label is attached to the item being repaired. The barcode can be scanned at the POS to quickly retrieve the job order.

Automatic label printing: Automatic printing upon job order creation can be enabled in the workshop settings.


Editing a Job Order

Time Tracking

Employees can record work hours for the job order:

  1. Open job order → "Add time entry"
  2. Enter start and end time
  3. Duration is calculated automatically
Field Description
Start Time Work start
End Time Work end
Duration (Minutes) Automatically calculated

Adding Materials

Used spare parts and materials:

  1. Open job order → "Add material"
  2. Select article from inventory (or enter manually)
  3. Enter quantity and price
Field Description
Article From article master data or free text
Article Number Part number
Quantity Consumed quantity
Unit Price Price per unit
Total Price Quantity × unit price
Tax Rate VAT rate

Activities

Free-text notes on the job order progress:

  1. "+ Activity" → enter description
  2. Saved with timestamp

Examples: - "Gear shift disassembled, cable torn" - "Spare part ordered from Shimano (ETA 3 days)" - "Test ride completed, everything in order"


Cost Calculation

DiKAS automatically calculates the total costs:

Item Calculation
Labor Total minutes × hourly rate / 60
Materials Sum of all material costs
Total Costs Labor + materials

Hourly rate: The default hourly rate is configured in the workshop settings (e.g., 45.00 € / hour).

Example

Job Order WS-0042: Bicycle Gear Shift

Labor:
  05.03. 14:00–15:30    90 min
  06.03. 09:00–09:45    45 min
  ────────────────────────────
  Total:               135 min × 45.00 €/h = 101.25 €

Materials:
  1× Shift cable              4.50 €
  1× Derailleur hanger       12.90 €
  2× Cable end cap            0.80 €
  ────────────────────────────────
  Total materials:            18.20 €

══════════════════════════════════
Total costs:                 119.45 €

Invoicing

When the job order is completed:

  1. Set status to "Completed"
  2. Click "Invoice"
  3. DiKAS creates a customer invoice with:
  4. Labor (hours × hourly rate)
  5. Materials (articles × quantity)
  6. Job order number as reference
  7. Invoice is linked to the customer
  8. Job order status changes to "Invoiced"
  9. Collect payment as usual: cash, card, invoice

Invoicing Without a Customer

Walk-in customers can also be served — without customer master data: - Create job order without customer - Upon invoicing: direct payment at the POS (cash or debit card)


POS View

In the POS, you can see all job orders as cards, color-coded by status:

┌─────────────┐  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐
│ WS-0042     │  │ WS-0041     │  │ WS-0040     │  │ WS-0039     │
│ In Prog.  ⬤ │  │ Paused    ⬤ │  │ Completed ⬤ │  │ Paid      ⬤ │
│─────────────│  │─────────────│  │─────────────│  │─────────────│
│ Bicycle     │  │ Phone       │  │ Laptop      │  │ Coffee mach.│
│ Gear shift  │  │ Display     │  │ Battery     │  │ Descaling   │
│ Müller      │  │ Schmidt     │  │ Weber       │  │ Bakery M.   │
│ 05.03.2026  │  │ 04.03.2026  │  │ 03.03.2026  │  │ 01.03.2026  │
└─────────────┘  └─────────────┘  └─────────────┘  └─────────────┘

Filters: - Filter by status (New, In Progress, Completed, etc.) - Search by customer - Filter by date

Real-time updates: Job orders are synchronized in real time via SignalR — when an employee changes the status, all others see it immediately.


Workshop Settings

Admin → Settings → Workshop

Setting Description Default
Workshop enabled Module on/off Off
Hourly Rate Default hourly rate for labor 45.00 €
Job Order Number Prefix Prefix for job order numbers "WS"
Label Printer Assigned printer for labels
Automatic Label Printing Print label automatically upon creation No
Task Templates Predefined tasks with default duration

Task Templates

Common tasks can be stored as templates:

Task Default Duration
Bicycle inspection 45 min
Tire change 15 min
Brake adjustment 20 min
Display repair 60 min
Battery replacement 30 min

Practical Example: Bicycle Café

Situation: Café with an attached bicycle workshop.

  1. Customer arrives: bicycle has a problem → new job order at the POS
  2. Print label: attach Code128 barcode to the bicycle
  3. Mechanic starts: status → "In Progress", time entry begins
  4. Spare part needed: status → "Paused", activity "Derailleur hanger ordered"
  5. Part arrived: status → "In Progress", add material
  6. Repair completed: status → "Completed"
  7. Customer returns: scan label → job order appears → "Invoice"
  8. Payment: 119.45 € via debit card → status → "Paid"
  9. During the wait: customer has coffee → normal POS sale

Next Step

Time Tracking — Record work hours