AcctApp Guides

Point of Sale

22 topics covering point of sale in AcctApp.

Version 9.7.0

Setting up the POS

The POS runs as a web app served from AcctApp over your local network - any tablet, phone, or browser-equipped PC on the same Wi-Fi can access it.

  1. Go to Settings → POS. Enable the POS server. It binds to your machine's LAN IP on a port you choose (default 3001).
  2. Set the GL accounts: Cash account, Card/EFTPOS account (used for Square Terminal, EFTPOS, Afterpay, Zip, PayPal), and optionally a separate Cash Drawer account.
  3. Tick the Payment Methods you want available on the POS.
  4. For Square Terminal payments, enter your Square Access Token and Device ID (or Device Code to pair a new terminal). Use "Test Connection" to confirm the terminal is reachable.
  5. For Tap to Pay (mobile phone NFC), enter the Square Application ID from your Square Developer Dashboard.
  6. Three POS URLs are shown on the Point of Sale admin page:
    • Tablet POS URL - open on an iPad or touch-screen tablet.
    • Mobile POS URL - open on a smartphone (portrait layout, Tap to Pay button).
    • PC POS URL - open in a browser on any Windows/Mac PC on the network; renders the 3-panel keyboard-first desktop layout.

All three URLs share the same product catalogue and GL accounts. The PC POS URL gives the same 3-panel layout as the built-in PC POS (Operations → PC POS) but accessible from any browser on the LAN.

Multi-store & multi-terminal POS

AcctApp supports multiple POS terminals across multiple physical store locations. Each terminal gets its own unique URL and authentication token, so registers in different stores cannot interfere with each other.

Licence entitlements

Every licence includes 1 PC terminal, 1 Tablet terminal, and 1 Mobile terminal. The Terminals tab header shows your current usage as coloured pills (e.g. PC 0/1 · Tablet 1/1 · Mobile 0/1). To add more terminals beyond the included limit, contact AcctApp at acctapp.com.au - your limits are updated on the server. Then go to Settings → Licence → Re-check to pull the new limits through immediately.

Setting up stores:

  1. Go to Operations → Point of Sale → Stores tab.
  2. Click "+ Add Store" and enter a Store Number (e.g. 001) and Store Name (e.g. Sydney CBD).
  3. Optionally add address and phone for reference.
  4. Repeat for each store location.

Setting up terminals:

  1. Go to Operations → Point of Sale → Terminals tab.
  2. Click "+ Add Terminal" and enter a name (e.g. Register 1, Front Counter iPad).
  3. Assign it to a store and enter a POS Number (e.g. 001, 002) that identifies this register within the store.
  4. Choose the terminal type: Tablet, Mobile, or PC.
  5. A unique token is generated automatically - click the terminal row to expand its per-terminal Tablet/Mobile/PC URLs.

Sale references:
When a terminal has a store and POS number assigned, every sale automatically gets a sale reference in the format S{store}-T{pos}-POS-{number}, for example S001-T001-POS-000123. This reference is:

  • Stored on the POS transaction and payment records.
    • Passed to payment providers (Square, Tyro, Linkly, Stripe, Zeller, Adyen) as the reference/order ID.
    • Visible on bank statements and settlement reports from your payment provider.

Bank reconciliation:
In the Bank Reconciliation screen, match a bank line item against the sale reference shown in the description. The reference uniquely identifies which store and which register processed the payment, making it easy to distinguish between multiple terminal deposits on the same day.

Without stores/POS numbers configured, transactions use the legacy global token and no sale reference is generated. The global URL still works for single-register setups.

Tablet POS - the sale screen

The tablet POS has three main areas:

  • Category bar - tap to filter the product grid by category (colours from the managed category list).
    • Product grid - tap a product to add it to the cart. Products with colour/size variants show a variant picker panel. Use the barcode icon or a connected scanner to add by barcode.
    • Cart panel - shows current items with qty and price. Adjust quantity, remove items, or apply a discount. "Hold" saves the current cart and opens a new sale; "Recall" restores a held cart.

At the bottom: operator name (from the PIN login), and status indicators.

Mobile POS (phones)

The mobile POS is a single-column portrait layout optimised for phones. Open the Mobile POS URL from Settings → POS on any phone browser (iOS Safari or Android Chrome).

Products and Cart are in separate tab views with a sticky running-total bar. Product list shows a 60px thumbnail, name, category, and price. Searching bypasses the accordion and shows a flat filtered list.

Append &mobile=1 to the tablet URL on any device to force mobile mode.

Products, categories & images

Only items flagged "Available on POS" appear in the product grid - tick this in the stock item edit modal under the POS section. Items default to not visible, so you opt in each product.

Open price items:
Tick "Open price at POS" on any product to let the cashier enter the price at the time of sale. When the product is tapped in the POS, a price entry screen appears with two modes:

  • $ Amount - enter any dollar amount. The +/− toggle switches between a positive charge and a negative discount/refund line. The amount is treated as inc. GST when GST is enabled.
    • % Discount - enter a percentage (e.g. 10) to deduct that percentage of the current cart total as a discount line. Open price items can be tapped multiple times - each tap adds a new cart line at the entered price (they do not merge with existing lines). Discount lines appear in orange in the cart. A typical use case is a product called "Cash Sale" for ad-hoc charges, or a "Discount" product for manual discounts and adjustments.

Creating POS categories:

  1. Go to Operations → Point of Sale (sidebar).
  2. The Product Categories card is on that page - click "+ Add Category".
  3. Enter a Name, Display Order (lower number appears first in the category bar), and pick a Button Colour from the swatches or type a hex code.
  4. Leave the Active checkbox ticked and click Save.

Assigning a category to a product:

  1. Go to Stock & Inventory → open the product's edit modal.
  2. In the POS section, pick the category from the Category dropdown.
  3. Ensure "Available on POS" is ticked - unticked items never appear on the sale screen regardless of category.

You can add, edit, reorder and delete categories at any time from the Point of Sale page. Deleting a category uncategorises any products assigned to it.

Variant products (colour × size) show only the parent card in the grid. Tapping expands an inline accordion showing colour groups → size rows on tablet, or a 3-level accordion on mobile. Tapping a leaf variant adds it to the cart. The variant picker shows a per-variant thumbnail image when the variant has its own image - useful for colour variants imported from eBay where each colour has its own product photo.

Product images are served via the local API server. Upload images in the Inventory stock item modal. Images show in the grid and in the accordion. Images are always displayed full-frame (object-fit: contain) with a neutral background - portrait or non-square photos are never cropped.

Per-variant images: Open a parent product in Inventory, go to the Variants tab, and click Edit on any variant to upload or replace its image. Variants imported from eBay with colour-specific eBay images show a "Save image" button to download the eBay photo locally. The image appears as a thumbnail in the variant grid and in the POS variant picker.

Product image preview (quick-view without adding to cart)

  • PC POS (built-in Electron and browser URL): hover the mouse over any product card that has an image - a 220×220 floating preview panel appears beside the card. Move the mouse away to dismiss. No click required.
    • Tablet POS: product cards with an image show a 🔍 button in the top-right corner. Tap it to open a full-screen image preview modal - no item is added to the cart and the current sale is unaffected. Tap ✕ to close.
    • Mobile POS: tap the 60×60 product thumbnail on the left of a product row to open a full-screen image preview modal.

Payment methods

Payment methods are enabled in Settings → POS → Payment Methods. Available methods:

  • Cash - records a cash payment. Posts to the Cash Drawer GL account (or the Card account if not separately configured).
    • Card (Square Terminal) - sends a payment request to the paired Square Terminal device.
    • EFTPOS - manual confirmation panel; records EFTPOS payment to the Card GL account.
    • Afterpay / Zip / PayPal - confirmation panel; records to the Card GL account.
    • Cheque - prompts for a cheque number; records to the Card GL account.
    • Charge to Account - charges the sale to the selected customer's AR account (requires a customer to be selected on the sale). Creates an invoice in AcctApp.

After confirming payment, a digital receipt is shown with an email option.

Payment terminals (Tyro, Linkly, Stripe, Zeller, Adyen, PayTo)

In addition to Square, AcctApp supports six further payment providers at the POS. All are configured in Settings → POS and appear as selectable payment methods on the payment screen. The general flow is: select the method → amount confirmed → terminal instructed → AcctApp polls for completion → sale posts to GL.

Tyro (Australian merchant payment terminals)

  1. Settings → POS → enter your Tyro Merchant ID and API key (from the Tyro Merchant Portal).
  2. Pair your Tyro terminal by entering the integration key shown on the terminal screen.
  3. Select "Tyro" at the POS payment screen - AcctApp sends the payment request and the cashier presents the card on the Tyro terminal.

Linkly / PC-EFTPOS (supports CBA, NAB, Westpac, ANZ and other bank terminals)
Linkly is a switching layer that works with most major Australian bank EFTPOS terminals - no new hardware required if you already have a bank terminal.

  1. Settings → POS → enter your Linkly Cloud API credentials (from your bank or Linkly partner portal).
  2. Select "Linkly" at the POS payment screen.

Stripe Terminal (physical card reader via Stripe)

  1. Settings → POS → enter your Stripe Secret Key and the Terminal Reader ID (from Stripe Dashboard → Terminal → Readers).
  2. Select "Stripe Terminal" at the POS payment screen - AcctApp creates a payment intent and instructs the reader; the customer taps, dips, or swipes.

Zeller (Australian merchant banking and terminal)

  1. Settings → POS → enter your Zeller Terminal ID and API credentials (from the Zeller Dashboard).
  2. Select "Zeller" at the POS payment screen.

Adyen Terminal (enterprise payment terminals)

  1. Settings → POS → enter your Adyen API key, merchant account name, and terminal serial number (POIID, from the Adyen Customer Area).
  2. Select "Adyen" at the POS payment screen - a SaleToPOI request is sent synchronously to the terminal.

PayTo / NPP (New Payments Platform - real-time bank account debit)

  1. Settings → POS → tick PayTo/NPP in the Payment Methods list.
  2. At the POS, select "PayTo" - a payment reference is generated. The customer authorises the debit in their bank app. Once you confirm receipt, the sale posts to GL. (Manual confirmation - AcctApp does not poll the NPP network directly.)

All providers record the payment to the Card/EFTPOS GL account configured in Settings → POS.

Square Terminal & Tap to Pay

Square Terminal (card reader) integration:

  1. In Settings → POS, enter your Square Access Token (from your Square Seller Dashboard).
  2. Enter the Device ID for the terminal (shown in Square Dashboard → Hardware), or enter a Device Code to pair a new terminal remotely.
  3. Click "Test Terminal" to send a $1 charge that auto-cancels - confirms the device ID is valid.
  4. On the POS payment screen, select "Card" and tap "Charge via Square Terminal" - the terminal prompts for tap/chip/swipe. AcctApp posts the sale to GL on confirmation.

Tap to Pay (phone NFC):

  1. In Settings → POS, enter the Square Application ID (from Square Developer Dashboard → Applications).
  2. On the mobile POS payment screen, the "Tap to Pay" button appears at the top.
  3. Tapping it opens the Square app on the phone via URL scheme, accepts a contactless payment, then redirects back to AcctApp which auto-posts the sale to GL.

Receipts, GL posting & account customers

Every completed POS sale:

  • Posts a GL journal (DR Cash/Card, CR Sales + GST liability) immediately.
    • Records a stock movement reducing on-hand quantity for each item sold.
    • Sends an email receipt if an email address was entered.

Account customers: if a customer is selected on the sale and "Charge to Account" is chosen as payment, no immediate cash/card journal is posted - instead an invoice is created in the customer's AR account (payable by the customer later).

Walk-in sales (no customer selected) post directly to GL with no AR sub-ledger entry.

Gift vouchers - sell, redeem & write off

AcctApp supports a full gift voucher lifecycle across all POS variants - tablet, mobile browser, and PC POS.

Selling a gift voucher

  1. Tap/click the "🎁 Voucher" button in the POS cart-actions toolbar.
  2. Enter the voucher amount and optional customer name/email.
  3. AcctApp generates a unique 12-character voucher code and shows it on the receipt - hand it to the customer or email it.

GL posting on sale: DR Cash/Card → CR Gift Vouchers Liability (2-2500). No GST applies - the voucher is a deferred obligation, not income.

Redeeming a voucher

  1. On the POS payment screen, select "Gift Voucher" as the payment method.
  2. Enter or scan the voucher code. AcctApp validates it and shows the remaining balance.
  3. If the voucher covers the full amount, the sale completes. If the sale exceeds the voucher value, pay the balance using another method.

GL posting on redemption: DR Gift Vouchers Liability → CR Sales Revenue + GST Payable. Full GST accounting applies.

Writing off a voucher

Unredeemed vouchers can be written off from Operations → Point of Sale → Gift Vouchers tab. Select the voucher and click "Write Off".

GL posting on write-off: DR Gift Vouchers Liability → CR Other Income + GST. GST applies - the unredeemed amount is now treated as income.

Managing vouchers

Go to Operations → Point of Sale → Gift Vouchers tab to view all vouchers with their codes, face values, remaining balances, statuses (active / redeemed / written off), and issue dates.

Configuring GL accounts

Three accounts are configurable under Settings → POS → Gift Voucher GL Accounts:

  • Liability account - defaults to 2-2500 Gift Vouchers Liability (created on first use).
    • Redemption income account - defaults to the sold product's linked income account.
    • Write-off income account - defaults to Other Income.

Stocktake from POS

Staff can perform a full stocktake directly from any POS device - tablet, phone, or browser. No AcctApp login or desktop access is needed.

Starting a stocktake

  1. On the POS sale screen, tap/click the "Stocktake" button in the cart-actions toolbar.
  2. The stocktake screen shows open sessions (if any) and a "+ New Stocktake" button.
  3. Click "+ New Stocktake". The counting screen loads all stocked POS-visible items with the current expected quantity from AcctApp.

Counting items

  • Hardware barcode scanner (USB or Bluetooth HID): scan a barcode to jump directly to that item. The quantity field is automatically focused. Press Enter to accept and move to the next uncounted item.
    • On tablet/mobile, use the search input to type a product name or barcode - the list filters in real time.
    • Type the counted quantity. Items where the counted quantity differs from the expected quantity are highlighted in amber.
    • Leave an item's quantity blank to mark it as uncounted (it stays highlighted).

Submitting

When counting is complete, click "Submit Stocktake". The session status changes to "Submitted" and it appears in AcctApp for management review.

Reviewing and posting (desktop)

  1. Go to Stock & Inventory → Stocktake tab in AcctApp.
  2. Open and submitted sessions - including those started from POS - all appear here.
  3. Review variances, make corrections if needed, then post the adjustments. AcctApp books stock-on-hand adjustment journals for every discrepancy.

Non-stocked items are excluded from POS stocktakes automatically.

Stock replenishment for retail stores

The Replenishment tab in POS Admin identifies all POS-visible stock items that need restocking and lets you raise purchase orders or move stock from a warehouse in one step.

Accessing Replenishment

Go to Operations → Point of Sale → Replenishment tab. The table shows every POS-visible item currently at or below its reorder point.

Columns

  • Item - code and name
    • On Hand - current quantity (shown in red if negative)
    • Reorder Point - the threshold configured on the stock item
    • Shortfall - how many units are needed to reach the reorder point
    • Reorder Qty - the suggested order quantity set on the stock item
    • Supplier - the preferred supplier linked to the item

Creating purchase orders

  1. Tick the checkboxes next to items you want to order.
  2. Click "Create POs" in the toolbar.
  3. AcctApp groups selected items by supplier and raises one purchase order per supplier, then navigates to Purchasing → Purchase Orders so you can review and send them.

Transferring stock from a warehouse

If multiple stock locations are configured, a "⇄ Transfer" button appears on each row:

  1. Click Transfer to open the Transfer modal.
  2. Select the source location (warehouse or another store).
  3. Select the destination location (the retail store receiving the stock).
  4. Confirm the quantity (pre-filled with the shortfall) and add an optional note.
  5. Click Transfer. AcctApp records paired stock movements (transfer_out and transfer_in) and on-hand quantities update immediately.

Setting reorder points

Reorder points and reorder quantities are set on each stock item: Stock & Inventory → edit item → Inventory section. Items only appear in the Replenishment tab when they are below their reorder point and flagged as POS-visible.

When all POS-visible items are above their reorder point the tab shows an "All stock levels are healthy" empty state.

Offline mode & hold/recall

AcctApp POS continues to work when the head-office server or network is unavailable. Both the browser-based POS (tablet, mobile, PC URL) and the built-in PC POS support full offline operation.

Browser POS (tablet / mobile / PC browser URL)

The POS app shell (HTML, scripts, styles) is cached by a service worker on the device after the first successful load. If the server goes down:

  • The POS loads from the browser cache - no connection to head office needed.
  • The product catalogue is cached in IndexedDB from the last successful sync.
  • The status bar shows "Offline - cached data" in amber.
  • PIN login works offline: the first time each operator logs in on a device their PIN is saved (as a secure hash) locally. Subsequent offline logins are verified against that cached hash without contacting the server.
  • Completed sales are queued in IndexedDB. When the server comes back, the queue flushes automatically and the status bar counts down pending items.

PC POS (built-in Electron)

  • The last catalogue is cached in localStorage. If the database is unreachable, PC POS loads from cache and shows an amber "Offline - cached data" banner in the header.
  • Completed sales are queued in localStorage. The header shows "X sales queued". Every 30 seconds PC POS silently retries; when the database reconnects, all queued sales post automatically and the banner clears.
  • The cash drawer still opens and receipts still print for queued cash sales - customers get their receipt immediately even when offline.

Hold / Recall (all POS modes)
Tap "Hold" to park the current cart and start a new sale. Tap "Recall" to pick up a held cart and resume. Held carts survive page refresh and are stored locally on the device.

Per-user PIN login

Set a POS PIN for each user in Settings → Users (4–6 digits, digits only). The POS shows a PIN entry screen on load. Entering a valid PIN shows the operator's name in the status bar.

If no users have a PIN set, the POS allows entry without a PIN (backward compatible). This is useful for single-operator setups.

PINs are separate from the main app password - they're designed for quick tablet login without typing a full password.

Note: on the very first load after opening the POS URL, the app fetches a fresh product catalogue from the server in the background. In earlier versions this could cause the POS to flicker back to the PIN screen immediately after logging in. This is fixed in v7.5.2 - the catalogue refresh no longer interrupts an active session.

PC POS - overview

The PC POS is a desktop-optimised 3-panel point-of-sale: Categories | Products | Cart all visible at once.

Two ways to open it:

  1. Built-in (Electron app): Operations → PC POS - runs inside AcctApp, supports receipt printing and cash drawer hardware.
    1. Remote browser (PC POS URL): open the PC POS URL from the Point of Sale admin page in any browser on your LAN (Chrome, Edge, Firefox). Same 3-panel layout, same keyboard shortcuts, same products and GL - no AcctApp install required on that PC.

Product panel - categories & collapse

When "All" is selected in the category sidebar, products are grouped by category and shown as collapsible sections - all collapsed by default. Click a category header to expand it and see its products. This prevents hundreds of products loading on screen at once.
When you select a specific category from the sidebar, all products in that category appear in a flat grid immediately.
When you type in the search box, a flat filtered list bypasses the category grouping and shows all matching products across all categories.

Key features:

  • Three-panel view - categories, product grid, and cart always visible side by side.
    • Keyboard-first - full keyboard shortcut set for fast operation without touching the mouse.
    • Barcode scanner - HID scanners work automatically; scan into the search field.
    • Hold & Recall - save and restore incomplete carts.
    • Customer selection - charge to account customers for AR invoicing.
    • All 14 payment methods - same as tablet POS (cash, EFTPOS, Square, Tyro, Linkly, Stripe, Zeller, Adyen, Afterpay, Zip, PayPal, Cheque, PayTo, Account).

Keyboard shortcuts (both built-in and browser versions):
F1 - New Sale (clears current cart)
F2 - Hold current sale
F3 - Recall / view held sales
F5 - Open payment screen
F9 - Open cash drawer (built-in only)
Esc - Close modal / cancel

Variant pricing

Product cards for items with colour/size variants show the correct price range (e.g. $5.00 – $15.00) since variant prices may differ. When all variants share the same price, a single price is shown. The actual price applied to the cart is always the price of the specific variant selected in the picker.

Built-in PC POS only: receipt printing to Windows printers and network cash drawer (configure in Settings → POS → PC POS Hardware Peripherals).

To open: click PC POS in the sidebar under Operations, or open the PC POS URL from Point of Sale admin.

PC POS - receipt printer setup

Go to Settings → POS → PC POS Hardware Peripherals to configure the receipt printer.

  1. Select Printer from the dropdown - AcctApp lists all printers installed on Windows. Refresh the list by leaving and returning to Settings after connecting a new printer.
  2. Select Paper Width: 58 mm (narrow thermal), 80 mm (standard thermal), or A4 (laser/inkjet).
  3. Click "Test Print" to confirm the printer is working.

The PC POS prints silently - no Windows print dialog appears. Thermal printers must first be installed as a Windows printer driver. Common drivers:

  • Epson TM-T88 series: install Epson Advanced Printer Driver (APD)
    • Star TSP100 / TSP650: install StarPRNT driver
    • Bixolon SRP-350: install Bixolon Unified Driver

Tips:

  • Set the paper size in the Windows printer properties to match your roll width.
    • Use the "Print Receipt" checkbox in the payment screen to toggle printing per sale.

PC POS - cash drawer setup

Cash drawers are controlled via an ESC/POS "drawer kick" command sent over the network. This works with any Epson, Star, or Bixolon network receipt printer.

Setup:

  1. Connect the cash drawer cable to the printer's RJ11/DK port (usually labelled DK or CASH).
  2. Connect the printer to your network via Ethernet or Wi-Fi.
  3. In Settings → POS → PC POS Hardware Peripherals, tick "Enable cash drawer".
  4. Set Connection to "Network (TCP/IP direct)", enter the printer's IP address and port (default 9100).
  5. Click "Test Open Drawer" - the drawer should open.

The drawer opens automatically on every Cash sale. For other payment methods, press F9 or click the "Drawer" button in the PC POS header to open it manually.

Drawer kick command: ESC p 0 25 120 (1Bh 70h 00h 19h 78h), standard for all ESC/POS printers. If your drawer is on port 2 (DK2), change the third byte to 01.

PC POS - barcode scanner setup

HID barcode scanners (USB or Bluetooth) work automatically with the PC POS - no configuration needed. They act like a keyboard: when a barcode is scanned, the digits type into the search field and the matching product is added immediately (if there is exactly one match).

Best practices:

  • Set the scanner to append Enter after each scan (most scanners default to this).
    • The search field is focused whenever the PC POS is open and no modal is showing.
    • If a barcode matches multiple products, the list narrows - press Enter to add the only remaining result, or click the correct product.

2D scanners (QR / DataMatrix):
HID 2D scanners work the same way. Configure the scanner to output Code128 / EAN-13 / Code39 as text - the PC POS matches against the barcode field on each stock item.

Serial scanners:
RS-232 serial scanners require the scanner to be configured as a COM port in Windows Device Manager. Standard HID scanners are strongly recommended over serial for new installations.

Remote Apps - internet POS & capture

Remote Apps lets POS terminals and Mobile Receipt Capture work over the internet - no on-premises Wi-Fi or VPN required. Customers with a web hosting account can serve the AcctApp relay from their host.

How it works

AcctApp pushes the product catalogue (and images) to a lightweight PHP relay file on the customer's hosting. Remote devices connect to the relay instead of the local AcctApp server. Sales made remotely are queued on the relay and pulled back into AcctApp on the next sync.

Setup

  1. In AcctApp go to Settings → Remote Apps and click "Open relay folder" - this opens the folder containing relay.php and .htaccess (bundled with AcctApp in the installation directory)
  2. Copy relay.php and .htaccess to your web hosting account (cPanel, shared hosting, etc.)
  3. Open https://yourhost.com/relay.php?setup in a browser - enter your company name; tokens are auto-generated
  4. In AcctApp go to Settings → Remote Apps - enter the relay URL and tokens, then click Save
  5. Click Sync products to relay - this pushes your catalogue and images
  6. Give remote staff their URL:
    • Standard POS: https://yourhost.com/relay.php?t=<pos_token>
    • Mobile POS: https://yourhost.com/relay.php?t=<pos_token>&mobile=1
    • PC POS: https://yourhost.com/relay.php?t=<pos_token>&pc=1
    • Receipt capture: https://yourhost.com/relay.php?action=capture-page&t=<capture_token> (Replace yourhost.com with your relay URL and the tokens from the relay setup page)

Sync

  • Product sync: click Sync products to relay whenever your catalogue changes (prices, new items, images)
  • Sales pull: click Pull remote sales & captures to import sales into AcctApp - or set up a regular reminder to do this daily
  • The relay queues sales locally until AcctApp pulls them - remote staff can continue selling even if AcctApp is not running

Barcode scanning

Works automatically with any HID (USB or Bluetooth) scanner - the remote POS uses the same keyboard-wedge detection as the on-premises POS, so no configuration is needed on either the scanner or the relay.

Receipt printing & cash drawer

Set a Remote Print Method in Settings → Remote Apps:

  • Off (default) - the browser's print dialog opens; no cash drawer support.
  • Desktop Bridge - AcctApp itself polls the relay every ~10 seconds and prints via the printer configured under Settings → POS → PC POS Hardware Peripherals. Requires that printer to be a network printer (not a USB/Windows-driver-only printer) and AcctApp to be running somewhere with it reachable.
  • CloudPRNT - a Star network printer with CloudPRNT firmware polls the relay directly and prints in real time. Paste the CloudPRNT poll URL and token (shown in Settings once a CloudPRNT token is entered) into the printer's own web admin.
  • WebUSB - the till pairs directly with a USB thermal printer in Chrome or Edge (Settings → Remote Apps for the setting; pairing itself happens the first time Print is used on that device). A "Print (browser)" fallback button is always shown on the receipt screen once a hardware method is configured, and printing always falls back to the browser dialog if the configured method fails.

Field Quoting & Invoicing terminals work over the relay too - a Field terminal's Remote URL opens the field-quoting screens (not the POS sale screen) for off-site reps. See "Field Quoting & Invoicing (mobile)" below.

Limitations

  • Payment terminals (Tyro, Square, etc.) only work on-premises - remote POS supports cash, EFTPOS (manual entry), and account sales
  • CloudPRNT is Star-specific; Epson/Bixolon customers should use Desktop Bridge or WebUSB instead
  • Product images must be synced manually each time they are changed
  • Sales are not real-time - they post into AcctApp only when you click Pull remote sales

Security

The relay token is a shared secret between AcctApp and the relay. It is never visible to POS users. The capture token is a simple passphrase embedded in the capture URL.

Field Quoting & Invoicing (mobile)

Lets a contracting/trade rep create and send a quote or invoice from their phone while standing in front of the customer - on-site, or off-site over the internet via Remote Apps. It reuses the same mobile app as Mobile POS, just with a different landing screen.

1. Set up a Field terminal

  1. Go to Settings → Point of Sale → Terminals.
  2. Click "+ Add Terminal" (or edit an existing one).
  3. Tick "Field terminal (mobile quoting & invoicing for on-site reps, separate licence limit)".
  4. Field terminals draw from their own licence bucket, shown as a "Field" pill alongside PC/Tablet/Mobile at the top of the Terminals tab - they don't use up your Mobile POS limit.
  5. Save, then open the terminal row and click "QR" to get its URL (or scan the QR code directly on the rep's phone).

Opening that URL on a phone (PIN login first if your company uses POS PINs) lands the rep straight on the Field home screen - "New Quote" / "New Invoice" - instead of the usual POS sale screen.

2. Create a quote or invoice

  1. Tap New Quote or New Invoice.
  2. Search for the customer (optional - you can leave it blank and add the customer's details on the invoice later from the desktop if needed).
  3. Search for items to add - this is a simple search-to-add over your full item catalogue (not the retail-style category browser used in Mobile POS), since most field jobs are labour plus a handful of materials.
  4. Adjust quantity and price per line, then review the totals.
  5. Save. The quote/invoice appears on the desktop Quotes/Invoices screen exactly as if it had been entered at the office, using the same tax/discount math.

3. In-person quote acceptance (signature)

Right after saving a quote, the rep is offered "✅ Accept in person", "❌ Decline", or "Skip - decide later":

  • Accept in person - the customer draws their signature on the phone screen (finger or stylus) and optionally types their name. A signature is required to confirm - there's no typed-only acceptance in the field flow.
    • Decline - enter an optional reason.
    • Skip - leave the quote as Sent and deal with it later (e.g. send the customer portal link instead - see below). The signature is stored against the quote. On the desktop Quotes screen, an accepted quote with a captured signature shows a "🖊 Signature" button that opens it in a viewer.

4. Taking payment on a field invoice

After saving an invoice, the rep can tap "💳 Take Payment Now", "✉️ Email invoice", or "Done - no payment (on terms)". Payment is never forced - customers on trading terms can simply be invoiced with nothing collected on the spot.
"Take Payment Now" opens the exact same payment screen used by Mobile POS: card, tap-to-pay terminal providers (Tyro, Linkly, Stripe, Zeller, Adyen), cash, cheque, or charge to the customer's account. (Tap to Pay and Gift Voucher aren't offered here - they're tied to standalone POS sales, not invoice payments.)

5. Emailing a quote or invoice from the phone

Both the quote-response screen ("✉️ Email to customer") and the invoice screen ("✉️ Email invoice") let the rep email the document straight from the phone - the email address is pre-filled if a customer was selected, or can be typed. This works the same way whether the rep is on the office Wi-Fi or off-site:

  • On Wi-Fi - sent immediately using AcctApp's own SMTP settings and the same PDF as the desktop.
    • Off-site (relay) or if the phone briefly loses signal - the send request queues and AcctApp actually sends it the next time it syncs (LAN: next time the device is back online; off-site: on the usual Remote Apps sync interval). The screen shows "Queued - will send once this device syncs" rather than "Sent" in that case.

6. Working off-site (no Wi-Fi)

Field terminals work two ways:

  • On the office Wi-Fi (LAN) - same as any other POS device, works out of the box once the terminal is set up.
    • Off-site, over the internet - via the same Remote Apps relay used for Remote POS (see "Remote Apps - internet POS & capture" above). Once Remote Apps is configured and products are synced to your relay, a Field terminal's Remote URL (shown under its QR/URL panel) opens the field-quoting screens on any phone with internet access, no office Wi-Fi needed.
    • If the rep loses signal mid-job, quotes, invoices, in-person acceptances, payments, and emails all queue on the device and sync automatically the next time it's back online (LAN) or on the usual Remote Apps sync interval (off-site) - no need to redo anything.

Limitations (current release)

  • Item/customer search over the relay searches whatever was included in the last "Sync products to relay" - sync regularly if your catalogue or customer list changes often.
    • As with Remote POS, real-time payment terminals still need their own internet connection at the point of sale; queued/offline payments record the amount but settle once synced.

7. Customer portal - accept or decline without the app

If you'd rather the customer respond in their own time (e.g. review it that evening), use the existing desktop flow: Sales → Quotes → "🔗 Share" generates a link good for 30 days. The customer opens it in any browser - no login, no app - sees the line items, totals, and terms, and can Accept (drawing a signature right on the page) or Decline (with a reason). This works whether the quote was created on the desktop, in the field, on LAN, or off-site.
Add customer-facing Terms text (separate from your internal Notes) on the quote editor - it's what appears on this portal page.

Docket / receipt format

Settings → Point of Sale → Docket / Receipt Format lets you set a header and footer message printed on POS receipts, and choose whether the ABN and address are shown.

  1. Header message - printed just below the company name (e.g. a welcome line or a policy note).
  2. Footer message - printed at the bottom of the docket (e.g. a thank-you line or return policy).
  3. Show ABN - toggles the company ABN on the docket.
  4. Show address - toggles the address on the docket.

The address itself always comes from the store assigned to the terminal (Settings → Point of Sale → PC POS Hardware, "Assigned Store" - or the per-terminal store on tablet/mobile terminals), falling back to the company address if no store is assigned. The ABN always comes from Company Details, and all item/total/payment information always comes from the transaction - only the header/footer wording and the show/hide toggles are configurable. Applies to thermal receipts (WebUSB/Desktop Bridge/CloudPRNT), PC POS printed receipts, and emailed receipts.

Open Till & Till Balance

PC POS can record two non-sale till events alongside ordinary sales:

  1. Open Till - click "🔓 Open Till" in the PC POS header at the start of a shift and enter the starting cash float. This is recorded for reconciliation only - it has no effect on the ledger.
  2. Till Balance - once a till is open, the button becomes "🧾 Till Balance". At the end of the shift, count the cash in the drawer and enter it. AcctApp works out the expected cash (opening float + cash sales taken during the session) and shows the variance - Balanced, Over, or Short.

If there's a variance, it posts automatically to a Cash Over/Short account against your configured POS cash account - no manual journal needed. Both Open Till and Till Balance appear in Operations → Point of Sale → Transactions with their own type badge, separate from sales, so they don't get mixed up with customer transactions.

A till can only be open once per terminal at a time - balance it before opening a new one.

Can't find what you need? Submit a support request and we will answer it, then add it here.