WorkflowResearch & Discovery

Controlled-Substance Research Compliance Agent

A controlled substance inventory reconciled to the milligram as it moves, with the registrant deciding every difference

Every milligram of every controlled substance accounted for, with differences found within hours.

See one case, screen by screen ↓
demo4.2hmedian time to detect a variance over the last 30 days — about 15 days at monthly counts by hand
demo1.7hto draft the biennial inventory from today’s counts and the ledger, every line linked to its count sheet
demo178movements read, posted and matched in 30 days — 7 variances found, 86% of them explained
target94%of containers balanced at each count since go-live
The problem

Why a missing milligram is found two weeks late

A Schedule I powder is weighed out on Monday, written into the usage log on Monday afternoon, and counted at the start of next month. If the log says 25.0 mg and the balance said 27.8 mg, nobody knows until the safe comes up 2.8 mg short — and by then the registrant has to work backwards through usage logs, balance printouts, notebook entries and receipts to find out which line is wrong.

Meanwhile the rules do not wait. An unexplained shortfall that could be a significant loss needs a written notice to the DEA field office within one business day of discovery and a Form 106 within 45 days. The biennial inventory has to be counted exactly for open Schedule I–II containers, every on-site destruction needs two witnesses, and an inspector can ask for all of it, by registration, on any day.

target≈15daysbefore a difference is found at a monthly count, by hand
estimated≈2.5daysto prepare an inventory for the registrant’s signature, by hand
demo1business dayto give the DEA field office written notice of a significant loss, from discovery
Where the hours go on one registration’s inventoryestimated
By hand43 days
With the solution4.2 days
  • Matching usage logs to balance printouts and notebooks6 → 0.5 d
  • Posting receipts, transfers and waste to the ledger4 → 0.5 d
  • Running down a variance5 → 0.5 d
  • Drafting the inventory for signature20 → 1.7 d
  • Putting together records for an inspector8 → 1 d

Estimated hours from the first count to a signed record, by hand and with the solution.

How it works

How a record moves

Five specialist agents read, post, reconcile and record every movement; the registrant decides every difference.

What comes in
Records in4 record types · balance printouts, lab notebooks, receipts, waste
Agents at work
Intake readerread + cited
Then
Ledger keeperrunning balance
Then
Reconciliation checkerexpected vs counted
Then
Loss assessorloss factors + clock
Then
Record drafterinventories + destruction
A person decides
Registrantdecides and e-signs
What comes out
Reconciled ledger
Signed inventories
Inspection pack
One case, step by step

One morning’s counts, from variance to signature

Wednesday, October 7. The monthly counts start at 07:40 in Building 4 and the vivarium. By 07:58 one Schedule I vial is 2.8 mg short and one Schedule II bottle is 4.5 mL short. Here is what happens next, screen by screen, in the working solution.

  1. 01Morning

    Every safe, every registration, on one screen

    Dr. Omar Haddad · Registrant

    Omar holds registration RH0412337 for Schedules I–V. His home screen shows 10 of 14 containers balanced to the milligram, 2 open variances from today’s counts, a DEA notice clock at 31 hours, and the biennial inventory ready to sign. The storage map colours each safe by its state: Safe A has a variance, Cabinet V1 a possible loss.

    “Every milligram across 3 registrations and 7 storage locations — reconciled as it moves, ready for an inspector any day.”

  2. 0207:44

    CS-1187 is 2.8 mg below expected

    Reconciliation checker

    Sam Patel counts Safe A at 07:40 with Dana Okafor as witness. CS-1187, a 500 mg vial of NWB-7731 HCl, should hold 412.6 mg — 500.0 mg received, 87.0 mg withdrawn, 0.4 mg waste. The balance reads 409.8 mg. That is 2.8 mg outside the ±0.2 mg tolerance for an open Schedule I powder, which is counted exactly.

  3. 03One click

    “Run the reconciliation agents”

    The agents

    Omar presses one button. The Intake reader reads nine records — the usage log, six balance printouts, notebook PK-118-0412 and the CSOS receipt. The Ledger keeper recomputes the expected balance, and the Reconciliation checker compares every usage-log line with its balance printout and notebook entry. The Loss assessor checks whether what is left could be a loss.

    Loss assessor: “Every milligram explained by one transcription error — not a loss.”

  4. 04Seconds later

    One line in the usage log, against two records

    Reconciliation checker

    The Oct 5 withdrawal for study PK-118 was 27.8 mg, not 25.0 mg. Balance printout #1182 shows the vial going from 23.4973 g to 23.4695 g, and Lena Ortiz’s notebook records 27.8 mg dissolved in 2.78 mL. Only usage-log line 8 says 25.0 mg. Correcting it balances CS-1187 to 0.0 mg against the 07:40 count — confidence 0.97, every value cited.

    An explanation must be supported by two independent records.

  5. 0510:14 · signed

    A correction line, signed by two people

    Dr. Omar Haddad · Registrant

    Omar has three choices: correct line 8 to 27.8 mg, treat it as a possible loss, or ask Lena Ortiz first. He corrects it. The correction is a new signed line; the original 25.0 mg stays visible, struck through. Lena co-signs as the person who logged it, and Omar signs with the meaning “I approve this correction as the registrant”.

    Lena Ortiz: “I logged this line; the printout is correct.”

  6. 0607:52

    4.5 mL of Pentavel that no record explains

    Loss assessor

    In the vivarium, CS-0950 — a Schedule II euthanasia solution, Pentavel 390 mg/mL, in Cabinet V1 under registration RC2290458 — should hold 41.5 mL. It holds 37.0 mL. Every logged withdrawal matches an animal-protocol record and the count was witnessed. The Loss assessor scores the significant-loss factors of 21 CFR 1301.76: the quantity (about one procedure day), the substance and the diversion potential are significant; the individuals linked are not determined. It starts the one-business-day clock at 07:58.

    “The agents do not name anyone — that is for your investigation.”

  7. 07Matched

    Six cabinet openings, one without a log line

    Reconciliation checker

    The Intake reader exports Cabinet V1’s badge-and-PIN access log for Sep 23 – Oct 7 and matches each opening to a usage-log line or a count. Five match. On Oct 6 at 19:52 the cabinet was opened for 3 minutes with card 4471, a shared night-shift card, and there is no log line to go with it.

  8. 0810:16 · sent

    The notice and the Form 106, drafted for signature

    Dr. Omar Haddad · Registrant

    The Loss assessor drafts the written notice to the Special Agent in Charge and the Form 106 fields: unexplained loss, not in transit; 4.5 mL (1,755 mg); a double-locked cabinet with badge and PIN; corrective actions — the shared night-shift card disabled, weekly counts for Cabinet V1, an access review. Dana Okafor, the compliance lead, reviews it; Omar signs and sends it 31 hours before the deadline. The Form 106 draft is saved, due Nov 21.

    Never sent to the DEA without the registrant’s signature.

  9. 09Drafted in 1 h 40 min

    The biennial inventory, ready to sign

    Record drafter

    Registration RH0412337’s biennial inventory is drafted from today’s counts, as of opening of business on Oct 7, within two years of the Nov 1, 2024 inventory. Nine lines by schedule — open Schedule I–II containers counted exactly and kept separately, Schedule III–IV estimated where the rule allows, sealed containers by number. Each line links to its container and count sheet. It stays on site; it is not sent to the DEA.

    “Taken by Sam Patel, witnessed by Dana Okafor at 07:40–08:05.”

  10. 10Any day

    An inspection pack per registration

    Record drafter

    The Record drafter assembles the pack for RH0412337 from signed records: the registration, the biennial and 24 monthly inventories, Form 222 and CSOS orders, receipts, usage logs with Schedule I–II kept separately, Form 41 destruction records, loss reports, corrections, the storage and key lists, and procedures SOP-CS-01 to SOP-CS-07. Anything still open is listed first, so it is closed before an investigator asks.

    A read-only link for the investigator expires in 14 days, and every view is on the audit trail.

Who it’s for

Built for everyone who holds a key or signs a record.

The same morning’s counts, seen by the five people who carry them — what their month looked like, and what it looks like now.

OH
Dr. Omar HaddadDEA registrant · Neuroscience research
Registrant
Before
Finds a difference at the monthly count and spends the morning reading logs, printouts and notebooks to explain it.
Now
Gets the explanation with its records cited, then decides — correct it, treat it as a loss, or ask first — and signs.
DO
Dana OkaforRules, inspections, DEA correspondence
Compliance lead
Before
Builds an inspection binder by hand from order forms, usage logs, destruction and loss records.
Now
Opens the pack per registration, assembled from signed records, with the items to close listed first.
SP
Sam PatelLab manager, Building 4
Lab manager
Before
Counts each safe, then waits for someone to work out whether the numbers match the logs.
Now
Counts against sheets prefilled with expected balances per safe, and sees each container’s status in the ledger.
LO
Lena OrtizScientist
Scientist
Before
A slip in the usage log turns into a variance at the next count, long after the weighing.
Now
Her balance printout and notebook explain the slip; she co-signs the correction and the original line stays on the record.
MC
Dr. Maya ChenRegistrant · RC2290458, Vivarium
Registrant
Before
Learns about a shortfall in a vivarium cabinet with the one-business-day clock already running.
Now
Sees the shortfall with the significant-loss factors scored, the access log matched and the notice drafted.
Built on the engine

5 agents. Each with one job, and hard limits.

Five specialist agents read, post, reconcile and record every movement; the registrant decides every difference.

Intake reader

Reads balance printouts, notebook entries, usage logs, CSOS and Form 222 receipts, invoices and destruction records into movements.

  • Quantities only from the record itself
  • Every value carries its source passage
  • Unreadable values go to a person
Ledger keeper

Posts each movement to the perpetual inventory for its container and keeps the running balance.

  • Posted lines are immutable
  • Schedule I–II kept separately (21 CFR 1304.04)
Reconciliation checker

Compares expected and counted balances under the schedule rules, then looks across sources for the explanation.

  • An explanation must be supported by two independent records
  • Never closes a variance — a registrant decides
Loss assessor

Assesses unexplained shortfalls against the significant-loss factors, starts the clock and drafts the notice and Form 106.

  • Never sends to the DEA without the registrant’s signature
  • Never names a person as responsible
Record drafter

Drafts monthly and biennial inventories, destruction records and inspection packs for e-signature.

  • Signed records are immutable
  • Two witnesses on every destruction
Registrant

Decides every difference and e-signs. The agents propose; a named person decides.

Ask in plain words

Ask about any container, record or rule

Registrants, the compliance lead and lab staff can ask in plain words — or tell it what to change. Answers cite the records they rest on.

Why is Safe A off by 2.8 mg?

One transcription error — not a loss. On Oct 5 Lena Ortiz weighed 27.8 mg of NWB-7731 HCl for PK-118: the balance printout and her notebook agree. The usage log says 25.0 mg. Correcting line 8 balances the container to 0.0 mg. It needs your signature and Lena’s.

What is due to the DEA this week?

The written notice for the Pentavel shortfall, by Oct 8, 17:00; the Form 106 for the same loss by Nov 21; and the CSOS receipt NWB-26-0241 to record now. The biennial inventory is ready to sign today — it stays on site and is not sent to the DEA.

What does the biennial inventory need?

At least every two years, as of opening or close of business. Open Schedule I–II containers: exact count. Schedule III–V: estimate unless a container holds more than 1,000 units. Sealed: number of containers. Your RH0412337 inventory — 9 lines, as of opening of business Oct 7 — is drafted and ready to sign.

Add a rule: count Schedule I safes weekly

Done. New rule: count every Schedule I safe weekly, Mondays at opening of business. Safe A and Safe L-1 get a prefilled weekly count sheet; the first is Mon Oct 12. Other locations stay monthly.

Every screen

The working solution, as it ships.

13 screens from the working solution, on its sample data. Pick one to see it large.

HomeContainers balanced, open variances, the DEA notice clock and the biennial inventory — with every safe on the storage map.
The ledgerEvery open container with its expected balance, last count, variance and status, filterable by schedule and location.
A container’s mass balanceCS-1187 from receipt to count: received, withdrawn, waste and transfers against the counted 409.8 mg, beside its usage log.
Agents at workEach step in view: records read, expected balance computed, the count checked, the differing line found.
What happenedThe usage log against the balance printout, the notebook and the count — two records agree, one line differs.
Signing a correctionThe registrant signs with the meaning of the signature; the person who logged the line co-signs.
Significant-loss factorsAn unexplained Schedule II shortfall scored factor by factor, with the recommendation and the deadlines.
Cabinet access logEvery badge-and-PIN opening matched to a usage-log line or a count — one opening with none.
Notice and Form 106 draftThe written notice to the DEA field office and the Form 106 fields, drafted for review and signature.
The biennial inventoryDrafted by schedule from today’s counts, exact or estimated as the rule allows, signed by the registrant.
Inspection packEverything an investigator asks for, per registration, assembled from signed records with the open items first.
DashboardTime to detect a variance, what caused the variances, movements per week and weekly checks by storage location.
Your rulesTolerances by schedule, count cadence, witnesses, signers, rules and the sources the agents read.
Governance

Built for an inspector: cited, signed, never overwritten.

Every value cites its recordClick any citation to open the balance printout, notebook page, usage log, count sheet or access log it came from, with the passage highlighted.
Posted lines are never editedA correction is a new line that points to the original, gives the reason and the evidence, and is signed by the person who logged it and the registrant. The original stays visible, struck through.
The registrant decides every differenceThe agents never close a variance. Signatures bind name, date, time and meaning to the record, and a signed record cannot be edited.
Nothing reaches the DEA unsignedLoss notices are reviewed by the compliance lead and signed by the registrant. The Loss assessor scores the factors and drafts — it never names a person as responsible.
Two witnesses on every destructionOn-site destruction is witnessed by two employees until non-retrievable and recorded on Form 41; witnesses are reminded after 24 hours, then the compliance lead.
Every step on the audit trailEach agent step, signature and settings change is recorded with who and when. Schedule I–II records are kept separately, and signed records are kept at least two years.
Configuration

Your registrations’ rules, not ours

Tolerances, count cadence, signers and witnesses are settings. Changes take effect at once and are on the audit trail.

SettingDefaultChoose from
Tolerance · Schedule I–II powders±0.2 mgSet with − / +
Tolerance · Schedule I–II solutions±0.1 mLSet with − / +
Count cadenceMonthly · first business dayMonthly · Weekly for Schedule I, monthly for others · Biennial only
Witness on every countOnOn · Off
Treat any unexplained Schedule I–II shortfall as a possible lossOnOn · Off
Corrections signed byRegistrant + person who loggedRegistrant + person who logged · Registrant only
Destruction witnessesSam Patel and Dana OkaforSam Patel and Dana Okafor · Sam Patel and Lena Ortiz · Ravi Menon and Dr. Maya Chen
Loss notices signed byRegistrant + compliance leadRegistrant + compliance lead · Registrant only
Connections

Works with the records your labs already keep

Analytical balancesprinter-port capture, every weighing within a minute
Electronic notebookentries that mention a container id
Usage logstyped by the person who withdrew
CSOS and Form 222orders and receipts
Cabinet access controlbadge and PIN openings, matched to log lines
Reverse distributor portalpickups and Form 41 copies
What it changes

The difference, in numbers.

Every figure is labelled: a target the solution is built to, an estimate, a typical published result, or a proven one.

estimated
1.7h
to prepare an inventory for signature, from about 2.5 days
By hand≈ 2.5 days
With agents≈ 1.7 h
target
4hours
to find a difference, against about 15 days at a monthly count
Found on day 1
median 4 hours · was about 15 days
target
94%
of containers balanced at each count since go-live
balanced at the last count

“demo” = seen in the working solution, on its sample lab data · “target” = the design goal, measured in the live solution · “estimated” = our estimate · Regulations named as context: 21 CFR 1304 (records and inventories) · 21 CFR 1301.76 (loss reporting) · 21 CFR 1317.95 (destruction). People, companies and products named on this page are fictional — characters and sample data in the working solution.

Questions

What registrants and compliance leads ask us.

What is controlled substance inventory software?

Software that keeps a perpetual inventory of every controlled substance container — receipts, withdrawals, waste, transfers, destruction and counts — and the records the DEA expects behind it. This solution adds agents that read the source records, post every movement, reconcile each count and draft the inventories and notices for the registrant to sign.

How does it reconcile counts with the usage log?

The Ledger keeper keeps an expected balance for each container from its records. When a count is posted, the Reconciliation checker compares it with the expected balance under the tolerance for that schedule, and if it is outside, looks across the usage log, balance printouts, notebook entries and receipts for the explanation. An explanation needs two independent records behind it.

Does it decide whether a loss is significant or report it to the DEA?

No. The Loss assessor scores an unexplained shortfall against the significant-loss factors, starts the one-business-day clock and drafts the written notice and the Form 106. The registrant decides — report it, record why it is not significant, or ask the team — and nothing is sent without the registrant’s signature.

How does it prepare the biennial inventory?

The Record drafter drafts it from the day’s counts and the ledger, as of opening or close of business, by schedule: exact counts for open Schedule I–II containers, estimates for Schedule III–V where the rule allows, sealed containers by number. Every line links to its container and count sheet, and the registrant signs it.

Can we correct a mistake in the ledger?

Yes, but posted lines are never edited. A correction is a new line that points to the original and gives the reason and the evidence; it is signed by the person who logged the line and by the registrant, and the original stays visible, struck through.

Does it work for research sites outside the US?

Yes. In the working solution, a Leiden site runs under its Dutch Opium Act licence for List I and II, with its own register and national inspector. The same agents read its records with those rules.

Do people stay in control?

Yes. The agents read, post, reconcile and draft; they never close a variance, never name a person as responsible and never send anything to the DEA. Every difference is decided and signed by the registrant, and every step is on the audit trail.

How long does it take to go live?

The Agentic Solution Engine builds and deploys it from your requirements and documents — your registrations, SOPs, storage locations and a sample of your usage logs, printouts and counts — and it goes live once every quality gate has passed. We walk you through it on your own records first.

See it on
your safes.

We’ll run the Controlled-Substance Research Compliance Agent on a sample of your own usage logs, printouts and counts.