Skip to content
WB-TMS-001Drawing no. WB-TMS-001Rev ASHEET 01/07
01Workshop Operations System

Every job, routedand visible.

From the moment a job is expected to the minute it is signed off: routing, machine and operator allocation, shop-floor time, tooling custody and stock — on one append-only record that a foreman can read and an auditor can trust.

In acceptance testing on a workshop floor

In use on the floor of a working engineering workshop during acceptance testing. No signed production client yet; we say so plainly.

Fig. 01 · TV production board · Machining Hall
02Capabilities

Know who has what, and which job it went to.

Job tracking, shop-floor time capture and tool-cupboard stock control for engineering workshops, on one auditable record.

Problems it answers

06 items · heard on the floor

  • P.01
    “Where is that job and what is holding it?” — one Job Control panel shows the single next action; the boards show what each stage is waiting for.
  • P.02
    “Who took the last box of inserts, and which job did they go to?” — every issue is on an append-only ledger with the person, the time, the station and the job or cost code.
  • P.03
    “Special tools walk out and never come back.” — reusable tools are borrowed and returned on the ledger, so who holds what is calculated from the record, not from memory.
  • P.04
    “The count never agrees with the book, and someone just types over the figure.” — a stocktake locks the items, records counts as evidence, and only an approved adjustment moves stock.
  • P.05
    “Two jobs on the same machine, or a trainee on a machine he is not signed off for.” — authorisation and single occupancy are checked by the server and enforced by database constraints.
  • P.06
    “The job took three days but nobody can say why.” — pauses carry a reason and a time class, so productive time, waiting and machine downtime are reported from the events.

Capabilities

08 groups · implemented
  1. 01

    Job tracking and Job Control

    One place to move a job, one correct next step at a time.

    • Validated unique job numbers, priority P1 / P2 / P3 (P1 requires a reason), expected, received and required-by dates, and an ordered production route.
    • Lifecycle EXPECTED → RECEIVED → PLANNING → IN PRODUCTION → COMPLETED, with ON HOLD and CANCELLED; a job can be captured while it is still on the way.
    • Job Control computes the single next step and refuses a stale page — there are no other movement endpoints.
    • Audited exceptions on the same panel: priority change, hold and resume, cancel, and closing a job with unfinished operations only with a recorded override reason.
    • Every job page shows the route, live tooling usage from the ledger and an activity feed derived from the audit trail.
  2. 02

    Planning, allocation and authorisation

    Only authorised, available people on available machines — enforced by the database, not the dropdown.

    • Planning board with per-machine queues; drag-and-drop posts to the same endpoint as the buttons and never moves a job between statuses.
    • Machine authorisation as a checkbox tree over workshop › area › machine, with AUTHORISED / TRAINING / SUSPENDED status and validity dates; grants are withdrawn, never deleted.
    • Person-only eligibility for fitting, inspection and fabrication stages — “no machine” never means “no person”.
    • Planned-time double-booking check (warn or refuse) and live single occupancy — one running operation per person and per machine — backed by database constraints.
    • “Who is doing what”: people at work right now, paused work and what it still holds, machines not running.
  3. 03

    Shop-floor time capture

    Who worked on what, when, and why it stopped — reproducible from the events.

    • Start, pause with reason, resume and complete from the station or from Job Control; every action is an append-only operation event.
    • Configurable pause reasons with a category, a time class (productive, operator waiting, machine downtime, non-productive) and what the pause frees.
    • Productive, waiting, machine-down and elapsed durations derived from the timeline; after-hours time against a configurable shift window.
    • Corrections always carry a note; the original row is never edited and the corrected sequence must still validate.
    • Machine status follows the work — AVAILABLE, RUNNING, OCCUPIED — while SETUP, MAINTENANCE, BREAKDOWN and OFFLINE are set by people.
  4. 04

    Tool Cupboard station

    Take, borrow and return tooling in a few taps, booked to a job — with no web login on the tablet.

    • A shared tablet is paired once with a one-time code; workers sign in from name tiles with a short cupboard password that opens nothing but the cupboard.
    • TAKE consumables through Category → Family → Variant picture tiles with “recently used” and “often used by you” strips, a basket, BOOK TO, REVIEW and CONFIRM.
    • BORROW a special tool and RETURN it later from MY TOOLS; custody starts and ends on the ledger and is capped at what the worker actually holds.
    • RETURN UNUSED puts usable consumables back against the original issue; RETURN DAMAGED records a broken consumable with no stock change.
    • Unknown booking references are refused or recorded exactly as typed for the foreman to reconcile, by policy.
  5. 05

    Stock ledger, locations and custody

    One append-only ledger; stock never silently negative; mistakes corrected, never rewritten.

    • Receive, issue, return, damaged, scrap, adjustment, reversal, transfer and stocktake movements — every one written through a single path that locks the item, checks the balance and writes the audit event in one transaction.
    • Per-location balances over a Shop › Storage area › Section tree; “held at” on every list and export.
    • Source-first bulk transfers with an all-or-nothing confirm; reverse or correct a wrong book-out in one audited, cross-referenced step.
    • Item behaviour — consumable, reusable tool, general — snapshotted onto every ledger row, so reclassifying later never changes what already happened.
    • Low-stock signalling on the dashboard, Stock Overview and a Low Stock page.
  6. 06

    Stocktake

    A count is evidence; only an approved adjustment moves stock.

    • Numbered sessions with a scope (whole location, one category or selected items), blind or guided, DRAFT → COUNTING → REVIEW → CLOSED.
    • Starting a count snapshots expected quantities and locks those items at that location against every other movement, whichever screen tries it.
    • Count sheets save many lines in one request with per-row version checks; each count is an append-only evidence row.
    • Review flags surplus, shortage, custody and not-counted lines; recounts, custody reconciliation and findings are separate actions.
    • Count, review and approve are three separate capabilities; summary and variance reports export to Excel or CSV.
  7. 07

    Tooling administration

    Shape the tooling catalogue without a developer — and never move stock by accident.

    • Category tree of any depth with per-category behaviour, pack size, minimum and target.
    • Tool types with attribute templates; product families whose variants inherit defaults until overridden.
    • Derived stock codes with a live duplicate check; merge two products through the ledger; delete only what nothing has ever used.
    • Manufacturers (with aliases) kept distinct from suppliers (SKU, pack quantity, lead time, latest cost); replacement mapping and compatibility held as data.
    • Quick Add at the shelf: WHERE → SEARCH → EXISTING or NEW → COUNT / RECEIVE, with supported manufacturers’ catalogues searched from what is printed on the box.
  8. 08

    Dashboards, TV board and exports

    The shop’s state on a wall or a desk — the same numbers everywhere.

    • Foreman dashboard with a P1 attention area, overdue and due-today, machines running / available / occupied / down, and low stock; every card links to the rows it counted.
    • TV production board that auto-refreshes, shown by a display account carrying no restricted data; priority always shown as text, never colour alone.
    • Every data table exports to Excel or CSV with the same filters and sort, so the figure on screen equals the figure in the workbook.
    • Performance screens per employee and per machine: planned versus actual, productive / waiting / down split, delay reasons and tooling counts.
    • More than 160 permanent error codes, a unique incident reference on every refusal, and a one-tap report-a-problem with screenshot from every screen.
03Assembly drawing

Wenbru Workshop Operations System

Assy WB-TMS-001-ABalloons 0108 · see bill of features
Fig. 02 · Job page · Job Control · J310042

Bill of features

08 items
Bill of features for Wenbru TMS. Hover or focus a row to find its balloon on the drawing.
ItemFeatureDescription
P1 attentionBreakdown work first, always as text — never colour alone.
Machine columnsRunning and occupied follow the work; setup and maintenance are set by people.
Operator custodyWho is on which job; single occupancy enforced by the database.
Elapsed timersDerived from START / PAUSE / RESUME events, not typed in.
Hold with reasonEvery pause carries a reason and a time class.
Audit trailAppend-only; corrections are new rows.
Tool Cupboard issueBooked to the job from a shared tablet, no web login.
Stock ledgerOne write path; never silently negative.
04How it works

How it works

Know who has what, and which job it went to.

05 stages · ENQUIRYBOARD · LEDGER · AUDIT

Fig. 03 · Job receipt
  1. Stage 0101/05

    Job receipt

    Engineering captures the job with its number, priority and required-by date — even before the work physically arrives.

    ENQUIRY → EXPECTED JOB → RECEIVED
  2. Stage 0202/05

    Routing

    An ordered route of operations across workshops and areas, each stage stating what it needs: machine and operator, person only, or nothing.

    STANDARD ROUTE → JOB ROUTE
  3. Stage 0303/05

    Allocation

    The planning board orders per-machine queues; the assign screen offers only authorised, available operators and warns of double-booking.

    WAITING → ALLOCATED
  4. Stage 0404/05

    Shop-floor station

    Machinists start, pause with a reason, resume and complete their own work; the Tool Cupboard books tooling to the job in a few taps.

    START · PAUSE · RESUME · COMPLETE → TIME RECORD
  5. Stage 0505/05

    TV board & ledger

    The wall board shows priorities, running machines and holds; every tool and insert is on the stock ledger, and every change on the audit trail.

    EVENTS → BOARD · LEDGER · AUDIT
05Workflows

Workflows

03 workflows · 16 steps · read left to right

W.01

A job from arrival to completion

06 steps

  1. 01Create

    Engineering captures number, description, customer, priority and route — as Expected if it is still on the way.

  2. 02Receive

    When the work arrives the foreman presses the single action on Job Control.

  3. 03Allocate

    Only authorised, available operators are offered for the machine; planned times are checked for double-booking.

  4. 04Start

    The job goes In Production, the machine shows Running, a START event is written.

  5. 05Pause · resume

    The machinist pauses with a reason; the timeline records what the pause freed and for how long.

  6. 06Complete

    Completing a stage releases the machine and makes the next route step Waiting; after the last stage the foreman completes the job.

W.02

Taking consumables at the Tool Cupboard

05 steps

  1. 01Who are you?

    Tap your tile and type your cupboard password.

  2. 02Take

    Category → Family → Variant picture tiles, or search; tiles build the basket.

  3. 03Book to

    One of your recent jobs, a current job, a standing code — or type a job number.

  4. 04Review · confirm

    Every line and “Booked to …”; CONFIRM writes all lines or none.

  5. 05Done

    ISSUED with the count; the station returns to the sign-in screen by itself.

W.03

Running a stocktake

05 steps

  1. 01Scope

    Choose the location, whole or by category or items, blind or guided.

  2. 02Lock

    Expected quantities are snapshotted; the items are locked against other movements and tiles show “Being counted”.

  3. 03Count

    Type quantities line by line; save all counts in one request.

  4. 04Review

    Accept matches, request recounts, reconcile custody, note variances.

  5. 05Approve

    Post variances to the ledger — the one write that moves stock — then close.

06Specification

Where it runs

04 surfaces · one record

RefSurface
  • S.01Management web applicationBrowser-based and responsive; sidebar by business purpose; every link shown only when you hold the capability and the module is on.
  • S.02Tool Cupboard tablet stationA shared, paired shop-floor tablet with touch-first chrome; sign-in by tile and cupboard password, never a web login.
  • S.03TV production boardAn auto-refreshing wall display for the shop, shown by a display account carrying no restricted data.
  • S.04Installable PWA and Android appAdd to Home Screen for a full-screen app with your icon; an Android wrapper of the same site, distributed internally.
06Deployment

Deployment & stack

07 deployment rules · 06 stack lines · 05 exclusions

DeploymentD.01 – D.07
  1. D.01One customer, one isolated cell: its own database, media volume and deployment identity. No shared-database multitenancy, no tenant column anywhere.
  2. D.02Deployment identity is recorded once and never changes; the environment is explicit and fail-closed — the application refuses to start without it.
  3. D.03Hosted by Wenbru as a dedicated cell: Docker Compose on a Linux host behind nginx with TLS.
  4. D.04Releases are built from a tagged commit into a tagged image and verified before deploy; rollback is re-tagging the previous image.
  5. D.05Daily backups with a signed manifest carrying identity, migration state and checksums; a restore refuses another customer’s backup.
  6. D.06Four append-only evidence trails: domain audit, stock ledger, operation time record and configuration audit. Corrections are new rows; nothing is edited in place.
  7. D.07More than 800 automated tests in the documented full-suite runs, including two-connection PostgreSQL concurrency tests.
Stack06
  • Python 3.11 · Django 5.2 — one server-rendered application, no SPA build chain
  • PostgreSQL 16 in production; row locking and concurrency tested against PostgreSQL
  • Docker Compose: one application container and one database container per customer
  • Gunicorn behind nginx with TLS; WhiteNoise static files — no CDN, no telemetry
  • PWA manifest and service worker; Android Trusted Web Activity wrapper
  • Deliberately not used: microservices, queues, Kubernetes
What we do not do05
  • We do not run a shared multi-tenant database. Each customer runs in its own cell.
  • We do not offer offline mode on the floor. The station refuses to submit rather than guess; it needs your Wi-Fi.
  • We do not have a quality / inspection-gate module yet. Routes are one linear sequence today.
  • We do not ship an iOS app. Web, Android tablets and an Android wrapper.
  • We do not integrate with ERP or accounting packages today, and we do not send supplier orders automatically.
07Fit

Engineering & workshops

Engineering and repair workshops — machine shops, pump, gearbox and rotating-equipment repair — with tens to hundreds of open jobs at a time

Built for

F.01 – F.04
  • Machine shops and repair workshops with a real tool cupboard and more jobs than a whiteboard can hold
  • Foremen who want one truthful record instead of three spreadsheets
  • Shops where breakdown work must be seen first
  • Stores staff tired of stock that never agrees with the book

Probably not for

N.01 – N.04
  • Businesses looking for a full ERP, accounting or job-costing package
  • Shops that need inspection gates, QCP or non-linear routing today
  • Floors without network coverage, or teams that need offline tablets
  • iOS-only teams

Straight answers

Q.01 – Q.06 · plain answers

07Contact

Bring us a job card.

Send one job the way it runs today — paper, WhatsApp, spreadsheet. We will show you how it runs in Wenbru.