Skip to main content

Mobile App - 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.

Beta release for Georgia: Mobile POS is in beta and is currently available to Georgia facilities. Screens and labels may change, and some Retail POS features are not yet available. See What Is Not in the Beta. Mobile POS will roll out to other states after the beta.

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 or over your network.

Payment terminal

Terminals paired to your facility's tills. See Manage Facility Payment Methods.

Scanner

The TC22's built-in scanner, or the device camera.

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 or on the network, and a payment terminal is paired to the till for card payments.

What You Can Do in Mobile POS

Task

Where it is covered

Check in customers and work the in-store queue

Mobile App – Checking in and Managing Retail Customers and Mobile App - Retail Queue

Build and edit a cart by scan or search, including deli-style items

Build a Cart

Apply line discounts, order discounts, promo codes, and loyalty rewards

Apply Discounts

Send an order to fulfillment, or allocate packages at the counter

Send to Fulfillment or Allocate at the Counter

Validate purchase limits

Check Purchase Limits

Take payment, including split tender, cash, and card terminals

Take Payment

Print receipts and patient labels, including assigning a pharmacist

Print Receipts and Labels

Complete a delivery with a signature and payment

Complete a Delivery

Find a past sale to reprint, void, or return

Find a Past Sale

Return a completed sale

Return a Completed Sale

Void a single payment

Void a Payment

Sign In and Open a Cart

  1. Open the Flourish mobile app and sign in with your PIN.
  2. Open the Retail module. The Queue tab opens first.
  3. Open the customer's cart:
    • On the Queue, tap Start Sale on a Checked In customer's card, or View Cart / Checkout to reopen a cart in progress.
    • On the Check-In tab, tap Start Sale on the customer's row, or tap Add to Queue for a new arrival, which starts the sale right away.

Start Sale is dimmed until the customer is verified or is a medical patient. If the customer already has an open order, that order opens instead of a new one.

Build a Cart

  1. In the product panel, scan a product or type in Scan Or Search Products. Scanning and typing use the same search, so you do not need to switch modes. To scan with the device camera, tap Scan With Camera.
  2. Select the correct item to add one unit to the cart. Switch between Available Only and All to include products that are out of stock.
  3. Change the quantity with + and −, or remove a line with Remove Item from the line's menu.
  4. Review the order summary with the customer.
An open Mobile POS cart on a tablet, with the customer panel, the eligible amount, the product search, and the order summary

Every change saves to the order as you go. While a change is saving, the total reads Updating Price…. Totals are always calculated by Flourish, so they match the web POS.

Deli-style items, which are sold by weight, show a Tiered chip and a Deli · $/g price. Their quantity does not step up and down; set the weight on the line's package instead. See Allocate Packages in the Cart.

If your store packs orders at the counter, scanning a package's barcode adds the product and allocates that package in one step.

For scanner identifier rules, see POS Item Scanning Rules.

Apply Discounts

  1. Select the discount tag on a line to discount that line, or select Manage in the order summary to discount the whole order.
  2. Choose how to apply the discount:
    • Configured discount: turn on a discount from the list. Each shows whether it stacks with other discounts. Turning on one that does not stack turns off the others.
    • Promo code: enter the code in Enter Code and select Apply. Codes are converted to uppercase. If a code fails, the message tells you why: the code does not exist, it has expired or is not active yet, or it does not apply to this order.
    • Custom discount: pick a preset (5%, 10%, 15%, 20%, $5 Off, $10 Off) or enter an amount and choose percent or dollars. Custom discounts always need approval from a user with the Authorize discount with PIN permission. One custom discount is allowed per line and one per order.
  3. If approval is required, the manager enters a reason and their 6-digit PIN. Flourish records the approver and the reason.
The Order Discounts sheet, with custom discount presets, a promo code field, and Redeem Loyalty Points

Line discounts appear as tags on the line. Order discounts appear in their own band above the totals.

Loyalty rewards: in the order discount sheet, select Redeem on a reward under Redeem Loyalty Points (on a tablet, the Loyalty tab opens this section). The points come off when the sale completes. For a customer who is not a member, select Join Loyalty to open their profile and enroll them.

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. For an unpaid pickup order, payment opens so the customer can prepay.

Allocate at the counter

The cashier picks packages during the sale (full service)

You allocate packages in the cart and go straight to payment.

The main cart button shows Send To Fulfillment while any line still needs packages, and Pay once every line is fully allocated.

Allocate Packages in the Cart

  1. Find the line in the cart. Allocated packages are listed under each line with the package ID and lot number.
  2. Select Add Package and choose the package. To split a line across packages, select Add Another Package.
  3. To change how much comes from a package, or to set the weight of a deli-style item, tap the package's quantity and select Set Quantity.
  4. Repeat for every line. The summary reads how many units are allocated out of the total, for example, "3 Of 5 Allocated".
  5. When all lines are fully allocated, the main button changes to Pay.

Keep these in mind:

  • Medical-only packages on a recreational order appear with Medical only — not for an adult-use order 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, select Check Limits in the cart to see every category with its limit, prior purchases, and what is in the cart, each in its own unit of measure (Limit · Prior · Cart). Limits are also checked automatically when you select Pay or Complete Purchase.

The customer panel also shows how much the customer can still buy on this order, for example Eligible This Order · 12,000 mg THC Left.

  • Within limits: you see "Purchase validated" and the sale continues.
  • Over a limit: the limits sheet opens and the main button changes to Review Limits. Fix the order by reducing quantities or removing the line that caused the block, or have a user with the Override purchase limit validation to complete purchase permission select Override · Manager PIN and enter their PIN. The override is recorded. Any change to the cart afterward means the limits are checked again.
  • If limit enforcement is turned off for the facility, no limit screens appear.
The Purchase Limits sheet for a Georgia order, showing Total THC as Limit 12,000 mg THC, Prior 0, Cart 108, Within Limit

In Georgia, limits are measured in milligrams of THC for each order. A product unit over the per-unit THC limit is flagged in red on its line and cannot be sold without a manager override. A product with no THC content on file cannot be dispensed until a COA is attached or its THC mg per unit is set.

Take Payment

  1. Select Pay in the cart after every line is allocated.
  2. Check the till chip in the top bar. If no till is selected, the chip reads No Till in red, and the main button reads Choose A Till To Take Payment. Select the chip and choose a till. The device remembers it for this facility.
  3. Select a payment type. Your facility's configured payment types appear here. Account Credit appears first, and only when the customer has a balance.
  4. Enter the amount, or select Exact to fill in the amount owed.
  5. Select Take. The button shows the amount, for example Take $42.00.
  6. To split the payment, enter less than the remaining balance and repeat steps 3 to 5 until the balance is zero. Each payment is listed with its method, reference, time, user, amount, and fee.
The Mobile POS payment screen, with the till chip, the total and remaining amounts, payment type tiles, and the amount keypad

The paid screen shows the change due in large type, the amount received, the receipt total, and any loyalty points redeemed. Select Complete Purchase · Back To Queue to finish, or Back To Cart to review the order.

Payment Types

  • Cash: quick keys (+ $1, + $5, + $20, and so on) add to the amount tendered, and Change Due shows when the customer pays more than is owed.
  • Account Credit: draws down the customer's account credit, up to the amount shown.
  • Point of Banking: charged on the payment terminal paired to the till. See Card Terminal Payments.
  • Aeropay: enter or confirm the customer's email and phone, then select Send … Link. The customer pays from their bank using the link, and the screen shows Waiting For The Customer until they do. If an earlier link is still unpaid, check it before sending another so the customer is not charged twice.
  • Manual Payment: records a payment taken outside Flourish, such as a check, gift card, or standalone card machine. Choose the Payment Method, enter the Transaction ID, and select Record.

Card Terminal Payments

The terminal chip shows whether the till's terminal is Online, Offline, or No Terminal Paired. Select the chip to check again.

  1. Choose Point of Banking, enter the amount, and select Take.
  2. The screen shows Waiting For The Terminal with a timer while the customer pays on the terminal. Do not start another charge; the screen is locked until the terminal answers.
  3. When the terminal approves the payment, it is added to the order automatically.

If the card is declined, you see Payment Declined with the reason. A declined payment takes no money, so select Try Again or Choose Another Type.

If the terminal stops answering, the screen reads No Answer From The Terminal. Select Check Again to look for the result. If the terminal shows the payment did not go through, select Stop Waiting, then It Did Not Go Through to release it.

When a Payment Can't Be Confirmed

Mobile POS protects customers from being charged twice. If a payment's result is uncertain, for example the connection dropped or a terminal payment is still in progress, the main button changes so that it only checks the payment and never charges:

  • Check Terminal Payment: a terminal payment on this order has not finished. Select it to check the result.
  • Check Payments Again: the last payment may have gone through. Select it to re-check the order's payments.

Only take payment again when the button reads Take and the earlier attempt is not listed under Payments Taken. If in doubt, check the terminal itself and the payments list first.

Cash Payments

  • The cash drawer opens through the receipt printer whenever cash changes hands: a cash payment, cash back, or a cash refund. To open it any other time, select the drawer icon on the payment screen or Open Drawer in the cart menu. This needs a PIN from a user with 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.
The cart menu, with Reprint Receipt, Receipt Printer, Open Drawer, and Use Alternate Drawer Command
Cancel Sale: You can cancel a sale only before a payment is taken. After a payment exists, use a void or a return instead.

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

Set Up the Receipt Printer

  1. In a cart, open the menu (More Actions) and select Receipt Printer…, or tap the receipt line on the paid screen.
  2. In Select Receipt Printer, choose your printer. The list shows your facility's network printers set up as receipt printers.
  3. If the printer is not listed, select Enter IP Address and enter the printer's network address.
The Select Receipt Printer list, with network receipt printers and Enter IP Address

The device remembers this printer until you change it.

  1. Complete the payment. The receipt prints automatically to the receipt printer set up on the device. Receipts also print automatically after a return and when a delivery is completed.
  2. To print again, select Reprint Receipt on the paid screen, or open the sale (see Find a Past Sale) and select Reprint Receipt in the cart menu.

If the printer is offline or unreachable, Mobile POS says so. It does not fail silently. Tap Receipt Not Printed · Tap To Retry to retry or change printers.

  1. Select Print Patient Labels in the cart.
  2. If your facility requires a fulfilling pharmacist, choose the pharmacist first.
  3. Check the lines to label. Items sold by the each print one label per unit. If dosage entry is enabled, enter the dosage per line.
  4. Select the print button, which shows how many labels will print, for example Print 3 Labels. Labels print to your Zebra label printer.
The Print Patient Labels sheet, with the fulfilling pharmacist, the lines to label, and the label printer

Label printing does not block payment. You can print labels before, during, or after the sale, and reprint them with Reprint Labels on the paid screen. 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. To add a pharmacist who is not listed, select Add As New Pharmacist. 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.

  1. On the Queue, open the Delivery board and find the order in the Out For Delivery lane. (Confirm Deliveries on the Retail Ops tab opens this board.)
  2. Select Delivered.
  3. Confirm Received By. It is filled in with the customer's name; change it if someone else accepted the order.
  4. Have the recipient sign: select Tap To Capture Signature, sign, and select Confirm. A signature is required.
  5. Add a Driver Note if you need one, then select Mark Delivered.
  6. If the order is already paid, it completes and the receipt prints. If payment is still due, the cart opens; select Pay to take payment and complete the order.

If the order could not be delivered, select Undeliverable instead, enter the reason, and select Mark Undeliverable. The order leaves the delivery board and keeps its lines and payments.

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.

Find a Past Sale

  1. On the Retail Ops tab, select Find Order.
  2. Search by customer name, patient ID, or order number. Filter with All Sales, In-Store, Pickups, or Deliveries.
  3. Select the order to open its cart. From there you can reprint the receipt, void a payment, or process a return.
The Find Order screen, with filters for All Sales, In-Store, Pickups, and Deliveries

Return a Completed Sale

Returns need the Refund purchase permission.

  1. Find the sale (see Find a Past Sale) and select Return in its cart.
  2. Check the Till chip: select it to choose the till the money comes out of.
  3. For each line, set the quantity to return with + and −. The maximum is what was purchased, less anything already returned. The line shows its package, lot, price paid, and purchase date.
  4. For each line, choose Take Back To Inventory or Refund Only. Refund Only is the default. If your facility does not allow cannabis back into inventory, cannabis lines are refund only.
  5. Select Next · How The Money Goes Out.
  6. Choose a Reason. Some reasons also require a comment.
  7. Split the refund across payment methods. Select Fill Remaining to put the rest of the refund on a method. Enter a transaction ID for every method except cash and account credit.
  8. Watch the refund tracker. It shows how much is left to allocate, and reads Balanced · ready to complete when the refunds add up exactly to the returned total.
  9. Select Complete Return. For a cash refund, a manager enters their PIN. A return receipt prints, and for cash refunds the drawer opens.
Step 1 of a return, What Comes Back, with the return quantity for each line and the Returning total

How refund limits work:

  • A method is available only if it was used on the original purchase or is always allowed (cash, account credit, and credit issued).
  • 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.

A completed sale in Mobile POS, showing Payments Taken with the Void action, and the Return and Print Patient Labels buttons
  1. Open the completed or in-progress cart and go to Payments Taken.
  2. Find the payment. Each row shows the transaction ID, method, reference, time, user, amount, and any fee or tip.
  3. Select Void.
  4. Retype the transaction ID shown on screen. The void button stays disabled until it matches.
  5. Select Void Payment · Manager PIN and enter a PIN from a user with the Void payment transaction with PIN permission.
The Void Payment sheet, where the cashier retypes the transaction number before a manager approves the void

Voiding a payment after the till session it was taken in has closed needs a second permission, Void payment after 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 its state: a Void action, Voided, Cash Back, or Return. When a payment cannot be voided, the row says why:

  • No Void · Terminal: Point of Banking payments. Refund them with a return.
  • No Void · Processor: integrated card and processor payments, such as Aeropay. Refund them with a return.
  • No Void: the order already has a return on it. Correct it with another return.

Cash, account credit, and manual payments can be voided. There are 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.
  • Quick sales cannot be started in Mobile POS.
  • Online orders with a payment on hold are captured or voided in the web 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 turns red, or the main button reads Review Limits

The order is over a purchase limit. Reduce the quantity or remove the line, or ask a manager to override. 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 till.

The main button reads Check Terminal Payment or Check Payments Again

A payment's result is not confirmed yet. Select the button to check it, and review Payments Taken before charging again. See When a Payment Can't Be Confirmed.

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 or on the network, 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. Some drawers need Use Alternate Drawer Command from the cart menu. 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, the order has a return, or you lack the void permission. The row explains which. See Void a Payment.

Complete Return is not available

The refund amounts do not yet equal the returned total. Use Fill Remaining or adjust amounts until the tracker reads Balanced · ready to complete.

A delivery will not mark as delivered

Received By and the recipient's signature are both required.

How did we do?

Mobile App - Retail Order Fulfillment

Contact