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

ObjectCommon breakSafe first move
Seed / clone batchBatch not linked cleanly to plant creationReconcile batch count to the plant-creation log before plants are promoted
Individual plantPlants created late or room moves not postedReconcile the plant roster to room-move records and the harvest schedule
Harvest batchWet weight, dry weight, and waste do not reconcileRebuild the harvest math from plant list, wet weight, waste, and cured output
Inventory lotLot cannot be matched to source harvest, or was split wrongReconcile the root lot against sublot history and source harvest
Processed inventoryInputs do not equal outputs plus loss; wrong UOMReconcile input, output, waste, and ingredients; fix category or UOM before further movement
Final productWrong product type, route mapping, or immutable expiryFreeze the package, confirm product setup, correct via the approved path before sale
TransferSending side posted but receiving side still pendingMatch manifest ID, sent, received, and rejected quantities before opening for sale
DispensationWrong route, patient, or package; failed syncDecide void / refund / reroute first, then verify both inventory and MMUR outcome
Waste / disposalProduct destroyed before the state scheduleSchedule 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.