Skip to main content

Flowhub and NMS2S: What Will Be Supported in New Mexico

Many common actions you're used to accomplishing directly in Flowhub with a BioTrack integration will only be supported directly inside the NMS2S platform. This article covers the details of what to expect, and which system to use for which action.

Written by Ari Clouse

New Mexico dispensaries will begin reporting to NMS2S, the state's new traceability system, in September 2026. This article explains what Flowhub's NMS2S integration will handle once your store cuts over, which workflows you'll continue to complete in Flowhub vs the NMS2S web app, and how to complete each of those workflows in NMS2S.

Until your store's cutover date, keep following your current compliance process. Nothing described here takes effect before then.

Short version: Once you're live, sales reporting, sale retries, whole-ticket voids, and lab/potency data will all work in Flowhub. Inventory movement, transfers, destruction, and manifests will be done ONLY in the NMS2S web app at launch. Every one of those NMS2S workflows is documented in the state's own training manuals, and this article points you to the exact section and page for each.

If any actions that were previously available to third party POS integrators over BioTrack’s API become available over the NMS2S API in the future, Flowhub will update our integration to support them. For now, they can only be accomplished in NMS2S directly.

How to use this article

Wherever a workflow happens in the NMS2S web app rather than in Flowhub, you'll find a Do this in NMS2S block with:

  • the state manual that covers it, linked directly to the right page,

  • the state's own section code (for example RT01 or TR03), so you can search the PDF or cite it to the state help line, and

  • a condensed version of the steps, so you know what you're walking into before you open the manual.

The condensed steps are a summary. The state's manual is the authority — if the NMS2S screen doesn't match what's written here, follow the manual and let Flowhub Support know so we can update this article. All references are to the New Mexico Regulation and Licensing Department (RLD) Cannabis Control Division training manuals, version 2.0, August 2026 — except the Organization Admin / Manage Users manual, which is version 1.0, August 2026. The full list of manuals is in the Appendix.

Selling and reporting sales

This will work in Flowhub.

When you complete a sale, Flowhub will report it to NMS2S in real time. There will be nothing extra to click and no end-of-day batch to remember.

If a sale doesn't report

Occasionally a sale won't make it to NMS2S on the first attempt — usually a brief connectivity hiccup on either side. Flowhub will be able to retry the report without creating a duplicate in NMS2S, so a sale that looks unreported can be pushed again safely.

If you see a sale that hasn't reported, retry it from Flowhub rather than re-entering it in NMS2S. Re-entering it manually is what creates duplicates.

Do not dispense in NMS2S directly. The state documents its own dispensing workflows in the Retailer manual — RT04 Dispense Products for Sale (p. 13) and RT05 Dispense Products for Medical Patients (p. 20) — and they exist for licensees who aren't running an integrated POS. Once your store is live on the Flowhub integration, using them creates a duplicate record of a sale Flowhub has already reported. They're listed here only so you can recognize them if the state references them.

Purchase limits

For medical patients, Flowhub will track the 90-day rolling allotment in units and show you where a patient stands before you complete the sale.

For adult-use customers, NMS2S will enforce purchase limits on its side when the sale is reported. Those limits won't be displayed in Flowhub at launch as they are not made accessible to us over API, so recreational purchase limits will continue to reflect purchases that your customers have made at your stores only. Your staff should continue following your standard transaction-limit process at the register.

If you need to look up a medical patient's standing directly in NMS2S — for example to confirm a registry status Flowhub can't see — the state documents that as RT03 Look Up a Medical Patient: Retailer Training Manual v2.0, p. 10.

Voids and refunds

Voiding a sale

This will work in Flowhub, with some rules.

You'll be able to void a sale from Flowhub, which restores the inventory and returns the amount to the customer's allotment. A few things to know about this:

  • Voids will apply to the whole ticket. You won't be able to void a single line item — you'll void the full sale and re-ring what the customer is keeping.

  • NMS2S has strict eligibility rules for voids. Not every sale can be voided, and eligibility is determined by NMS2S, not Flowhub. If a void is rejected, the sale falls outside what NMS2S allows to be voided.

  • A detailed reason will be required. NMS2S requires a written void reason of at least 50 characters. Short entries like "mistake" or "wrong item" will be rejected — describe what happened in a full sentence.

Tip: Before cutover, give your team a few approved void-reason templates that clear the 50-character requirement, so nobody has to improvise at the register.

Do this in NMS2S — only if a Flowhub void is rejected

Attempt to void a sale directly in the NMS2S web app.

Reference: RT15 – Void a DispenseRetailer Training Manual v2.0, p. 80

  1. Open the Sales Floor Room.

  2. Click the Sales History tab.

  3. Click the Sale ID barcode for the sale you need to void.

  4. Click Void Dispense.

  5. Enter a reason. Use the same 50-character standard your team uses in Flowhub.

  6. Click Void Dispense again to confirm. The sale record will display a voided status.

Refunds and returns

Won't be available at launch.

NMS2S doesn't currently offer a way for Flowhub (or you, using NMS2S) to report a refund or a returned item, so item-level returns won't be processed through the integration at go-live. You'll handle returns according to your internal policy and your NMS2S reporting process.

The state's v2.0 manuals don't document a return or refund procedure either — voiding a dispense (RT15, above) is the only reversal the manuals cover. In practice that means a return is handled as a whole-ticket void plus a re-ring of what the customer kept, and the returned inventory is brought back in through either a room move or an inventory adjustment (see Keeping Flowhub and NMS2S in sync).

Confirm the approach your store should use with the state’s help line before your first return, and follow your internal policy for the cash side.

Inventory, Rooms, and packages

Your existing inventory in Biotrack will be cut over into NMS2S as part of the transition, including lab and potency data (see below). Accepting new Transfers from suppliers, moving inventory between Rooms and restructuring that inventory will only be handled in the NMS2S web app at launch.

The BioTrack Tab -> The NMS2S Tab / Adjusting Inventory Discrepancies

Flowhub will be able to compare your Flowhub inventory against NMS2S and show you where the two disagree — a good weekly habit once you're live, and a fast way to catch a problem before it becomes an audit finding.

Corrections will only be made in NMS2S. Flowhub can surface a discrepancy but won't be able to write a fix back to NMS2S (meaning you will not be able to "Fix NMS2S" like you can "Fix Biotrack" today in the Regulator tab), so when the two systems disagree, adjust in the NMS2S web app and then re-sync Flowhub. Think of the sync report as a checklist of what to go fix, rather than a button that fixes it.

Do this in NMS2S — correct the quantity on a package
Reference: INV02 – Adjust InventoryInventory & Rooms Training Manual v2.0, p. 7

Before you start, know the corrected total the package should hold in grams — not the amount you're adding or removing. Have your count, your reason, and the ID of any related package on hand.

  1. Open the inventory room and click the inventory item.

  2. Select the Adjust Inventory action.

  3. Enter the New Total Cannabis Material (grams). This is the total the package should end up at, not the difference. Entering the amount you're removing will set the package to that amount instead.

  4. Select the Adjustment Type that matches what happened.

  5. Enter the Related Item ID if the adjustment ties to another package.

  6. Enter the Reason for Adjustment. Write it as if an auditor will read it, because they may — what was counted, when, by whom, and why the number changed.

  7. Click Save Adjustment, then OK to confirm.

  8. Re-sync in Flowhub and confirm the discrepancy has cleared.

Rooms

The NMS2S API doesn't give us permission to move inventory between Rooms in NMS2S or create new Rooms in NMS2S so Rooms won't sync between the two systems. You won't be able to create a Room in Flowhub and have it appear in NMS2S, and moving inventory between Rooms in Flowhub won't move the corresponding inventory between Rooms in NMS2S.

Do this in NMS2S — move inventory onto the sales floor

Reference: RT01 – Move Inventory to Sales Floor RoomRetailer Training Manual v2.0, p. 4 (also documented as INV08Inventory & Rooms Training Manual v2.0, p. 31)

  1. Click the inventory item.

  2. Select the Move to Room action.

  3. Click Move to Sales Floor Room.

  4. Click OK to confirm.

Do this in NMS2S — move sales floor inventory back to a main room

Reference: RT02 – Moving Sales Floor Inventory Items Back to Main Inventory RoomsRetailer Training Manual v2.0, p. 7

  1. Open the Sales Floor Room.

  2. Click the Item ID to open Item Details.

  3. Select the Destination Room from the dropdown.

  4. Click Move Back to Inventory.

  5. Click OK to confirm.

Do this in NMS2S — move an item between any two rooms

Reference: INV07 – Move Inventory Item to RoomInventory & Rooms Training Manual v2.0, p. 27

  1. Click the inventory item you want to move.

  2. Select the Move to Room action.

  3. Select the Destination Room.

  4. Click Move Inventory Item, then OK to confirm.

Moving several items at once is covered by INV14 – Bulk Actions (Inventory & Rooms Training Manual v2.0, p. 50): select the items, click Bulk Actions, choose the action, complete the required fields, and run it.

Creating a new room isn't documented in the retail-facing manuals. The Inventory & Rooms manual covers moving items between existing rooms but not adding one; the closest documented procedure is PR01 – Add Production Rooms (Producer Training Manual v2.0, p. 4), which is written for cultivation spaces — click Add New Room, enter a room name, choose a room type, click Save Information, then OK. If you need a new inventory room at a retail location, contact the state help line rather than assuming the producer flow applies.

Sublotting packages

Sublotting a package can only be done in the NMS2S web app at launch. These functions are not available over the NMS2S API to Flowhub.

Do this in NMS2S — split (sublot) a package

Reference: INV06 – Split Inventory ItemInventory & Rooms Training Manual v2.0, p. 23

  1. Click the inventory item you want to split.

  2. Select the Split action.

  3. Enter the Amount to Deduct (grams).

  4. Select the Inventory Room for the new split item.

  5. Click Split, then OK to confirm.

  6. Click OK to close the new ID window — note the new item ID, since Flowhub will pull it in on the next sync.

Breaking bulk flower down into deli-style units is a separate procedure: INV03 – Create Deli Style Cannabis (Inventory & Rooms Training Manual v2.0, p. 12) — click the eligible item, select Create Deli Style Cannabis, enter the new weight in grams, select a destination room, click Create, then OK.

Recombining split packages isn't documented. There's no combine, merge, or un-split procedure in the Retailer, Inventory & Rooms, Transfers, or Producer manuals. (The Manufacturing manual's MF04 – Infuse Cannabis Material does merge two items into a new one, but that's a manufacturing operation, not a way to reverse a retail split.) If you need to undo a split, contact the state help line before adjusting quantities on your own — an inventory adjustment changes the total but doesn't merge the two records.

Lab results and potency

This will work in Flowhub.

When inventory pulls in from NMS2S, it will bring lab data with it — Total THC and Delta-9, per gram, per milliliter, and per package. That means potency information will be available on the product without anyone typing it in.

Sending a sample out for testing is a manifest workflow in NMS2S — see TR05 under Transfers and manifests. If a package comes back with a failed testing status, remediation is documented as INV15 – Transformational Remediation (p. 53) and INV16 – Non-Transformational Remediation (p. 57), both in the Inventory & Rooms manual. Both start from the failed item, use the Remediation action, and produce a new item ID.

Unregulated items

Items that aren't state-tracked can be excluded from NMS2S reporting. That's configured on the Flowhub side and doesn't depend on NMS2S.

Transfers and manifests

Will be handled only in the NMS2S web app at launch.

Internal transfers, external transfers, and importing inventory from a manifest will all be done directly in NMS2S. Flowhub does not have access to Transfers information over API with NMS2S. You'll still be able to import inventory from NMS2S from the Regulator tab ("Fix Flowhub") but you will not see incoming Manifests in the Manifest tab post-transition or be able to use Transfers in Flowhub that communicate with NMS2S. You may "bypass Regulator" for Flowhub-only inventory Transfers, but you will need to also perform the Transfer directly in NMS2S to stay compliant.

Everything in this section is documented in the Transfers/Manifest Training Manual v2.0. In NMS2S, an outbound transfer process is always: create the manifest, add items to it, then finalize it. Nothing leaves your license or location until the manifest is finalized.

Do this in NMS2S — create a manifest

Reference: TR03 – Create Manifestp. 11

  1. Go to Transfers and click Create Manifest.

  2. Enter the Contact Phone For This Manifest and select the Transport Type.

  3. Select the Driver's Name and the Vehicle Identifier or Nickname. Both must already be registered — see TR01 and TR02 below.

  4. Select the Destination Organization by typing the location name, then enter the destination contact phone.

  5. Select the Actual Departure and enter the Travel Route.

  6. Click Create Manifest, then OK twice — the second confirmation shows the new manifest ID.

Do this in NMS2S — add items and finalize

Reference: TR04 – Add Item to Manifest / Finalize Manifestp. 19 (also documented as INV05Inventory & Rooms Training Manual v2.0, p. 20)

  1. Go to Inventory Rooms and open the room holding the item.

  2. Click the item, then select the Add to Manifest action.

  3. Select the manifest, click Add to Manifest, then OK. Repeat for each item.

  4. Go back to Transfers and click the manifest ID.

  5. Click Finalize Manifest, then OK to confirm.

Do this in NMS2S — receive an incoming transfer

Reference: TR06 – Fully Receive a Transfer Manifestp. 42; TR07 – Partially Receive a Transfer Manifestp. 46

  1. Click the Transfers tab.

  2. Click the manifest ID showing a Ready to Receive transfer status.

  3. In the Decision dropdown, select Fully Received or Partially Received.

  4. For a partial receipt, enter the Amount Received and any notes.

  5. Enter the Arrival Date/Time and the Name of Manifest Receiver.

  6. Click Submit, then OK to confirm.

Once the manifest is received in NMS2S, pull the packages into Flowhub from the Regulator tab using Fix Flowhub. Receiving in NMS2S is what makes the inventory available to import — Flowhub can't create it on its own.

Do this in NMS2S — send a sample to a testing lab

Reference: TR05 – Create Testing Sample / Send Inventory Item to Testing Labp. 26

  1. Create a manifest to the lab first, following TR03 above.

  2. Open the inventory room and click the item you're sampling.

  3. Select the Create Testing Sample action, enter the Sample Quantity and Test Category, and click Create Testing Sample.

  4. Click OK twice and note the new sample item ID.

  5. Click the new sample item, select Add to Manifest, choose the manifest, and confirm.

  6. Return to Transfers, open the manifest, and click Finalize Manifest.

Preparing for the transition

A few things to plan for before your go-live date:

Your inventory needs to exist in NMS2S first

Flowhub won't be able to push your starting inventory into NMS2S at go-live — inventory flows from NMS2S into Flowhub, not the other way around. The state will ensure your packages are established and accurate in NMS2S before you connect.

Because the state handles this, there's no licensee-facing procedure to follow. Your job is to verify: once your packages are in NMS2S, sync Flowhub and compare (see Keeping Flowhub and NMS2S in sync), and raise anything that doesn't match with the state before you start selling.

How the connection will be authenticated

IMPORTANT: Existing BioTrack user accounts will NOT be automatically transferred into the new system. The primary controlling person listed in your NM-PLUS account will be established as your license’s initial NMS2S system administrator. Before the launch, confirm the primary controlling person contact information for your license is current on NM-PLUS and make any changes as soon as possible before the transition. You will then need to create users for anyone who needs to access the NMS2S system.

Flowhub will connect to NMS2S at the location level, using one set of credentials for the store rather than credentials for each employee. A couple of practical implications:

  • NMS2S activity reported through Flowhub will be attributed to the location, not to an individual Flowhub user. Your Flowhub audit trail will still show which employee rang the sale.

  • Creating NMS2S users, and resetting NMS2S passwords, will be done in NMS2S directly. Flowhub won't be able to create regulator users or manage those credentials.

Do this in NMS2S — add a location user

Reference: OA01 – Add Location UsersOrganization Admin / Manage Users Training Manual, p. 3

  1. Click Manage Users.

  2. Click Add User.

  3. Fill out the User Details section.

  4. Fill out the Location Access section for the locations that user should reach.

  5. Click Save User, then OK to confirm.

Do this in NMS2S — remove a location user

  1. Select the existing location user.

  2. Click Delete User.

  3. Click OK to confirm.

Removing a user in NMS2S doesn't remove them in Flowhub, and vice versa. Add NMS2S user removal to your offboarding checklist alongside the Flowhub step.

Drivers and vehicles

Drivers and vehicles will be read-only in Flowhub. NMS2S will be the system of record — register them there, and Flowhub will pull them in with the IDs NMS2S assigns when Drivers and Vehicles are Synced in Flowhub. Add or edit a driver or vehicle in NMS2S, then re-sync in Flowhub to see the change.

NMS2S keeps two separate registries, and which one you use depends on the job. Transport drivers and vehicles are what you select when creating a transfer manifest. Courier drivers and vehicles are what you use for retail delivery orders. Registering a driver in one place does not register them in the other.

Do this in NMS2S — register a transport driver or vehicle (for manifests)

Reference: TR01 – Add a New DriverTransfers/Manifest Training Manual v2.0, p. 3; TR02 – Add a New Vehiclep. 7

  1. Click the Transfers tab.

  2. Click the Drivers tab (or Vehicles tab).

  3. Click Add New Driver (or Add New Vehicle).

  4. Fill out the fields.

  5. Click Save, then OK to confirm.

  6. Re-sync in Flowhub to pull in the new record and its NMS2S ID.

Do this in NMS2S — register a courier driver (for delivery)

Reference: RT07 – Add a New Courier DriverRetailer Training Manual v2.0, p. 31

  1. Open the Sales Floor Room and click the Courier Drivers tab.

  2. Click Add New Driver.

  3. Enter the First Name and Last Name.

  4. Select the License State and enter the last 4 digits of the driver's license.

  5. Click Save, then OK to confirm.

Do this in NMS2S — register a courier vehicle (for delivery)

Reference: RT08 – Add a New Courier VehicleRetailer Training Manual v2.0, p. 36

  1. Open the Sales Floor Room and click the Courier Vehicles tab.

  2. Click Add New Vehicle.

  3. Enter the Vehicle Nickname, Make, Model, Year, Color, License Plate, VIN, and Vehicle Description. Have the VIN and plate on hand before you start.

  4. Click Save, then OK to confirm.

Quick reference: where each task will happen

Task

Where it will happen

NMS2S procedure

Report a sale

Flowhub (automatic)

Retry a sale that didn't report

Flowhub

Void a sale

Flowhub (whole ticket, 50+ character reason)

Fallback only: RT15, Retailer p. 80

Refund or return an item

Not supported at launch — follow your internal process

Not documented by the state

Check a medical patient's 90-day allotment

Flowhub

Move inventory to the sales floor

NMS2S web app

Move sales floor inventory back to a main room

NMS2S web app

Move an item between rooms

NMS2S web app

Create a new Room

NMS2S web app

Not documented for retail — closest is PR01, Producer p. 4; call the state

Sublot or split a package

NMS2S web app

Create deli-style units from bulk

NMS2S web app

Recombine split packages

NMS2S web app

Not documented by the state — call the help line

External transfer (create manifest, add items, finalize)

NMS2S web app

Send a sample to a testing lab

NMS2S web app

Import inventory from a manifest

NMS2S web app, then Fix Flowhub

Schedule a destruction

NMS2S web app

Finalize a destruction (72-hour hold applies)

NMS2S web app

Remediate a failed-test package

NMS2S web app

Act on many items at once

NMS2S web app

View lab results and potency

Flowhub (pulled from NMS2S)

Register a transport driver or vehicle

NMS2S web app (read-only in Flowhub)

Register a courier driver or vehicle

NMS2S web app (read-only in Flowhub)

Print a delivery manifest

NMS2S web app

Load starting inventory at go-live

NMS2S web app

State-loaded — verify, then sync Flowhub

Fix an inventory discrepancy

NMS2S web app, then re-sync Flowhub

Create an NMS2S user

NMS2S web app

Remove an NMS2S user

NMS2S web app

Appendix : the state's NMS2S training manuals

All of these are published by the New Mexico Regulation and Licensing Department on the NMS2S transition page, which is also where the state posts industry bulletins and where how-to videos, live training sessions, and an FAQ are expected. Check that page for newer versions before training staff — everything cited in this article is version 2.0, August 2026.

Manual

What retailers use it for

Sales floor moves, patient lookup, dispensing, sales history, voids, couriers, delivery

Transport drivers and vehicles, manifests, receiving transfers, lab samples

Adjustments, splits, deli style, room moves, destruction, bulk actions, remediation, labels

Adding and deleting NMS2S location users

Reference for what each NMS2S item status means — useful when reading a sync report

For couriers operating under a delivery agreement

Vertically integrated operators only — plants, harvests, cure, production rooms

Vertically integrated operators only — extraction and manufacturing

Written for labs; useful context on how results reach your packages

Need help?

Contact Flowhub Support with your store name and, for sale-specific issues, the ticket or receipt number. Once you're live, if your question is about something handled in the NMS2S web app — a transfer, a destruction, or an NMS2S login — the state's support team is the faster path.

The state has said a dedicated NMS2S help line will be available during the transition, Monday through Friday, 9 a.m. to 5 p.m. The number will be published on the NMS2S transition page — check there for the current contact, and note that official state communications go to the business email address registered in NM-PLUS, so make sure someone is watching that inbox.

Did this answer your question?