Category

eCommerce & POS Module

Operate tenant-safe point of sale, public e-commerce, inventory, purchasing, orders, native invoice payment, reports, API credentials, signed webhooks and tamper-evident audit evidence.

614 connected guidesLive filterPermission-aware instructions
614 guides
Workflow

Open topic

Open guide →
Guide

eCommerce & POS Module overview

eCommerce & POS Module overviewUnderstand how POS sales, e-commerce, stock, purchasing, reporting, API access, webhooks and audit evidence connect in the supplied module.

Open guide →
Guide

Confirm the module package name and root folder

Confirm the module package name and root folderVerify the installable archive structure before upload.

Open guide →
Guide

Install and activate the eCommerce & POS Module

Install and activate the eCommerce & POS ModuleUse the host module lifecycle to install the supplied package safely.

Open guide →
Guide

Verify the first activation defaults

Verify the first activation defaultsCheck the default category, location, register, options and email templates created for an empty tenant.

Open guide →
Guide

Understand the module version and host compatibility

Understand the module version and host compatibilityConfirm the version declaration and supported host convention before deployment.

Open guide →
Guide

Understand the tenant-scoped data model

Understand the tenant-scoped data modelLearn how tenant_key confines module records to the current tenant.

Open guide →
Guide

Understand the bpos_ table prefix

Understand the bpos_ table prefixIdentify the 25 module-owned table suffixes without confusing them with core CRM tables.

Open guide →
Guide

Understand the idempotent installer

Understand the idempotent installerKnow what happens when install.php runs again on an existing installation.

Open guide →
Guide

Understand activation, deactivation and reactivation

Understand activation, deactivation and reactivationUse supported lifecycle actions without assuming deactivation deletes data.

Open guide →
Guide

Plan a safe production activation

Plan a safe production activationPrepare permissions, currency, locations, products, stock, SMTP and checkout settings before the first live transaction.

Open guide →
Guide

Verify required PHP extensions and services

Verify required PHP extensions and servicesConfirm OpenSSL, cURL for webhooks, MySQL or MariaDB InnoDB, and HTTPS for production.

Open guide →
Guide

Understand what the module stores about payments

Understand what the module stores about paymentsDistinguish tender records and invoice references from raw card data.

Open guide →
Guide

Understand the public store base route

Understand the public store base routeKnow how /shop connects to catalogue, cart, checkout, order, sitemap and PWA endpoints.

Open guide →
Guide

Understand the read-only API base route

Understand the read-only API base routeKnow where scoped GET endpoints are exposed and what they do not permit.

Open guide →
Guide

Understand the module-owned email templates

Understand the module-owned email templatesIdentify the order confirmation and internal new-order notification templates created on activation.

Open guide →
Guide

Check module action links

Check module action linksUse Open and Settings links exposed on the module listing when permitted.

Open guide →
Guide

Deactivate the eCommerce & POS Module safely

Deactivate the eCommerce & POS Module safelyDisable module execution while preserving operational and audit records.

Open guide →
Guide

Reactivate the eCommerce & POS Module safely

Reactivate the eCommerce & POS Module safelyRun the idempotent activation flow and verify retained data returns.

Open guide →
Guide

Understand module upgrade and rollback boundaries

Understand module upgrade and rollback boundariesRestore prior code through the approved deployment process while retaining data unless a separate authorised migration says otherwise.

Open guide →
Guide

Run the post-install readiness checklist

Run the post-install readiness checklistVerify menu access, permissions, settings, location, register, shift, product, stock, email, checkout and integrations before go-live.

Open guide →
Guide

Understand features intentionally outside the supplied module

Understand features intentionally outside the supplied moduleAvoid promising external card refunds, write APIs, advanced recipe/serial workflows or screens that the code does not expose.

Open guide →
Workflow

Open topic

Open guide →
Guide

Understand the Enterprise POS menu

Understand the Enterprise POS menuMap all 13 live administrator work areas and their permission gates.

Open guide →
Guide

Use the Enterprise POS dashboard

Use the Enterprise POS dashboardReview sales, orders, low-stock indicators and recent activity for the current tenant.

Open guide →
Guide

Understand dashboard totals and time windows

Understand dashboard totals and time windowsInterpret today, current-month, order and stock indicators using the module’s tenant and location rules.

Open guide →
Guide

Understand the client Shop menu

Understand the client Shop menuKnow why signed-in clients see or do not see the Shop navigation item.

Open guide →
Guide

Assign the Enterprise POS View permission

Assign the Enterprise POS View permissionGrant or withhold the capability needed to open the parent menu and dashboard.

Open guide →
Guide

Assign the Enterprise POS Sell permission

Assign the Enterprise POS Sell permissionGrant or withhold the capability needed to use Register and Shifts.

Open guide →
Guide

Assign the Enterprise POS Manage catalogue permission

Assign the Enterprise POS Manage catalogue permissionGrant or withhold the capability needed to manage products, categories and promotions.

Open guide →
Guide

Assign the Enterprise POS Manage inventory permission

Assign the Enterprise POS Manage inventory permissionGrant or withhold the capability needed to view and post stock adjustments.

Open guide →
Guide

Assign the Enterprise POS Manage purchases permission

Assign the Enterprise POS Manage purchases permissionGrant or withhold the capability needed to create suppliers and receive purchases.

Open guide →
Guide

Assign the Enterprise POS Manage orders permission

Assign the Enterprise POS Manage orders permissionGrant or withhold the capability needed to search, open and fulfil orders.

Open guide →
Guide

Assign the Enterprise POS Refund permission

Assign the Enterprise POS Refund permissionGrant or withhold the capability needed to create full compensating returns.

Open guide →
Guide

Assign the Enterprise POS View reports permission

Assign the Enterprise POS View reports permissionGrant or withhold the capability needed to run the supplied sales reports.

Open guide →
Guide

Assign the Enterprise POS Manage settings permission

Assign the Enterprise POS Manage settings permissionGrant or withhold the capability needed to manage locations, registers, store settings, API keys and webhooks.

Open guide →
Guide

Assign the Enterprise POS View audit permission

Assign the Enterprise POS View audit permissionGrant or withhold the capability needed to review the audit event register.

Open guide →
Guide

Open the Dashboard work area

Open the Dashboard work areaUse the Dashboard page with the correct Enterprise POS permission.

Open guide →
Guide

Open the Register work area

Open the Register work areaUse the Register page with the correct Enterprise POS permission.

Open guide →
Guide

Open the Orders work area

Open the Orders work areaUse the Orders page with the correct Enterprise POS permission.

Open guide →
Guide

Open the Products work area

Open the Products work areaUse the Products page with the correct Enterprise POS permission.

Open guide →
Guide

Open the Categories work area

Open the Categories work areaUse the Categories page with the correct Enterprise POS permission.

Open guide →
Guide

Open the Promotions work area

Open the Promotions work areaUse the Promotions page with the correct Enterprise POS permission.

Open guide →
Guide

Open the Inventory work area

Open the Inventory work areaUse the Inventory page with the correct Enterprise POS permission.

Open guide →
Guide

Open the Purchases work area

Open the Purchases work areaUse the Purchases page with the correct Enterprise POS permission.

Open guide →
Guide

Open the Locations work area

Open the Locations work areaUse the Locations page with the correct Enterprise POS permission.

Open guide →
Guide

Open the Shifts work area

Open the Shifts work areaUse the Shifts page with the correct Enterprise POS permission.

Open guide →
Guide

Open the Reports work area

Open the Reports work areaUse the Reports page with the correct Enterprise POS permission.

Open guide →
Guide

Open the Audit work area

Open the Audit work areaUse the Audit page with the correct Enterprise POS permission.

Open guide →
Guide

Open the Settings work area

Open the Settings work areaUse the Settings page with the correct Enterprise POS permission.

Open guide →
Guide

Troubleshoot a missing Enterprise POS menu

Troubleshoot a missing Enterprise POS menuCheck module activation, View capability and administrator status without editing unrelated navigation code.

Open guide →
Guide

Troubleshoot a missing Enterprise POS submenu item

Troubleshoot a missing Enterprise POS submenu itemCheck the exact capability required by the hidden work area.

Open guide →
Guide

Troubleshoot an access denied response

Troubleshoot an access denied responseCompare the route with its controller permission gate and the current staff role.

Open guide →
Guide

Review least-privilege role examples

Review least-privilege role examplesSeparate cashier, inventory, purchasing, manager, integration and auditor responsibilities.

Open guide →
Workflow

Open topic

Open guide →
Guide

Configure the public store before launch

Configure the public store before launchComplete all live branding, stock, legal, delivery and checkout settings in one controlled review.

Open guide →
Guide

Configure the store title

Configure the store titleSet the store title and verify its effect in the public store.

Open guide →
Guide

Configure the currency

Configure the currencySet the currency and verify its effect in the public store.

Open guide →
Guide

Configure the store tagline

Configure the store taglineSet the store tagline and verify its effect in the public store.

Open guide →
Guide

Configure the default SEO description

Configure the default SEO descriptionSet the default SEO description and verify its effect in the public store.

Open guide →
Guide

Configure the accent colour

Configure the accent colourSet the accent colour and verify its effect in the public store.

Open guide →
Guide

Configure the default online-stock location

Configure the default online-stock locationSet the default online-stock location and verify its effect in the public store.

Open guide →
Guide

Configure the flat shipping charge

Configure the flat shipping chargeSet the flat shipping charge and verify its effect in the public store.

Open guide →
Guide

Configure the internal new-order email

Configure the internal new-order emailSet the internal new-order email and verify its effect in the public store.

Open guide →
Guide

Configure the bank-transfer instructions

Configure the bank-transfer instructionsSet the bank-transfer instructions and verify its effect in the public store.

Open guide →
Guide

Configure the terms URL

Configure the terms URLSet the terms URL and verify its effect in the public store.

Open guide →
Guide

Configure the privacy URL

Configure the privacy URLSet the privacy URL and verify its effect in the public store.

Open guide →
Guide

Configure the public store toggle

Configure the public store toggleSet the public store toggle and verify its effect in the public store.

Open guide →
Guide

Configure the guest checkout toggle

Configure the guest checkout toggleSet the guest checkout toggle and verify its effect in the public store.

Open guide →
Guide

Configure the native invoice payment toggle

Configure the native invoice payment toggleSet the native invoice payment toggle and verify its effect in the public store.

Open guide →
Guide

Configure the reserve online stock toggle

Configure the reserve online stock toggleSet the reserve online stock toggle and verify its effect in the public store.

Open guide →
Guide

Configure the order confirmation email toggle

Configure the order confirmation email toggleSet the order confirmation email toggle and verify its effect in the public store.

Open guide →
Guide

Understand default settings after activation

Understand default settings after activationReview the initial Shop title, tagline, SEO description, teal accent, host currency, zero shipping and enabled checkout defaults.

Open guide →
Guide

Understand why currency becomes locked

Understand why currency becomes lockedPreserve historical financial consistency after the first order is created.

Open guide →
Guide

Troubleshoot a rejected currency change

Troubleshoot a rejected currency changeCheck whether the tenant already has an order and retain the historical currency.

Open guide →
Guide

Test the public store enable and disable control

Test the public store enable and disable controlVerify enabled access and the deliberate 404 response when disabled.

Open guide →
Guide

Test guest checkout settings

Test guest checkout settingsVerify anonymous checkout is allowed or redirected to sign in as configured.

Open guide →
Guide

Test signed-in client invoice payment availability

Test signed-in client invoice payment availabilityConfirm the client is signed in, auto invoicing is enabled and the host has an active payment mode.

Open guide →
Guide

Configure bank-transfer checkout safely

Configure bank-transfer checkout safelyPublish clear instructions without exposing sensitive banking administration data beyond what customers need.

Open guide →
Guide

Configure cash on delivery or collection expectations

Configure cash on delivery or collection expectationsExplain the supported cash option operationally; there is no separate enable toggle in version 1.0.0.

Open guide →
Guide

Configure order confirmation email behaviour

Configure order confirmation email behaviourUse the module toggle and the host email template/SMTP service together.

Open guide →
Guide

Configure internal new-order notifications

Configure internal new-order notificationsSet one valid internal recipient and verify the module-created email template.

Open guide →
Guide

Configure checkout terms and privacy links

Configure checkout terms and privacy linksAdd optional external URLs that open safely in a new tab while acceptance remains mandatory.

Open guide →
Guide

Understand settings not exposed in the live form

Understand settings not exposed in the live formIdentify low-stock threshold and generated security keys that exist as options but have no direct setting field.

Open guide →
Guide

Audit store settings after a deployment

Audit store settings after a deploymentCompare saved options, public HTML, checkout methods and default location without changing orders.

Open guide →
Workflow

Open topic

Open guide →
Guide

Create a POS location

Create a POS locationAdd a tenant-scoped operating location with name, code, address and timezone.

Open guide →
Guide

Choose a location code

Choose a location codeUse an uppercase A–Z, 0–9 and hyphen identifier that is unique in the tenant.

Open guide →
Guide

Choose a location timezone

Choose a location timezoneUse a valid PHP timezone so date-based reporting and operations are consistent.

Open guide →
Guide

Set a location address

Set a location addressStore the operational address displayed to authorised staff.

Open guide →
Guide

Activate or deactivate a location

Activate or deactivate a locationControl whether a location is available for active operational selection.

Open guide →
Guide

Understand the default Main Location

Understand the default Main LocationKnow how activation creates and selects the first default online-stock location.

Open guide →
Guide

Troubleshoot a duplicate location code

Troubleshoot a duplicate location codeChoose a different tenant-unique code.

Open guide →
Guide

Troubleshoot an invalid location

Troubleshoot an invalid locationCorrect the name, code, timezone or tenant relation.

Open guide →
Guide

Review existing locations

Review existing locationsUse the location register to compare code, timezone and status.

Open guide →
Guide

Create a POS register

Create a POS registerAdd a register with a tenant-unique code and assigned location.

Open guide →
Guide

Choose a register code

Choose a register codeUse the same uppercase code rule and avoid duplicates.

Open guide →
Guide

Assign a register to a location

Assign a register to a locationSelect an existing tenant location.

Open guide →
Guide

Activate or disable a register

Activate or disable a registerControl register availability while respecting open-shift protection.

Open guide →
Guide

Understand the default Main Register

Understand the default Main RegisterKnow how activation creates REG-01 against the first location.

Open guide →
Guide

Troubleshoot a duplicate register code

Troubleshoot a duplicate register codeChoose a different tenant-unique register code.

Open guide →
Guide

Troubleshoot a register that cannot be disabled

Troubleshoot a register that cannot be disabledClose its current open shift before disabling it.

Open guide →
Guide

Troubleshoot an invalid register

Troubleshoot an invalid registerCorrect the name, code, location or tenant relation.

Open guide →
Guide

Open a register shift

Open a register shiftSelect an active register and enter a non-negative opening float.

Open guide →
Guide

Understand the opening float

Understand the opening floatRecord the cash present before sales begin.

Open guide →
Guide

Understand one open shift per register

Understand one open shift per registerPrevent overlapping shift ownership and reconciliation.

Open guide →
Guide

Use the Shifts page

Use the Shifts pageOpen, close and review shift history under the Sell capability.

Open guide →
Guide

Close a register shift

Close a register shiftEnter the blind counted amount and an optional handover reason.

Open guide →
Guide

Perform a blind cash count

Perform a blind cash countCount the drawer before comparing it with the expected value.

Open guide →
Guide

Understand expected cash

Understand expected cashCalculate opening float plus captured cash plus paid-in minus paid-out minus cash-drop values.

Open guide →
Guide

Understand counted cash and variance

Understand counted cash and varianceCompare the blind count with expected cash.

Open guide →
Guide

Understand shift HMAC evidence

Understand shift HMAC evidenceKnow that the close snapshot is signed to make later tampering detectable.

Open guide →
Guide

Troubleshoot a shift that will not open

Troubleshoot a shift that will not openConfirm the register is active and has no current open shift.

Open guide →
Guide

Troubleshoot a shift that will not close

Troubleshoot a shift that will not closeConfirm a current shift exists and the counted amount is valid.

Open guide →
Guide

Troubleshoot the open-shift-required message

Troubleshoot the open-shift-required messageOpen a shift for the selected register before checkout.

Open guide →
Guide

Understand paid-in, paid-out and cash-drop limitations

Understand paid-in, paid-out and cash-drop limitationsKnow that the expected formula includes these values, but version 1.0.0 has no UI to post them.

Open guide →
Guide

Review shift history

Review shift historyInspect opening, closing, expected, counted and variance details.

Open guide →
Guide

Run the end-of-shift checklist

Run the end-of-shift checklistClose the till, review variance and retain the handover note without altering historical transactions.

Open guide →
Workflow

Open topic

Open guide →
Guide

Create a product category

Create a product categoryAdd a category with public content, SEO and ordering fields.

Open guide →
Guide

Edit a product category

Edit a product categoryUpdate the category within the current tenant.

Open guide →
Guide

Configure a category name

Configure a category nameUse a clear customer-facing label.

Open guide →
Guide

Configure a category slug

Configure a category slugUse a tenant-unique SEO route segment or let the module generate it.

Open guide →
Guide

Configure a category description

Configure a category descriptionExplain the category for public browsing.

Open guide →
Guide

Configure category SEO metadata

Configure category SEO metadataSet optional meta title and description.

Open guide →
Guide

Configure category sort order

Configure category sort orderControl category ordering with an integer value.

Open guide →
Guide

Activate or deactivate a category

Activate or deactivate a categoryControl public/category selection visibility.

Open guide →
Guide

Understand category parent records

Understand category parent recordsKnow the table has parent_id, while version 1.0.0 exposes a flat category form.

Open guide →
Guide

Troubleshoot a duplicate category slug

Troubleshoot a duplicate category slugChoose a unique slug in the current tenant.

Open guide →
Guide

Troubleshoot an invalid category

Troubleshoot an invalid categoryCorrect the required name/slug and tenant relation.

Open guide →
Guide

Understand the General default category

Understand the General default categoryKnow what activation creates for an empty tenant.

Open guide →
Guide

Create a product

Create a productComplete the product form and save a tenant-scoped catalogue item.

Open guide →
Guide

Edit a product

Edit a productUpdate a product while preserving its transaction snapshots on existing orders.

Open guide →
Guide

Configure the product name

Configure the product nameSet the product name correctly on a POS product.

Open guide →
Guide

Configure the SKU

Configure the SKUSet the SKU correctly on a POS product.

Open guide →
Guide

Configure the barcode

Configure the barcodeSet the barcode correctly on a POS product.

Open guide →
Guide

Configure the product category

Configure the product categorySet the product category correctly on a POS product.

Open guide →
Guide

Configure the product type

Configure the product typeSet the product type correctly on a POS product.

Open guide →
Guide

Configure the selling price

Configure the selling priceSet the selling price correctly on a POS product.

Open guide →
Guide

Configure the unit cost

Configure the unit costSet the unit cost correctly on a POS product.

Open guide →
Guide

Configure the tax rate

Configure the tax rateSet the tax rate correctly on a POS product.

Open guide →
Guide

Configure the weight in grams

Configure the weight in gramsSet the weight in grams correctly on a POS product.

Open guide →
Guide

Configure the short description

Configure the short descriptionSet the short description correctly on a POS product.

Open guide →
Guide

Configure the full description

Configure the full descriptionSet the full description correctly on a POS product.

Open guide →
Guide

Configure the image URL

Configure the image URLSet the image URL correctly on a POS product.

Open guide →
Guide

Configure the meta title

Configure the meta titleSet the meta title correctly on a POS product.

Open guide →
Guide

Configure the product slug

Configure the product slugSet the product slug correctly on a POS product.

Open guide →
Guide

Configure the meta description

Configure the meta descriptionSet the meta description correctly on a POS product.

Open guide →
Guide

Configure the track stock control

Configure the track stock controlSet the track stock control correctly on a POS product.

Open guide →
Guide

Configure the allow backorder control

Configure the allow backorder controlSet the allow backorder control correctly on a POS product.

Open guide →
Guide

Configure the featured control

Configure the featured controlSet the featured control correctly on a POS product.

Open guide →
Guide

Configure the public-store control

Configure the public-store controlSet the public-store control correctly on a POS product.

Open guide →
Guide

Configure the active control

Configure the active controlSet the active control correctly on a POS product.

Open guide →
Guide

Configure the SEO noindex control

Configure the SEO noindex controlSet the SEO noindex control correctly on a POS product.

Open guide →
Guide

Search the product catalogue

Search the product catalogueFind products by name, SKU or barcode in the staff product list.

Open guide →
Guide

Search or scan products at the register

Search or scan products at the registerUse exact barcode/SKU lookup or product-name search during a sale.

Open guide →
Guide

Understand public product eligibility

Understand public product eligibilityRequire active, public and availability-compatible product records.

Open guide →
Guide

Understand standard products

Understand standard productsUse the general product classification with normal integer quantity unless otherwise configured.

Open guide →
Guide

Understand service products

Understand service productsUse a non-stock service classification where stock tracking is not required.

Open guide →
Guide

Understand digital products in version 1.0.0

Understand digital products in version 1.0.0Know that the type and entitlement table exist, but no digital-delivery management screen is exposed.

Open guide →
Guide

Understand combo and recipe products in version 1.0.0

Understand combo and recipe products in version 1.0.0Know that classifications exist, but component explosion/recipe stock logic is not exposed.

Open guide →
Guide

Understand variant products in version 1.0.0

Understand variant products in version 1.0.0Know that the type exists, but no variant matrix management screen is exposed.

Open guide →
Guide

Understand lot and serial products in version 1.0.0

Understand lot and serial products in version 1.0.0Know that types/tables support stored values, but no full serial/lot allocation workflow is exposed.

Open guide →
Guide

Understand weighed products

Understand weighed productsAllow decimal quantities up to the supported precision for weighed items.

Open guide →
Guide

Troubleshoot a duplicate SKU

Troubleshoot a duplicate SKUUse a tenant-unique SKU and retain the original product identity.

Open guide →
Guide

Troubleshoot a duplicate barcode

Troubleshoot a duplicate barcodeRemove or replace a barcode already assigned in the tenant.

Open guide →
Guide

Troubleshoot an invalid product form

Troubleshoot an invalid product formCheck name, SKU, money, tax, slug, category and URL validation.

Open guide →
Guide

Troubleshoot a product missing from the public store

Troubleshoot a product missing from the public storeCheck store status, product active/public flags, category and stock/backorder availability.

Open guide →
Workflow

Open topic

Open guide →
Guide

Understand POS money calculations

Understand POS money calculationsFollow integer minor-unit storage for prices, discounts, tax, shipping and totals.

Open guide →
Guide

Understand the maximum supported money value

Understand the maximum supported money valueKnow the helper rejects amounts beyond 100 billion minor units.

Open guide →
Guide

Understand decimal-to-minor conversion

Understand decimal-to-minor conversionAvoid floating-point storage by converting user-entered money to integer minor units.

Open guide →
Guide

Understand product tax calculation

Understand product tax calculationApply the saved tax rate to the discounted line basis.

Open guide →
Guide

Understand shipping calculation

Understand shipping calculationAdd the configured flat shipping amount to online orders.

Open guide →
Guide

Understand rounding behaviour

Understand rounding behaviourKnow where minor-unit rounding is captured in the order.

Open guide →
Guide

Create an automatic promotion

Create an automatic promotionLeave coupon code blank so qualifying baskets can receive the rule automatically.

Open guide →
Guide

Create a coupon promotion

Create a coupon promotionSet a tenant-unique coupon code customers can enter.

Open guide →
Guide

Create a percentage promotion

Create a percentage promotionSet a valid percentage value.

Open guide →
Guide

Create a fixed-amount promotion

Create a fixed-amount promotionSet a valid fixed discount in the store currency.

Open guide →
Guide

Set the promotion minimum line value

Set the promotion minimum line valueRequire each candidate line to meet the configured threshold.

Open guide →
Guide

Scope a promotion to all products

Scope a promotion to all productsLeave both product and category scopes at All products.

Open guide →
Guide

Scope a promotion to one category

Scope a promotion to one categorySelect a tenant category.

Open guide →
Guide

Scope a promotion to one product

Scope a promotion to one productSelect a tenant product; product scope is more specific.

Open guide →
Guide

Set promotion start and end dates

Set promotion start and end datesUse a valid active date range.

Open guide →
Guide

Set a promotion usage limit

Set a promotion usage limitUse zero for unlimited or a non-negative limit.

Open guide →
Guide

Activate or disable a promotion

Activate or disable a promotionControl eligibility without deleting history.

Open guide →
Guide

Understand one best promotion per line

Understand one best promotion per lineKnow the calculator compares eligible discounts and selects the highest one.

Open guide →
Guide

Understand promotion non-stacking

Understand promotion non-stackingDo not expect multiple discounts on the same line in version 1.0.0.

Open guide →
Guide

Understand promotion usage counting

Understand promotion usage countingKnow one use is recorded per applied promotion per order.

Open guide →
Guide

Troubleshoot a duplicate coupon code

Troubleshoot a duplicate coupon codeChoose a tenant-unique code.

Open guide →
Guide

Troubleshoot an invalid promotion value

Troubleshoot an invalid promotion valueCorrect type-specific percent/fixed values.

Open guide →
Guide

Troubleshoot an invalid promotion scope

Troubleshoot an invalid promotion scopeSelect a product/category belonging to the current tenant.

Open guide →
Guide

Troubleshoot an unavailable promotion at checkout

Troubleshoot an unavailable promotion at checkoutRefresh the basket after status, date, limit or stock changes.

Open guide →
Guide

Verify promotion totals on an order

Verify promotion totals on an orderCompare line snapshots, discount, tax and total minor values.

Open guide →
Workflow

Open topic

Open guide →
Guide

Understand inventory availability

Understand inventory availabilityUse the exact available = on hand − reserved − quarantined − damaged formula.

Open guide →
Guide

Understand on-hand stock

Understand on-hand stockPhysical quantity currently recorded at the location.

Open guide →
Guide

Understand reserved stock

Understand reserved stockQuantity committed to unfulfilled online orders when reservation is enabled.

Open guide →
Guide

Understand in-transit stock

Understand in-transit stockStored quantity that is not currently subtracted by the available formula.

Open guide →
Guide

Understand quarantined stock

Understand quarantined stockQuantity excluded from available stock.

Open guide →
Guide

Understand damaged stock

Understand damaged stockQuantity excluded from available stock.

Open guide →
Guide

Understand reorder level

Understand reorder levelThreshold used by low-stock indicators.

Open guide →
Guide

Understand available stock

Understand available stockComputed quantity used for availability checks.

Open guide →
Guide

Search inventory by location and product

Search inventory by location and productFilter the live inventory list without changing balances.

Open guide →
Guide

Post a manual stock adjustment

Post a manual stock adjustmentChange on-hand stock with a non-zero delta, approved reason and mandatory note.

Open guide →
Guide

Use the opening inventory reason

Use the opening inventory reasonRecord a manual or system stock movement with the opening reason code.

Open guide →
Guide

Use the purchase inventory reason

Use the purchase inventory reasonRecord a manual or system stock movement with the purchase reason code.

Open guide →
Guide

Use the sale inventory reason

Use the sale inventory reasonRecord a manual or system stock movement with the sale reason code.

Open guide →
Guide

Use the return inventory reason

Use the return inventory reasonRecord a manual or system stock movement with the return reason code.

Open guide →
Guide

Use the damage inventory reason

Use the damage inventory reasonRecord a manual or system stock movement with the damage reason code.

Open guide →
Guide

Use the shrinkage inventory reason

Use the shrinkage inventory reasonRecord a manual or system stock movement with the shrinkage reason code.

Open guide →
Guide

Use the count inventory reason

Use the count inventory reasonRecord a manual or system stock movement with the count reason code.

Open guide →
Guide

Use the transfer in inventory reason

Use the transfer in inventory reasonRecord a manual or system stock movement with the transfer_in reason code.

Open guide →
Guide

Use the transfer out inventory reason

Use the transfer out inventory reasonRecord a manual or system stock movement with the transfer_out reason code.

Open guide →
Guide

Use the correction inventory reason

Use the correction inventory reasonRecord a manual or system stock movement with the correction reason code.

Open guide →
Guide

Understand stock movement source types

Understand stock movement source typesTrace adjustments, sales, returns and purchases through source_type and source_id.

Open guide →
Guide

Understand stock movement correlation IDs

Understand stock movement correlation IDsConnect related stock and audit events across one transaction.

Open guide →
Guide

Understand immutable inventory history

Understand immutable inventory historyTreat movement rows as append-only evidence.

Open guide →
Guide

Understand initial stock rows

Understand initial stock rowsKnow how the model creates a zeroed stock row when a tracked product/location pair first needs one.

Open guide →
Guide

Understand stock row locking

Understand stock row lockingKnow that stock updates lock the balance inside a database transaction.

Open guide →
Guide

Understand backorder behaviour

Understand backorder behaviourAllow a tracked product to pass negative-availability checks only when its backorder control is enabled.

Open guide →
Guide

Understand stock handling for non-tracked products

Understand stock handling for non-tracked productsSkip stock balance enforcement for services or products with tracking disabled.

Open guide →
Guide

Understand online stock reservation

Understand online stock reservationIncrease reserved stock when configured online orders are created.

Open guide →
Guide

Understand immediate online stock deduction

Understand immediate online stock deductionDeduct on hand during order creation when reservation is disabled.

Open guide →
Guide

Understand POS stock deduction

Understand POS stock deductionDeduct on hand immediately when a POS sale commits.

Open guide →
Guide

Understand return stock restoration

Understand return stock restorationRelease reserved quantity or restore on hand according to the original order path.

Open guide →
Guide

Understand purchase stock receipts

Understand purchase stock receiptsIncrease on hand and create a purchase movement when goods are received.

Open guide →
Guide

Troubleshoot insufficient stock

Troubleshoot insufficient stockReview available quantity, backorder control, location and concurrent reservations.

Open guide →
Guide

Troubleshoot an invalid stock adjustment

Troubleshoot an invalid stock adjustmentUse a non-zero delta, approved reason and required note.

Open guide →
Guide

Troubleshoot a product that cannot be adjusted

Troubleshoot a product that cannot be adjustedConfirm it is active, stock-tracked and belongs to the tenant.

Open guide →
Guide

Troubleshoot a stock transaction failure

Troubleshoot a stock transaction failureRetain the pre-transaction balance and inspect the exact validation/audit outcome.

Open guide →
Guide

Understand inventory screen limitations

Understand inventory screen limitationsKnow that version 1.0.0 does not expose direct editors for reserved, in transit, quarantined, damaged or reorder values.

Open guide →
Guide

Run an inventory reconciliation checklist

Run an inventory reconciliation checklistCompare balances, movement history, open reservations, purchases, sales and returns by location.

Open guide →
Workflow

Open topic

Open guide →
Guide

Create a supplier

Create a supplierAdd a supplier with required identity and optional commercial details.

Open guide →
Guide

Configure the supplier name

Configure the supplier nameUse the required legal/trading name.

Open guide →
Guide

Configure the supplier email

Configure the supplier emailEnter a valid required email address.

Open guide →
Guide

Configure supplier phone and address

Configure supplier phone and addressStore optional contact details.

Open guide →
Guide

Configure supplier tax ID

Configure supplier tax IDStore the optional tax reference.

Open guide →
Guide

Configure supplier payment terms

Configure supplier payment termsEnter a non-negative number of days.

Open guide →
Guide

Troubleshoot an invalid supplier

Troubleshoot an invalid supplierCorrect the required name and email.

Open guide →
Guide

Choose a supplier for a receipt

Choose a supplier for a receiptSelect an existing active tenant supplier.

Open guide →
Guide

Receive purchased goods

Receive purchased goodsCommit a one-product stock receipt.

Open guide →
Guide

Choose the receipt location

Choose the receipt locationSelect the tenant location receiving stock.

Open guide →
Guide

Choose the purchased product

Choose the purchased productSelect an active stock-tracked tenant product.

Open guide →
Guide

Enter purchase quantity

Enter purchase quantityUse a positive quantity compatible with the product.

Open guide →
Guide

Enter purchase unit cost

Enter purchase unit costUse a valid positive money amount.

Open guide →
Guide

Record a lot or batch number

Record a lot or batch numberStore an optional lot/batch reference on the receipt line.

Open guide →
Guide

Record a purchase expiry date

Record a purchase expiry dateStore an optional expiry date on the receipt line.

Open guide →
Guide

Add purchase receipt notes

Add purchase receipt notesRecord operational context without sensitive data.

Open guide →
Guide

Understand purchase numbering and status

Understand purchase numbering and statusTrace the committed purchase and its receipt state.

Open guide →
Guide

Understand latest-cost updates

Understand latest-cost updatesKnow that a successful receipt updates the product unit cost.

Open guide →
Guide

Understand purchase tax and landed-cost limitations

Understand purchase tax and landed-cost limitationsKnow the schema contains additional monetary fields, but the supplied form does not expose tax/landed-cost allocation.

Open guide →
Guide

Understand one-line purchase receipt limitations

Understand one-line purchase receipt limitationsKnow the supplied UI receives one product per submission rather than a multi-line purchase order.

Open guide →
Guide

Troubleshoot an invalid purchase receipt

Troubleshoot an invalid purchase receiptCheck supplier, product, location, quantity and cost.

Open guide →
Guide

Troubleshoot a purchase stock exception

Troubleshoot a purchase stock exceptionReview why the purchase record could not update stock and resolve without duplicating the receipt.

Open guide →
Guide

Review purchase history

Review purchase historyUse the purchase register to verify supplier, location, quantity, cost and status.

Open guide →
Guide

Run the purchase receipt checklist

Run the purchase receipt checklistVerify supplier, product, location, stock movement, latest cost and audit event.

Open guide →
Workflow

Open topic

Open guide →
Guide

Open the POS register

Open the POS registerStart the staff selling interface with the Sell capability.

Open guide →
Guide

Select 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 →
Guide

Search products by name at the register

Search products by name at the registerUse the product search endpoint to find active products.

Open guide →
Guide

Scan a barcode at the register

Scan a barcode at the registerUse an exact barcode match to add the intended product.

Open guide →
Guide

Search by SKU at the register

Search by SKU at the registerUse an exact SKU code.

Open guide →
Guide

Add a product to the POS basket

Add a product to the POS basketAdd one valid product and quantity.

Open guide →
Guide

Change a POS basket quantity

Change a POS basket quantityUse a positive compatible quantity.

Open guide →
Guide

Remove a POS basket line

Remove a POS basket lineRemove the selected line before checkout.

Open guide →
Guide

Clear the current POS basket

Clear the current POS basketDiscard the browser-side basket before commit.

Open guide →
Guide

Sell a weighed product

Sell a weighed productUse a decimal quantity supported by the product type.

Open guide →
Guide

Sell a non-weighed product

Sell a non-weighed productUse an integer quantity; fractional quantities are rejected.

Open guide →
Guide

Apply a coupon at the POS

Apply a coupon at the POSEnter an eligible code before totals are committed.

Open guide →
Guide

Enter a walk-in customer

Enter a walk-in customerUse the default walk-in identity where permitted.

Open guide →
Guide

Enter POS customer contact details

Enter POS customer contact detailsRecord valid customer name/email/phone values.

Open guide →
Guide

Link 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 →
Guide

Add a POS sale note

Add a POS sale noteStore up to the supported note length.

Open guide →
Guide

Take a cash payment

Take a cash paymentRecord cash as the tender method.

Open guide →
Guide

Take an external card terminal payment

Take an external card terminal paymentRecord card_terminal and an approved terminal reference without card data.

Open guide →
Guide

Take a bank-transfer POS payment

Take a bank-transfer POS paymentRecord bank as the tender method and appropriate reference.

Open guide →
Guide

Understand 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 →
Guide

Understand exact tender settlement

Understand exact tender settlementEnsure captured tender amounts equal the order total exactly.

Open guide →
Guide

Understand mixed tender support

Understand mixed tender supportKnow the service accepts multiple payment entries, while the supplied browser register submits one.

Open guide →
Guide

Understand POS payment references

Understand POS payment referencesUse a terminal/bank reference for operational traceability.

Open guide →
Guide

Understand POS idempotency keys

Understand POS idempotency keysPrevent a double sale when the same request is submitted again.

Open guide →
Guide

Understand POS order statuses

Understand POS order statusesKnow a successful register sale is completed, fulfilled and paid.

Open guide →
Guide

Understand POS stock commitment

Understand POS stock commitmentDeduct tracked on-hand stock in the order transaction.

Open guide →
Guide

Understand POS audit and webhook events

Understand POS audit and webhook eventsTrace sale, payment and stock events from one correlation ID.

Open guide →
Guide

Troubleshoot an empty POS basket

Troubleshoot an empty POS basketAdd at least one valid product.

Open guide →
Guide

Troubleshoot an invalid POS product or quantity

Troubleshoot an invalid POS product or quantityRefresh product data and use integer/decimal rules correctly.

Open guide →
Guide

Troubleshoot an invalid POS customer

Troubleshoot an invalid POS customerCorrect required identity/email validation.

Open guide →
Guide

Troubleshoot an invalid POS payment

Troubleshoot an invalid POS paymentChoose a supported tender and valid amount.

Open guide →
Guide

Troubleshoot tender totals that do not settle

Troubleshoot tender totals that do not settleCorrect the captured amount to equal the sale total.

Open guide →
Guide

Troubleshoot an invalid idempotency key

Troubleshoot an invalid idempotency keyUse the generated checkout request identifier unchanged.

Open guide →
Guide

Troubleshoot an idempotency conflict

Troubleshoot an idempotency conflictDo not reuse one key for different cart/customer/payment data.

Open guide →
Guide

Troubleshoot a POS checkout already processing

Troubleshoot a POS checkout already processingWait for the original transaction result and search orders before retrying.

Open guide →
Guide

Troubleshoot a POS checkout failure

Troubleshoot a POS checkout failureVerify no order was committed before retrying the same intended transaction.

Open guide →
Guide

Print or retain a POS order reference

Print or retain a POS order referenceUse the committed order reference for support, fulfilment and reconciliation.

Open guide →
Guide

Run the cashier sale checklist

Run the cashier sale checklistVerify shift, product, quantity, customer, tender, total, reference and resulting order.

Open guide →
Workflow

Open topic

Open guide →
Guide

Search the order register

Search the order registerFilter by reference, customer or email.

Open guide →
Guide

Filter orders by channel

Filter orders by channelShow POS or e-commerce orders.

Open guide →
Guide

Filter orders by order status

Filter orders by order statusUse the exact stored status values.

Open guide →
Guide

Filter orders by payment status

Filter orders by payment statusReview unpaid, paid and refund-related states.

Open guide →
Guide

Open an order detail page

Open an order detail pageReview the complete order snapshot and available actions.

Open guide →
Guide

Understand order references and UUIDs

Understand order references and UUIDsUse the human reference for support and UUID for durable identity.

Open guide →
Guide

Understand POS and e-commerce channels

Understand POS and e-commerce channelsDistinguish staff register sales from public-store orders.

Open guide →
Guide

Understand pending, processing and completed orders

Understand pending, processing and completed ordersInterpret normal progression states.

Open guide →
Guide

Understand cancelled, void, refunded and returned orders

Understand cancelled, void, refunded and returned ordersKnow which states reports exclude and which actions are blocked.

Open guide →
Guide

Understand unpaid, paid and refund-due payments

Understand unpaid, paid and refund-due paymentsInterpret payment state separately from fulfilment.

Open guide →
Guide

Understand unfulfilled and fulfilled states

Understand unfulfilled and fulfilled statesInterpret delivery/stock completion separately from payment.

Open guide →
Guide

Review order customer details

Review order customer detailsUse the immutable checkout snapshot rather than assuming current CRM contact data.

Open guide →
Guide

Review order line snapshots

Review order line snapshotsInspect SKU, name, type, quantity, unit price, discount, tax, total and unit cost captured at sale time.

Open guide →
Guide

Review order totals

Review order totalsReconcile subtotal, discount, tax, shipping, rounding, total, paid and due minor values.

Open guide →
Guide

Review order payment rows

Review order payment rowsInspect method, amount, status, reference, provider and captured/refunded times.

Open guide →
Guide

Review the native invoice link

Review the native invoice linkOpen the connected core invoice when invoice_id is present.

Open guide →
Guide

Fulfil an e-commerce order

Fulfil an e-commerce orderCommit reserved stock or finalise an already-deducted online order.

Open guide →
Guide

Understand fulfilment for reserved online stock

Understand fulfilment for reserved online stockDecrease reserved and on hand when fulfilment commits.

Open guide →
Guide

Understand fulfilment for immediately deducted stock

Understand fulfilment for immediately deducted stockAvoid a second stock deduction.

Open guide →
Guide

Understand paid fulfilment status

Understand paid fulfilment statusMove an eligible paid order to completed.

Open guide →
Guide

Understand unpaid fulfilment status

Understand unpaid fulfilment statusKeep an eligible unpaid fulfilled order in processing.

Open guide →
Guide

Troubleshoot an order that cannot be fulfilled

Troubleshoot an order that cannot be fulfilledCheck channel, status and current fulfilment state.

Open guide →
Guide

Create a full order return

Create a full order returnEnter a reason and create the compensating return.

Open guide →
Guide

Understand whole-order return limitations

Understand whole-order return limitationsKnow version 1.0.0 does not expose partial line/quantity returns.

Open guide →
Guide

Understand stock restoration during an order return

Understand stock restoration during an order returnRelease a reservation or restore on hand based on original stock handling.

Open guide →
Guide

Understand refund-due payment records

Understand refund-due payment recordsKnow a paid return marks money as due for external refund.

Open guide →
Guide

Complete an external tender refund

Complete an external tender refundUse the original card terminal, bank or host gateway outside the POS module and retain evidence.

Open guide →
Guide

Troubleshoot an order that cannot be returned

Troubleshoot an order that cannot be returnedCheck current status, existing returns and reason length.

Open guide →
Guide

Review return and return-line evidence

Review return and return-line evidenceInspect the compensating records linked to the source order.

Open guide →
Guide

Understand order-created, updated and returned webhooks

Understand order-created, updated and returned webhooksKnow which lifecycle actions queue integration events.

Open guide →
Guide

Understand order audit correlation

Understand order audit correlationTrace order, stock, payment and return events together.

Open guide →
Guide

Understand order public access tokens

Understand order public access tokensUse the reference/token route without exposing the stored token hash.

Open guide →
Guide

Understand order idempotency records

Understand order idempotency recordsKnow request hash, response and expiry protect checkout commits.

Open guide →
Guide

Understand invoice payment reconciliation hooks

Understand invoice payment reconciliation hooksKnow payment add/update/delete hooks recalculate the POS order payment status.

Open guide →
Guide

Reconcile a POS order with a native invoice payment

Reconcile a POS order with a native invoice paymentVerify invoice payment totals update paid and due values.

Open guide →
Guide

Troubleshoot an invoice payment not reflected on the order

Troubleshoot an invoice payment not reflected on the orderConfirm invoice linkage and allow the registered payment hook to reconcile.

Open guide →
Guide

Understand order confirmation email timing

Understand order confirmation email timingKnow the customer email is sent after public order creation when enabled.

Open guide →
Guide

Understand internal order notification timing

Understand internal order notification timingKnow the configured internal recipient is notified for public orders.

Open guide →
Guide

Run an order fulfilment checklist

Run an order fulfilment checklistVerify eligibility, stock path, status, audit and customer operations.

Open guide →
Guide

Run an order return checklist

Run an order return checklistVerify full-return scope, reason, stock, refund_due marker and external refund responsibility.

Open guide →
Workflow

Open topic

Open guide →
Guide

Open the public shop

Open the public shopBrowse /shop when the store is enabled.

Open guide →
Guide

Understand the disabled-store 404 response

Understand the disabled-store 404 responseKnow the module deliberately hides all public shop actions when disabled.

Open guide →
Guide

Browse public product categories

Browse public product categoriesOpen active category routes.

Open guide →
Guide

Open a public category page

Open a public category pageUse /shop/category/{slug}.

Open guide →
Guide

Open a public product page

Open a public product pageUse /shop/product/{slug}.

Open guide →
Guide

Search the public catalogue

Search the public catalogueSearch eligible products by the supported query.

Open guide →
Guide

Understand public catalogue pagination

Understand public catalogue paginationBrowse 24 products per page.

Open guide →
Guide

Understand public search noindex behaviour

Understand public search noindex behaviourKnow search results use noindex,follow to avoid indexing result combinations.

Open guide →
Guide

Understand public-store product eligibility

Understand public-store product eligibilityRequire active/public product and supported stock/backorder state.

Open guide →
Guide

Understand public category eligibility

Understand public category eligibilityRequire an active tenant category.

Open guide →
Guide

Understand product availability messages

Understand product availability messagesDistinguish available now, available to order and unavailable.

Open guide →
Guide

Add an item to the cart

Add an item to the cartSubmit a product and valid quantity.

Open guide →
Guide

Add a weighed item to the cart

Add a weighed item to the cartUse up to the supported decimal precision.

Open guide →
Guide

Add a non-weighed item to the cart

Add a non-weighed item to the cartUse a whole-number quantity.

Open guide →
Guide

Understand the 100-product cart limit

Understand the 100-product cart limitKeep no more than 100 distinct product IDs in one session cart.

Open guide →
Guide

Understand the 100,000 quantity limit

Understand the 100,000 quantity limitKeep each submitted quantity at or below the enforced maximum.

Open guide →
Guide

Update cart quantities

Update cart quantitiesRecalculate the cart after changing values.

Open guide →
Guide

Remove an item from the cart

Remove an item from the cartDelete the selected product from the session cart.

Open guide →
Guide

Apply a coupon in the cart

Apply a coupon in the cartRecalculate eligible promotions using the submitted code.

Open guide →
Guide

Review cart subtotal, discount, tax and shipping

Review cart subtotal, discount, tax and shippingUse server-calculated totals.

Open guide →
Guide

Understand cart recalculation after catalogue changes

Understand cart recalculation after catalogue changesKnow unavailable products/promotions can be removed or rejected during recalculation.

Open guide →
Guide

Troubleshoot an empty cart

Troubleshoot an empty cartAdd an eligible product before checkout.

Open guide →
Guide

Troubleshoot a product unavailable message

Troubleshoot a product unavailable messageCheck active/public, stock, reservation and backorder conditions.

Open guide →
Guide

Troubleshoot an invalid cart quantity

Troubleshoot an invalid cart quantityCorrect positivity, maximum, integer or weighed precision rules.

Open guide →
Guide

Understand public navigation and breadcrumbs

Understand public navigation and breadcrumbsUse shop, category, product, cart and checkout links generated by the module.

Open guide →
Guide

Understand public product structured data

Understand public product structured dataKnow the product page emits code-backed product/offer metadata.

Open guide →
Guide

Understand public store company branding

Understand public store company brandingUse the current tenant company identity and saved store content.

Open guide →
Guide

Run a public catalogue smoke test

Run a public catalogue smoke testTest home, category, product, search, pagination, cart add/update/remove and unavailable paths.

Open guide →
Workflow

Open topic

Open guide →
Guide

Open the public checkout

Open the public checkoutMove from a valid cart to /shop/checkout.

Open guide →
Guide

Understand checkout rate limiting

Understand checkout rate limitingKnow checkout allows 20 attempts per hour per IP.

Open guide →
Guide

Checkout as a guest

Checkout as a guestUse bank transfer or cash on delivery when guest checkout is enabled.

Open guide →
Guide

Checkout as a signed-in client

Checkout as a signed-in clientUse saved client/contact identity and eligible native invoice payment.

Open guide →
Guide

Understand why checkout requires sign-in

Understand why checkout requires sign-inKnow anonymous users are redirected when guest checkout is disabled.

Open guide →
Guide

Enter the checkout full name

Enter the checkout full nameProvide the required name up to 191 characters.

Open guide →
Guide

Enter the checkout email address

Enter the checkout email addressProvide a valid required email up to 191 characters.

Open guide →
Guide

Enter the checkout phone number

Enter the checkout phone numberProvide an optional phone up to 60 characters.

Open guide →
Guide

Enter the shipping address

Enter the shipping addressProvide optional delivery details up to 5,000 characters.

Open guide →
Guide

Add checkout order notes

Add checkout order notesProvide optional notes up to 1,000 characters.

Open guide →
Guide

Accept checkout terms

Accept checkout termsTick the required terms acceptance control.

Open guide →
Guide

Open checkout terms and privacy links

Open checkout terms and privacy linksUse optional configured links with safe new-tab behaviour.

Open guide →
Guide

Choose native invoice payment

Choose native invoice paymentUse the host invoice payment flow when available to a signed-in client.

Open guide →
Guide

Choose bank-transfer checkout

Choose bank-transfer checkoutCreate an unpaid order and follow configured instructions.

Open guide →
Guide

Choose cash on delivery or collection

Choose cash on delivery or collectionCreate an unpaid order for operational collection.

Open guide →
Guide

Understand native invoice availability

Understand native invoice availabilityRequire signed-in client, enabled auto invoicing and active host payment modes.

Open guide →
Guide

Understand native invoice creation

Understand native invoice creationKnow the module creates a connected core invoice for eligible checkout.

Open guide →
Guide

Open the native invoice payment URL

Open the native invoice payment URLUse the host invoice hash route from the public order page.

Open guide →
Guide

Understand guest payment limitations

Understand guest payment limitationsKnow guests do not receive native invoice online payment in the supplied flow.

Open guide →
Guide

Understand public checkout idempotency

Understand public checkout idempotencyUse checkout_key to prevent duplicate order commits.

Open guide →
Guide

Understand public order references and tokens

Understand public order references and tokensOpen /shop/order/{reference}/{token} without exposing the stored hash.

Open guide →
Guide

View a public order confirmation page

View a public order confirmation pageReview status, lines, totals, payment guidance and invoice link.

Open guide →
Guide

Troubleshoot an invalid public order link

Troubleshoot an invalid public order linkCheck the exact reference/token pair and whether the order belongs to the tenant.

Open guide →
Guide

Understand customer order confirmation email

Understand customer order confirmation emailUse the module-created template and saved enable toggle.

Open guide →
Guide

Understand internal new-order email

Understand internal new-order emailSend one module email to the configured internal address.

Open guide →
Guide

Understand host SMTP dependency

Understand host SMTP dependencyKnow both module emails use the host mail service and templates.

Open guide →
Guide

Troubleshoot a missing order confirmation email

Troubleshoot a missing order confirmation emailCheck the toggle, template, recipient and host SMTP/mail logs.

Open guide →
Guide

Troubleshoot a missing internal notification

Troubleshoot a missing internal notificationCheck the internal email setting, template and host mail delivery.

Open guide →
Guide

Troubleshoot terms-required validation

Troubleshoot terms-required validationReturn to checkout and explicitly accept the terms.

Open guide →
Guide

Troubleshoot an unavailable payment method

Troubleshoot an unavailable payment methodRefresh eligibility and choose bank transfer or cash when native invoice is unavailable.

Open guide →
Guide

Troubleshoot guest checkout disabled

Troubleshoot guest checkout disabledSign in as a client or enable guest checkout through authorised settings.

Open guide →
Guide

Troubleshoot too many checkout attempts

Troubleshoot too many checkout attemptsWait for the rate window rather than bypassing the limiter.

Open guide →
Guide

Troubleshoot a checkout processing response

Troubleshoot a checkout processing responseSearch for the existing order created by the same key.

Open guide →
Guide

Troubleshoot checkout after stock changed

Troubleshoot checkout after stock changedRefresh the basket and accept the recalculated availability/totals.

Open guide →
Guide

Understand payment-card data boundaries

Understand payment-card data boundariesKnow the module never requests or stores raw card data.

Open guide →
Guide

Run an end-to-end guest checkout test

Run an end-to-end guest checkout testTest cart, identity, terms, bank/cash method, tokenised order page and email.

Open guide →
Guide

Run an end-to-end signed-in client checkout test

Run an end-to-end signed-in client checkout testTest native invoice creation, payment URL, payment reconciliation and email.

Open guide →
Workflow

Open topic

Open guide →
Guide

Run the POS sales report

Run the POS sales reportChoose a date range and review the supplied summary.

Open guide →
Guide

Understand the default report period

Understand the default report periodUse the current calendar month in the relevant location timezone.

Open guide →
Guide

Set the report from and to dates

Set the report from and to datesSubmit valid dates; reversed values are normalised by swapping them.

Open guide →
Guide

Understand report timezone handling

Understand report timezone handlingInterpret date boundaries using the default location timezone.

Open guide →
Guide

Understand sales report exclusions

Understand sales report exclusionsKnow cancelled, void, refunded and returned orders are excluded.

Open guide →
Guide

Review total sales and collected values

Review total sales and collected valuesCompare order total and captured payment aggregates.

Open guide →
Guide

Review sales by channel

Review sales by channelCompare POS and e-commerce order totals.

Open guide →
Guide

Review the top-products report

Review the top-products reportSee up to 20 products by reported sales activity.

Open guide →
Guide

Understand report export limitations

Understand report export limitationsKnow version 1.0.0 exposes on-screen reports but no CSV/PDF export action.

Open guide →
Guide

Troubleshoot unexpected report totals

Troubleshoot unexpected report totalsCheck date/timezone, status exclusions, channel and payment state.

Open guide →
Guide

Open the POS audit register

Open the POS audit registerReview the most recent 200 tenant events.

Open guide →
Guide

Understand tamper-evident audit chaining

Understand tamper-evident audit chainingKnow each event hash incorporates the previous hash and an HMAC key.

Open guide →
Guide

Understand audit tenant isolation

Understand audit tenant isolationKnow event queries and chain predecessors are tenant-scoped.

Open guide →
Guide

Understand audit event actors

Understand audit event actorsDistinguish staff/system actor IDs.

Open guide →
Guide

Understand audit reasons and summaries

Understand audit reasons and summariesUse structured redacted context rather than secrets.

Open guide →
Guide

Understand audit correlation IDs

Understand audit correlation IDsTrace related business events.

Open guide →
Guide

Understand audit-chain verification limitations

Understand audit-chain verification limitationsKnow the supplied UI displays hashes but does not expose a one-click full-chain verifier/export.

Open guide →
Guide

Troubleshoot a suspected audit inconsistency

Troubleshoot a suspected audit inconsistencyPreserve evidence and perform a controlled technical verification without rewriting rows.

Open guide →
Guide

Understand checkout CSRF and input validation

Understand checkout CSRF and input validationKnow staff/public POST actions use host form/CSRF and server validation.

Open guide →
Guide

Understand public token hashing

Understand public token hashingKnow only a SHA-256 hash is stored for public order access.

Open guide →
Guide

Understand API secret hashing

Understand API secret hashingKnow full API credentials are shown once and only hashes are retained.

Open guide →
Guide

Understand webhook secret encryption

Understand webhook secret encryptionKnow webhook secrets are protected with AES-256-GCM using a generated module key.

Open guide →
Guide

Understand rate-limit records

Understand rate-limit recordsKnow checkout/API windows are tenant-scoped and expired rows are cleaned by cron.

Open guide →
Guide

Understand no-store and security headers

Understand no-store and security headersKnow sensitive public/API responses apply restrictive caching/security behaviour.

Open guide →
Guide

Understand tenant-safe queries

Understand tenant-safe queriesKnow operational reads/writes include the current tenant key.

Open guide →
Guide

Run the POS security checklist

Run the POS security checklistVerify least privilege, HTTPS, tokens, API scopes, webhook endpoints, SMTP and audit evidence.

Open guide →
Workflow

Open topic

Open guide →
Guide

Create a POS API key

Create a POS API keyName the credential, select read scopes and optionally set expiry.

Open guide →
Guide

Copy the one-time API secret

Copy the one-time API secretStore the full secret immediately because it is not shown again.

Open guide →
Guide

Understand the bpos_ API secret format

Understand the bpos_ API secret formatUse the bpos_ prefix and generated hexadecimal secret.

Open guide →
Guide

Understand stored API key hashes

Understand stored API key hashesKnow the database stores prefix/hash rather than the full credential.

Open guide →
Guide

Choose API key expiry

Choose API key expirySet an optional datetime after which authentication fails.

Open guide →
Guide

Grant catalogue:read

Grant catalogue:readAllow product list and product detail reads.

Open guide →
Guide

Grant inventory:read

Grant inventory:readAllow stock list reads.

Open guide →
Guide

Grant orders:read

Grant orders:readAllow order list and detail reads.

Open guide →
Guide

Understand reports:read in version 1.0.0

Understand reports:read in version 1.0.0Know the scope is selectable but no reports endpoint is routed.

Open guide →
Guide

Authenticate with a Bearer token

Authenticate with a Bearer tokenSend Authorization: Bearer {secret}.

Open guide →
Guide

Understand API rate limits

Understand API rate limitsUse 600 requests/hour per key+IP for business endpoints and 120/hour/IP for health.

Open guide →
Guide

Understand API pagination

Understand API paginationUse limit 1–100 and non-negative offset.

Open guide →
Guide

Call the API health endpoint

Call the API health endpointGET /britixo-pos/api/v1/health without a business scope.

Open guide →
Guide

List products through the API

List products through the APIGET /britixo-pos/api/v1/products with catalogue:read.

Open guide →
Guide

Filter API products

Filter API productsUse supported query/status/pagination values exposed by the controller/model.

Open guide →
Guide

Get one product through the API

Get one product through the APIGET /britixo-pos/api/v1/products/{id} with catalogue:read.

Open guide →
Guide

List orders through the API

List orders through the APIGET /britixo-pos/api/v1/orders with orders:read.

Open guide →
Guide

Filter API orders

Filter API ordersUse supported status/channel/search/pagination filters.

Open guide →
Guide

Get one order through the API

Get one order through the APIGET /britixo-pos/api/v1/orders/{reference} with orders:read.

Open guide →
Guide

List stock through the API

List stock through the APIGET /britixo-pos/api/v1/stock with inventory:read.

Open guide →
Guide

Understand API tenant isolation

Understand API tenant isolationKnow all returned records are restricted to the authenticated tenant.

Open guide →
Guide

Understand API JSON and cache headers

Understand API JSON and cache headersHandle structured JSON and no-store/security headers.

Open guide →
Guide

Handle an API missing-token response

Handle an API missing-token responseSupply a valid Bearer credential.

Open guide →
Guide

Handle an invalid, revoked or expired API key

Handle an invalid, revoked or expired API keyReplace or reactivate integration credentials through authorised settings.

Open guide →
Guide

Handle an API scope-denied response

Handle an API scope-denied responseGrant only the required read scope or use another key.

Open guide →
Guide

Handle an API record-not-found response

Handle an API record-not-found responseVerify tenant and identifier.

Open guide →
Guide

Handle an API validation response

Handle an API validation responseCorrect limit, offset or filter values.

Open guide →
Guide

Handle an API rate-limit response

Handle an API rate-limit responseBack off until the current rate window expires.

Open guide →
Guide

Revoke an API key

Revoke an API keyUse Settings to invalidate a credential immediately.

Open guide →
Guide

Review API key last-used information

Review API key last-used informationUse prefix, scopes and last_used_at for credential governance.

Open guide →
Guide

Understand API write limitations

Understand API write limitationsKnow there are no create/update/delete routes in version 1.0.0.

Open guide →
Guide

Run the API integration checklist

Run the API integration checklistVerify HTTPS, secret storage, scopes, expiry, pagination, rate handling and revocation.

Open guide →
Workflow

Open topic

Open guide →
Guide

Create a signed POS webhook

Create a signed POS webhookSet a name, safe public HTTPS endpoint and one or more events.

Open guide →
Guide

Copy the one-time webhook secret

Copy the one-time webhook secretStore the full secret immediately.

Open guide →
Guide

Understand webhook secret encryption at rest

Understand webhook secret encryption at restKnow secrets are encrypted with AES-256-GCM at rest.

Open guide →
Guide

Understand webhook encryption requirements

Understand webhook encryption requirementsKnow OpenSSL and a valid generated module key are required.

Open guide →
Guide

Choose webhook events

Choose webhook eventsSubscribe only to events the receiver processes.

Open guide →
Guide

Subscribe to product.created

Subscribe to product.createdReceive new-product events.

Open guide →
Guide

Subscribe to product.updated

Subscribe to product.updatedReceive changed-product events.

Open guide →
Guide

Subscribe to stock.changed

Subscribe to stock.changedReceive stock balance events.

Open guide →
Guide

Subscribe to order.created

Subscribe to order.createdReceive new order events.

Open guide →
Guide

Subscribe to order.updated

Subscribe to order.updatedReceive fulfilment/payment/order change events.

Open guide →
Guide

Subscribe to order.returned

Subscribe to order.returnedReceive full return events.

Open guide →
Guide

Subscribe to payment.updated

Subscribe to payment.updatedReceive payment reconciliation events.

Open guide →
Guide

Subscribe to purchase.received

Subscribe to purchase.receivedReceive purchase receipt events.

Open guide →
Guide

Understand webhook event IDs

Understand webhook event IDsUse the unique event identifier for receiver idempotency.

Open guide →
Guide

Understand webhook request headers

Understand webhook request headersRead X-Britixo-Event, X-Britixo-Event-Id, X-Britixo-Timestamp and X-Britixo-Signature.

Open guide →
Guide

Verify the webhook HMAC signature

Verify the webhook HMAC signatureCalculate SHA-256 HMAC over timestamp + dot + raw payload.

Open guide →
Guide

Understand webhook payload timestamps

Understand webhook payload timestampsUse the supplied timestamp in signature verification and replay policy.

Open guide →
Guide

Understand webhook endpoint SSRF protection

Understand webhook endpoint SSRF protectionKnow private/reserved/localhost/.local targets are rejected.

Open guide →
Guide

Understand webhook DNS validation and IP pinning

Understand webhook DNS validation and IP pinningKnow every resolved address is checked and delivery pins a validated public IP.

Open guide →
Guide

Understand webhook redirect blocking

Understand webhook redirect blockingKnow outbound delivery does not follow redirects.

Open guide →
Guide

Understand webhook connection timeouts

Understand webhook connection timeoutsDesign receivers for 5-second connect and 10-second total timeout.

Open guide →
Guide

Understand webhook retry scheduling

Understand webhook retry schedulingUse exponential delay with a six-hour cap.

Open guide →
Guide

Understand the eight-attempt limit

Understand the eight-attempt limitKnow a delivery becomes dead after its final failed attempt.

Open guide →
Guide

Understand webhook delivery uniqueness

Understand webhook delivery uniquenessKnow one webhook/event pair is queued once.

Open guide →
Guide

Understand cron webhook processing

Understand cron webhook processingKnow after_cron_run processes up to 25 queued deliveries per run.

Open guide →
Guide

Understand stale idempotency and rate-limit cleanup

Understand stale idempotency and rate-limit cleanupKnow the same cron hook removes expired protective records.

Open guide →
Guide

Return a successful webhook response

Return a successful webhook responseRespond 2xx promptly after safe validation/queueing.

Open guide →
Guide

Handle duplicate webhook delivery safely

Handle duplicate webhook delivery safelyMake receiver logic idempotent by event ID.

Open guide →
Guide

Handle a webhook signature failure

Handle a webhook signature failureReject the request without processing and verify secret/raw-body handling.

Open guide →
Guide

Troubleshoot a webhook endpoint rejected as unsafe

Troubleshoot a webhook endpoint rejected as unsafeUse a publicly resolvable HTTPS endpoint with only public IPs.

Open guide →
Guide

Troubleshoot webhook delivery timeouts

Troubleshoot webhook delivery timeoutsReduce receiver latency and return before the module timeout.

Open guide →
Guide

Troubleshoot repeated webhook retries

Troubleshoot repeated webhook retriesInspect receiver response codes and signature handling.

Open guide →
Guide

Troubleshoot a dead webhook delivery

Troubleshoot a dead webhook deliveryCorrect the receiver; version 1.0.0 has no delivery replay UI, so use a controlled integration recovery plan.

Open guide →
Guide

Disable a webhook

Disable a webhookStop future event queueing from the settings list.

Open guide →
Guide

Understand webhook management limitations

Understand webhook management limitationsKnow the supplied UI creates and disables webhooks but does not edit, re-enable, delete or browse deliveries.

Open guide →
Guide

Run the webhook receiver checklist

Run the webhook receiver checklistVerify HTTPS, public DNS, signature, replay protection, idempotency, timeouts and 2xx response.

Open guide →
Workflow

Open topic

Open guide →
Guide

Understand the public shop route map

Understand the public shop route mapMap shop home, categories, products, cart, checkout, orders, sitemaps and PWA endpoints.

Open guide →
Guide

Configure the shop SEO title and description

Configure the shop SEO title and descriptionUse store title/tagline/default meta description.

Open guide →
Guide

Configure category SEO

Configure category SEOUse category slug, meta title, meta description and active status.

Open guide →
Guide

Configure product SEO

Configure product SEOUse product slug, meta title, meta description and noindex control.

Open guide →
Guide

Understand canonical shop URLs

Understand canonical shop URLsUse clean /shop, /shop/category/{slug} and /shop/product/{slug} routes.

Open guide →
Guide

Understand noindex search pages

Understand noindex search pagesPrevent indexing of internal search result combinations.

Open guide →
Guide

Understand product noindex

Understand product noindexExclude an individual public product from indexing while keeping it accessible.

Open guide →
Guide

Open the shop sitemap index

Open the shop sitemap indexUse /shop/sitemap.xml.

Open guide →
Guide

Open the shop category sitemap

Open the shop category sitemapUse /shop/sitemap-categories.xml.

Open guide →
Guide

Open paged product sitemaps

Open paged product sitemapsUse /shop/sitemap-products-{page}.xml.

Open guide →
Guide

Understand sitemap product eligibility

Understand sitemap product eligibilityInclude active/public/indexable products supported by the sitemap query.

Open guide →
Guide

Troubleshoot an empty or missing sitemap entry

Troubleshoot an empty or missing sitemap entryCheck store/category/product eligibility and slug.

Open guide →
Guide

Open the PWA manifest

Open the PWA manifestUse /shop/manifest.webmanifest.

Open guide →
Guide

Understand PWA names and accent colours

Understand PWA names and accent coloursUse tenant store title/company identity and safe accent values.

Open guide →
Guide

Open the shop service worker

Open the shop service workerUse /shop/service-worker.js.

Open guide →
Guide

Understand service-worker scope and caching

Understand service-worker scope and cachingKeep caching confined to safe public shop assets/content.

Open guide →
Guide

Open the offline fallback page

Open the offline fallback pageUse /shop/offline.

Open guide →
Guide

Understand offline checkout safety

Understand offline checkout safetyKnow an offline browser cannot commit an order.

Open guide →
Guide

Understand public security headers

Understand public security headersReview CSP/HSTS/no-store behaviour from the supplied controller/layout.

Open guide →
Guide

Troubleshoot PWA installation

Troubleshoot PWA installationCheck HTTPS, manifest, icons/metadata and service-worker response.

Open guide →
Guide

Troubleshoot stale public content

Troubleshoot stale public contentRefresh service-worker/browser cache without caching sensitive responses.

Open guide →
Guide

Run the SEO and PWA checklist

Run the SEO and PWA checklistVerify canonical, metadata, structured data, robots, sitemaps, manifest, worker and offline behaviour.

Open guide →
Workflow

Open topic

Open guide →
Guide

Understand the POS controller architecture

Understand the POS controller architectureMap Britixo_pos, Pos_shop, Api_v1 and the compatibility controller.

Open guide →
Guide

Understand the model and service responsibilities

Understand the model and service responsibilitiesSeparate persistence/integration operations from cart/order calculation and commit logic.

Open guide →
Guide

Understand tenant keys

Understand tenant keysKnow how bpos_tenant_key identifies the current SaaS tenant.

Open guide →
Guide

Understand database transaction boundaries

Understand database transaction boundariesKnow order, stock, purchase, shift and return writes are committed or rolled back together.

Open guide →
Guide

Understand immutable order snapshots

Understand immutable order snapshotsKnow line/customer/money values are retained independently of later catalogue changes.

Open guide →
Guide

Understand correlation IDs

Understand correlation IDsTrace related audit, inventory, order and webhook records.

Open guide →
Guide

Understand host invoice integration

Understand host invoice integrationLink native invoices through invoice_id and payment hooks without changing core invoice tables.

Open guide →
Guide

Understand host email integration

Understand host email integrationUse create_email_template and the host mail classes/SMTP.

Open guide →
Guide

Understand host menu and capability hooks

Understand host menu and capability hooksUse admin_init, clients_init and registered staff capabilities.

Open guide →
Guide

Understand cron and payment hooks

Understand cron and payment hooksUse after_cron_run and payment add/update/delete events.

Open guide →
Guide

Understand the categories table

Understand the categories tableMap the module-owned categories records without editing them directly.

Open guide →
Guide

Understand the locations table

Understand the locations tableMap the module-owned locations records without editing them directly.

Open guide →
Guide

Understand the registers table

Understand the registers tableMap the module-owned registers records without editing them directly.

Open guide →
Guide

Understand the shifts table

Understand the shifts tableMap the module-owned shifts records without editing them directly.

Open guide →
Guide

Understand the products table

Understand the products tableMap the module-owned products records without editing them directly.

Open guide →
Guide

Understand the stock table

Understand the stock tableMap the module-owned stock records without editing them directly.

Open guide →
Guide

Understand the inventory_movements table

Understand the inventory_movements tableMap the module-owned inventory_movements records without editing them directly.

Open guide →
Guide

Understand the orders table

Understand the orders tableMap the module-owned orders records without editing them directly.

Open guide →
Guide

Understand the order_lines table

Understand the order_lines tableMap the module-owned order_lines records without editing them directly.

Open guide →
Guide

Understand the payments table

Understand the payments tableMap the module-owned payments records without editing them directly.

Open guide →
Guide

Understand the returns table

Understand the returns tableMap the module-owned returns records without editing them directly.

Open guide →
Guide

Understand the return_lines table

Understand the return_lines tableMap the module-owned return_lines records without editing them directly.

Open guide →
Guide

Understand the suppliers table

Understand the suppliers tableMap the module-owned suppliers records without editing them directly.

Open guide →
Guide

Understand the purchases table

Understand the purchases tableMap the module-owned purchases records without editing them directly.

Open guide →
Guide

Understand the purchase_lines table

Understand the purchase_lines tableMap the module-owned purchase_lines records without editing them directly.

Open guide →
Guide

Understand the promotions table

Understand the promotions tableMap the module-owned promotions records without editing them directly.

Open guide →
Guide

Understand the gift_cards table

Understand the gift_cards tableMap the module-owned gift_cards records without editing them directly.

Open guide →
Guide

Understand the gift_ledger table

Understand the gift_ledger tableMap the module-owned gift_ledger records without editing them directly.

Open guide →
Guide

Understand the digital_entitlements table

Understand the digital_entitlements tableMap the module-owned digital_entitlements records without editing them directly.

Open guide →
Guide

Understand the audit_events table

Understand the audit_events tableMap the module-owned audit_events records without editing them directly.

Open guide →
Guide

Understand the idempotency table

Understand the idempotency tableMap the module-owned idempotency records without editing them directly.

Open guide →
Guide

Understand the api_keys table

Understand the api_keys tableMap the module-owned api_keys records without editing them directly.

Open guide →
Guide

Understand the webhooks table

Understand the webhooks tableMap the module-owned webhooks records without editing them directly.

Open guide →
Guide

Understand the webhook_deliveries table

Understand the webhook_deliveries tableMap the module-owned webhook_deliveries records without editing them directly.

Open guide →
Guide

Understand the rate_limits table

Understand the rate_limits tableMap the module-owned rate_limits records without editing them directly.

Open guide →
Guide

POS administrator endpoint reference

POS administrator endpoint referenceMap every live Britixo_pos controller method and capability gate.

Open guide →
Guide

POS public endpoint reference

POS public endpoint referenceMap every live Pos_shop route.

Open guide →
Guide

POS API endpoint reference

POS API endpoint referenceMap every live read-only Api_v1 route and scope.

Open guide →
Guide

Understand the OpenAPI document

Understand the OpenAPI documentUse docs/openapi.yaml as the supplied read-only API contract and verify it against routes.

Open guide →
Guide

Understand module release audit evidence

Understand module release audit evidenceUse docs/RELEASE-AUDIT.md and archive hashes as package evidence.

Open guide →
Guide

Understand compatibility controller behaviour

Understand compatibility controller behaviourKnow Britixo_enterprise_pos.php is present alongside the active Britixo_pos controller naming convention.

Open guide →
Guide

Understand data retention boundaries

Understand data retention boundariesPreserve module data on deactivation and plan any deletion as a separately authorised process.

Open guide →
Workflow

Open topic

Open guide →
Guide

Troubleshoot a module activation error

Troubleshoot a module activation errorInspect the exact install exception, required PHP/database support and missing table/option creation without direct destructive cleanup.

Open guide →
Guide

Troubleshoot a missing default location or register

Troubleshoot a missing default location or registerRerun the supported idempotent activation flow only after confirming tenant defaults are genuinely absent.

Open guide →
Guide

Troubleshoot a public shop 404

Troubleshoot a public shop 404Check the saved store-enabled toggle and route deployment.

Open guide →
Guide

Troubleshoot a blank or unstyled public shop

Troubleshoot a blank or unstyled public shopVerify module assets and generated URLs without changing the host theme.

Open guide →
Guide

Troubleshoot a missing product image

Troubleshoot a missing product imageVerify the saved external image URL and browser policy.

Open guide →
Guide

Troubleshoot incorrect public branding

Troubleshoot incorrect public brandingCheck tenant company options and saved store title/tagline/accent.

Open guide →
Guide

Troubleshoot an incorrect online stock location

Troubleshoot an incorrect online stock locationCheck the default location setting and product stock row.

Open guide →
Guide

Troubleshoot a low-stock dashboard warning

Troubleshoot a low-stock dashboard warningCompare available quantity, threshold and reorder data.

Open guide →
Guide

Troubleshoot a register sale blocked by shift state

Troubleshoot a register sale blocked by shift stateOpen an active shift for the selected register/current staff member.

Open guide →
Guide

Troubleshoot a duplicated checkout concern

Troubleshoot a duplicated checkout concernSearch orders by reference/idempotency before any retry.

Open guide →
Guide

Troubleshoot concurrent stock changes

Troubleshoot concurrent stock changesRefresh the cart/register and honour locked transaction results.

Open guide →
Guide

Troubleshoot an order status mismatch

Troubleshoot an order status mismatchCompare payment, fulfilment and return evidence separately.

Open guide →
Guide

Troubleshoot an incorrect paid or due amount

Troubleshoot an incorrect paid or due amountReconcile payment rows and any linked invoice payments.

Open guide →
Guide

Troubleshoot an email template issue

Troubleshoot an email template issueReview the two module-created templates and host SMTP without altering unrelated templates.

Open guide →
Guide

Troubleshoot API authentication

Troubleshoot API authenticationCheck Bearer format, hash match, expiry, revocation and tenant.

Open guide →
Guide

Troubleshoot API permission scope

Troubleshoot API permission scopeUse the minimum correct read scope.

Open guide →
Guide

Troubleshoot webhook encryption unavailable

Troubleshoot webhook encryption unavailableRestore OpenSSL/module encryption-key support before creating a secret.

Open guide →
Guide

Troubleshoot webhook DNS changes

Troubleshoot webhook DNS changesEnsure all newly resolved endpoint addresses remain public and safe.

Open guide →
Guide

Troubleshoot cron backlog

Troubleshoot cron backlogConfirm host cron runs and processes up to 25 webhook deliveries per run.

Open guide →
Guide

Troubleshoot stale rate-limit or idempotency records

Troubleshoot stale rate-limit or idempotency recordsAllow cron cleanup after expiry; do not delete active protective records.

Open guide →
Guide

Understand full-return-only limitations

Understand full-return-only limitationsNo partial return screen is supplied.

Open guide →
Guide

Understand external-refund limitations

Understand external-refund limitationsNo card, bank or gateway refund is executed by the return action.

Open guide →
Guide

Understand inventory editor limitations

Understand inventory editor limitationsNo direct UI edits reserved, in-transit, quarantined, damaged or reorder quantities.

Open guide →
Guide

Understand purchase workflow limitations

Understand purchase workflow limitationsOne product line per receipt; no full purchase-order approval/payment UI.

Open guide →
Guide

Understand promotion limitations

Understand promotion limitationsOne best promotion per line; no active stacking despite schema capability.

Open guide →
Guide

Understand product-type limitations

Understand product-type limitationsAdvanced combo/recipe/variant/lot/serial/digital workflows are not implemented as full screens.

Open guide →
Guide

Understand gift-card limitations

Understand gift-card limitationsGift card and ledger tables exist but no management/checkout UI is exposed.

Open guide →
Guide

Understand digital entitlement limitations

Understand digital entitlement limitationsThe table exists but no delivery/entitlement administration screen is exposed.

Open guide →
Guide

Understand API limitations

Understand API limitationsRead-only GET routes; no report route despite selectable reports:read.

Open guide →
Guide

Understand webhook administration limitations

Understand webhook administration limitationsCreate and disable only; no edit/re-enable/delete/delivery browser/replay screen.

Open guide →
Guide

Understand audit UI limitations

Understand audit UI limitationsMost recent 200 display; no full verifier or export control.

Open guide →
Guide

Understand report limitations

Understand report limitationsCurrent supplied summaries only; no export or formal accounting statements.

Open guide →
Guide

Understand shift cash-event limitations

Understand shift cash-event limitationsExpected formula stores paid-in/out/drop values, but no UI posts them.

Open guide →
Guide

Understand cash-on-delivery configuration limitations

Understand cash-on-delivery configuration limitationsThe method is available without its own enable/disable setting.

Open guide →
Guide

Understand uninstall limitations

Understand uninstall limitationsNo destructive automatic uninstall is supplied; data deletion requires separate authorisation.

Open guide →
Guide

Run the complete POS administrator acceptance test

Run the complete POS administrator acceptance testTest activation, permissions, settings, locations, registers, shifts, catalogue, stock, purchases, POS, orders, reports, audit and integrations.

Open guide →
Guide

Run the complete public-store acceptance test

Run the complete public-store acceptance testTest shop, category, product, cart, checkout, order token, email, SEO, sitemap, PWA and disabled state.

Open guide →
Guide

Run the complete finance reconciliation test

Run the complete finance reconciliation testTest POS tenders, public payment methods, native invoice hooks, fulfilment and return/refund_due handling.

Open guide →
Guide

Run the complete inventory acceptance test

Run the complete inventory acceptance testTest adjustment reasons, purchase receipt, POS deduction, online reservation/fulfilment and return restoration.

Open guide →
Guide

Run the complete integration acceptance test

Run the complete integration acceptance testTest API scopes/rates and webhook signing/retries/dead-letter behaviour.

Open guide →
Guide

Run the complete security acceptance test

Run the complete security acceptance testTest least privilege, tenant isolation, CSRF, tokens, hashes, encryption, SSRF controls, headers, rate limits and audit.

Open guide →
Guide

Run the production go-live checklist

Run the production go-live checklistVerify approved configuration, staff training, opening stock, SMTP, payments, legal pages, HTTPS, cron, integrations and rollback process.

Open guide →
Guide

Run the post-go-live daily checklist

Run the post-go-live daily checklistReview open shifts, failed orders, low stock, purchase exceptions, refund_due items, email/webhook failures and audit anomalies.

Open guide →
Guide

Run the module replacement verification checklist

Run the module replacement verification checklistVerify archive root, hashes, permissions, activation state, routes, assets and retained data after replacing code.

Open guide →
Category

Open the MTD how-to guides →

Open guide →