MEDSERV WEB ERP DEPLOY — meeting-day round (2026-08-27)
========================================================

Deploy the API zip and run php bin/migrate.php FIRST, then this.

1. Upload this zip to public_html/ and extract (writes into medserv-erp/).
2. Hard-refresh the ERP in the browser (Ctrl+Shift+R).

NEW (28 Aug): a "Purchases" item in the sidebar — one window per purchase
invoice that registers machines and adds consumable stock together
(machine rows with Type > Manufacturer > Model, warranty years, price +
GST %; non-GST consumable sub-rows under each machine; GST consumable
rows on their own; a + icon copies a row with the serials cleared).
Masters now has Consumable categories, and each consumable type gets
Category and GST / Non-GST dropdowns that save on pick — set the GST /
Non-GST one first, Purchase Entry depends on it. "+ Register machine"
and "+ New consumable" now open Purchase Entry instead.

WHAT STAFF WILL NOTICE
- Consumable linking now lives in Masters, on the Consumable TYPE: each
  type shows chips of the machine types it belongs to, with a
  "+ machine type…" picker to add several. The machine picker on the
  individual consumable form is gone (owner's clarification of item 4).
- Machines: newest machine on top; the search box suggests machines
  (serial + type/company/model) to pick from; the register/edit machine
  form has an accessories tick-list.
- Doctors: new Email ID field, shown in the directory.
- Work orders for hospitals are no longer blocked when another work is
  already pending for the same hospital.
- Work-order detail: the Payments card always shows (amount, mode,
  collected by, collection date, verification state) for office
  managers, management, operations, accounts and supers; office
  managers can reassign the engineer at any stage before completion.
- Completing a work from the web requires at least one document in the
  Documents card — a clear message says so if it is missing.
