New Mexico NMS2S Non-Retail Receiving
How non-retail facilities receive inbound transfers in Flourish and NMS2S — accept in the state system first, then receive using the NMS2S ID as the Flourish package ID.
NMS2S has limited third-party connectivity, so inbound transfers are recorded in both systems. This guide covers non-retail facilities (cultivators/producers and manufacturers) receiving from another licensee. Retail intake follows a different process.
What each system is for
NMS2S records the manifest transfer. That is the whole of what it does with an inbound shipment. It does not model cost, has no concept of a purchase order, and does not include non-cannabis inventory at all.
Everything else about receiving lives in Flourish:
- Cost. What you paid for the material, so your inventory has a value and your margins are real.
- Non-cannabis intake. Packaging, nutrients, supplies, and anything else the business buys. None of it is trackable in the state system.
- Purchase orders and vendor terms. Expected receipts, what is owed, to whom, and QBO bill integration.
An operator who records receiving only in NMS2S has a compliant record and no idea what their inventory is worth.
Receive on the transfer screen, using the state ID as the package ID
The package ID is editable when you create an inbound transfer, so type the NMS2S 16-digit ID directly. The Flourish package ID, then, is the state ID.
This is the same approach used for plants, and for the same reason: one identifier instead of two. Your existing package labels print the state ID with no template changes and no duplicate labels; there is no Reference Field 1 mapping to maintain, and the package matches the state record on its face. It also aligns with how your pre-cutover inventory already behaves, since those packages use the BioTrack barcode as their Flourish package ID.
Accept in NMS2S first, then receive in Flourish
Sequence matters here, and getting it backward creates work you cannot easily undo.
- Review the manifest in NMS2S before accepting. Verify quantities, weights, and package counts against what physically arrived.
- Accept, partially accept, or reject in NMS2S. The shipper cannot void a manifest once it is created — the decision is yours, and it is the only way the transfer resolves.
- Read the IDs off the accepted packages, not off the shipper's manifest.
- Create and receive the transfer in Flourish, entering those post-acceptance IDs as the package IDs.
On a partial receipt, NMS2S issues a new package ID for the received quantity and flags the package as possibly needing re-labeling. The ID the shipper sent you is not necessarily the ID you now hold. Never pre-build a receipt from the manifest — the ID may already have been replaced.
If you reject a manifest, nothing should be created in Flourish at all.
What to record on each package
Field | What goes in it |
Package ID | The NMS2S 16-digit ID, exactly as it stands after acceptance |
Lot Number | The supplier's lot, recorded verbatim |
Item | Your Flourish item, matched to the correct NMS2S product type |
Quantity | As accepted, not as shipped |
Type the ID carefully. There is no scanning in NMS2S to verify against, and a mistyped digit produces a package that looks correct and reconciles against nothing.
On the mobile app
New Mexico non-retail facilities run without a compliance integration, so both creating and receiving inbound transfers work on the Flourish Android app. This is the practical way to do receiving work. NMS2S has no mobile app and no barcode scanning at all.
When you add a line on mobile, the app offers to generate a package ID for you if you leave the field blank. Do not leave it blank. Enter the NMS2S ID as the Package ID. A generated ID means the package will not match the state record and the label will print the wrong number.
The Lot Number field sits on the same line, so capture the supplier's lot as you create the transfer rather than editing it afterward.
If you see "Package already exists", stop and tap CANCEL rather than Replace. That message means the package ID you entered is already in your facility, potentially a mistyped digit that collided with a real package, or a line entered twice. Replace overwrites the existing package. Check the ID against the state record before continuing.
Packages Flourish creates still use Reference Field 1
Typing the state ID as the package ID works when the state numbered the package before Flourish did. That is true of anything you receive.
It is not true of packages Flourish creates itself: splits off a received parent, and output from production. Those get a Flourish-generated package ID, and the state mints its ID separately afterward. For those, record the NMS2S ID in Reference Field 1 on the matching Flourish package, and print from a label pointed at that field. Reference Field 1 is not available in the mobile receiving flow, so this is web app work.
The rule in short: if the state ID exists before the Flourish package does, make it the package ID. If Flourish numbers the package first, put the state ID in Reference Field 1.
Never re-lot inbound product
Record the supplier's lot number exactly as it arrives, if possible. Do not renumber it into your own convention unless it is empty or collides with your lot nomenclature.
Add a vendor company prefix if needed to keep it from colliding with your own lots once both are sitting in your inventory. More importantly, preserving the string verbatim is what lets a recall notice from that supplier match your records without interpretation. A re-lotted inbound package is invisible to their recall.
In general, your own lot convention applies to what you produce, not to what you receive.
Check the category on intake
NMS2S is more specific about product types than BioTrack was, and the category that arrives may not be the one you need.
- Flower can arrive as Dry Flower, Fresh Frozen, or Deli Style Cannabis. If you intend to process it deli-style, it needs to have been manifested to you that way.
- Unpackaged Pre-Rolls are a distinct type and must be tested before they can become Packaged Pre-Rolls.
- Confirm the receiving item in Flourish is mapped to the matching NMS2S product type before you receive against it.
NMS2S allows free-text editing of the item name on your side. Align it to your Flourish item name so the two records read the same and invoices sync cleanly to accounting.
Capturing cost
Where you are buying biomass or inputs regularly and want the cost in accounting, run a purchase order alongside the receipt as a commercial document. Reference Field 1 can be set per line on a PO, which is useful for cost-tracked receiving, but it is not the reason to choose one path over the other. The package ID approach above is the recommendation for the inventory record itself.
Non-cannabis inventory, such as packaging, nutrients, supplies, is received entirely in Flourish. There is no state-side entry for it and no dual entry to do.
Labels
Print package labels from Flourish. State label printing does not support all printers and omits required information.
For received packages, no label change is needed. The package ID already is the state ID, so your existing label prints it. For packages Flourish creates, your implementation contact duplicates the label and points the package identifier at Reference Field 1.
COAs do not sync back
Test results and COAs do not come across from NMS2S. Upload the COA in Flourish, attach it to the lot number, and set the lot to inherit on splits so it stays attached to child packages as you break the material down.
Keep a receiving record
Until the integration exists, keep your own record of what arrived: package counts, weights, the full 16-digit state IDs, and the supplier lot numbers. If a package has to be reconciled against the state record later, or a manifest dispute comes up, that record is what makes it possible. Upload documentation to the PO.
How did we do?
New Mexico NMS2S Retail Intake
New Mexico NMS2S Lot and Batch Numbering