POS register, basket and tendered sales
This section covers the staff register flow, exact tender rules, customer details and idempotent order commit.
Open the POS register
Open the POS registerStart the staff selling interface with the Sell capability.
Open guide →GuideSelect a register for a sale
Select a register for a saleChoose an active register with an open shift for the current staff member.
Open guide →GuideSearch products by name at the register
Search products by name at the registerUse the product search endpoint to find active products.
Open guide →GuideScan a barcode at the register
Scan a barcode at the registerUse an exact barcode match to add the intended product.
Open guide →GuideSearch by SKU at the register
Search by SKU at the registerUse an exact SKU code.
Open guide →GuideAdd a product to the POS basket
Add a product to the POS basketAdd one valid product and quantity.
Open guide →GuideChange a POS basket quantity
Change a POS basket quantityUse a positive compatible quantity.
Open guide →GuideRemove a POS basket line
Remove a POS basket lineRemove the selected line before checkout.
Open guide →GuideClear the current POS basket
Clear the current POS basketDiscard the browser-side basket before commit.
Open guide →GuideSell a weighed product
Sell a weighed productUse a decimal quantity supported by the product type.
Open guide →GuideSell a non-weighed product
Sell a non-weighed productUse an integer quantity; fractional quantities are rejected.
Open guide →GuideApply a coupon at the POS
Apply a coupon at the POSEnter an eligible code before totals are committed.
Open guide →GuideEnter a walk-in customer
Enter a walk-in customerUse the default walk-in identity where permitted.
Open guide →GuideEnter POS customer contact details
Enter POS customer contact detailsRecord valid customer name/email/phone values.
Open guide →GuideLink a POS sale to a CRM client and contact
Link a POS sale to a CRM client and contactSubmit tenant-valid client/contact IDs when the workflow supplies them.
Open guide →GuideAdd a POS sale note
Add a POS sale noteStore up to the supported note length.
Open guide →GuideTake a cash payment
Take a cash paymentRecord cash as the tender method.
Open guide →GuideTake an external card terminal payment
Take an external card terminal paymentRecord card_terminal and an approved terminal reference without card data.
Open guide →GuideTake a bank-transfer POS payment
Take a bank-transfer POS paymentRecord bank as the tender method and appropriate reference.
Open guide →GuideUnderstand the on-account label
Understand the on-account labelKnow the language key exists, but the register select in version 1.0.0 exposes cash, external card terminal and bank only.
Open guide →GuideUnderstand exact tender settlement
Understand exact tender settlementEnsure captured tender amounts equal the order total exactly.
Open guide →GuideUnderstand mixed tender support
Understand mixed tender supportKnow the service accepts multiple payment entries, while the supplied browser register submits one.
Open guide →GuideUnderstand POS payment references
Understand POS payment referencesUse a terminal/bank reference for operational traceability.
Open guide →GuideUnderstand POS idempotency keys
Understand POS idempotency keysPrevent a double sale when the same request is submitted again.
Open guide →GuideUnderstand POS order statuses
Understand POS order statusesKnow a successful register sale is completed, fulfilled and paid.
Open guide →GuideUnderstand POS stock commitment
Understand POS stock commitmentDeduct tracked on-hand stock in the order transaction.
Open guide →GuideUnderstand POS audit and webhook events
Understand POS audit and webhook eventsTrace sale, payment and stock events from one correlation ID.
Open guide →GuideTroubleshoot an empty POS basket
Troubleshoot an empty POS basketAdd at least one valid product.
Open guide →GuideTroubleshoot an invalid POS product or quantity
Troubleshoot an invalid POS product or quantityRefresh product data and use integer/decimal rules correctly.
Open guide →GuideTroubleshoot an invalid POS customer
Troubleshoot an invalid POS customerCorrect required identity/email validation.
Open guide →GuideTroubleshoot an invalid POS payment
Troubleshoot an invalid POS paymentChoose a supported tender and valid amount.
Open guide →GuideTroubleshoot tender totals that do not settle
Troubleshoot tender totals that do not settleCorrect the captured amount to equal the sale total.
Open guide →GuideTroubleshoot an invalid idempotency key
Troubleshoot an invalid idempotency keyUse the generated checkout request identifier unchanged.
Open guide →GuideTroubleshoot an idempotency conflict
Troubleshoot an idempotency conflictDo not reuse one key for different cart/customer/payment data.
Open guide →GuideTroubleshoot a POS checkout already processing
Troubleshoot a POS checkout already processingWait for the original transaction result and search orders before retrying.
Open guide →GuideTroubleshoot a POS checkout failure
Troubleshoot a POS checkout failureVerify no order was committed before retrying the same intended transaction.
Open guide →GuidePrint or retain a POS order reference
Print or retain a POS order referenceUse the committed order reference for support, fulfilment and reconciliation.
Open guide →GuideRun the cashier sale checklist
Run the cashier sale checklistVerify shift, product, quantity, customer, tender, total, reference and resulting order.
Open guide →