NMS2S for New Mexico retailers
NMS2S explained: New Mexico's seed-to-sale system, what its API does, and what your store still has to do by hand
A retailer's guide to NMS2S after the September 2026 BioTrack cutover — timeline, the POS API's real scope, migration fixes, tax entry, courier rules and a reconciliation checklist.
By BudAlly
Published Reviewed by Regulatory counsel (advisory)Rule pack NM v1 (counsel review)
As of October 8, 2026. NMS2S changes weekly; this page records the date it was last reviewed and links the state bulletins it relies on. If something below is out of date, the bulletin is authoritative. Not legal advice.
What NMS2S is
The New Mexico Seed-to-Sale System is the state-mandated track-and-trace system for every cannabis licensee in New Mexico — producers, manufacturers, retailers, testing labs, couriers and inventory rooms. It was built by Real Time Solutions, an Albuquerque software firm, under RFP 26-420-42000-00001 (awarded January 28, 2026), and it replaced BioTrack, which had been the state system since 2015 and whose contract could not be extended past September 2026.
The Cannabis Control Division's stated reasons (Bulletin 26-11): the system is custom-built for New Mexico regulations, carries no per-tag or subscription fee for licensees, and integrates with the Department of Health patient registry. The industry's request to delay to March 2027 was declined.
The cutover timeline
| Date (2026) | What happened |
|---|---|
| Aug 25, 5:00 pm MDT | BioTrack transfers disabled; non-retail functionality ends; labs unavailable Aug 25–31 |
| Aug 31 | Producers, manufacturers and labs get NMS2S access; past test results migrated |
| Sep 1, 12:01 am | Retailer migration begins; sales continue in BioTrack; no inter-retailer transfers |
| Sep 2, noon | Retailer inventory visible in NMS2S; dual access; POS must sync down NMS2S inventory |
| Sep 4, 12:01 am | BioTrack off. All activity in NMS2S. |
A lawsuit by the Cannabis Association of New Mexico and several operators and vendors (filed Aug 21) sought an injunction; it was vacated in early September and may be refiled for damages. Reported post-launch problems (Source NM, KUNM, Ganjapreneur, Sep 4–7): tens of thousands of items failing to migrate for single retailers, $150k–$460k of product miscategorized and unsellable, lab results needing manual entry, taxes computed by hand per ticket.
The identifiers and rooms you now live with
- Item ID — numeric, carried over from BioTrack ("the ID number found in your previous track and trace system will not change"). Splits create a new record with a new ID.
- NMS2S Barcode ID — the scannable compliance identifier; what POS systems match on. Labels are printable from NMS2S.
- Rooms — Inventory Rooms (any number), a distinct Sales Floor room (the only stock a POS can sell), a Consumption Lounge room, and default migration rooms ("Retailer", etc.) that multi-licence premises were loaded into.
- Lifecycle statuses — Testing, On Hold, Manifest, Scheduled for Destruction (72-hour hold), Partial Harvest, Pending Remediation, Retest.
- Manifests — need registered Drivers and Vehicles first; status runs Sent → Ready to Receive → Fully / Partially Received.
- Couriers — now hold their own state accounts; retailer delivery runs through Delivery Agreements (Request → Certify → Dissolve).
What the NMS2S API does — and doesn't
There are two tiers. The retail POS API was distributed to POS providers before launch (Bulletin 26-09) with a per-location token an Org Admin creates under Locations → Create Token. On September 30, 2026 CCD published the Expanded API Access and Validation Package: any third-party integration partner — not only a POS — can request inventory and plant reads and three inventory actions, pass UAT in a state test organisation, sign a readiness attestation and receive a production Integrator Bearer Token. The endpoint documentation is given to partners in UAT and may not be republished; the procedure and Terms are summarised in our own words.
| Retail POS API | Expanded API (after validation) | Still manual in the NMS2S web app |
|---|---|---|
| Sales ("dispense" tickets) | Read inventory at a location | Room creation and moves to Sales Floor |
| Delivery dispense | Read an item by inventory ID or barcode | Transfers and manifests (create, receive) |
| Patient validation and 90-day allotment | Read plants at a location, by ID or barcode | Item-level refunds and partial returns |
| Whole-ticket voids (50+ character reason) | Split an inventory item | Destruction, remediation, retests |
| Read: sellable inventory in Sales Floor | Adjust an item (quantity + reason) | Tax amount (entered per ticket, not computed) |
| Read: lab results | Change product name on an item | Adult-use purchase-limit enforcement; drivers, vehicles, users; delivery agreements |
Sources for the scope: Dutchie, Flowhub and GrowFlow help centers, September 2026. The model is pull-based: you move stock to the Sales Floor in NMS2S, the POS pulls it, the POS pushes sales, NMS2S returns a ticket ID. A POS cannot write an inventory fix back.
POS status as published: Dutchie live; Flowhub live; GrowFlow retail live (wholesale blocked); Leafnet live; POSaBIT and BLAZE building; Flourish mapping; Cova "preparing"; Treez — no statement found.
The retailer checklist
A. Migration fixes (once, now)
- Export your last pre-cutover POS inventory. Compare to NMS2S by Item ID.
- For every item: product type correct? expiry real (not the +1-year default)? weight / volume per package entered? extraction type entered? in the right room?
- Use Correct Migrated Inventory per item. Log what you changed.
- Confirm migrated test results are attached; enter the missing ones from the COA.
- Mature plants showing as Vegetative (producers): Production → Vegetative → Change Stage → Mature.
- Confirm every user has their own NMS2S login (BioTrack users did not migrate).
B. Every day
- Move received and tested stock to the Sales Floor; sync the POS.
- Match POS tickets to NMS2S ticket IDs; chase unmatched within 24 hours.
- Check the tax amount on each ticket equals what your POS computed (excise 14% + GRT by location; zero for medical).
- Voids: whole-ticket only, 50+ character reason; make sure the POS side is void too.
C. Every receiving
Manifest Ready to Receive → count per Item ID → receive with actual counts and notes → deli-style conversion for dry flower if needed → move to Sales Floor → sync POS → check the invoice against accepted quantities; a difference is a credit memo.
D. Every delivery
Driver and vehicle registered in NMS2S first — licence number and plate must match exactly or the ticket is blocked. Licensed courier only; recipient pre-identified; ID checked and signature captured; $10,000 vehicle cap (a 2025 rulemaking proposed $5,000 and residential-only — status unresolved); records kept 12 months.
E. Every month
Inventory reconciliation at least monthly (16.8.2.40 NMAC): NMS2S quantities by room against physical count and POS on-hand, by Item ID and Barcode ID; theft, diversion or loss reported to CCD; excise return filed via TAP by the 25th, by location code; GRT with the medical deduction (D0-034) reported separately.
Taxes, because NMS2S won't do them
- Cannabis excise: 12% → 13% (Jul 1, 2025) → 14% (Jul 1, 2026) → 15% (Jul 1, 2027) → 18% by July 2030. Retailers remit monthly by the 25th via TAP, electronically, by location code.
- Gross receipts tax: state plus local rate for the location.
- Medical: patient, caregiver and reciprocal-card sales are excise-exempt and GRT-deductible (deduction D0-034 from July 2025). "Discount in lieu of tax" is not allowed — medical must be tax-free at the register.
- No wholesale or cultivation tax.
Your POS owns the math; NMS2S only stores the number you send. Reconcile the two before you file.
What to ask CCD and Real Time Solutions
If you run any software beside your POS, these are open questions as of this review: whether non-POS vendors can get the API materials; whether one location token can serve two integrations; the scope and date of the inventory API; base URL, auth, rate limits and whether webhooks exist; whether Item ID and Barcode ID are unique statewide and how splits link parent to child; when tax, refunds and purchase limits will be added. Helpline 505-524-0940 (Mon–Fri 8–5 MT); support portal at ccdprod.rtsclients.com.
BudAlly reconciles POS to NMS2S exports today, computes the per-ticket tax, and turns the manual steps above into a checked task list; API access has been requested from the state — BudAlly in New Mexico.
Downloads
Sources
- NM RLD — New Mexico Seed-to-Sale System (NMS2S) · 2026–09
- RLD Industry Bulletin 26-09 — NMS2S transition timeline · Aug 14, 2026
- RLD Industry Bulletin 26-11 — Response to concerns regarding NMS2S transition · Aug 21, 2026
- NMS2S Migration Guidance (RLD PDF) · 2026–08
- Dutchie — New Mexico traceability migration hub (BioTrack to NMS2S) · 2026–09
- Flowhub — Flowhub and NMS2S: what will be supported in New Mexico · 2026–09
- GrowFlow — Retail: how the NMS2S integration works · 2026–09
- Source NM — Cannabis retailers say New Mexico's new mandated system is losing them tens of thousands of dollars · Sep 7, 2026
- NM Taxation & Revenue — Cannabis Excise Tax · 2026
- 16.8.2.40 NMAC — Retailer requirements · 2026