Switching cannabis POS: a dispensary migration checklist
Before you book a POS changeover, have the new vendor import a sample of your files. Check the stock, customer balances and devices you will open with. Use this checklist to agree on what moves, test the result and decide whether the store is ready to switch.
PURP makes cannabis retail software. This is our buying framework, not an independent vendor ranking.
Bring your latest product and stock exports, a list of customer balances, the model numbers of your devices and a list of unfinished orders. Ask for the proposed import scope and any extra charges in writing.
Agree on the scope before you sign
Ask for a written list of what can be imported and what will stay in the old system. Get a separate answer for products, stock, customer details, points, store credit, gift cards and sales history. A vendor may be able to move customer profiles while leaving their balances behind.
Put a name beside each job: supplying the export, matching the fields, fixing rejected rows and checking the result. Confirm the cost of each import, training and support. Also ask when access to the old system ends and what it costs to keep records available after cancellation.
- Which exact export files and fields will the new vendor accept?
- Which records will stay in the old system, and how will you retrieve them?
- What is included in the quoted work, and what could change the cost or schedule?
This is a planning checklist for a move between systems, not a promise that PURP—or any other vendor—can import every field automatically.
Inventory your data and devices
List your locations, registers, devices and connected services. Record the models of printers, scanners and payment terminals rather than relying on broad labels such as “Bluetooth printer.” Confirm the proposed setup with the destination vendor.
Take an authorized export and keep a protected original. Share only the data required for the migration through an agreed secure process. Decide how customer preferences, inactive records and duplicate profiles should be handled; do not guess at a customer's permission to receive messages.
| Dataset | Check before go-live |
|---|---|
| Products | Identifiers, package sizes, barcodes, names, categories and prices map correctly. |
| Stock | Quantities agree by product and location, with exceptions explained. |
| Customers | Profiles are not duplicated and communication preferences retain their meaning. |
| Points and balances | Customer-level and total points, credit and gift-card values reconcile separately. |
| Open work | Purchase orders, returns and other unfinished transactions have an agreed destination. |
| History and reports | Required records remain accessible, whether imported or retained in an archive. |
Run a trial and compare the numbers
Include the records most likely to cause trouble: two customers with the same name, an inactive product, a missing barcode and the same product in two package sizes. Scan both sizes after import and check that each opens the right item at the right price. Ask to see every rejected row and its reason.
Check records as well as totals. For example, if a product has 42 units at one store and 8 at another before import, check those two locations separately. A combined total of 50 would hide stock assigned to the wrong store.
Choose a customer with several balances. A hypothetical account with 600 points, $25 in store credit and a $40 gift card gives you three things to check separately. Confirm the balances, their owners and the agreed redemption rules; a matching customer count tells you none of that.
Keep a list of differences, who will fix them and what you accepted. Repeat the trial after corrections and check that rerunning it does not create duplicate products, customers or balances.
If you are also changing purchasing tools, confirm which sales history, stock and delivery information will be available. For PURP+ OrderFlow, ask to review a recommendation against those records and identify any missing history before relying on it.
Rehearse the work staff will actually do
Have a cashier use their own staff role on the intended register, scanner, printer and payment terminal. Run a sale, ask for a manager-approved discount, decline a card payment and complete a return. The cashier should be able to find the next step without the trainer taking over.
Then have the people who receive stock and close the store do those jobs. Give each team a short guide to the tasks that changed and a named contact for launch-day problems.
Ask what happens when a customer returns with an old-system receipt or a supplier delivery arrives against an old purchase order. Decide who handles each case and where the records will be kept.
For an Alberta store, include the first AGLC monthly reporting cycle in that rehearsal. If delivery is in scope, test the handoff of ready orders, driver assignments and unfinished routes. Review PURP+ AI Dispatcher to see the route-planning controls your team would need to learn.
Write a cutover and recovery plan
Write down the last trading time in the old system, the final export time and who checks the opening stock and balances in the new one. Account for sales, returns and deliveries since the trial. Keep the old records accessible for the period agreed with the people responsible for your recordkeeping.
Agree on reasons to postpone opening, such as an unexplained balance difference or a terminal that has not passed its test. If you switch back after taking sales in the new system, someone must reconcile those transactions and their stock and payment effects before trading resumes in the old one.
- Who makes the go/no-go decision?
- How will sales, returns and stock changes between the trial and final export be captured?
- Which totals and sample records must agree before opening?
- What is the plan if a payment terminal, printer or scanner fails its final check?
- Who is available during the first trading period?
- Where are problems logged, and who resolves each one?
- How will transactions be reconciled if the plan changes?
Check the first day, then the first full cycle
At the first close, compare the POS card totals with the terminal batch, count cash and review returns, stock changes and redeemed balances. Investigate differences before carrying them into the next day. Repeat the review after the first delivery and the first reporting period.
Keep the agreed scope, original exports, field mapping and accepted differences together. Ask staff to record the task, screen and time when something goes wrong so the support team can investigate a specific example.
Considering PURP? Talk to us about your current setup and ask for a migration scope specific to your stores. Explore the register and management workflows, then use the buyer’s guide to compare the fit before committing to a date.