A customer from the United States was interested in creating a software-as-a-service (SAAS) application. The client wished to accommodate multiple tenants and provide Point of Sale (POS) capabilities specifically designed for the cannabis industry.
The goal was to develop a comprehensive retail application that would cover all aspects of the industry, including Metric compliance (tracking of products from seed to sale), tax calculations, payments, and filings, as well as POS functionality that could be utilized across multiple dispensaries operated by the customer's clients.
To develop the product, Thinkitive Technologies formed a team of domain experts and architects who analyzed and planned the project. They identified all required features and comprehended functional and non-functional prerequisites. The team ultimately chose a multi-tenant microservices architecture.
The product allows the client to onboard and oversee multiple customers who may operate one or more cannabis dispensaries or recreational shops. Customers can configure their dispensaries, locations, and taxation policies and manage their employees, products, inventory, loyalty programs, and cash registers. Additionally, the application can produce inventory alerts, reports, labels, and barcodes.
Furthermore, a mobile application for mid-tier customers and retail businesses was developed for iOS devices to provide point-of-sale functionality.
Onboarding new customers:
The system allows easy onboarding of new customers having one or more dispensaries. Existing data of employees, products, customers, and more could be added to the system via import functionality.
The application allows Metric (seed-to-scale) tracking integration. It helps users to track the cannabis product from the seed to sale. It tracks all the transfers of cannabis products done via:
1. Lifecycle: Sowing seed, plant, plant growth, and harvesting and drying.
2. Repackaging products into smaller packages.
3. Processing the plant into different forms like resin, edibles, wax, creams, ointments.
4. Physical location change: Movement of product between grower, distributor, processor, retailer, and finally, user.
Inter dispensaries inventory transfers:
Customers having multiple dispensaries can transfer inventory from one dispensary to another using web or mobile retail apps.
Taxation payment and filing:
Based on the following:
1. Sale transactions (sales, refunds, purchases, incomes, and expenses)
2. Frequency setup (monthly, quarterly, yearly)
3. Location of the dispensary
Different state taxes were auto-calculated and made available to the business owners via a dashboard and downloadable pdf reports.
Downloaded PDF reports followed the taxonomy of the respective states. It helped customers upload the report to the state's portal to pay and file the taxes.
Seamless cash drawer functionality:
A responsive web and iOS (iPad) application were developed, supporting different vendors' point-of-sale hardware. The hardware seamlessly integrates applications like a cash drawer, receipt printer, card reader, and barcode scanner. The dashboard would show the cash drawer balance, cash-ins, and cash-out details.
Automated tax rates populations:
Based on the zip code of the dispensary, tax rates would be fetched regularly from the state central storage. These tax rates were applied to all new transactions.
Working with barcodes:
It can generate and print labels using thermal printers. Barcodes of different sizes and quantities could be printed.
For searching the product, its barcode was scanned by the scanners of the POS machine. The quantity the user adds is deducted from the inventory and added to the cart.
Tax calculations were also done on the fly.
It is accessible to onboard the clients using interactive widgets and forms. It has the Feature to move existing client data to our system using the CSV import function, enhancing customer experience.
Customers can add one or more geographically distributed dispensaries also day to day tasks like report generation and inventory monitoring.
It Improved the customer shopping experience with the POS flow.
The Point Of Sale (POS) setup also has a barcode scanner integrated by the iOS application. After scanning the barcode of the products, the products are automatically added to the cart, which allows faster checkout.
It made administrative work more effective by automating tax calculations. It is done by calculating taxes for each product while adding the product to the cart.
It follows United States legal cannabis regulations. End-to-end integration and tracking with the Metric system are followed. This integration takes care of all the activities related to cannabis products.
It tracks the plant's growth, harvesting batches, processing into products (oils, wax, and edibles), and repackaging into small packets.
Dispensary admins are eased off from manual bookkeeping of the transactions for the selected duration. Instead, the system generates an automated tax PDF report with detailed and pre-filled information. The PDF report contains accurate taxes, avoiding penalties, and maintaining state compliance.
Gave real-time reminders to cash out the cash from the cash drawer with reminders with the help of push notifications.
Mobile devices containing the retail application can read credit card information from the card scanner and initiate payment processing requests.
The employees can onboard a new customer by taking in all the required information before selling the cannabis products. After onboarding a new customer, an employee can assign tasks for POS functionality to another employee.
Technologies and tools
Infrastructure: Cloud-based infrastructure using AWS
EC2, S3, SQS, SNS, CloudWatch, RDS.
Backend: Spring Boot, Gradle, Java, Eureka, ZooKeeper, JPA, KeyClock.
Frontend: Sass, Material, ReactJS, NextJS, CSS, TypeScript.
Database: Redis, MongoDB, MySQL.
iOS: Swift, Firebase.