Skip to content

Clinical Consumables Stock and Reorder Runner

Example prompt: "Every Monday at 7am, scan our consumables stock Google Sheet for items below their reorder threshold, draft a PO email to each supplier grouped by their preferred order, and flag any open orders that are running late in #practice-manager on Slack."

The Problem

A clinical day stops when a consumable runs out. The dental practice that finds itself at 11am with the composite shade the next patient needs sitting in a back-ordered box; the physio clinic that runs out of resistance bands the morning a rehab class is booked; the GP clinic that opens the syringe drawer to find one left. Stock management in a small practice is usually one person's mental list plus an ad-hoc Excel sheet, and the failure mode is silent — nobody notices the gloves are at three packs until the box is open and there's one pair in it. The fix is not a warehouse-management system; the fix is a consistent weekly check, a draft PO to the right supplier with the right pack size and account reference, and a follow-up when the supplier is running late.

How GloriaMundo Solves It

We build a workflow on the practice's existing 'Stock' tab in Google Sheets. Every Monday morning before the practice opens, a code step identifies items below their reorder threshold and groups them by supplier so each supplier gets one consolidated draft rather than a flurry of one-item POs. The workflow guards against duplicates by checking the 'Purchase Orders' tab — an item already on order does not get redrafted; it gets surfaced in the weekly summary instead. An LLM step composes a professional PO email per supplier in the practice's voice with the account reference, the item list, and a polite ask for dispatch confirmation. The Slack summary in #practice-manager shows the three things the manager needs to see in one place: new drafts to send, items already on order, and items where the supplier has missed the lead-time window and needs chasing. For running-late items the workflow drafts the chase email as well, ready for the manager to send. Nothing auto-sends because a wrongly-ordered pack of branded clinical composite or a duplicate of an expensive perishable is real money. Glass Box preview shows the PO drafts, the duplicate guard, and the Slack summary before anything is queued.

Example Workflow Steps

  1. Trigger (integration): Every Monday at 7am local time.
  2. Step 1 (integration): Read the 'Stock' tab and pull every row.
  3. Step 2 (code): Identify rows where current_stock is less than or equal to reorder_threshold.
  4. Step 3 (conditional): For each at-threshold item, check the 'Purchase Orders' tab for an existing row with status 'Drafted', 'Sent', or 'Partially received'. If one exists, do not redraft — flag the item as already-on-order for the weekly summary.
  5. Step 4 (code): Group the remaining items by supplier_name so each supplier gets one consolidated PO.
  6. Step 5 (llm): For each supplier group, compose a professional PO Gmail in our voice — account reference, item table, delivery address, polite ask for dispatch confirmation and total.
  7. Step 6 (integration): Save each PO email as a Gmail draft. Assign one sequential PO number to the supplier group (next integer after the highest existing PO number in the tab) so every item in the consolidated draft shares the same PO number. Append one row per item in the supplier group to the 'Purchase Orders' tab — all sharing that PO number — with the item_id, supplier_name, quantity, draft creation timestamp, the Gmail draft link, expected_arrival, and status 'Drafted'.
  8. Step 7 (integration): When the practice manager sends a PO draft, update every row sharing that PO number to 'Sent' with sent_at and recalculate expected_arrival from sent_at + lead_time_days per row.
  9. Step 8 (integration): When the practice manager updates last_received_date and last_received_quantity on the 'Stock' row (plus current_stock), match against the oldest open PO row for that item — any row with status 'Sent' or 'Partially received', ordered by sent_at ascending — and subtract last_received_quantity from that PO row's remaining_quantity. If remaining_quantity is now zero or less, mark the row 'Received'; if still positive, mark 'Partially received' and leave the row open for a later receipt to complete.
  10. Step 9 (conditional + llm): At 8am Monday, identify items where status is 'Sent' or 'Partially received' AND today is more than lead_time_days + 2 since sent_at. Draft a polite chase Gmail to each affected supplier with the PO number and account reference.
  11. Step 10 (integration): Post the weekly summary in #practice-manager Slack with three sections — new drafts to send, items already on order, and running-late items with the chase drafts linked.

Integrations Used

  • Google Sheets — the 'Stock' tab as the source of stock levels and reorder thresholds, the 'Purchase Orders' tab as the open-order state and audit log, and the 'Practice Settings' tab for the delivery address and house style
  • Gmail — every PO draft and every running-late chase; nothing auto-sends
  • Slack — the weekly #practice-manager summary with new drafts, items already on order, and running-late chases all in one place

Who This Is For

Private dental, vet, physio, aesthetics, and small private GP practices managing twenty to two hundred consumable lines across five to twenty suppliers — the size where a dedicated stock-management system is overkill but the mental-list approach has already caused at least one "we are out of gloves" Monday morning. Works particularly well where the practice already keeps a simple stock sheet in Google Sheets and where suppliers accept POs by email (which most clinical-supply distributors do — they reply with a dispatch confirmation and an order number).

Time & Cost Saved

The weekly stock check and ordering in a typical small practice takes the practice manager 60-90 minutes — counting, cross-referencing supplier catalogues for account references and pack sizes, writing supplier emails one at a time, then chasing the late ones midweek. This workflow turns that into a five-to-ten minute review of the drafts that are already prepared. The bigger gain is the missed-order avoidance: a practice that has even one 'out of X mid-clinic' incident a month is losing twenty to forty minutes of clinical time per incident to reschedules and back-orders, plus the relationship cost of a patient seeing the practice scramble. A consistent weekly cadence with a late-supplier chase typically eliminates the surprise stockouts entirely.

Notes on Auto-Send vs Drafts

Stock orders carry real financial commitment and the practice manager needs to glance at each draft before it goes — to spot a supplier change, a price increase since the last order, a pack size that has changed, or an item that is being phased out. The duplicate guard catches the most common automation failure mode (the same item being ordered twice in two weeks because nobody noticed it was already on the way) but the human review remains essential. Auto-send in the Clinics & Private Practice category remains limited to the Appointment Reminder Cadence's three templated operational reminders and the Telehealth Video Link Dispatch's up-to-four templated link-bearing emails (confirmation, 24-hour reminder, rescheduled, cancellation) — both are patient-facing operational comms with no clinical content. Stock POs are neither operational comms nor clinical content; they carry financial commitment to a third party, and the practice manager's glance is the gate.