- New York Metrc Migration
- Beginning Inventory in Metrc
- New York Specific Metrc Requirements
- Canix + Metrc Migration Helper
- F.A.Q.
New York is transitioning to Metrc as the state’s official seed-to-sale tracking system. All licensees will be required to report inventory and activity in Metrc by the state’s transition deadline.
New York Metrc Migration
Key Metrc Dates
The timelines below represent the key dates for when licensees must have all of their information in Metrc.
You can find the latest official rollout timeline and requirements on the New York Office of Cannabis Management website.
Canix Webinar Dates and Links
New York License Types
The below is an overview of each license and facility type.
Beginning Inventory in Metrc
Plants
- Beginning inventory uses opening balance plant batches, and then plants will be moved to a specific growth phase.
- Plants that will be harvested soon should be reporting the inventory as a package instead of going through the steps of reporting them during the plant lifecycle
Packages
- Beginning inventory will be entered in the system as an incoming external transfer
- After December 17, 2026, incoming external transfers will no longer be permitted.
- Inventory tested prior to being brought into Metrc at the distributor or dispensary will not be required to be re-tested or virtually tested unless it has not been sold through March 31, 2026
Item Category Mapping in Metrc
The below represents the Item Categories for work-in-progress and finished forms of inventory.
NY Specific Metrc Requirements
- Plant Batches: Reported as an immature group name and no plant tag identifier will be required
- Harvests: Each harvested plant requires a unique weight
- Plant and Plant Batch Additives: Plant Additives reporting for Plant Batches and Plants is required to be reported into Metrc
- Packages: Packages have a new identifier that will allow them to be distinguished as Finished Goods Packages.
-
Retail ID: After December 17, 2025, all cannabis products transferred to retail-facing facilities (Distribution) must be designated as a Finished Goods Packages.
- A Retail Item ID must be applied to each unit before transfer to distributors.
- When a Finished Good Package is created, Retail IDs will automatically be generated to the total quantity of the package.
- Even if you re-package a Finished Good Package, this will a new Finished Good Package. No additional Retail Item IDs will be recorded.
-
Testing: All testing of inventory will occur at the Package stage in the Processor license type.
- Remediation will be permitted
- R&D testing will be permitted
-
Transfers: NY will have three different transfer types:
- Affiliated: License-license transfer between collocated or co-owned businesses
- Wholesale: License-license transfer in which there is a wholesale transaction occurring
- Lab Testing: Transfer to an independent lab testing facility
- Tag Costs: Tags in New York will be 10 cents each for Plant, Package, and Retail Item IDs.
Retail ID in New York
The below workflow shows how Packages will go down the supply chain, and how Retail ID will need to be applied to each individual unit for Retail IDs.
The Retail ID will allow each unit to be referenced at each stage in the Supply Chain.
The workflow below shows how Codes are generated for each Package for Labeling in Metrc.
The original source package for Metrc will have a Retail ID generated, and for each Child Package, or individual SKU of this unit, and individual Metrc QR code will be put on each unit.
Purchasing Retail Item IDs in New York
In New York, Retail IDs are called "Retail Item IDs" and require purchase.
- Every "source tag" must have a Retail Item ID
- Every individual unit must have an individual Retail Item ID
- Each Retail Item ID is 10 cents.
So, if you have a Finished Goods Package of 1,000 individual units, you will need to purchase:
- 1 Retail Item ID for the entire package - 10 cents
- 1,000 Retail Item IDs for each individual unit - 1,000 * 10 cents = $100
Your total cost will be $100.10.
Note - if you have not purchased enough Retail Item IDs in New York, you will not be able to product "Finished Goods" packages.
Canix + Metrc Migration Helper
To make this transition as smooth as possible, Canix has built the New York Metrc Migration Helper — an internal tool in the Admin section of Canix that helps operators prepare their data for migration.
This guide walks you through each section of the Migration Helper and provides context on how to ensure your data is ready for the Metrc cutover.
Transition Steps
Operators will need to:
Prepare data in their existing system (Canix).
Complete mapping and confirmation in the Migration Helper.
Transition to Metrc once access credentials are issued.
Accessing the Metrc Migration Helper
You can find the New York Metrc Migration Helper by navigating to:
Admin → Metrc Migration Helper
This page displays the progress of your migration preparation, grouped into eight sections representing the main data categories required by Metrc.
The 8 Migration Sections
The Migration Helper includes the following sections:
Map Items
Confirm Plants
Confirm Plant Batches
Confirm Harvests
Confirm Packages
Confirm Locations
Confirm Drivers
Confirm Vehicles
Each section must be completed and display a ✅ green checkmark before your facility data is ready for migration.
1. Map Items
All Items in Canix need to be mapped to the corresponding Metrc Item Type.
Use this section to associate each Canix Item with a valid Metrc Item Type.
A progress bar shows how many of your items have been mapped (e.g. “0 of 1,673 items mapped”).
Once all items are mapped, this section will display a green checkmark ✅.
Tip: Item mapping ensures consistency between Canix product definitions and Metrc’s standardized item categories — this is a critical step before any migration can occur.
2. Confirm Plants
Verify that all plant records in Canix are accurate and active.
The Migration Helper will show the number of confirmed plants (e.g. “67,492 plants confirmed”).
Review plant data for any that should be destroyed or deactivated before migration.
Once all active plants are confirmed, a green checkmark will appear.
3. Confirm Plant Batches
Confirm that all plant batches are complete and current.
-
If a plant batch has been modified since you last confirmed it (e.g. plants added or removed), you’ll see a warning:
“Plant Batch data has been updated since confirmation. Please re-confirm your plant batch details.”
You must re-confirm plant batches anytime new data is added.
4. Confirm Harvests
Confirm harvests are complete and current.
5. Confirm Packages
All packages must have locations associated with them before migration.
-
If any packages are missing locations, you’ll see a warning:
“Packages cannot be migrated to Metrc without Locations. Please update the Location for any Packages missing Locations.”
After assigning locations, re-confirm packages to clear the warning.
The Migration Helper will show the number of packages awaiting confirmation (e.g. “5,036 packages awaiting confirmation”).
6. Confirm Locations
Verify that all locations in Canix are current and correctly named.
Example status: “217 locations confirmed.”
If any new locations are created, this section will show as needing re-confirmation.
Locations must be confirmed before mapping or packaging inventory.
7. Confirm Drivers
Review and confirm your drivers are current and properly entered.
Example status: “28 drivers confirmed.”
Only active drivers should remain in the system at the time of migration.
Deactivate any old or unused driver records.
8. Confirm Vehicles
Confirm that all vehicles used for transport are active and correctly entered.
Example status: “19 vehicles confirmed.”
Deactivate or remove vehicles no longer in use to avoid migration issues.
How Confirmation Works
Each object type (plants, batches, harvests, packages, etc.) must be reviewed and confirmed.
Once confirmed, Canix records that the data is accurate as of that moment.
If any of the underlying data changes — for example:
A new package is created
A plant is destroyed
A batch is updated
Then that object will automatically revert to “unconfirmed” status.
You will need to re-confirm it before migration.
This ensures that the final migration reflects the most accurate, up-to-date inventory state.
Common Warnings & How to Resolve Them
| Warning Message | Explanation | How to Fix |
|---|---|---|
| Plant Batch data has been updated since confirmation. | The plant batch has changed after you confirmed it. | Review the batch and re-confirm. |
| Packages cannot be migrated to Metrc without Locations. | Packages missing location data. | Assign a location and re-confirm packages. |
Best Practices Before Migration
Clean up old or inactive data — destroy or deactivate any outdated inventory.
Confirm all records in each section of the Migration Helper.
Resolve all warnings displayed at the top of the Migration Helper.
Check progress bars — all sections should show a green checkmark before you’re ready.
Monitor for updates — if new records are added after confirming, revisit the Migration Helper before the migration date.
F.A.Q.
-
What do you do when you receive an appended license from Metrc/OCM for multiple locations?
- ANSWER: Update your License Number in Facility Management (Admin > Facility Management> License) with each appended license received from Metrc in your Canix Standalone account.
- ANSWER: Update your License Number in Facility Management (Admin > Facility Management> License) with each appended license received from Metrc in your Canix Standalone account.
-
How do we "harvest" plants and create them as packages for reporting sake, before migration, without having actual weights? and, plants harvested in Canix do not get a package tag until they are dried. Is that different in METRC? Does METRC create a package # as soon as you enter the wet weights at harvest?
- ANSWER: Create them as a package of Harvested material and put the approximate wet weight based on your average weight of each plant. When you go further in the supply chain, there will be the opportunity to adjust the package for the actual dry weight.
- ANSWER: Create them as a package of Harvested material and put the approximate wet weight based on your average weight of each plant. When you go further in the supply chain, there will be the opportunity to adjust the package for the actual dry weight.
-
Do we need to migrate batch templates and BOMs to align with processing job categories & attributes?
- ANSWER: No, you do not. Canix will handle this for you.
- ANSWER: No, you do not. Canix will handle this for you.
-
Are packaging flower packs required to be put through a Processing Job? (...pre-rolls?)
-
ANSWER: All Packaged goods must be submitted through a Processing Job.
-
ANSWER: All Packaged goods must be submitted through a Processing Job.
-
Can item categories be mapped using existing item subtypes instead of individually mapping new categories to each item individually?
- ANSWER: Your currently assigned Item's Sub-Type data will be migrated on Migration Day, but Sub-Types of Items are not used for data mapping required for Canix to migrate. You will only map your Item Types -> Metrc Inventory Type as part of the Items data mapping.
- ANSWER: Your currently assigned Item's Sub-Type data will be migrated on Migration Day, but Sub-Types of Items are not used for data mapping required for Canix to migrate. You will only map your Item Types -> Metrc Inventory Type as part of the Items data mapping.
-
How will order rejections and returns be reflected in Metrc?
- ANSWER: Metrc does not deal with Orders, so that is not applicable. Returns will reflect as the package going back on the transfer (same as other states). Rejected transfers will reflect in the Metrc Transfers hub: https://www.youtube.com/watch?v=d6Quw3pJpRI&t=6s
- ANSWER: Metrc does not deal with Orders, so that is not applicable. Returns will reflect as the package going back on the transfer (same as other states). Rejected transfers will reflect in the Metrc Transfers hub: https://www.youtube.com/watch?v=d6Quw3pJpRI&t=6s
-
Do all Retention Samples need to be integrated into Metrc?
- ANSWER: Yes.
- ANSWER: Yes.
-
IF we have multiple bins for a single package, how do we deal with that with the new METRC package tags? When just using Canix we would just print duplicate barcode tags, but my understanding is that we need physical tags from METRC??
- ANSWER: We print duplicate barcode tags. If it is a Finished Good package, each bin will receive a Retail ID.
- ANSWER: We print duplicate barcode tags. If it is a Finished Good package, each bin will receive a Retail ID.
-
During migration, will Canix be notifying the OCM of loss of access to the system or should licensees reach out to OCM to notify them?
- ANSWER: Operators/Licensees must reach out to the OCM to notify OCM of this migration event and that your reporting will be paused during your migration to Metrc on your Migration Date (invite sent to your SPOC on Nov 11)
- ANSWER: Operators/Licensees must reach out to the OCM to notify OCM of this migration event and that your reporting will be paused during your migration to Metrc on your Migration Date (invite sent to your SPOC on Nov 11)
-
Please go over the multiple location per license topic again- currently I have 2 portals in Canix for 1 License, 1 for each location. Will these stay separate after the migration?
- ANSWER: Metrc will assign one new license per location within a facility (each will have a unique suffix appended). You MUST provide the list of ALL licenses provisioned to you by Metrc/OCM to Canix prior to (or the start-of) your scheduled Migration Date. Canix will then create matching Facilities, for each license you've been provisioned.
- ANSWER: Metrc will assign one new license per location within a facility (each will have a unique suffix appended). You MUST provide the list of ALL licenses provisioned to you by Metrc/OCM to Canix prior to (or the start-of) your scheduled Migration Date. Canix will then create matching Facilities, for each license you've been provisioned.
-
For virtual retesting, how will we be able to sub-package these samples to "send for virtual testing" without taking away quantity from the original package?
- ANSWER: Being investigated...
- ANSWER: Being investigated...
-
If Canix ends up being able to migrate a testpassed status to Metrc, wihat will Canix use to indicate that a lot is tested/passed?
- We will update the "Testing Status" on the Package to `Passed`
- We will update the "Testing Status" on the Package to `Passed`
-
If a COA has been associated to a parent package but hasn't followed through on the child packages, will Canix use a lot ID to assign a tessedpassed status to all child packages?
- A COA should follow through all of the child packages from a parent package, so this will not apply
- A COA should follow through all of the child packages from a parent package, so this will not apply
-
Does the Canix migration provide support in the execution of Incoming External Transfers for Beginning Inventory in Metrc?
- ANSWER: We will perform this on your scheduled Migration Day as part of the data migration process, and after the migration is completed by Canix, you'll need to login to Metrc UI, and accept that incoming external transfer. Canix (any any integrator) can only perform this action until Dec 17 (but we want to complete this well before Metrc's deadline and are targeting to complete for all customers by Nov 21), then Metrc is shutting this capability down.
- ANSWER: We will perform this on your scheduled Migration Day as part of the data migration process, and after the migration is completed by Canix, you'll need to login to Metrc UI, and accept that incoming external transfer. Canix (any any integrator) can only perform this action until Dec 17 (but we want to complete this well before Metrc's deadline and are targeting to complete for all customers by Nov 21), then Metrc is shutting this capability down.
-
Does the Canix migration provide support in the execution of the virtual sampling process
- ANSWER: Pending final from Metrc in-writing on this...
- ANSWER: Pending final from Metrc in-writing on this...
-
Who should we contact at Canix if we need help with any of these steps during this process
- ANSWER: Ben or Luke (see webinar Key Takeaway slides from presentation deck for our email addresses)
- ANSWER: Ben or Luke (see webinar Key Takeaway slides from presentation deck for our email addresses)
-
At the roadshow METRC made it seem like after Dec 17th we will not be able to add more strains into METRC, is this true? or did I misunderstand
-
ANSWER: Canix is working to get confirmation from Metrc, but the tentative answer is, in all our other Metrc states you can create/modify strains (you may be referring to the limitation for Incoming External Transfers that will be cutoff on Dec 17)
-
-
Do I need to add employees to Metrc before integration, or will Canix migrate employee data?
- ANSWER: You need to create employee accounts directly in Metrc—Canix does not migrate or sync employee data between systems.
- Users are linked between Canix and Metrc via their individual Metrc API keys, not by name or employee ID. This means:
- Create employee accounts in Metrc with appropriate permissions
- Each employee generates their own Metrc API key
- Each employee enters their API key in their Canix user profile through User Management
- This links their Canix account to their Metrc account for submission tracking, with no risk of duplication.
- ANSWER: You need to create employee accounts directly in Metrc—Canix does not migrate or sync employee data between systems.
-
When should I link the individual Metrc API keys?
- ANSWER: You can link employee API keys in Canix at any time during your setup process. A good practice is to add them after:
- Employees are created in Metrc (& in Canix if not already)
- But before you start taking inventory actions in Canix post migration. This ensures that when your team begins working in Canix, their actions will be properly attributed in Metrc from the start.
- ANSWER: You can link employee API keys in Canix at any time during your setup process. A good practice is to add them after:
-
Will data automatically transmit to Metrc once API keys are linked?
- ANSWER: No—simply linking API keys doesn't trigger any data transmission. Data only transmits to Metrc when users actively take actions in Canix that require Metrc submission (like creating packages, transfers, harvests, etc.).
- ANSWER: No—simply linking API keys doesn't trigger any data transmission. Data only transmits to Metrc when users actively take actions in Canix that require Metrc submission (like creating packages, transfers, harvests, etc.).
-
Do API keys need to be stored externally in a secrets manager?
- ANSWER: No external storage is necessary, although you can store them externally if you'd like (and if you choose to do this, we do recommend storing in a secret manager or vault). Once entered in Canix, API keys are securely stored within each user's Canix profile. Only Admins with access to User Management will be able to update or view these keys. Users won't need to access or reference their keys again unless they need to update them.
- ANSWER: No external storage is necessary, although you can store them externally if you'd like (and if you choose to do this, we do recommend storing in a secret manager or vault). Once entered in Canix, API keys are securely stored within each user's Canix profile. Only Admins with access to User Management will be able to update or view these keys. Users won't need to access or reference their keys again unless they need to update them.
-
Do all employees need to have their Metrc API keys linked in Canix?
- ANSWER: No—only employees who take actions in Canix that submit to Metrc need API keys linked.
-
Who needs API integration?:
- Employees who create/update packages
- Employees who manage plants, harvests, or facility data
- Employees who create transfers
- Employees who perform any inventory actions in Canix
-
Who doesn't need API integration:
- Employees with view-only access in Canix
- Employees who are in Metrc for compliance but won't use Canix
- Employees who work outside the system
- Why it matters: When a user with a linked API key takes an action in Canix, it's submitted to Metrc under their individual credentials, ensuring proper accountability and accurate audit trails. Without a linked API key, actions default to the main facility integrator key.
- Please see the following articles for more information and detailed steps on Metrc API key management:
-
Who needs API integration?:
- ANSWER: No—only employees who take actions in Canix that submit to Metrc need API keys linked.
-
So, when do we have to start using external transfers in Metrc (to keep quantities accurate)?
- ANSWER: Once Canix has completed your Metrc Migration and has unlocked your account, you will use a combination of Canix + Metrc to manage outgoing transfers (see below options).
NOTE: We recommend also familiarizing yourself with the Canix Help Center article on Accepting Incoming Transfers for Metrc customers: https://help.canix.com/hc/en-us/articles/360057616471-Accept-Incoming-Transfers#h_01FHTRVQ34Y1TGWKEZNBHNWAHK-
Create Outgoing Transfer and Manually enter Package Prices
- First Step to Create an Outgoing Transfer: https://help.canix.com/hc/en-us/articles/8243439238548-Create-Outgoing-Transfers
- Register an Outgoing Transfer in Metrc: https://help.canix.com/hc/en-us/articles/360058125991-How-to-Register-an-Outgoing-Transfer-in-Metrc-Submit-Draft-Transfer-Templates
-
Automatically enter Package Prices by Creating a [Outgoing] Transfer from a Sales Order
💡 Alternatively, Creating a Transfer from a Sales Order allows you to create Outgoing Transfers much more quickly and easily by pre-filling the transfer information and auto-adding the packages from the Sales Order. This allows less opportunity for error and ensures higher accuracy, as well as allowing you the option to have package prices populate automatically on transfers.
[PREREQUISITE]: The following setting be enabled on your Canix user profile:
-
Create Outgoing Transfer and Manually enter Package Prices
- ANSWER: Once Canix has completed your Metrc Migration and has unlocked your account, you will use a combination of Canix + Metrc to manage outgoing transfers (see below options).
-
My company is currently utilizing Production Batches in Canix, do we need to start/switch to creating Processing Jobs in Metrc, both, or what exactly please?
- ANSWER: You will be able to create processing jobs in Canix and we will post them to Metrc. Here is a help center article walking through this: https://help.canix.com/hc/en-us/articles/22468033202452-Processing-Jobs
- ANSWER: You will be able to create processing jobs in Canix and we will post them to Metrc. Here is a help center article walking through this: https://help.canix.com/hc/en-us/articles/22468033202452-Processing-Jobs
-
The Canix New York Migration Helper's "Plants" section indicates
Plants must be on a single Harvest/Manicure in order to start the migration- Is this saying we need all plants to be on a single harvest?- ANSWER: Yes they need to be in a single active harvest before we can migrate, as this is required by Metrc (plants can only belong to a single harvest in Metrc).
- ANSWER: Yes they need to be in a single active harvest before we can migrate, as this is required by Metrc (plants can only belong to a single harvest in Metrc).
-
The Canix New York Migration Helper's "Plant Batches" section indicates I have either
0 of 0 plant batches to migrateor there is a mis-match in the counts from what I expect (since I have plants in vegetative and flowering phases currently). Why?- ANSWER: This is because none of the plants within those plant batches are "Immature Plants". Canix will migrate ALL the plants (and you'll need to assign your new Metrc tags to those plants after accepting the Incoming External Transfer of inventory). However, if you have no "Immature Plants" in a batch, only plants in Vegetative or Flowering phases, then when we migrate these Plant Batches w/o Immature Plants, the Plant Batch will be migrated as an "Inactive" Plant Batch (the Plants within will migrate as active, and will be associated with the Inactive Plant Batch, respectively).
- ANSWER: This is because none of the plants within those plant batches are "Immature Plants". Canix will migrate ALL the plants (and you'll need to assign your new Metrc tags to those plants after accepting the Incoming External Transfer of inventory). However, if you have no "Immature Plants" in a batch, only plants in Vegetative or Flowering phases, then when we migrate these Plant Batches w/o Immature Plants, the Plant Batch will be migrated as an "Inactive" Plant Batch (the Plants within will migrate as active, and will be associated with the Inactive Plant Batch, respectively).
-
How do I create a transfer to a retailer who hasn't finished their Metrc on-boarding, and only have an OCM License, but that license does not include the Metrc suffix?
- ANSWER: We asked Metrc this very question during one of their webinars a couple of weeks ago, and their response is to get the retailer / destination facility on Metrc. Canix cannot help with this beyond the following recommendations:
- Reach out to Metrc to say “How can I create transfers to licenses not on Metrc???”
- Push your retail partners to complete their Metrc on-boarding training to get their Metrc license, otherwise...you cannot transfer to them
- ANSWER: We asked Metrc this very question during one of their webinars a couple of weeks ago, and their response is to get the retailer / destination facility on Metrc. Canix cannot help with this beyond the following recommendations:
-
Since Canix doesn't migrate or update any of my customers who are new to Metrc, what do I have to do to update my customer's license to use their new Metrc license in Canix, please?
- ANSWER: First, get the new license ID from your customers, and then you can use the Canix Customer Bulk Uploader in the Facility Data Uploader section for tasks just like this! We recommend you use that Uploader to bulk change any Customers you need to update their Metrc License ID. Here is the help center link for this feature: https://help.canix.com/hc/en-us/articles/44131991103764-Bulk-Upload-Customers.