Retail Mobile Point of Sale on an Android Tablet or TC22
Mobile POS on Flourish app supports counter and handheld sales. Use Samsung Galaxy Tab A11+ or Zebra TC22 with receipt/label printers for complete retail operations.
Full Retail point of sale capabilities on the Flourish mobile app. Use a Samsung Galaxy Tab A11+ on a stand as a small counter station, or a Zebra TC22 as a handheld for floor sales, deliveries, and back-of-house work.
Supported Devices and Peripherals
Device | Best for | Orientation |
Samsung Galaxy Tab A11+ (recommended tablet) | Counter POS station on a stand | Landscape |
Zebra TC22 | Handheld selling, scanning, deliveries, and fulfillment on the floor | Portrait, same screens in a condensed layout |
Peripheral | Recommendation |
Receipt printer | Epson TM series, such as the TM-T20IV, printing over your network by IP address. The printer must be on the same network as the device. USB and Bluetooth receipt printers are not supported. |
Cash drawer | Connects to the receipt printer's drawer port (RJ11 or RJ12) and opens through the printer. It does not connect to the tablet. |
Label printer | Zebra label printers connected by Bluetooth. |
Payment terminal | Terminals paired to your facility. See Manage Facility Payment Methods. |
Scanner | The TC22's built-in scanner. |
Prerequisites
- The Flourish mobile app is installed on the device from the Google Play Store.
- Each cashier has a PIN. See Generate a New PIN.
- Your facility's retail settings are configured, including payment methods and fulfillment options. See Configure Retail POS Settings and Toggles.
- At least one till exists and is open. You cannot take a payment without selecting a till. Open a till within the browser.
- Users have the Retail permissions for the tasks they perform, set on the Mobile Application tab of their role. See Permissions That Affect Mobile POS.
- The Epson receipt printer is on the network, the Zebra label printer is paired by Bluetooth, and a payment terminal for card payments.
What You Can Do in Mobile POS
Task | Where it is covered |
Check in customers and work the in-store queue | |
Build and edit a cart by scan or search, including deli-style items | |
Apply line discounts, order discounts, and promo codes | |
Send an order to fulfillment, or allocate packages at the counter | |
Validate purchase limits | |
Take payment, including split tender and cash | |
Print receipts and patient labels, including assigning a pharmacist | |
Complete a delivery with a signature and payment | |
Return a completed sale | |
Void a single payment |
Sign In and Open a Cart
- Open the Flourish mobile app and sign in with your PIN.
- Open the Retail module.
- Check in the customer or select a customer's card in the queue to open their cart.
Build a Cart
- In the product panel, scan a product or type in the search field. Scanning and typing use the same search, so you do not need to switch modes.
- Select the correct item to add it to the cart.
- Change the quantity or remove a line as needed.
- Review the order summary with the customer.
Deli-style items, which are sold by weight, work in Mobile POS the same way as other items.
For scanner identifier rules, see POS Item Scanning Rules.
Apply Discounts
- Select the discount tag on a line to discount that line, or select Manage in the order summary to discount the whole order.
- Choose how to apply the discount:
- Configured discount: turn on a discount from the list. Stackable discounts are marked.
- Promo code: enter the code. Codes are converted to uppercase. If a code fails, the message tells you why: the code does not exist, it has expired, or it does not apply to this order.
- Custom discount: enter an amount and choose percent or dollars. This needs approval from a user with the Authorize discount with PIN permission.
- If approval is required, the manager enters a reason and their 6-digit PIN. Flourish records the approver and the reason.
Line discounts appear as tags on the line. Order discounts appear in their own band above the totals. Discounts earned through loyalty rewards appear on the line but are redeemed from the Loyalty tab, not from this screen. For more on discounts, see Applying a Retail Discount.
Send to Fulfillment or Allocate at the Counter
Path | Use it when | What happens |
Send to Fulfillment | Back of house packs the order | The order moves to the Fulfillment lane. Someone allocates packages and packs the order. |
Allocate at the counter | The cashier picks packages during the sale (full service) | You allocate packages in the cart and go straight to checkout. |
Allocate Packages in the Cart
- Find the line in the cart. Allocated packages are listed under each line with the package ID and lot number.
- Select Add Package and choose the package. To split a line across packages, add more than one.
- Repeat for every line. The summary reads how many units are allocated out of the total, for example, "3 of 5 allocated".
- When all lines are fully allocated, the Check Out and pay options appear.
Keep these in mind:
- Medical-only packages on a recreational order appear with (Medical only) and cannot be selected.
- A certificate of analysis (COA) opens with one tap when one is attached to the package.
- Users without the Manually allocate inventory permission can see allocations but cannot change them.
For the full allocation rules, see Allocate Cannabis Packages to Retail Orders (POS or Web).
Check Purchase Limits
When your facility enforces purchase limits, the cart checks the order against them. Every category is listed with its limit, prior purchases, and what is in the cart, each in its own unit of measure. Some limits block a single line when you add it, and others block checkout.
- Fix the order by reducing quantities or removing the line that caused the block.
- A user with the Override purchase limit validation to complete purchase permission can override a limit with their PIN. The override is recorded.
- If limit enforcement is turned off for the facility, no limit screens appear.
Take Payment
- Select Check Out within the cart after it's fully packed
- Check the till chip in the top bar. If no till is selected, the chip is red, and the main button reads Choose a till to take payment. Select a till before you continue.
- If you are taking a card payment, check the payment terminal status. An offline terminal is flagged before you choose a card type.
- Select a payment type. Your facility's configured payment types appear here. Account Credit appears first, and only when the customer has a balance.
- Enter the amount and take the payment.
- To split the payment, repeat steps 4 and 5 until the remaining balance is zero. Each payment is listed with its method, reference, time, user, amount, and fee.
The paid screen shows the change due in large type, the amount received, the receipt total, and any loyalty points redeemed.
Cash Payments
- The cash drawer opens through the receipt printer when you take a cash payment. To open it any other time, select Open Drawer. This needs the Authorize open cash drawer with PIN permission.
- Cash rounding is supported. If it is enabled for your facility, the rounding adjustment is added when you choose cash. It is removed when you switch to another payment method or return to the cart.
For payment method setup, see Manage Facility Payment Methods. For the web version of this flow, see Retail POS Complete a Purchase.
Print Receipts and Labels
Print a Receipt
- Complete the purchase. The receipt prints to the Epson receipt printer you configured for the device via IP address.
- To print again later, open the completed sale and reprint the receipt.
If the printer is offline or unreachable, Mobile Point of Sale indicates as such. It does not fail silently.
Print Patient Labels
- Click the "Print Patient Labels" screen from the cart.
- If your facility requires a fulfilling pharmacist, choose the pharmacist first.
- Check the lines to label and set the quantity for each. If dosage entry is enabled, enter the dosage per line.
- Select Print. Labels print to your Zebra label printer over Bluetooth.
Label printing does not block payment. You can print them before, during, or after the sale, and reprint them on a completed sale. A label printer that is down will not stop you from completing the sale.
The pharmacist row appears only when your facility requires a fulfilling pharmacist. The pharmacist is saved on the order. The app remembers the last pharmacist chosen on the device and applies it to each order you open, so on a shared tablet, check who is set before you print. Printing is blocked if a pharmacist is required and none is set.
Complete a Delivery
Drivers can complete a delivery in the Flourish mobile app on a TC22 or a tablet.
- Open the delivery order from the delivery queue
- Select Mark Delivered.
- Add a note if you need one. The note is optional.
- Have the customer sign on the screen, if desired.
- Take payment if the order has a balance due. This opens the cart for review; click Pay to complete payment.
Payment on a delivery follows the same rules as Take Payment. You select a till, choose a payment type, and can split the payment. Voids and returns work the same way as for any other sale.
Return a Completed Sale
Returns need the Refund purchase permission.
- Open the completed sale and select Return.
- Select the till from which the money will come out.
- For each line, set the quantity to return. The maximum is what was purchased, less anything already returned. The line shows its package, lot, price paid, and purchase date.
- For each line, choose Take back to inventory or Refund only.
- Choose a return reason. Some reasons also require a comment.
- Split the refund across payment methods. Select Apply max to fill the maximum amount a method allows. Enter a transaction ID for every method except cash and account credit.
- Watch the refund tracker. Submit stays locked until the refunds add up exactly to the returned total, and the tracker shows how much is left.
- Submit the return. A return receipt prints.
How refund limits work:
- A method is available only if it was used on the original purchase or is always allowed.
- Cash is capped at the order total minus anything originally paid with account credit.
- Other methods are capped at what was originally charged to them.
- A method past its day limit is disabled, and the message gives the limit, the days elapsed, and the purchase date.
- Account credit is not available on quick sales.
- A cash refund needs a PIN from a user with the Authorize cash return with PIN permission.
Void a Payment
A void reverses one payment. A return reverses a sale. Only a return moves product back to inventory.
- Open the completed or in-progress cart and go to the list of payments taken.
- Find the payment. Each row shows the transaction ID, method, reference, time, user, amount, and any fee or tip.
- Select Void.
- Retype the transaction ID shown on screen. The Void button stays disabled until it matches.
- Enter your PIN to confirm. This needs the Void payment transaction with PIN permission.
Voiding a payment after the till session it was taken in has closed needs a second permission. Void payment after the original till session closed. That reaches into a reconciled drawer, so give it only to the roles that need it.
After a void, the cart's payment status, remaining balance, and available actions are updated. For example, you can take payment again, or Cancel Sale can appear again.
Each payment row shows one of four states: a Void action, Voided, Cash Back, or Return. When a payment cannot be voided, the row says why. Cash can be voided. Point of Banking payments cannot. No partial voids: To correct a wrong amount, void the payment and charge again, or process a return.
Permissions That Affect Mobile POS
The Mobile Point of Sale is part of the Flourish mobile app, so it uses the permissions on the Mobile Application tab of a role. Edit the role, expand Retail, and check the permissions under Customers and Purchases. The Point of Sale tab controls the browser-based POS, not Mobile POS.
Permission | What it allows |
Check-in | Check customers in to the queue |
Remove customer from queue | Remove a checked-in customer from the queue |
Manually allocate inventory | Add, change, or remove package allocations in the cart |
Authorize discount with PIN | Approve custom discounts |
Override purchase limit validation to complete purchase | Complete a sale that exceeds a purchase limit |
Authorize open cash drawer with PIN | Open the cash drawer manually |
Refund purchase | Process a return |
Authorize cash return with PIN | Approve a cash refund on a return |
Void payment transaction with PIN | Void a payment |
Void payment after original till session closed | Void a payment taken in a till session that has since closed |
What Is Not in the Beta
- Adult-use mode is not yet available in Mobile POS.
- Receipt printing is network only, by IP address. USB and Bluetooth receipt printers are not supported.
- The beta does not include screens for syncing sales to a state traceability system. Georgia does not require one. These screens will be added as Mobile POS rolls out to states that do.
Troubleshooting
If you see | Do this |
The main button reads Choose a till to take payment | Select a till from the top bar. See Take Payment. |
The total reads Updating price... | Wait for Flourish to return the new total. The action button re-enables when it does. |
You cannot edit the cart | The order is past the Allocated status, or it belongs to another facility. See Sign In and Open a Cart. |
A line is rejected when you add it, or checkout is blocked by a limit | The order is over a purchase limit. Reduce the quantity or remove the line. See Check Purchase Limits. |
A message says THC content is not configured for a product | Attach a COA or set THC mg per unit on the item, then add it again. |
A package shows (Medical only) and cannot be selected | The order is recreational. Choose a different package. |
You can see allocations but cannot change them | Your role lacks the Manually allocate inventory permission. Ask an administrator. |
The payment terminal shows offline | Check that the terminal is powered and on the network, and that it is paired to the facility. |
The receipt does not print | Confirm the Epson printer is on and on the same network as the device, and that the IP address saved in the app is correct. Mobile POS reports an unreachable printer. |
Labels do not print | Confirm the Zebra printer is on, in Bluetooth range, and paired with the device. |
The cash drawer does not open | Confirm the drawer cable is in the receipt printer's drawer port and that the printer is online. The drawer opens through the printer, not the tablet. If it still does not open, contact Flourish Support. |
Label printing is blocked | Your facility requires a pharmacist and none is set, or a dosage or pharmacist save is still in progress. Set the pharmacist and try again. |
Cancel Sale is missing | A payment exists on the order. Void the payment or process a return. |
A payment has no Void action | That payment type cannot be voided, or you lack the void permission. The row explains which. See Void a Payment. |
The return Submit button is locked | The refund amounts do not yet equal the returned total. Use Apply max or adjust amounts until the tracker reaches zero. |
How did we do?
Mobile App - Retail Order Fulfillment