STF POS Android App

End-User Operations Guide

Step-by-step help for sales associates and site managers using STF POS on the sales floor. This guide now follows the updated operations documents for cart building, checkout, refunds, reports, barcode registration, and first-time setup.

Guide 01

Guide 01: Ringing Up a Sale

Audience: Sales associate

This guide covers how to build a cart before checkout: scanning items with a Bluetooth barcode scanner, searching the product catalog by name, and adding free-text custom items when a product is not in the catalog.

Before You Begin

Make sure:

  • Your Bluetooth scanner has been selected in Settings → Scanner preferences (see Guide 12, Part 2)
  • The sync badge at the top of the screen is not showing an error

If you will be collecting card payment, also confirm your card reader is ready before opening checkout — see Guide 02 — Card Checkout.

Step 1 — Open the Sale Tab

Tap the Sale tab. Scanning is active automatically — you do not need to tap anything to arm the scanner.

Step 2 — Add Items by Scanning

  1. Scan the first item's barcode with your Bluetooth scanner. The item name, price, and quantity appear as a line in the cart.
  2. Continue scanning items. Each scan either adds a new line or increases the quantity on an existing line if the same item is scanned again.

To adjust quantity on an item:

  • Tap the or + buttons on that item's row to decrease or increase the quantity.

To remove an item entirely:

  • Tap the delete (trash) icon on that item's row.

Step 3 — Add Items by Searching the Catalog

Use this method when an item exists in the catalog but you cannot scan it — for example, if the barcode label is torn or missing.

  1. Find the product search field in the item entry area. Its placeholder reads "Search by name or barcode."
  2. Start typing the product name or a part of it. For example, type water to find "Bottled Water 16oz."
  3. A list of matching products appears below the search field, in a table with Name, Pack $, Price, and Stock columns.
  4. Tap the + (Add) button at the right of the product's row to add it to the cart.
  5. The item is added at its unit price by default. Turn on the Pack $ filter toggle above the search field to add the product at its pack price/level instead.
  6. The item appears in the cart with a quantity of 1. Adjust the quantity as needed using the and + buttons.

Step 4 — Add a Free-Text Custom Item

Use this when an item is not in the catalog and you need to charge a specific dollar amount. Common uses: event fees, donations, service charges, or miscellaneous items.

  1. Find the custom item entry area below the product search field.
  2. In the Item name field, type a short, clear description (e.g., Event Registration Fee or Donation).
  3. In the Price field, type the dollar amount (e.g., 5.00).
  4. Tap Add to add it to the cart.
  5. The item appears in the cart as a custom line with the label you typed and the price you entered.

Step 5 — Review the Cart Totals

Before opening checkout, check the totals panel at the top of the cart:

  • Subtotal — the sum of all item prices before tax or fees
  • Tax — applicable tax (if your site is tax-enabled)
  • Card fee — a service fee added for card payments (if your site uses one)
  • Total — the amount the customer owes

If your manager has enabled a discount on this transaction, a blue banner shows the discount percentage applied.

Next Step — Proceed to Checkout

Once all items are in the cart and the totals look correct, choose a checkout method:

See also:

Guide 02

Guide 02: Card Checkout

Audience: Sales associate Payment methods: Manual (external card terminal) · Stripe M2 Bluetooth reader

This guide covers checkout when the customer is paying by card. STF POS supports two card workflows:

  • Manual — you charge the customer on your site's external card terminal, then confirm the amount in the app. This is the default on most sites.
  • Stripe M2 — the app communicates with the Stripe M2 Bluetooth reader directly and handles the charge end-to-end.

Before You Begin

  • Your cart must be built and totals reviewed — see Guide 01 — Ringing Up a Sale
  • For Stripe M2: your reader must be powered on and prepared in Settings (see Guide 12, Part 3)
  • For Manual: know the amount to charge on the external terminal before going to it

Step 1 — Open Checkout and Select Card

  1. Tap the Checkout button at the bottom of the Sale screen.
  2. The checkout modal opens showing the sale total.
  3. Tap Card.

Step 2 — Verify or Switch the Payment Method

A Payment method indicator appears in the checkout controls row showing the current method (e.g., "Manual" or "Stripe Reader").

Manual (default) Stripe M2
What it means You charge the external terminal; confirm in-app App drives the Stripe M2 reader directly
Manager PIN required to switch? No — Manual is the default; no PIN needed to use it Switching away from Manual requires no PIN; switching to Manual from Stripe requires Manager Override PIN if Stripe is the device default

If the method shown is already what you need, skip to Step 3 for your method. To switch, tap the Payment method button and select the correct option from the dropdown. If a Manager Override dialog appears, enter the PIN and tap OK.

Step 3 (Manual) — Process the Card on the External Terminal

  1. STF POS shows the total amount due on screen.
  2. Take the customer to your site's external card terminal (or bring the terminal to them).
  3. Process the card payment for the exact amount shown in STF POS on the external terminal.
  4. Wait for the external terminal to show a successful approval.

Step 4 (Manual) — Confirm the Payment in STF POS

  1. After the external terminal approves the payment, return to the STF POS checkout modal.
  2. Find the card charge line showing the amount.
  3. Tap Charge complete? to record the payment in STF POS.
  4. The charge line updates to show the amount as collected.

Step 3 (Stripe M2) — Collect the Card Payment

  1. A card charge line appears showing the full sale amount.
  2. Tap the Charge button (or the card reader indicator button on the charge line).
  3. The app sends a payment request to the Stripe M2 reader. If the reader is already prepared and connected, STF POS reuses that live connection; otherwise a progress bar appears with the message "Looking for an available reader."
  4. When the reader is ready, it beeps or lights up. Prompt the customer to tap, insert, or swipe their card on the reader.
  5. The reader processes the payment. Watch the progress bar — it advances through stages automatically.
  6. When the payment is approved, the charge line changes to show "Collected" and the amount. STF POS plays a short positive confirmation tone.

Step 5 — Complete the Transaction

Once the card charge is collected (either method):

  1. A Transaction Complete screen appears (or the checkout modal shows a green completion state).
  2. The app prompts for a receipt choice:
    • Text — type the customer's 10-digit phone number (digits only, no dashes) and send.
    • Email — type the customer's email address and send.
    • Toggle the Notify me of future deals pill on only when the customer opts in.
    • No — skip the receipt.
  3. The sale is recorded and the cart clears, ready for the next transaction.

Backing Out Before Completion

Inside checkout you have two ways to step away before the sale is finalized:

  • Back to cart — returns to the cart with all items intact.
  • Void — discards the ticket entirely (a reason is required). See Guide 06 — Voiding a Sale.

See also:

Guide 03

Guide 03: Cash Checkout

Audience: Sales associate Payment method: Cash

This guide covers how to accept a cash payment, calculate change due, and complete a cash transaction. No card reader or external terminal is needed for cash sales.

Step 1 — Add Items to the Cart

  1. Tap the Sale tab.
  2. Scan items with your Bluetooth barcode scanner, or add them manually — see Guide 01 — Ringing Up a Sale.
  3. Review the cart totals before proceeding. The total shown is the amount you will collect in cash.

Step 2 — Open Checkout and Select Cash

  1. Tap the Checkout button at the bottom of the Sale screen.
  2. The checkout modal opens.
  3. Tap Cash.

Step 3 — Enter Cash Tendered

  1. After selecting Cash, a cash tendered input field appears.
  2. Type the dollar amount the customer handed you (for example, 20.00 if they gave you a $20 bill).
  3. The app immediately calculates and displays the change due below the total.

About cash rounding: If your site uses cash rounding, the app may round the total to the nearest whole dollar for cash transactions. A note appears automatically: "Rounding change to whole dollars." The rounded amount is shown in the totals area — you do not need to do anything.

Step 4 — Confirm Change Due

  1. Verify the change due amount shown on screen.
  2. Count out the correct change from your cash drawer and give it to the customer.

Step 5 — Complete the Transaction

  1. Once the cash tendered amount is entered and equals or exceeds the total, the Complete button becomes active.
  2. Tap Complete.
  3. The Transaction Complete screen appears.
  4. The app may prompt for a receipt choice.
    • Text — type the customer's 10-digit phone number and send.
    • Email — type the customer's email address and send.
    • Toggle the Notify me of future deals pill on only when the customer opts in.
    • No — skip the receipt.
  5. The sale is recorded and the cart clears.

Backing Out or Voiding Before Completion

Inside checkout you have two ways to step away from a sale before tapping Complete:

  • Back to cart — returns to the cart with all items intact so you can add or fix items, then re-open checkout.
  • Void — discards the ticket entirely (a reason is required and the void is logged). See Guide 06 — Voiding a Sale.

There is no longer a way to silently abandon a started ticket — you either complete it, step back to the cart, or void it with a reason.

See also:

Guide 04

Guide 04: Split Checkout

Audience: Sales associate

This guide covers how to accept payment across two or more payment methods in a single transaction — for example, a customer paying with two credit cards, or part cash and part card.

What Is Split Checkout?

Split checkout means the customer is paying with more than one payment method for the same sale. Common scenarios:

  • A customer wants to put $20 on one card and the rest on another
  • A customer has some cash and wants to put the remainder on a card
  • A customer needs to split a large purchase across two cards with different limits

Before You Begin

  • Build your cart with all items before opening the split checkout workflow — see Guide 01 — Ringing Up a Sale
  • If any card payments will go through the Stripe M2 reader, make sure it is prepared (see Guide 12, Part 3)
  • If using the external terminal (Manual), know the amount to charge on it before going to the terminal

Step 1 — Open Checkout and Select Split

  1. Tap Checkout.
  2. In the checkout modal, tap Split.

Step 2 — Enter Each Payment Portion

The Split workflow shows both a Cash field and one or more Card charge lines.

Cash portion (if any)

  1. In the Cash field, type the dollar amount the customer is paying in cash (e.g., 10.00).
  2. The remaining balance is automatically shown on the card charge line below.

First card

  1. A card charge line shows the remaining balance after cash.
  2. You can edit the amount on the card line if needed (for example, if the first card can only cover part of the remaining balance).
  3. Tap the Charge button on the card line.
    • Stripe M2: the reader activates — have the customer tap, insert, or swipe their card.
    • Manual (external terminal): process the amount on the external terminal, then tap Charge complete? on the charge line.
  4. When payment is approved, the card line shows as collected and locks.

Adding a second card

  1. If the balance is not fully covered by cash and the first card, tap Add card to create a second card charge line.
  2. The remaining balance fills in automatically.
  3. Process the second card the same way as the first.
  4. Repeat if additional cards are needed.

Step 3 — Complete the Transaction

  1. Once all payment lines (cash + all card charges) sum to the sale total or more, the Complete button becomes active.
  2. Tap Complete.
  3. The Transaction Complete screen appears.
  4. If the customer wants a receipt, choose Text and enter their phone number, or choose Email and enter their email address. Toggle the Notify me of future deals pill on only when the customer opts in. Otherwise tap No.

Refunds on Split-Tender Sales

If you need to refund a split-tender sale, the refund is proportionally split back to the original payment methods: the cash portion is refunded as cash, and the card portion is reversed to the original card(s). The refund dialog will show the breakdown.

See Guide 05 — Issuing a Refund for the full refund workflow.

See also:

Guide 05

Guide 05: Issuing a Refund

Audience: Site manager Requires: Manager Override PIN

This guide covers how to process a refund on a completed transaction — returning all or part of the amount paid back to the customer. Refunds always start from the original receipt and always require the Manager Override PIN.

Before You Begin

Have the following ready:

  • The original receipt number or knowledge of when the transaction occurred (so you can find it)
  • The Manager Override PIN

Void vs. Refund — Quick Reference

Void Refund
When Sale is in draft (not yet completed) Sale is fully completed
Payment No money moved — nothing to reverse Reverses the charge to the customer
Who can do it Any associate Manager (PIN required)
Found in Inside checkout (tap Checkout, then Void) Receipt detail in Reports or Recent Transactions

Step 1 — Find the Original Receipt

From the Sale tab (if it was a recent transaction today):

  1. Tap the Sale tab.
  2. Scroll down to Recent Transactions.
  3. Find the transaction and tap it to open the receipt detail.

From the Reports tab:

  1. Tap the Reports tab.
  2. Scroll to Transaction history.
  3. Locate the transaction by date or receipt number.
  4. Tap View to open the receipt detail.

Step 2 — Open the Refund Action

  1. In the receipt detail, scroll to the bottom.
  2. Look for the refund or return section. You will see one of two action buttons depending on the payment method:
    • Refund to original card — for Stripe card transactions (the most common type). Its description reads "Start a manager-authorized refund from this original receipt."
    • Complete local refund — for the local return flow (e.g., cash or external-terminal sales). Its description reads "Complete a manager-authorized refund from this original receipt."
  1. Tap the button that is shown.

Step 3 — Select Items to Refund

The Return items dialog opens, showing each item from the original receipt.

  1. For each item you are refunding, use the and + buttons to set the quantity being returned. The maximum quantity for each item is the original quantity minus any amounts already refunded on prior returns.
  2. Full refund: Tap Select all to set every item to its maximum refundable quantity.
  3. Partial refund: Set only the quantities for the items being returned.

The dialog displays:

  • Selected units — total number of items being returned
  • Estimated refund — dollar amount to be returned to the customer
  • Remaining refundable — what will still be refundable after this transaction

Step 4 — Select a Return Reason

Below the item list, select the reason for this return:

Reason Use When
Faulty The item was defective or damaged
Incorrect charge The customer was charged the wrong amount or for the wrong item
Other None of the above

Step 5 — Enter the Manager Override PIN

  1. Below the reason section, a PIN entry field appears.
  2. Enter the Manager Override PIN (minimum 4 digits).
  3. The PIN validates automatically when the correct number of digits is entered — you do not need to tap a separate confirm button.

Step 6 — Confirm the Refund

  1. Once the items, reason, and PIN are all entered, a Confirm button (or "Refund" / "Start return" button) becomes active.
  2. Tap Confirm.
  3. For Stripe card transactions: the refund is submitted to Stripe. The customer's bank will return the funds to their card — typically within 5–10 business days depending on the bank.
  4. A confirmation message appears showing the refund amount.

Partial Refunds

A partial refund returns only the selected items — not the entire transaction. After a partial refund:

  • The receipt detail shows the original total, the refunded amount, and the effective total (what was ultimately collected)
  • The remaining items are still refundable up to their original quantities

Refunds on Split-Tender Sales

If the original sale was paid with a combination of cash and card, the refund is allocated proportionally:

  • The cash portion of the sale → refunded as cash (given back to the customer from the drawer)
  • The card portion of the sale → reversed to the original card

The return dialog will show both the cash portion and card portion of the refund so you know what to give back.

See also:

Guide 06

Guide 06: Voiding a Sale

Audience: Sales associate and site manager

This guide covers how to cancel a sale that is currently in progress — before it is completed. This is called a void.

What Is a Void?

A void cancels a sale while it is still a draft — after items have been added to the cart but before the transaction is finalized. No payment is taken; the sale is simply discarded. All void events are logged with a reason code for your manager's review.

When Would You Void?

  • A customer decides they do not want any of the items after you have already scanned them
  • You accidentally scanned the wrong items and it is easier to start over
  • A card payment attempt failed and you need to start a fresh sale
  • You are in a training session and want to clear a practice cart

Step 1 — Open the Void Dialog

Void lives inside checkout, not on the cart header. This makes every teardown a deliberate decision at the point of sale.

With items in the cart on the Sale tab:

  1. Tap Checkout to open the checkout screen.
  2. In the checkout header you'll see two exits: Back to cart (returns to the cart with the ticket intact) and Void (discards the ticket).
  3. Tap Void. The checkout closes and the Void sale dialog opens.

Step 2 — Select a Reason

The dialog asks you to select a reason for voiding. Tap the reason dropdown and select the option that best describes why you are canceling:

Option Use When
Customer changed mind The customer decided not to purchase
Mis-scan/wrong item Items were scanned in error — easier to restart
Payment issue A payment problem (terminal error, declined card) required restarting
Training This was a practice transaction
System/error recovery A technical issue required restarting the sale
Other None of the above — see warning below

Step 3 — Confirm the Void

  1. After selecting a reason (and entering a note if required), the Void button becomes active.
  2. Tap Void.
  3. The cart clears. The voided draft is logged to the server and will appear in your manager's void report.
  4. The Sale tab returns to an empty state, ready for a new transaction.

After Voiding

  • If you voided because a card terminal had an issue, check with your manager before attempting a new sale to make sure no phantom charge was created.
  • If the void was due to a scan error, simply start scanning again.

See also:

Guide 07

Guide 07: Non-Sale Item Lookup

Audience: Sales associate

This guide covers how to look up a product's details — price, stock level, description — without starting or modifying a sale. Use this workflow when a customer asks about an item, you want to verify a price before ringing it up, or you need to check stock availability on the floor.

When Would You Use This?

  • A customer asks "how much is this?" and you want to confirm the price before scanning into a sale
  • You want to check the current stock level of a product
  • A barcode is damaged and you want to identify the product before attempting to add it to a cart
  • You are checking whether an item is in the catalog at all

Method A — Scan a Barcode on the Catalog Tab

Use this method when you have the physical item and want to look it up by scanning its barcode.

  1. Tap the Catalog tab.
  2. The scanner is active automatically — you do not need to tap anything.
  3. Scan the item's barcode with your Bluetooth scanner.
  4. If the barcode matches a product in your site's catalog, the product detail card opens immediately, showing:
    • Product name
    • Unit price (and pack price if configured)
    • Current stock level
    • Barcode(s) associated with the product
    • Any additional product details your site has configured

Method B — Search by Name on the Catalog Tab

Use this method when you do not have the barcode or the barcode will not scan.

  1. Tap the Catalog tab.
  2. Tap the search field at the top. Its placeholder reads "Search by name or barcode."
  3. Type the product name or part of it. For example, type water to find "Bottled Water 16oz."
  4. A list of matching products appears. Tap any product row to open its detail card.
  5. The product detail card shows the same information as a barcode scan: name, price, stock level, and barcodes.

What the Detail Card Shows

Field What It Means
Name The product's display name as configured in the catalog
Unit price The standard per-unit selling price
Pack price The price when selling at the pack quantity (shown only when configured)
Stock Current on-hand quantity for your site
Barcode(s) One or more barcodes linked to this product

Closing the Detail Card

Tap anywhere outside the detail card, or tap the back/close control, to dismiss it and return to the Catalog tab search view.

Ready to Add to a Sale?

If after looking up the item you want to add it to a cart:

  1. Switch to the Sale tab.
  2. Either scan the barcode again (now in the sale context) or search by name — see Guide 01 — Ringing Up a Sale.

See also:

Guide 08

Guide 08: Digital Receipt Post-Transaction

Status: Current Last reviewed: 2026-05-22

Audience: Sales associate

A digital receipt is a receipt sent to the customer electronically, by Text (SMS) or Email — the two delivery channels are peers and use the same prompt. This guide covers how to send (or re-send) a digital receipt after a sale has already been completed — for example, if the customer asked for a receipt after you already tapped No at the completion prompt, or if a receipt did not arrive and needs to be resent. Both channels are sent from the same screen.

Before You Begin

Step 1 — Find the Transaction

You can find the transaction two ways, depending on when the sale happened.

Option A — Sale tab (same session, today's transactions)

  1. Tap the Sale tab.
  2. Scroll down past the cart area to the Recent Transactions section.
  3. Find the transaction by date/time or amount. Transactions are listed most recent first.
  4. Tap the transaction row to open the receipt detail.

Option B — Reports tab (any transaction, including older ones)

  1. Tap the Reports tab.
  2. Scroll to the Transaction history card.
  3. Find the transaction. Use the filters at the top to narrow by date if needed.
  4. Tap View next to the transaction to open the receipt detail.

Step 2 — Open the Receipt Detail and Tap Resend

  1. The receipt detail screen or dialog opens, showing the full transaction: items, totals, and payment summary.
  2. Scroll to the bottom of the receipt detail.
  3. Tap the Resend Receipt button.

Step 3 — Choose Text or Email and Send

The same prompt used at checkout opens, retitled Resend Receipt.

  1. Tap Text or Email at the top of the prompt. The unselected option appears in grey; the selected option uses the store's brand color.
  2. The phone number or email is pre-filled from the original sale when available. Edit it if the customer wants the receipt sent to a different destination.
    • Text: enter a 10-digit phone number. Digits only — no dashes, spaces, or country codes. Example: 2025551234.
    • Email: enter the customer's email address.
  3. (Optional) Tap the Notify me of future deals pill toggle on if the customer wants promotional messages. Leave it off otherwise.
  4. Tap Send. The prompt closes and a short confirmation toast appears when the request has been accepted.

Delivery Status

The receipt detail shows a single Receipt Status line near the top, reflecting the destination captured on the original sale. Live delivery state is tracked only for Text receipts; Email shows the channel but not a granular status.

Receipt Status line What It Means
SMS – Sending to ••1234 The text is queued and being sent (last four digits of the number shown)
SMS – Sent to ••1234 The text was handed off successfully
SMS – Delivered to ••1234 The carrier confirmed delivery
SMS – Failed (reason) The text could not be delivered — check the number and resend
SMS – Awaiting status No delivery update has come back yet — check again in a minute
Email An email destination was captured. The app does not display a per-message email delivery state.
Receipt Declined No phone or email was captured at the time of sale

See also:

Guide 09

Guide 09: Manager Functions

Audience: Site manager Requires: Manager Override PIN for most actions

This guide covers the capabilities available to site managers beyond the standard associate workflow: applying manager discounts, switching payment methods, accessing full reports, and managing the Manager Override PIN.

Overview of Manager Capabilities

As a site manager, you can perform the following actions that require the Manager Override PIN:

  1. Apply a manager discount to a sale
  2. Switch the payment method to Manual (external terminal) on a Stripe-configured site or device
  3. Issue refunds from completed receipts (see Guide 05)
  4. View full Reports — expanded metrics, all date ranges, all actors

Applying a Manager Discount

A manager discount applies a percentage discount to the pre-tax subtotal of the current sale. The percentage is configured per site by your administrator.

  1. Add items to the cart on the Sale tab.
  2. Tap Checkout to open the checkout modal.
  3. In the checkout controls row (at the top of the modal), look for the Manager Discount toggle or button.
  4. If the discount is not active, tapping it opens the Manager Override dialog. Enter the PIN and tap OK.
  5. Once the PIN is validated, the discount is applied. A blue confirmation banner appears below the totals, showing the discount percentage and dollar amount.
  6. The totals recalculate immediately to reflect the discount.

Applying an Owner Discount

An owner discount subtracts a fixed dollar amount (not a percentage) from the current ticket. It is applied to the pre-tax subtotal after any manager discount, so tax and fees recalculate on the reduced amount. Owner discounts are commission-neutral — they do not reduce the Site Manager Commission.

  1. Add items to the cart and tap Checkout.
  2. In the checkout controls row, tap the Owner Discount chip (next to Manager Discount).
  3. The Owner Override dialog opens with the approval message and phone number. Enter the dollar amount to discount and the Owner Override PIN.
  4. The amount cannot exceed the current ticket total. On success, the discount applies and a confirmation banner shows the amount.
  5. Tap the active Owner Discount chip again to clear it.

Switching to the Manual (External Terminal) Payment Method

If your effective device default is Stripe, and a customer needs to pay on an external terminal instead, you can switch to Manual for that transaction. Sites configured with External as the default card processor, or devices explicitly overridden to Manual, already use Manual by default after the device config syncs.

  1. Add items to the cart and tap Checkout.
  2. Tap Card as the payment method.
  3. In the checkout controls row, find the Payment method button. It shows the current method name (e.g., "Stripe Reader").
  4. Tap it to open the payment method dropdown.
  5. Select Manual from the list.
  6. If Manual is not already the default, the Manager Override dialog appears. Enter the PIN and tap OK.
  7. The checkout workflow switches to manual confirmation mode — see Guide 02 — Card Checkout for the remaining steps.

Accessing Full Reports

Managers with Full Reports access can see expanded metrics and unrestricted date filters in the Reports tab.

What Full Reports adds over Basic access:

Feature Basic Access Full Reports
Transaction history
Sales total and count
Return/void count
Date filter (Active season only)
Custom date range
Commission and fee totals
Tender mix (cash vs. card)
Daily tender card
Filter by specific user or device

See Guide 10 — Reading the Reports Tab for a full walkthrough of every Reports section.

Initiating Refunds

Refunds also require the Manager Override PIN and are always started from a receipt. See the complete step-by-step in Guide 05 — Issuing a Refund.

Support Requests

Android devices can submit support requests from the native Support modal. Operators tap Open Ticket in the modal header, choose a type, enter a description, optionally enter a callback number, then tap Send. The type defaults to Sales, with Missing Barcode directly below it. Missing Barcode requests require one to three camera photos; the yellow Take Photo button sits beside the barcode value field, captured thumbnails appear below the camera preview, and the app attempts to decode the barcode from the camera preview while still allowing the request when a value cannot be read.

The request modal keeps Cancel and Send in the header. Tapping Cancel closes the request modal and clears the draft back to the default Sales type with empty fields.

If the main backend is offline or temporarily unavailable, the Android app queues the request and syncs it automatically when connectivity returns. The queued request keeps the same site, device, submitted timestamp, and queue token so support staff can see the original device context after sync.

Operations Admin and Super Admin users can triage requests in the web console under Manager → Support → Requests. The Requests card supports filtering by site, type, and status; sorting by clicking the Submitted, Site, Type, or Status column headers; opening request details with photo thumbnails and full-size images; and updating status through Open, In Progress, In Development, In Testing, Resolved, Closed, or Canceled.

Site Manager, Reports Admin, and Sales Associate roles do not have access to the Support Requests panel.

Manager PIN Management

The Manager Override PIN is not managed from the Android app. To set or change the PIN:

  1. Log into the STF POS web console.
  2. Go to Manager → Admin → Stripe (Transaction settings).
  3. Find the Manager Override Pin field. The separate Owner Override Pin field lives directly alongside it and gates the Owner Discount action.
  4. Enter a new PIN (minimum 4 digits) and save.

See also:

Guide 10

Guide 10: Reading the Reports Tab

Audience: Site managers (Full Reports) and associates with Basic Reports access

This guide walks through every section of the Reports tab — what it shows, what the numbers mean, and how to find a specific transaction.

Who Can See the Reports Tab?

The Reports tab is visible based on access level configured for your device:

Access Level What You Can See
No access Reports tab is hidden entirely
Basic access Transaction history, sales count, return/void count, low inventory. Date range is locked to the active season.
Full access Everything in Basic, plus: commission and fee totals, tender mix breakdown, daily tender totals, custom date ranges, and filter by specific user or device.

The Filters Card

The Filters card appears at the top of the Reports content area. Tap the expand icon (or the filters area) to open it.

Date range

  • Basic access: The date filter is locked to Active Season (the current selling season for your site). You will see a note: "Active season is locked for this device." This is expected behavior — no action needed.
  • Full access: You can select Active Season or use a custom date range by tapping the start and end date fields. The data shown in all cards below updates to match your selection.

Actor filter (Full access only)

Filter transactions by who processed them:

  • All — shows all transactions from all users and devices
  • User — shows only transactions from a specific staff member
  • Device — shows only transactions from a specific register

Low inventory threshold

A slider that sets the stock percentage below which items appear in the Low Inventory card. The default is 100% — slide it to the left to narrow to more severely low items (e.g., below 50% of capacity).

Resync

At the bottom of the Filters card, a Resync button triggers a fresh data pull from the server. Tap it if the report figures look stale.

The Sales Summary Card

Shows overall sales metrics for the filtered period.

Field What It Shows
Total revenue Sum of all completed sales (after discounts, before refunds)
Transactions Number of completed sale transactions
Returns / Voids Number of returned or voided transactions

Full access adds:

Field What It Shows
Commission Total commission amount and rate (if applicable to your site)
Tax collected Total tax amount across all sales
Card fees collected Service fee revenue from card transactions
Service fees collected Any other applicable fee revenue
Sales trend chart A sparkline chart showing daily revenue over the filtered period

The Tender Mix Card (Full access only)

Shows how customers paid — the split between cash and card.

Displays:

  • Cash total and percentage of all sales
  • Card total and percentage of all sales
  • A horizontal progress bar visualizing the split

Useful for: end-of-day cash drawer reconciliation, understanding payment method usage.

The Daily Tender Card (Full access only)

Shows a day-by-day breakdown of sales for the most recent days in the filtered range.

Each row shows:

  • Date
  • Cash total for that day
  • Card total for that day
  • Combined daily total

The Low Inventory Card

Lists products that are at or below the threshold percentage you set in the Filters card.

Each row shows:

  • Product name and ID
  • Current stock count / total capacity
  • A progress bar (fuller = more stock remaining; emptier = low stock)

The Transaction History Card

A paginated table showing individual transactions for the filtered period.

Columns

Column What It Shows
Created Date and time the transaction was completed
Actor The user or device that processed the transaction
Receipt # The receipt number (customers may quote this when asking about their purchase)
Total The sale total
Refunded Amount refunded on this transaction (if any returns were issued)
Status Payment status (see below)
Type "Sale" or "Return"

Transaction status values

Status Meaning
Succeeded Payment collected and confirmed
Offline Pending Forward Sale was recorded while the device was offline and is waiting to sync to the server — this will resolve automatically when the device reconnects
Refunded The full amount has been refunded
Partially Refunded Some items have been refunded but not all

Navigation

  • Transactions are shown 5 per page.
  • Use the Previous and Next buttons to move between pages.

Viewing a receipt

  1. Find the transaction in the list.
  2. Tap View on the right side of the row.
  3. The full receipt detail opens, showing:
    • All line items, quantities, and prices
    • Discounts applied
    • Payment totals and method
    • Return activity (if any refunds have been issued)
    • The Receipt Status line (e.g., SMS – Sent to ••1234, Email, or Receipt Declined) — see Guide 08 — Digital Receipt Post-Transaction

From the receipt detail, you can also:

  • Resend the receipt (Text or Email) — see Guide 08
  • Issue a refund (managers only) — see Guide 05

The Customers Card

Shows receipt destinations captured at Android checkout for the filtered period.

Columns

Column What It Shows
Sale date Date and time the customer receipt choice was captured
Receipt # The sale receipt number tied to the contact
Site The site where the sale was completed
Channel Text or Email
Destination The phone number or email address entered by the operator
Opt in Whether the customer opted into promotional messages
Opt-in time When the opt-in was recorded, if selected

Use the Export button to download the filtered Customers report as an Excel workbook for follow-up campaigns. Email receipt rows are sent by the backend; SMS rows continue to follow the configured SMS sender path.

The Report Sync Card

A status card at the top of the Reports content area (above or alongside the Sales Summary) showing:

  • Last synced — when the data was last successfully updated from the server
  • Last attempt — when the last sync was tried (may differ from last success if it failed)
  • Error message — any sync error message (tap to see details)
  • Resync button — tap to force a fresh sync immediately

See also:

Guide 11

Guide 11: Registering Barcodes (Android App)

Audience: Site manager Requires: A device granted the Barcode Registration capability by an administrator

This guide covers how to register a barcode — assigning one or more barcode labels to an existing catalog product — directly from the Android app. Barcode registration can be queued while the device is offline. Once the queued registration syncs to the server and the catalog refreshes, scanning that label on the Sale tab adds the product to the cart automatically (see Guide 01 — Ringing Up a Sale).

Before You Begin

  • The product you are labeling must already exist in your site catalog. Barcode registration attaches barcodes to existing products; it does not create new products.
  • You need a working scanner (Bluetooth SPP or HID), or you can type barcodes by hand.
  • The device does not need to be online to queue barcode registrations. If the network is offline or unreliable, the Android app stores the registration locally and syncs it automatically when connectivity returns.

Step 1 — Open Barcode Registration

  1. Tap the Catalog tab.
  2. On the Site Catalog card, find the Barcode registration button (it sits next to Generate QR Sheet in the card header).
  3. Tap Barcode registration. The registration dialog opens, focuses the search field, and starts a background catalog refresh when the device is online.

At the top of the dialog, three status badges tell you whether you can proceed:

Badge Healthy value Meaning
Network Online The device can reach the server now; offline registrations will wait in the local queue
Scanner (varies) Whether a scanner is connected and armed
API Configured The app has the connection details it needs to sync queued registrations

Step 2 — Find and Select the Product

  1. In the Search catalog field (placeholder "Search by name or barcode"), type the product name or an existing barcode.
  2. Tap the product in the results list to select it. The app clears keyboard focus and automatically arms the selected HID or Bluetooth SPP scanner when available.
  3. The selected-product panel shows the product name, how many existing barcodes it already has (as pills, with "+N more" if there are many), or "No barcodes synced for this product yet."

Step 3 — Choose the Barcode Level

Under Barcode level, tap the chip for the packaging level this barcode represents — for example Case, Pack, or Unit. The available chips depend on how the product is packaged.

Step 4 — Capture Barcodes

You can add barcodes two ways:

Scan them:

  1. Select a product. The app automatically arms the scanner when HID or Bluetooth SPP is available. If you paused it, tap Start to arm it again. The label toggles to Pause while armed.
  2. Scan each barcode. Each scan is added to the Queued barcodes list below.

Type them:

  1. Type the value in the Manual barcode entry field.
  2. Tap the + at the end of the field to queue it.

Each queued row shows the value, its normalized form, and the chosen level, with a trash icon to remove it.

Step 5 — Register the Queued Barcodes

  1. Tap Register barcode (or Register N barcodes when more than one is queued).
  2. If any queued barcode already belongs to another product, a Confirm shared barcodes dialog lists them. Tap Register anyway to proceed, or Cancel to go back and remove them.
  3. The app stores the registrations in the local sync queue, clears the search and manual entry fields, clears the selected product, pauses the scanner, and resets Barcode level to Unit.
  4. The queued barcodes appear under Recent registrations (shown as BARCODE → Product) for this session. They become live after the queue syncs successfully and the catalog refreshes.

If any registrations are waiting to upload, the dialog shows a Registration sync section with the pending count. If the server rejects a queued barcode, the section keeps the failed row and shows the reason. Tap Retry failed after correcting the issue or reconnecting.

After Registering

  • The new barcode is live for your site only after the registration syncs to the server and the catalog refreshes on devices. Test it by scanning the label on the Sale tab after sync — the product should add to the cart at the level you chose.
  • Existing barcodes for a product are shown whenever you re-select it, so you can confirm what is already registered before adding more.

See also:

Guide 12

Guide 12: Initial Setup — First-Time Device Setup

Audience: Sales associate or site manager setting up a device for the first time Time required: 10–15 minutes

This guide walks you through connecting the STF POS app to your site, pairing your Bluetooth barcode scanner, and pairing your Stripe M2 card reader. Complete all four parts before your first sale.

What You Will Need

Before you begin, have the following ready:

  • The STF POS web console URL for your organization (your manager or IT will provide this — it looks like https://pos.yourorganization.org)
  • A device name for this tablet (e.g., "Register 1" or "Main Entrance Handheld") — your manager may assign one
  • Wi-Fi access at your location
  • If using a Stripe M2 reader: the physical reader, charged and powered on
  • If using a Bluetooth SPP scanner: the scanner, charged and turned on

Part 1 — Connect the App to Your Site

  1. Open the STF POS app on your device. The first-time setup screen appears.
  2. In the Web console URL field, type the address your manager provided.
  3. In the Device name field, type a name that identifies this device (e.g., "Register 1").
  4. Tap Save & Continue.
  5. The app submits a registration request and displays: "This device will request admin approval."
  1. Once your manager approves the device from the web console, the app transitions automatically to Device Mode. You will see four tabs along the bottom: Sale, Catalog, Reports, and Settings.

Part 2 — Pair the Bluetooth SPP Scanner

Skip this section if your scanner uses a USB cable (HID mode) or if you are not using a barcode scanner.

Step 1: Pair the scanner to Android first

Before setting up the scanner in the STF POS app, you must pair it to the Android device through Android's system Bluetooth settings (outside of the STF POS app).

  1. On your Android device, open Settings → Connected devices → Pair new device (exact wording varies by device).
  2. Turn on your scanner. Consult your scanner's manual to put it into pairing mode (usually holding a button until the LED flashes).
  3. Select the scanner from the discovered device list in Android Bluetooth settings.
  4. Confirm the pairing when prompted.
  5. The scanner should now appear in your Android paired devices list.

Step 2: Select Bluetooth SPP in STF POS

  1. Open the STF POS app and tap the Settings tab.
  2. Scroll to the Scanner preferences section.
  3. Under Scanner, you will see two buttons: HID Scanner and Bluetooth SPP. Tap Bluetooth SPP.
  1. If a Bluetooth permission prompt appears on screen, tap Grant Bluetooth permission.
  2. After permission is granted, a Bluetooth SPP scanner section expands below the buttons. A dropdown shows the text "Select paired SPP scanner."
  3. Tap the dropdown and choose your scanner from the list of paired devices.
  4. The status line below the dropdown updates to confirm the scanner is selected.

Part 3 — Pair the Stripe M2 Card Reader

Skip this section if your site uses a different payment method (external terminal, Tap to Pay, or cash only).

  1. Make sure your Stripe M2 reader is charged and powered on. Hold the button on the reader until the LED starts blinking.
  2. Place the reader within a few feet of the tablet.
  3. In the STF POS app, tap the Settings tab.
  4. Scroll to the Pairing and readiness section. You will see a line that reads "Current default: Stripe Reader."
  5. Tap Prepare Stripe Reader.
  1. A progress bar appears while the app searches for and connects to the reader.
  2. When the reader is ready, the status line in the Settings tab updates to show the connected reader ID and battery level.

Part 4 — Verify Your Sync Status

Before your first sale, confirm the app is online and synced.

  1. At the top of any screen in the app, look for the sync status badge — a small pill-shaped indicator near the site name.
  2. If the badge shows a green or neutral color with your site name, the device is online and synced. You are ready to sell.
  3. If the badge shows a warning color or an alert icon, tap it to see the sync detail screen.
  4. From the sync detail screen, tap Sync now to manually trigger a sync.

You Are Ready

With your device approved, scanner paired, and card reader prepared, you are ready to start ringing up sales.

See also:

Legal

Email & SMS Privacy Policy and Terms & Conditions

Seasonal Sprint

Privacy Policy

This Email and SMS Privacy Policy explains how Seasonal Sprint collects and uses email addresses and mobile phone numbers for digital receipts, customer support notifications, and transaction-related communications.

Information We Collect

When you voluntarily provide your email address or mobile phone number at checkout, through our point-of-sale system, on our website, or while requesting customer support, Seasonal Sprint may collect your email address or mobile phone number for the purpose of sending electronic communications related to your transaction, receipt, or customer support request.

How We Use Email Addresses and Mobile Phone Numbers

Seasonal Sprint uses email addresses and mobile phone numbers only for transactional and customer-service purposes, including:

  • Digital receipt delivery
  • Support ticket creation confirmations
  • Support ticket status updates
  • Requests for additional information related to a support case
  • Support ticket resolution notifications
  • Transaction-related customer service communications

SMS messages from this campaign are not used for marketing, advertising, promotional offers, abandoned cart reminders, or third-party promotional messaging.

Non-Sharing of Mobile Information and SMS Consent

No mobile information, including mobile phone numbers, SMS opt-in data, and SMS consent, will be shared with third parties or affiliates for marketing or promotional purposes.

Text messaging originator opt-in data and consent will not be shared with any third parties, except as necessary for service providers to operate the SMS messaging service on Seasonal Sprint's behalf.

Email addresses and mobile phone numbers may be shared with service providers that help Seasonal Sprint operate its messaging, point-of-sale, receipt, email, SMS, or customer support systems. These service providers are permitted to use this information only as necessary to provide services on Seasonal Sprint's behalf and are not allowed to use it for their own marketing or promotional purposes.

Data Retention

Seasonal Sprint retains email addresses, mobile phone numbers, receipt records, support records, and messaging records only as long as reasonably necessary for transaction records, support purposes, legal compliance, fraud prevention, and business operations.

Changes to This Policy

Seasonal Sprint may update this Email and SMS Privacy Policy from time to time. Continued use of email or SMS communications after changes are posted means you accept the updated policy.

Contact Us

For questions about this Email and SMS Privacy Policy, contact Seasonal Sprint at 480-686-0806.


Terms & Conditions

Agreement to Receive Email and SMS Communications

By voluntarily providing your email address or mobile phone number at checkout, through our point-of-sale system, on our website, or while requesting customer support, you agree to receive email and/or SMS communications from Seasonal Sprint related to digital receipts, customer support, and transaction-related notifications.

Electronic communications are optional and are not required to complete a transaction.

Opt-In

Customers opt in to electronic communications by voluntarily providing their email address or mobile phone number and requesting communication by email or SMS.

For digital receipts, customers opt in by providing their email address or mobile phone number at checkout and requesting an email or SMS receipt.

For support notifications, customers opt in by providing their email address or mobile phone number when requesting customer support or when agreeing to receive support-related updates.

Message Frequency

Message frequency varies based on customer activity. For receipt messages, customers may receive an email or SMS message after each transaction where they request a digital receipt. For support notifications, customers may receive messages when a support ticket is created, updated, requires additional information, or is resolved.

Message and Data Rates

For SMS messages, message and data rates may apply depending on your mobile carrier and plan.

Opt-Out Instructions

You may opt out of SMS messages at any time by replying STOP. After opting out, you may receive a final confirmation message confirming that you have been unsubscribed. After that, you will no longer receive SMS messages from this campaign unless you opt in again.

You may opt out of non-transactional email communications by using the unsubscribe link included in the email, if applicable, or by contacting Seasonal Sprint directly. Transactional emails related to receipts, purchases, support requests, or legal/business records may still be sent when necessary to provide the requested service or maintain required records.

Help Instructions

For SMS help, reply HELP.

For email or SMS assistance, contact Seasonal Sprint directly at 480-686-0806.

Carrier Disclaimer

SMS delivery is subject to your mobile carrier's network availability. Carriers are not liable for delayed or undelivered messages.

Eligibility

You must be the account holder, email address owner, mobile phone number owner, or have the account holder's permission to provide an email address or mobile phone number for electronic communications.