OperationsUpdated 12 min read
Cannabis inventory management in Thailand: a practical stock-control SOP
A stock problem often appears at month-end, but it usually began when a delivery, batch, sale or correction lost its supporting record. This SOP connects each gram received to its licensed source, storage history and eventual use or dispensing.
Start with one rule: preserve the history
Rules and official guidance checked on 5 September 2026. This guide focuses on cannabis flower at licensed, patient-facing establishments in Thailand. It provides operational guidance, not legal advice. Confirm the forms, filing channel and deadlines for your licence with DTAM or your Provincial Public Health Office.
An inventory balance shows how much flower the system says you have. An inventory history explains why you have it. Each receipt, sale, transfer, count, loss and approved correction should create a dated movement. Do not replace yesterday's quantity with today's count and discard the difference.
DTAM's current establishment guide expects operators to supervise receiving and dispensing, check stock accounts, protect flower from deterioration or loss, and keep records available for inspection.
- Check the physical flower in its licensed storage location.
- Reconcile the movement ledger built from receiving and dispensing.
- Retrieve the evidence used for PT27, PT28 and inspection review.
Build the stock record before the flower reaches the shelf
Create one internal batch record for each distinct received lot. Keep lots separate even when the strain, supplier and retail price match. Combining them removes the path back to the source documents.
The official PT27 form asks for the acquisition date, supplier licence number, licensed supplier name, cultivation area where applicable, and quantity held in dry grams. Your internal record should also retain the supplier lot, your batch ID, invoice, source evidence, storage location and staff approvals.
Keep a received batch unavailable for sale until an authorized employee checks its evidence and quantity. This review status is an operational safeguard, not the name of a separate statutory process.
| Record | Purpose |
|---|---|
| Supplier and licence | Supports the source information used for PT27. |
| Delivery and invoice | Connects the physical receipt to its commercial evidence. |
| Supplier lot and internal batch | Preserves traceability when one product has several sources. |
| Dry-gram quantity | Creates the starting flower balance in the unit used on PT forms. |
| GACP, COA or applicable evidence | Keeps the source and quality documents supplied for the lot. |
| Location, status and reviewers | Shows where the stock sits, whether staff may sell it and who checked it. |
Check
Match the supplier, product, lot and expected quantity to the purchase record.
Inspect and weigh
Record the measured quantity and retain both expected and delivered values if they differ.
Create the batch
Attach the documents, storage location, status, receiver and reviewer.
Release or reject
Record the decision, time and reason. Preserve rejected-delivery records.
Record each movement when it happens
Staff should choose a defined movement type whenever stock changes. Do not treat every return as sellable stock. Preserve both the original dispensing movement and the later decision about the returned product.
DTAM says a licensee must notify the authority in writing without delay if controlled cannabis goes missing or is stolen. Escalate an unexplained variance to the licence holder or responsible manager so they can assess the facts and contact the authority.
| Movement | Evidence to retain |
|---|---|
| Receipt | Supplier, licence, delivery, batch, quantity and receiver. |
| Patient dispensing | Patient and PT33 context, source batch, dry grams, transaction and employee. |
| Branch transfer | Both branches, batch, dispatched and received quantities, and responsible employees. |
| Count variance | Expected and counted quantities, reason, counter and approver. |
| Loss or destruction | Batch, quantity, event details, evidence and authorized approval. |
| Return or reversal | Original transaction, product condition, decision and resulting stock status. |
Connect dispensing to PT33 and PT28
For patient dispensing, staff need to confirm the patient and valid prescription context before payment, then select the exact batch and quantity leaving stock.
The official PT28 form includes the date, buyer identification or passport number, buyer name, date of birth where applicable, purpose, buyer licence where applicable, and dry-gram quantity supplied.
The PT27, PT28 and PT33 practical guide explains the form relationship and the patient prescription record. Restrict access so inventory staff can work with batch quantities without broad access to clinical details.
DTAM: official PT27 and PT28 forms ↗DTAM: official PT33 prescription form ↗
- Patient identity and verified PT33 context.
- Product, exact source batch and dry-gram quantity.
- Receipt, payment, branch, employee and resulting inventory movement.
Count stock without erasing the variance
Run counts often enough to catch errors before the reporting review. Use a blind count where possible: show the counter the batch and location without showing the expected quantity.
For each batch, reconcile opening quantity plus receipts, inbound transfers and approved positive adjustments, less dispensing, outbound transfers and approved loss or destruction. Compare the expected result with the physical count.
An adjustment should create a new ledger entry. It should not rewrite the receipt or sale that produced the expected balance.
Control movements
Pause or control activity in the location while staff count it.
Record the observation
Weigh one batch at a time and save the result before showing the expected quantity.
Recount and investigate
Use a second employee and review open sales, transfers, returns and receipts.
Approve or escalate
Post a reasoned adjustment only after review. Escalate unexplained loss under the incident procedure.
Rotate stock by batch and condition
DTAM's storage guidance covers suitable temperature and humidity, sunlight protection, separation from other goods, storage off the floor, odour and smoke control, and security against loss or theft.
Where batches carry usable expiry or review dates, staff can use first-expired, first-out selection among stock that remains eligible for dispensing. FEFO should not override a hold, failed evidence check or batch restriction.
- Batches approaching an expiry or review date.
- Stock with missing source documents or the wrong location.
- Negative balances and repeated count variances.
Keep branch transfers as two linked events
A transfer should not subtract stock from one branch and create unrelated stock at another. Record the requested, approved and dispatched quantities at the sending branch, then record what the receiving branch measured.
Hold any discrepancy for review instead of forcing the receipt to equal the dispatch. Both branches should retain the supplier and source history.
Ask the authority responsible for each licensed premises how it expects inter-branch movements to appear in the applicable accounts and reports.
Reconcile PT27 and PT28 from the movement ledger
PT27 and PT28 should come from the same records that run the shop. Compare PT27 source entries with accepted receipts and PT28 use or dispensing entries with completed outgoing movements. Review cancellations, reversals, transfers and adjustments before approval.
The official forms describe monthly reporting and allow daily entry through the online system. Current DTAM guidance also describes monthly submission. The published materials do not use identical wording for the cutoff, so confirm the active deadline and filing channel with DTAM or your Provincial Public Health Office.
Keep the submission acknowledgement with the source records. DTAM's guide says operators should retain relevant accounts and evidence for at least three years and keep them available for inspection during opening hours.
DTAM: reporting portal ↗DTAM: medical cannabis establishment guide ↗
Use a daily, weekly and monthly schedule
Write the responsible roles into your SOP. The manager should know who receives stock, releases batches, approves variances and reviews reports.
| Frequency | Review |
|---|---|
| Each delivery | Supplier, evidence, batch, dry weight, condition, location and reviewer. |
| Each dispensing event | Patient and PT33 context, exact batch, dry grams and completed movement. |
| End of shift | Failed transactions, held batches, incomplete receipts and unexplained events. |
| Daily | Active-batch spot counts, negative balances, expiring stock and exceptions. |
| Weekly | Broader count, document gaps, transfer variances, losses and pending approvals. |
| Month-end | Full reconciliation, PT27/PT28 working records, evidence and filing acknowledgement. |
Test your spreadsheet or cannabis POS
A low-volume operator can maintain disciplined records with paper files and a controlled spreadsheet. The method still needs unique batches, protected formulas, user accountability, backups and a correction history.
Test a cannabis POS with one sample batch. Receive it, dispense part of it, reverse a transaction, count the remainder and prepare the report records. Check whether the supplier, evidence, batch and approvals survive each step.
PorThorOS links supplier and batch evidence to receiving, storage, counts, transfers, prescription-checked dispensing and reporting records. Software does not replace the licence holder's review or the authority's decision.
Explore PorThorOS inventory and compliance featuresPrepare for the next inspection during today's shift
Pick one flower batch from the shelf. Ask an authorized employee to retrieve its supplier licence, source evidence, receiving record, original quantity, movements, current balance and related report entries.
Then pick one completed patient dispensing transaction and trace it to the PT33 context, exact source batch, quantity removed, receipt, employee and report record. Record each gap and assign an owner.
For a product walkthrough, bring your operating scenario with sample data. Keep real patient information out of the demonstration.
ภ.ท. OSPorThorOSTest your stock-control workflow with PorThorOSBook a PorThorOS demoFrequently asked questions
What inventory records should a cannabis dispensary in Thailand keep?
Keep source and receiving records, supplier and licence details, batch quantities, movements, dispensing evidence, counts, adjustments and the accounts used for PT27 and PT28. Start with the intake SOP and confirm the accepted record format with your authority.
Should different cannabis lots use separate batch records?
Yes. Separate batch records preserve the connection to each supplier lot, source document, received quantity and movement history. See how to preserve stock history before the first movement.
How often should a dispensary count cannabis stock?
Set the frequency according to transaction volume, product risk and authority instructions. A practical stock-count process uses daily checks for active batches, weekly coverage of wider stock and a full reconciliation before monthly reporting.
How do PT27 and PT28 relate to inventory?
PT27 covers sources and quantities held, while PT28 covers use or supply from the establishment. Reconcile both reports from the same movement ledger.
Can a POS submit PT27 and PT28 automatically?
Do not assume it can. Ask the vendor to show the current filing connection and the authority's acceptance of it. PorThorOS prepares working records for review and provides a free PT27/PT28 generator; it does not submit reports to DTAM.