AWRA OpsHub Search

The Chemistry Store: Expiry, Quarantine & What a School Must Not Issue

A school chemistry store holds things that expire, things that must never be issued to a student, and things a district inspector will ask to see records of. Holds are genuinely enforced — expired stock cannot be issued once held — and nothing places that hold for you. What the store can prove, and the one gap that matters most.

Schools & Education Washingtone Aura 14 min read

The chemistry preparation room is the highest-risk store in a school and usually the least controlled. It holds concentrated acids, a bottle of something bought in 2019 whose label has come off, reagents that stopped being reliable two years ago, and — in most schools — a book that the lab technician writes in and nobody else reads.

Nothing here is about compliance software, because none exists in this product. It is about what an ordinary inventory module can genuinely enforce in a laboratory store, which turns out to be the single most useful control in the building, and what it will not do — including one thing most people assume happens by itself and does not.

5
hold statuses that genuinely block issue
1
status that permits issue — available, and only that
30/60/90
day expiry horizons, alerted daily with value at risk
0
jobs that place a hold on expired stock for you

The hold is real, and that is the whole story

Most inventory systems mark stock as questionable and then let it be issued anyway, because the flag is a note rather than a rule. Here it is a rule. A quantity of stock at a location carries an inventory status, and only available stock is eligible for allocation — every allocation query filters on it. The five hold statuses are quarantined, inspection-pending, damaged, expired and returned, and stock in any of them cannot be issued, sold, transferred out or picked.

Placing and releasing a hold records the quantity, the reason, free-text notes and the person who did it. Disposal writes an adjustment, so a bottle destroyed leaves a document rather than a gap. For a laboratory store that combination — enforced unavailability plus an attributable reason — is exactly what a written safety procedure needs underneath it.

The five holds, read as a laboratory would use them

Quarantined

The general-purpose "do not use this" hold. A reagent whose label is illegible, a container that was found open, a chemical awaiting a decision. This is the one a lab technician will reach for most, and the reason field is where the decision gets recorded.

Cannot be issued

Inspection pending

Arrived and not yet checked. Useful at goods-in for a delivery received at the gate by somebody who is not the technician — the stock exists on the record and cannot reach a bench until the technician clears it.

Cannot be issued

Damaged

A cracked bottle, a corroded lid, a spill. Held, then disposed of with an adjustment behind it, which is the paper trail an inspection asks for.

Cannot be issued

Expired

Enforced exactly like the others, and this is where the gap is: nothing sets it. The status exists and no scheduled job applies it, so a reagent past its date remains ordinary available stock until a person places the hold. The alert tells you; the hold is yours to apply.

Cannot be issued — once set

Returned

Something that came back from a classroom and should not go straight back on the shelf. For a lab store this is the honest place to put a part-used container until the technician decides.

Cannot be issued

A controlled-substances register

No statutory register, no two-person authorisation, no reconciliation of a running balance against a bound book. A signature can now be captured on an issue — that part shipped in August 2026 — but a mark on a check-out is not a controlled-substances register. If your jurisdiction or your policy requires one, it stays outside this system.

We can add

The distinction between rows four and five matters more than any other line here: enforcement is real, and detection is a person reading an alert. Anybody planning a safety procedure around this needs the hold to be somebody's named job.

The expiry loop, end to end

  1. Capture the expiry date at goods-in

    A batch record carries a batch number, an expiry date, the supplier and the purchase order it arrived on. If the date is not entered here, nothing downstream can recover it — no alert, no horizon report, no value at risk. This is the one habit that makes everything else in this section work.

  2. Let the daily scan find it

    Every morning a scan looks for batches expiring within ninety days and buckets them at 30, 60 and 90 days plus an expired bucket, with the value at risk in each. It only reports batches with stock still on hand, so the alert stays about real bottles.

  3. Read it, and place the hold

    This is the human step and it is not optional. Nothing holds expired stock automatically, so a reagent that passed its date last month is issuable today unless somebody acted. Give the alert an owner — the technician, checked weekly.

  4. Dispose properly, with the reason recorded

    Disposal records quantity, reason and the acting user, and writes an adjustment. For chemical waste the physical process is governed by rules well outside this system; what the store gives you is the record that a specific quantity left on a specific date, decided by a named person.

  5. Check every location of the batch

    A hold applies to a stock row — an item at a location — not to a batch across the school. A reagent held in the prep room and also sitting in the Form 4 lab takes two holds, and the one you miss is issuable.

The expiry alert now has a switch you can find

Expiry alerting has been running daily since it shipped at the start of this month, gated by an on/off setting and a cadence that existed in the code and appeared on no screen — so it sent daily and could not be slowed or silenced. It is now listed with the other notification settings beside the low-stock alert. The workflow event behind it fires regardless of the mail preference, so a school can automate a response — raise a task for the technician, notify the head of science — with the email muted.

Enforcement is real; detection is a person reading an alert. Expired stock stays issuable until somebody places the hold — so name that somebody before you rely on any of this.

Where a school store sits on the control spectrum

A book in the prep room A regulated chemical inventory

A written store book

One person's handwriting, no totals, unreadable by anyone else, and lost when they leave

A stock item per reagent

A quantity, a location and a movement history that anybody with permission can read

Batches with expiry dates

The date becomes data — alerts, horizons and a value at risk become possible

Enforced holds and recorded disposal

Where this product tops out, and genuinely further than most schools are today

A statutory controlled-substances register

Not built. A signature per issue is now captured, but there is no register, no two-person authorisation and no structured test results

Most school laboratories are at the first mark. Moving to the fourth is a term of habit-building and no software beyond what an ordinary inventory module already does — which is the argument for doing it, rather than waiting for a compliance product.

What an inspection will ask for, and what you can produce

The question What the store can show What it cannot
What do you hold, and where? Quantity per item per location, current and as at a past date A floor plan or a cabinet-level map beyond the location you named
What is out of date? The expiry horizon report, and every batch with its date and remaining life Nothing, provided the dates were captured at goods-in
How do you stop expired stock being used? The hold, which genuinely blocks issue, with the reason and the person recorded Any evidence that the hold was placed promptly — that depends on your habit
Who took what, and when? Every check-out with quantity, date and acting user, and an optional signature with the signer's printed name and the time An issue authorised by two people
How was it disposed of? An adjustment recording quantity, reason and user, with a document attachable Any waste-transfer or contractor certificate — attach yours as a document
Do you test what you receive? A certificate of analysis stored as an attachment on the record A structured pass/fail against a threshold the system can test

Read the middle column as the honest offer: a school that captures dates at goods-in and holds what expires can answer five of six questions from records rather than from memory. Since this article was written a signature can be captured on the issue itself, which strengthens that row — but the sixth question is two-person authorisation, and that is still yours to run outside the system.

The stores nobody thinks to include

Three other school stores hold dated stock and are routinely left out of any control at all: the sick bay, the kitchen and the grounds shed. All three benefit from exactly the same treatment.

  • The sick bay. Paracetamol, antiseptic, bandages and anything a nurse holds carries dates and a duty of care. Same batches, same alerts, same holds. Note that this is not a patient record system — there is no patient, visit, prescription or dispensing record, so what the nurse gives to whom stays in the nurse's own book.
  • The kitchen dry store. Cooking oil, flour and fortified porridge mix all have dates, and a boarding kitchen holds enough of them for expiry to be real money. There is no recipe or menu costing, so cost per meal cannot be computed — but what you hold and when it expires can.
  • The grounds and maintenance shed. Pesticides, paint, fuel and pool chemicals are the highest-risk items on a school compound after the laboratory, and are almost never on any register. Quarantine and disposal records matter here for the same reasons.

What we do and do not do

A school laboratory store — the straight answer

What AWRA OpsHub does today

  • Five enforced hold statuses — quarantined, inspection-pending, damaged, expired, returned — filtered out of every allocation query, so held stock genuinely cannot be issued.
  • Hold, release and dispose actions that each record quantity, reason, notes and the acting user, with disposal writing an adjustment document.
  • Batch records with batch number, expiry date, supplier and purchase-order reference, and per-batch cost.
  • Daily expiry alerting bucketed at 30/60/90 days plus expired, with the value at risk, limited to batches still on hand, and a workflow event you can automate on.
  • A Batch Expiry (FEFO) report with a selectable window, and full traceability showing every event and remaining location for a batch.
  • Attachments and custom fields on records, so a certificate of analysis, a safety data sheet or a waste transfer note is stored where the stock is.

More we can add to your workspace

  • A job that sets the expired status. The status is enforced today and applied by a person, so a past-date reagent stays issuable until somebody places the hold.
  • A controlled-substances register and no two-person authorisation on an issue. A signature can be captured on the issue itself; a register and a second authoriser cannot.
  • Structured test results, with pass/fail thresholds the system evaluates. Lab values and certificates are attachments today.
  • A hold is per stock row, not per batch, so one batch in three locations takes three holds.
  • A safety data sheet library, hazard classification and incompatibility warning, so the system knows that two chemicals should not be stored together.
  • A patient, prescription or dispensing record for the sick bay, and no recipe or portion costing for the kitchen.

The one to act on is the first, and the action is organisational rather than technical: the expiry alert needs a named owner who places holds weekly. Everything else in that column is a build with a scope; that one is a control whose reliability depends on whether somebody reads their email.

More we can add to your workspace

Anything above that you need, we can build for you

Everything listed above as something we can add describes what ships in the standard product today — it is a starting point, not a limit on what AWRA OpsHub can do for your organisation. Kenya's eTIMS integration and its maintained payroll engine are both in the product because clients needed them and commissioned them; neither appeared by itself, and the same door is open for whatever you just read about. One qualification so this is worth what it claims: a small number of things on this blog we deliberately leave to a specialist rather than build — a statutory ledger we will not sign our name to, a rule that would decide a tax question for you, a clinical or member-funds record that belongs in a regulated system — and where that is true the post says so in those words. Everything else is a scope, a timeline and a price.

The operational work, which is what most commissions actually are

An extra approval stage in a chain that does not match the standard one, a custom field set on employees or assets that only your sector needs, an expiry that has to block an order rather than send an email, a report your board asks for in a shape nothing produces, or a scanner or weighbridge feeding the goods-in door. These are the commissions we are asked for most often and the smallest ones we quote — and unlike a revenue-authority pipeline, none of them waits on a regulator.

The module-shaped additions, which are the ones readers ask for most often

A price list with real discount authority, a customer-facing quotation that expires, a bill of materials or recipe costing, a staff advance that is issued, acquitted and chased, a member or unit ledger, a matching rule that holds a payment. Each of these is a build rather than a setting, and each has been quoted before — a bigger piece of work than a custom field, with a written spec and a date instead of a roadmap slide.

The report, document or pack nothing currently produces

The board pack in the shape your board actually asks for, a donor or funder layout, an invoice or receipt template carrying what your regulator or your customer expects, a dataset the report builder cannot reach yet. Usually the fastest thing on this list to deliver, because the data is already in the system.

Systems, rails and hardware you already run

The accounting package, CRM, online store, core banking or custom database you intend to keep — connected through our API so a fact is entered once and appears everywhere it is needed. Plus the physical edge: a scanner, a scale, a weighbridge or a till peripheral feeding the door it belongs to.

How it works: you describe the requirement, we return a written scope, timeline and cost, and once agreed it is built into your environment and maintained as part of the product. Nothing here waits on a regulator or a published specification, which is why operational builds are the ones we quote fastest. Tell us the requirement that would otherwise rule us out — that is a better first conversation than a demo.

Tell us what your operation needs

A term of habits

  • Every dated delivery gets a batch number and an expiry date at goods-in, entered before the delivery note is signed.
  • Deliveries received by anybody other than the technician go straight to inspection-pending, and only the technician releases them.
  • The expiry alert has one named owner who works the 90-day bucket weekly and places holds on anything past date.
  • Anything held is disposed of or released within the term — a hold left open for a year is a shelf full of stock nobody has decided about.
  • Before treating a batch as frozen, check its locations from the traceability view and hold each one.
  • Decide what the signature book is still for. A signature per issue is now captured in the system, so what the book is doing is the running balance against a bound register and the second authoriser — keep it for those, not out of habit.

Our take

A school laboratory gets more from ordinary inventory control than almost any other store in the building, because the hold is genuinely enforced rather than advisory — held stock cannot be issued, and every hold and disposal names a reason and a person. Capture expiry dates at goods-in, give the daily alert a named owner who actually places the holds, and take the signature on the issue now that you can. Keep the paper book only for what the system still does not do — the bound running balance and the second authoriser. Do not expect a compliance register; there is not one here.

See holds, batches and expiry control

Five enforced hold statuses, batch records with expiry dates, a daily 30/60/90 horizon with value at risk, recorded disposal and full batch traceability.

Explore inventory management

Frequently asked questions

Can the system stop an expired chemical being issued?

Yes, once it is held — and that distinction is the whole answer. Only stock marked available is eligible for allocation, and the five hold statuses (quarantined, inspection-pending, damaged, expired, returned) are filtered out of every allocation query, so held stock genuinely cannot be issued, sold or transferred. What does not happen is the holding: no job sets the expired status, so a past-date reagent stays available until a person places the hold. Give that job a name.

Do we get warned before reagents expire?

Yes, daily, provided the expiry date was captured at goods-in. A scan buckets batches at 30, 60 and 90 days with an expired bucket and the value at risk in each, and only reports batches with stock still on hand. It also fires a workflow event, so you can automate a task for the technician even with the email switched off. The cadence and the on/off switch now appear with the other notification settings, which they did not before this batch.

Is there a controlled-substances register?

No. There is no statutory register, no two-person authorisation and no reconciliation against a bound book. What did change in August 2026 is that a signature can be captured on the issue itself, with the signer's printed name and the time stored beside it, so a check-out now carries a mark as well as the quantity, date and acting user. That is not a register. If your policy or your regulator requires a signed register with a running balance and a second authoriser, keep it on paper and treat the system as the quantity record beside it.

Can we record certificates of analysis and safety data sheets?

Yes, as attachments and custom fields on the record, so the document sits where the stock is and can be produced on request. What you cannot do is have the system evaluate them: there are no structured test results and no pass/fail thresholds, so a lab value is a document a person reads rather than a check the system performs. There is also no hazard classification or incompatibility warning — nothing knows two chemicals should not share a shelf.

If a batch is contaminated, can we freeze it everywhere at once?

No — a hold applies to a stock row, meaning an item at a location, so a batch held in three places takes three holds and the one you miss stays issuable. Open the batch's traceability view first, list its remaining locations, and hold each. It is a genuine limitation and a two-minute workaround, provided you know to do it.

Does this cover the sick bay and the kitchen store?

For stock, yes, and identically — batches, expiry dates, alerts and enforced holds work the same wherever the store is, and both hold plenty of dated items worth controlling. For the things that make those rooms distinctive, no: there is no patient, visit, prescription or dispensing record for the sick bay, and no recipe or portion costing for the kitchen, so cost per meal is not computable. Quantities and dates yes; the clinical and culinary layers no.

Help Center

Need a quick answer while you read?

Run inventory, procurement, assets, sales, and field work with approved AWRA guidance for setup, migration, integrations, security, pricing, and support.

Search all approved AWRA public help articles.

Open Help Center