Skip to main content

August 2020: Magestore received the project with some requirements from the client. No hassle as the client had no go-live plan yet.

September 2020: Magestore started working on more projects and the heat increased.

October 2020: The client added more complex requirements and expected to launch the solution for 62 stores on November 11th.

There were around 40 days to go and we had to speed up the process. How did the client and Magestore make it work? Let’s count down to the launch day with us.

The brand


Trulieve is one of the largest cannabis retailers in the world, based in the U.S., which is operating in 11 states and plans to expand nationally. The company manufactures their own products, including therapeutic and herbal medicine products, natural herbal cosmetics, and products for animals.

Trulieve had 62 stores. Each store had up to 10 registers and an additional 2–4 tablets for the delivery team.

The challenges

Trulieve looked for a system that could sync inventory online and offline. They wanted to migrate their current system into Magento and own the source code. Therefore, they needed a customizable and Magento-compatible solution.

As a big retailer, Trulieve paid much attention to the following things when they came to Magestore:

  • The confidentiality of customer information
  • A point of sale that can scale and be customized to their business requirements
  • A POS that can handle a number of large orders, from 60,000–70,000/day without any interruptions
  • Simultaneously migrate from the old ERP system to SAP along with setting up the POS system at the stores
magestore pos screen - web pos system

Trulieve would use Magento as a platform for eCommerce websites, SAP as their ERP system, and Magestore POS system at their physical stores. Magestore POS would connect directly with Magento and sync data from Magento to the ERP system.

At the beginning of the project in August 2020, Trulieve didn’t set an exact date to launch the solution. After nearly 2 months of working together, Trulieve requested more features to fit their business and set the launch date around mid-November.

However, November is the peak sales season of many retailers and Magestore was also working with other clients to launch their system. But in the end, Magestore and Trulieve made it happen.

How we made it work

Simplicity—the art of maximizing the amount of work not done—is essential

The stakeholders in this project included 3 parties from Trulieve—their internal IT department, an ERP system provider, an external deployment team—and 2 Magestore teams—Delivery and Product.

During project kickoff, Magestore received the following requests from Trulieve:

  • Dual screen: A large screen display for customers to view products and increase their experience
  • Customer management: Manage prescription information and purchase history of customers
  • Reward point and Redemption: Apply reward points to customers
  • Call center: Receive customer requests via phone and coordinate orders
  • Batch assignment: Manage and update the status of shipments by batches

The requests were updated regularly, even daily while the project timeline was too urgent. Moreover, Trulieve had some problems with their ERP deployment at that time, some related requests could be changed or on hold (as the Magestore POS system would sync data to the ERP).

After many changes, we held a meeting between all parties to finalize the minimum viable product (MVP) version and lock the go-live features.

Customer collaboration over contract negotiation

When working with multiple partners, the biggest challenge was to reach a mutual understanding of the following factors:

  • Request
  • Solution
  • Communication method, communication channel, meeting time
  • Method of transferring source code
  • Code review
  • Development flow

Initially, Magestore’s Delivery team received the project in August 2020. At that time, the team didn’t have the resources for the project and the project’s deadline wasn’t set.

In September, the team reached max capacity with many active projects. We decided to bring in more resources to help Trulieve by cooperating with more partners. 

In October, Trulieve shared their go-live plan on November 11th and added new, complex requests. 

When the Delivery team designed the solution for Trulieve’s requests, we estimated that it would take at least 2 months to complete.

With the go-live date quickly approaching, Magestore teams and partners proposed a few measures to ensure the right pace:

  • Over-time working
  • Daily internal acceptance (for all relevant teams to review and agree on the given solutions)
  • Daily meeting with customers

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software

As Trulieve would implement the POS solution in all their 62 stores, they cared much about the simplicity of devices and the seamless integration between hardware and software. Therefore, they had selected two simple payment providers. And to make all hardware devices and software work well together, Magestore used a semi-integrated model.

When integrating devices, the team also faced some below challenges:

  • Limited documentation of payment methods
  • The payment parties didn’t share the test cases at the beginning of the project
  • No available devices to test
  • One payment solution deployment of Trulieve was still in progress. 
  • No data preparation before go-live (data mapping)

How did Magestore overcome the difficulties?

  • We built test cases based on our experiences and all available documents we had which covered essential scenarios to make sure the integration could work. Then when the payment parties sent us their test cases, we completed testing after 1 day.
  • We decided to integrate two payment providers but would go live one first and put the other in pending.

All parties had close and usual meetings to update the project progress and timeline. And we turned these challenges into valuable lessons in the end.

Working software is the primary measure of progress

Since Trulieve would mainly use the POS for their daily retail operations, they were greatly concerned about whether the current infrastructure could cope with thousands of transactions daily. What would Trulieve do if their infrastructure failed to handle a large order volume?

This was such a critical and challenging question. After evaluating the situation, Magestore created a temporary cross-functional team to solve the problem of load capacity. This new team included 1 System Admin, 1 Product Specialist, 1 Project Manager, and 1 Developer.

The team’s next steps were:

  • Get Trulieve’s specific technical requirements
  • Brainstorm together to find a solution
  • Define a plan
  • Implement the plan
  • Review and report to Trulieve

In the first step, the team recorded the system’s workload after go-live. When going live, Trulieve would run 1,980 POS at the same time in 62 stores. Their system had about 600 products. 

Because Trulieve used the infrastructure service of a trusted provider, the team decided to only focus on testing the POS performance and see how much it could handle.

Next, the team made a plan to test performance. Replicating the customer’s environment was the most important step to ensure the accuracy of the performance test. After that, the team created mock data on the POS, found API testing tools, and designed test scenarios. Then they ran the tests and created reports and suggestions for Trulieve.

You can see the test results here.


When miscommunication caused a failure

Trulieve failed when they went live for the first time—on November 11th, 2020. The Trulieve team had to review the git flow and deployment flows.

The initial plan was that Magestore would work on the Magestore Develop branch, then merge into the Staging branch.

First, the Magestore team built and tested the solution on the Feature branch to make sure everything was fine, then we merged it into the Magestore Develop branch. After that Trulieve would combine the solution from the Magestore Development brand to the Staging branch.


However, Trulieve split the Feature branch and merged it into the Staging branch.


You can see that there were two different Feature branches here. One was on the Magestore Develop branch and the other was on the Staging branch where Magestore couldn’t have the permission to work. This led to a huge problem.


Magestore still worked on the Feature branch and merged the results to the Develop branch. Some partners modified something on the Staging branch which included another Feature branch split previously. When Trulieve merged the results from the Magestore Develop branch to the Staging, some features which were deleted before now reappeared. That brought about bugs and cost us more time.

In the end, all the parties had to agree on the deployment flow.


The Magestore Develop branch was only for the Magestore team to test. After testing was complete, Trulieve would merge the Feature branch into Staging. And deploying became smoother, significantly reducing the development time.

The result

Trulieve successfully launched their POS solution on November 22nd, 2020. It was a huge milestone for all participants.

The system ran smoothly and met their daily requirements. Now Trulieve can:

  • Save hours on synchronizing data between the POS system, Magento, and ERP
  • Manage inventory across channels easily 
  • Process payment quickly

They're one of the most supportive and professional teams we’ve ever worked with. Their POS solution does help us much in our daily operations. Thanks, Magestore team.

Final words

The successful case of Trulieve has taught us a lot about providing POS solutions for big brands. We would like to thank Trulieve for choosing us as a long-term partner and for your collaboration so far.

And if you want to join the loop with them, don’t hesitate to let us know. Our retail experts are more than happy to assist you with your success.

Keenan Pham

Author Keenan Pham

More posts by Keenan Pham

Leave a Reply

Magestore | POS for Magento

Best POS (Point of Sale) System

for Magento

A complete omnichannel POS for Magento retailers
Sell online or in your physical stores seamlessly with real-time data synchronization.

Explore Now

What is Magento POS

A Magento POS (point of sale) system is software integrated with the Magento platform to synchronize data between your online and offline stores and facilitate retail operations. Magestore POS is a web-based and Magento-native POS which requires at least one Magento website to work.

Who needs Magento POS system

The Magento POS system is developed for retailers with both Magento eCommerce websites and physical stores, and want to use the Magento website as a centralized place to manage all sales data and sell both online and offline.

Some features of Magento POS system

A basic Magento POS can work as a cash register to create orders, add discounts and taxes, print receipts, and manage sales. But a complete Magento POS system can assist you with more advanced tasks, such as inventory control, supplier management, loyalty programs, etc.

45-minute Live Demo

Let us show you how it all works

After you complete the registration form & schedule a meeting with us, we'll contact to ask for your confirmation. This demo session is completely FREE & requires no commitments.

1. Where we'll discuss

We do screen sharing, so the demo will be conducted using Google Meet.

2. What we'll do

Our specialists will guide you through the POS solution and answer any questions you have. All to see if our POS system fits your business requirements.

3. What you'll get

  • A LIVE demo session to see how Magestore POS works
  • A FREE demo site to explore every product feature
  • A FREE consultation with our expert to discuss the best-fit solution for your business.

4. Additional information

  • A demo typically lasts for 45 minutes, but we can adjust the duration based on your needs
  • No preparation required but it's nice to have your requirements clear
  • Additional team members are welcome to join
  • If you want to see how Magestore POS works in reality, you can contact one of our customers and ask for their experience
  • Magestore doesn't do cold-calling, we only contact you on request.

Magestore | POS for Magento

About the Magento platform

1. What is Magento?

Magento is an open-source platform that helps retailers create eCommerce websites, released on March 31, 2008, by Varien and developed on Zend Framework. In 2018, Adobe acquired Magento with a price of $1.68 billion. There are currently about 270,000 eCommerce websites running on Magento in 2022.

2. Why do retailers choose Magento?

Most of our customers say Magento is speedy and more customizable than others; it is suitable for medium and large enterprises or fast-growing businesses with complex requirements/customizations.

Not sure if you're using Magento, check your website here!

3. What to do next?

  • If you are new to Magento or searching for eCommerce platforms, you can explore more about Magento in this article.
  • If you are looking for Magento website development services, please reach our dedicated service team here.
  • If you've already had a Magento website and are searching for a POS system, please close this pop-up and continue exploring.