OMMU's required-data document is the clearest public description of Florida's state-visible inventory object model. It defines the chain of objects an MMTC's internal system must report. Once you know that chain, you can trace where a given package came from and figure out where the reporting is likely to have failed.
The chain
A Florida package has a lineage. Each object is created from the one before it:
seed / clone batch
> individual plant
> harvest batch (wet weight + harvest waste > cure / dry)
> inventory lot
> processing / conversion (inputs + ingredients > output + loss)
> final product inventory
> lab sample / release status
> internal transfer to retail or delivery
> dispensation / void / refund
> destruction or other adjustment
Reconciling by lineage means each object should trace to its parent: a lot to its source harvest batch, a final product to its lot, a dispensation to the package physically decremented. When a count is off, walking that chain is usually how you find the break.
The reporting clock
Florida does not treat all events with the same urgency. The internal STS must provide required information within 12 hours unless otherwise stated, while certain events, notably dispensations and facility-to-facility transfers, are required in real time. The state also requires location and room-level data, including whether an inventory room is a quarantine room. Room data and timing are part of the record you report, not something you can fill in after the fact.
Where each object tends to break
| Object | Common break | Safe first move |
|---|---|---|
| Seed / clone batch | Batch not linked cleanly to plant creation | Reconcile batch count to the plant-creation log before plants are promoted |
| Individual plant | Plants created late or room moves not posted | Reconcile the plant roster to room-move records and the harvest schedule |
| Harvest batch | Wet weight, dry weight, and waste do not reconcile | Rebuild the harvest math from plant list, wet weight, waste, and cured output |
| Inventory lot | Lot cannot be matched to source harvest, or was split wrong | Reconcile the root lot against sublot history and source harvest |
| Processed inventory | Inputs do not equal outputs plus loss; wrong UOM | Reconcile input, output, waste, and ingredients; fix category or UOM before further movement |
| Final product | Wrong product type, route mapping, or immutable expiry | Freeze the package, confirm product setup, correct via the approved path before sale |
| Transfer | Sending side posted but receiving side still pending | Match manifest ID, sent, received, and rejected quantities before opening for sale |
| Dispensation | Wrong route, patient, or package; failed sync | Decide void / refund / reroute first, then verify both inventory and MMUR outcome |
| Waste / disposal | Product destroyed before the state schedule | Schedule destruction first, wait the required interval, then perform and archive support |
Product setup is compliance setup
The retail product master is where lifecycle control meets MMUR control. For usable products and delivery devices, OMMU's unique product ID guidance asks the MMTC to identify a fixed set of fields, including:
- Product Type, Route of Administration, and whether it is a Marijuana Delivery Device
- Product Name, Product Brand, and Unique Product ID
- THC Weight, CBD Weight, Product Weight, and Product Formulation
- Cultivar or Strain, Flavor, Approval Date, and the Reference Number from the approval letter
If the catalog master cannot export these fields cleanly, you have nothing reliable to compare a dispensation's route and THC weight against, so reconciliation is weak before it even starts.
Getting the model right first
The point of all this is to have the lifecycle model straight before you start chasing discrepancies. Each object should trace to its parent, the reporting clock and room data are part of what you report, and the product master has to carry the route and THC fields the MMUR depends on. When those are in place, a bad count usually comes down to finding which link broke.