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.
Open topic
Open guide →GuideeCommerce & 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 →GuideConfirm the module package name and root folder
Confirm the module package name and root folderVerify the installable archive structure before upload.
Open guide →GuideInstall 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 →GuideVerify 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 →GuideUnderstand the module version and host compatibility
Understand the module version and host compatibilityConfirm the version declaration and supported host convention before deployment.
Open guide →GuideUnderstand the tenant-scoped data model
Understand the tenant-scoped data modelLearn how tenant_key confines module records to the current tenant.
Open guide →GuideUnderstand the bpos_ table prefix
Understand the bpos_ table prefixIdentify the 25 module-owned table suffixes without confusing them with core CRM tables.
Open guide →GuideUnderstand the idempotent installer
Understand the idempotent installerKnow what happens when install.php runs again on an existing installation.
Open guide →GuideUnderstand activation, deactivation and reactivation
Understand activation, deactivation and reactivationUse supported lifecycle actions without assuming deactivation deletes data.
Open guide →GuidePlan 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 →GuideVerify 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 →GuideUnderstand what the module stores about payments
Understand what the module stores about paymentsDistinguish tender records and invoice references from raw card data.
Open guide →GuideUnderstand 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 →GuideUnderstand 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 →GuideUnderstand 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 →GuideCheck module action links
Check module action linksUse Open and Settings links exposed on the module listing when permitted.
Open guide →GuideDeactivate the eCommerce & POS Module safely
Deactivate the eCommerce & POS Module safelyDisable module execution while preserving operational and audit records.
Open guide →GuideReactivate the eCommerce & POS Module safely
Reactivate the eCommerce & POS Module safelyRun the idempotent activation flow and verify retained data returns.
Open guide →GuideUnderstand 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 →GuideRun 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 →GuideUnderstand 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 →WorkflowOpen topic
Open guide →GuideUnderstand the Enterprise POS menu
Understand the Enterprise POS menuMap all 13 live administrator work areas and their permission gates.
Open guide →GuideUse the Enterprise POS dashboard
Use the Enterprise POS dashboardReview sales, orders, low-stock indicators and recent activity for the current tenant.
Open guide →GuideUnderstand 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 →GuideUnderstand the client Shop menu
Understand the client Shop menuKnow why signed-in clients see or do not see the Shop navigation item.
Open guide →GuideAssign 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 →GuideAssign the Enterprise POS Sell permission
Assign the Enterprise POS Sell permissionGrant or withhold the capability needed to use Register and Shifts.
Open guide →GuideAssign 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 →GuideAssign 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 →GuideAssign 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 →GuideAssign 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 →GuideAssign the Enterprise POS Refund permission
Assign the Enterprise POS Refund permissionGrant or withhold the capability needed to create full compensating returns.
Open guide →GuideAssign 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 →GuideAssign 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 →GuideAssign 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 →GuideOpen the Dashboard work area
Open the Dashboard work areaUse the Dashboard page with the correct Enterprise POS permission.
Open guide →GuideOpen the Register work area
Open the Register work areaUse the Register page with the correct Enterprise POS permission.
Open guide →GuideOpen the Orders work area
Open the Orders work areaUse the Orders page with the correct Enterprise POS permission.
Open guide →GuideOpen the Products work area
Open the Products work areaUse the Products page with the correct Enterprise POS permission.
Open guide →GuideOpen the Categories work area
Open the Categories work areaUse the Categories page with the correct Enterprise POS permission.
Open guide →GuideOpen the Promotions work area
Open the Promotions work areaUse the Promotions page with the correct Enterprise POS permission.
Open guide →GuideOpen the Inventory work area
Open the Inventory work areaUse the Inventory page with the correct Enterprise POS permission.
Open guide →GuideOpen the Purchases work area
Open the Purchases work areaUse the Purchases page with the correct Enterprise POS permission.
Open guide →GuideOpen the Locations work area
Open the Locations work areaUse the Locations page with the correct Enterprise POS permission.
Open guide →GuideOpen the Shifts work area
Open the Shifts work areaUse the Shifts page with the correct Enterprise POS permission.
Open guide →GuideOpen the Reports work area
Open the Reports work areaUse the Reports page with the correct Enterprise POS permission.
Open guide →GuideOpen the Audit work area
Open the Audit work areaUse the Audit page with the correct Enterprise POS permission.
Open guide →GuideOpen the Settings work area
Open the Settings work areaUse the Settings page with the correct Enterprise POS permission.
Open guide →GuideTroubleshoot 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 →GuideTroubleshoot a missing Enterprise POS submenu item
Troubleshoot a missing Enterprise POS submenu itemCheck the exact capability required by the hidden work area.
Open guide →GuideTroubleshoot an access denied response
Troubleshoot an access denied responseCompare the route with its controller permission gate and the current staff role.
Open guide →GuideReview least-privilege role examples
Review least-privilege role examplesSeparate cashier, inventory, purchasing, manager, integration and auditor responsibilities.
Open guide →WorkflowOpen topic
Open guide →GuideConfigure 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 →GuideConfigure the store title
Configure the store titleSet the store title and verify its effect in the public store.
Open guide →GuideConfigure the currency
Configure the currencySet the currency and verify its effect in the public store.
Open guide →GuideConfigure the store tagline
Configure the store taglineSet the store tagline and verify its effect in the public store.
Open guide →GuideConfigure the default SEO description
Configure the default SEO descriptionSet the default SEO description and verify its effect in the public store.
Open guide →GuideConfigure the accent colour
Configure the accent colourSet the accent colour and verify its effect in the public store.
Open guide →GuideConfigure 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 →GuideConfigure the flat shipping charge
Configure the flat shipping chargeSet the flat shipping charge and verify its effect in the public store.
Open guide →GuideConfigure 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 →GuideConfigure the bank-transfer instructions
Configure the bank-transfer instructionsSet the bank-transfer instructions and verify its effect in the public store.
Open guide →GuideConfigure the terms URL
Configure the terms URLSet the terms URL and verify its effect in the public store.
Open guide →GuideConfigure the privacy URL
Configure the privacy URLSet the privacy URL and verify its effect in the public store.
Open guide →GuideConfigure the public store toggle
Configure the public store toggleSet the public store toggle and verify its effect in the public store.
Open guide →GuideConfigure the guest checkout toggle
Configure the guest checkout toggleSet the guest checkout toggle and verify its effect in the public store.
Open guide →GuideConfigure 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 →GuideConfigure 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 →GuideConfigure 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 →GuideUnderstand 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 →GuideUnderstand why currency becomes locked
Understand why currency becomes lockedPreserve historical financial consistency after the first order is created.
Open guide →GuideTroubleshoot a rejected currency change
Troubleshoot a rejected currency changeCheck whether the tenant already has an order and retain the historical currency.
Open guide →GuideTest 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 →GuideTest guest checkout settings
Test guest checkout settingsVerify anonymous checkout is allowed or redirected to sign in as configured.
Open guide →GuideTest 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 →GuideConfigure bank-transfer checkout safely
Configure bank-transfer checkout safelyPublish clear instructions without exposing sensitive banking administration data beyond what customers need.
Open guide →GuideConfigure 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 →GuideConfigure order confirmation email behaviour
Configure order confirmation email behaviourUse the module toggle and the host email template/SMTP service together.
Open guide →GuideConfigure internal new-order notifications
Configure internal new-order notificationsSet one valid internal recipient and verify the module-created email template.
Open guide →GuideConfigure 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 →GuideUnderstand 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 →GuideAudit 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 →WorkflowOpen topic
Open guide →GuideCreate a POS location
Create a POS locationAdd a tenant-scoped operating location with name, code, address and timezone.
Open guide →GuideChoose a location code
Choose a location codeUse an uppercase A–Z, 0–9 and hyphen identifier that is unique in the tenant.
Open guide →GuideChoose a location timezone
Choose a location timezoneUse a valid PHP timezone so date-based reporting and operations are consistent.
Open guide →GuideSet a location address
Set a location addressStore the operational address displayed to authorised staff.
Open guide →GuideActivate or deactivate a location
Activate or deactivate a locationControl whether a location is available for active operational selection.
Open guide →GuideUnderstand the default Main Location
Understand the default Main LocationKnow how activation creates and selects the first default online-stock location.
Open guide →GuideTroubleshoot a duplicate location code
Troubleshoot a duplicate location codeChoose a different tenant-unique code.
Open guide →GuideTroubleshoot an invalid location
Troubleshoot an invalid locationCorrect the name, code, timezone or tenant relation.
Open guide →GuideReview existing locations
Review existing locationsUse the location register to compare code, timezone and status.
Open guide →GuideCreate a POS register
Create a POS registerAdd a register with a tenant-unique code and assigned location.
Open guide →GuideChoose a register code
Choose a register codeUse the same uppercase code rule and avoid duplicates.
Open guide →GuideAssign a register to a location
Assign a register to a locationSelect an existing tenant location.
Open guide →GuideActivate or disable a register
Activate or disable a registerControl register availability while respecting open-shift protection.
Open guide →GuideUnderstand the default Main Register
Understand the default Main RegisterKnow how activation creates REG-01 against the first location.
Open guide →GuideTroubleshoot a duplicate register code
Troubleshoot a duplicate register codeChoose a different tenant-unique register code.
Open guide →GuideTroubleshoot a register that cannot be disabled
Troubleshoot a register that cannot be disabledClose its current open shift before disabling it.
Open guide →GuideTroubleshoot an invalid register
Troubleshoot an invalid registerCorrect the name, code, location or tenant relation.
Open guide →GuideOpen a register shift
Open a register shiftSelect an active register and enter a non-negative opening float.
Open guide →GuideUnderstand the opening float
Understand the opening floatRecord the cash present before sales begin.
Open guide →GuideUnderstand one open shift per register
Understand one open shift per registerPrevent overlapping shift ownership and reconciliation.
Open guide →GuideUse the Shifts page
Use the Shifts pageOpen, close and review shift history under the Sell capability.
Open guide →GuideClose a register shift
Close a register shiftEnter the blind counted amount and an optional handover reason.
Open guide →GuidePerform a blind cash count
Perform a blind cash countCount the drawer before comparing it with the expected value.
Open guide →GuideUnderstand expected cash
Understand expected cashCalculate opening float plus captured cash plus paid-in minus paid-out minus cash-drop values.
Open guide →GuideUnderstand counted cash and variance
Understand counted cash and varianceCompare the blind count with expected cash.
Open guide →GuideUnderstand shift HMAC evidence
Understand shift HMAC evidenceKnow that the close snapshot is signed to make later tampering detectable.
Open guide →GuideTroubleshoot 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 →GuideTroubleshoot 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 →GuideTroubleshoot the open-shift-required message
Troubleshoot the open-shift-required messageOpen a shift for the selected register before checkout.
Open guide →GuideUnderstand 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 →GuideReview shift history
Review shift historyInspect opening, closing, expected, counted and variance details.
Open guide →GuideRun 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 →WorkflowOpen topic
Open guide →GuideCreate a product category
Create a product categoryAdd a category with public content, SEO and ordering fields.
Open guide →GuideEdit a product category
Edit a product categoryUpdate the category within the current tenant.
Open guide →GuideConfigure a category name
Configure a category nameUse a clear customer-facing label.
Open guide →GuideConfigure a category slug
Configure a category slugUse a tenant-unique SEO route segment or let the module generate it.
Open guide →GuideConfigure a category description
Configure a category descriptionExplain the category for public browsing.
Open guide →GuideConfigure category SEO metadata
Configure category SEO metadataSet optional meta title and description.
Open guide →GuideConfigure category sort order
Configure category sort orderControl category ordering with an integer value.
Open guide →GuideActivate or deactivate a category
Activate or deactivate a categoryControl public/category selection visibility.
Open guide →GuideUnderstand category parent records
Understand category parent recordsKnow the table has parent_id, while version 1.0.0 exposes a flat category form.
Open guide →GuideTroubleshoot a duplicate category slug
Troubleshoot a duplicate category slugChoose a unique slug in the current tenant.
Open guide →GuideTroubleshoot an invalid category
Troubleshoot an invalid categoryCorrect the required name/slug and tenant relation.
Open guide →GuideUnderstand the General default category
Understand the General default categoryKnow what activation creates for an empty tenant.
Open guide →GuideCreate a product
Create a productComplete the product form and save a tenant-scoped catalogue item.
Open guide →GuideEdit a product
Edit a productUpdate a product while preserving its transaction snapshots on existing orders.
Open guide →GuideConfigure the product name
Configure the product nameSet the product name correctly on a POS product.
Open guide →GuideConfigure the SKU
Configure the SKUSet the SKU correctly on a POS product.
Open guide →GuideConfigure the barcode
Configure the barcodeSet the barcode correctly on a POS product.
Open guide →GuideConfigure the product category
Configure the product categorySet the product category correctly on a POS product.
Open guide →GuideConfigure the product type
Configure the product typeSet the product type correctly on a POS product.
Open guide →GuideConfigure the selling price
Configure the selling priceSet the selling price correctly on a POS product.
Open guide →GuideConfigure the unit cost
Configure the unit costSet the unit cost correctly on a POS product.
Open guide →GuideConfigure the tax rate
Configure the tax rateSet the tax rate correctly on a POS product.
Open guide →GuideConfigure the weight in grams
Configure the weight in gramsSet the weight in grams correctly on a POS product.
Open guide →GuideConfigure the short description
Configure the short descriptionSet the short description correctly on a POS product.
Open guide →GuideConfigure the full description
Configure the full descriptionSet the full description correctly on a POS product.
Open guide →GuideConfigure the image URL
Configure the image URLSet the image URL correctly on a POS product.
Open guide →GuideConfigure the meta title
Configure the meta titleSet the meta title correctly on a POS product.
Open guide →GuideConfigure the product slug
Configure the product slugSet the product slug correctly on a POS product.
Open guide →GuideConfigure the meta description
Configure the meta descriptionSet the meta description correctly on a POS product.
Open guide →GuideConfigure the track stock control
Configure the track stock controlSet the track stock control correctly on a POS product.
Open guide →GuideConfigure the allow backorder control
Configure the allow backorder controlSet the allow backorder control correctly on a POS product.
Open guide →GuideConfigure the featured control
Configure the featured controlSet the featured control correctly on a POS product.
Open guide →GuideConfigure the public-store control
Configure the public-store controlSet the public-store control correctly on a POS product.
Open guide →GuideConfigure the active control
Configure the active controlSet the active control correctly on a POS product.
Open guide →GuideConfigure the SEO noindex control
Configure the SEO noindex controlSet the SEO noindex control correctly on a POS product.
Open guide →GuideSearch the product catalogue
Search the product catalogueFind products by name, SKU or barcode in the staff product list.
Open guide →GuideSearch 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 →GuideUnderstand public product eligibility
Understand public product eligibilityRequire active, public and availability-compatible product records.
Open guide →GuideUnderstand standard products
Understand standard productsUse the general product classification with normal integer quantity unless otherwise configured.
Open guide →GuideUnderstand service products
Understand service productsUse a non-stock service classification where stock tracking is not required.
Open guide →GuideUnderstand 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 →GuideUnderstand 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 →GuideUnderstand 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 →GuideUnderstand 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 →GuideUnderstand weighed products
Understand weighed productsAllow decimal quantities up to the supported precision for weighed items.
Open guide →GuideTroubleshoot a duplicate SKU
Troubleshoot a duplicate SKUUse a tenant-unique SKU and retain the original product identity.
Open guide →GuideTroubleshoot a duplicate barcode
Troubleshoot a duplicate barcodeRemove or replace a barcode already assigned in the tenant.
Open guide →GuideTroubleshoot an invalid product form
Troubleshoot an invalid product formCheck name, SKU, money, tax, slug, category and URL validation.
Open guide →GuideTroubleshoot 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 →WorkflowOpen topic
Open guide →GuideUnderstand POS money calculations
Understand POS money calculationsFollow integer minor-unit storage for prices, discounts, tax, shipping and totals.
Open guide →GuideUnderstand the maximum supported money value
Understand the maximum supported money valueKnow the helper rejects amounts beyond 100 billion minor units.
Open guide →GuideUnderstand decimal-to-minor conversion
Understand decimal-to-minor conversionAvoid floating-point storage by converting user-entered money to integer minor units.
Open guide →GuideUnderstand product tax calculation
Understand product tax calculationApply the saved tax rate to the discounted line basis.
Open guide →GuideUnderstand shipping calculation
Understand shipping calculationAdd the configured flat shipping amount to online orders.
Open guide →GuideUnderstand rounding behaviour
Understand rounding behaviourKnow where minor-unit rounding is captured in the order.
Open guide →GuideCreate an automatic promotion
Create an automatic promotionLeave coupon code blank so qualifying baskets can receive the rule automatically.
Open guide →GuideCreate a coupon promotion
Create a coupon promotionSet a tenant-unique coupon code customers can enter.
Open guide →GuideCreate a percentage promotion
Create a percentage promotionSet a valid percentage value.
Open guide →GuideCreate a fixed-amount promotion
Create a fixed-amount promotionSet a valid fixed discount in the store currency.
Open guide →GuideSet the promotion minimum line value
Set the promotion minimum line valueRequire each candidate line to meet the configured threshold.
Open guide →GuideScope a promotion to all products
Scope a promotion to all productsLeave both product and category scopes at All products.
Open guide →GuideScope a promotion to one category
Scope a promotion to one categorySelect a tenant category.
Open guide →GuideScope a promotion to one product
Scope a promotion to one productSelect a tenant product; product scope is more specific.
Open guide →GuideSet promotion start and end dates
Set promotion start and end datesUse a valid active date range.
Open guide →GuideSet a promotion usage limit
Set a promotion usage limitUse zero for unlimited or a non-negative limit.
Open guide →GuideActivate or disable a promotion
Activate or disable a promotionControl eligibility without deleting history.
Open guide →GuideUnderstand one best promotion per line
Understand one best promotion per lineKnow the calculator compares eligible discounts and selects the highest one.
Open guide →GuideUnderstand promotion non-stacking
Understand promotion non-stackingDo not expect multiple discounts on the same line in version 1.0.0.
Open guide →GuideUnderstand promotion usage counting
Understand promotion usage countingKnow one use is recorded per applied promotion per order.
Open guide →GuideTroubleshoot a duplicate coupon code
Troubleshoot a duplicate coupon codeChoose a tenant-unique code.
Open guide →GuideTroubleshoot an invalid promotion value
Troubleshoot an invalid promotion valueCorrect type-specific percent/fixed values.
Open guide →GuideTroubleshoot an invalid promotion scope
Troubleshoot an invalid promotion scopeSelect a product/category belonging to the current tenant.
Open guide →GuideTroubleshoot an unavailable promotion at checkout
Troubleshoot an unavailable promotion at checkoutRefresh the basket after status, date, limit or stock changes.
Open guide →GuideVerify promotion totals on an order
Verify promotion totals on an orderCompare line snapshots, discount, tax and total minor values.
Open guide →WorkflowOpen topic
Open guide →GuideUnderstand inventory availability
Understand inventory availabilityUse the exact available = on hand − reserved − quarantined − damaged formula.
Open guide →GuideUnderstand on-hand stock
Understand on-hand stockPhysical quantity currently recorded at the location.
Open guide →GuideUnderstand reserved stock
Understand reserved stockQuantity committed to unfulfilled online orders when reservation is enabled.
Open guide →GuideUnderstand in-transit stock
Understand in-transit stockStored quantity that is not currently subtracted by the available formula.
Open guide →GuideUnderstand quarantined stock
Understand quarantined stockQuantity excluded from available stock.
Open guide →GuideUnderstand damaged stock
Understand damaged stockQuantity excluded from available stock.
Open guide →GuideUnderstand reorder level
Understand reorder levelThreshold used by low-stock indicators.
Open guide →GuideUnderstand available stock
Understand available stockComputed quantity used for availability checks.
Open guide →GuideSearch inventory by location and product
Search inventory by location and productFilter the live inventory list without changing balances.
Open guide →GuidePost a manual stock adjustment
Post a manual stock adjustmentChange on-hand stock with a non-zero delta, approved reason and mandatory note.
Open guide →GuideUse the opening inventory reason
Use the opening inventory reasonRecord a manual or system stock movement with the opening reason code.
Open guide →GuideUse the purchase inventory reason
Use the purchase inventory reasonRecord a manual or system stock movement with the purchase reason code.
Open guide →GuideUse the sale inventory reason
Use the sale inventory reasonRecord a manual or system stock movement with the sale reason code.
Open guide →GuideUse the return inventory reason
Use the return inventory reasonRecord a manual or system stock movement with the return reason code.
Open guide →GuideUse the damage inventory reason
Use the damage inventory reasonRecord a manual or system stock movement with the damage reason code.
Open guide →GuideUse the shrinkage inventory reason
Use the shrinkage inventory reasonRecord a manual or system stock movement with the shrinkage reason code.
Open guide →GuideUse the count inventory reason
Use the count inventory reasonRecord a manual or system stock movement with the count reason code.
Open guide →GuideUse 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 →GuideUse 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 →GuideUse the correction inventory reason
Use the correction inventory reasonRecord a manual or system stock movement with the correction reason code.
Open guide →GuideUnderstand stock movement source types
Understand stock movement source typesTrace adjustments, sales, returns and purchases through source_type and source_id.
Open guide →GuideUnderstand stock movement correlation IDs
Understand stock movement correlation IDsConnect related stock and audit events across one transaction.
Open guide →GuideUnderstand immutable inventory history
Understand immutable inventory historyTreat movement rows as append-only evidence.
Open guide →GuideUnderstand 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 →GuideUnderstand stock row locking
Understand stock row lockingKnow that stock updates lock the balance inside a database transaction.
Open guide →GuideUnderstand backorder behaviour
Understand backorder behaviourAllow a tracked product to pass negative-availability checks only when its backorder control is enabled.
Open guide →GuideUnderstand 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 →GuideUnderstand online stock reservation
Understand online stock reservationIncrease reserved stock when configured online orders are created.
Open guide →GuideUnderstand immediate online stock deduction
Understand immediate online stock deductionDeduct on hand during order creation when reservation is disabled.
Open guide →GuideUnderstand POS stock deduction
Understand POS stock deductionDeduct on hand immediately when a POS sale commits.
Open guide →GuideUnderstand return stock restoration
Understand return stock restorationRelease reserved quantity or restore on hand according to the original order path.
Open guide →GuideUnderstand purchase stock receipts
Understand purchase stock receiptsIncrease on hand and create a purchase movement when goods are received.
Open guide →GuideTroubleshoot insufficient stock
Troubleshoot insufficient stockReview available quantity, backorder control, location and concurrent reservations.
Open guide →GuideTroubleshoot an invalid stock adjustment
Troubleshoot an invalid stock adjustmentUse a non-zero delta, approved reason and required note.
Open guide →GuideTroubleshoot 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 →GuideTroubleshoot a stock transaction failure
Troubleshoot a stock transaction failureRetain the pre-transaction balance and inspect the exact validation/audit outcome.
Open guide →GuideUnderstand 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 →GuideRun an inventory reconciliation checklist
Run an inventory reconciliation checklistCompare balances, movement history, open reservations, purchases, sales and returns by location.
Open guide →WorkflowOpen topic
Open guide →GuideCreate a supplier
Create a supplierAdd a supplier with required identity and optional commercial details.
Open guide →GuideConfigure the supplier name
Configure the supplier nameUse the required legal/trading name.
Open guide →GuideConfigure the supplier email
Configure the supplier emailEnter a valid required email address.
Open guide →GuideConfigure supplier phone and address
Configure supplier phone and addressStore optional contact details.
Open guide →GuideConfigure supplier tax ID
Configure supplier tax IDStore the optional tax reference.
Open guide →GuideConfigure supplier payment terms
Configure supplier payment termsEnter a non-negative number of days.
Open guide →GuideTroubleshoot an invalid supplier
Troubleshoot an invalid supplierCorrect the required name and email.
Open guide →GuideChoose a supplier for a receipt
Choose a supplier for a receiptSelect an existing active tenant supplier.
Open guide →GuideReceive purchased goods
Receive purchased goodsCommit a one-product stock receipt.
Open guide →GuideChoose the receipt location
Choose the receipt locationSelect the tenant location receiving stock.
Open guide →GuideChoose the purchased product
Choose the purchased productSelect an active stock-tracked tenant product.
Open guide →GuideEnter purchase quantity
Enter purchase quantityUse a positive quantity compatible with the product.
Open guide →GuideEnter purchase unit cost
Enter purchase unit costUse a valid positive money amount.
Open guide →GuideRecord a lot or batch number
Record a lot or batch numberStore an optional lot/batch reference on the receipt line.
Open guide →GuideRecord a purchase expiry date
Record a purchase expiry dateStore an optional expiry date on the receipt line.
Open guide →GuideAdd purchase receipt notes
Add purchase receipt notesRecord operational context without sensitive data.
Open guide →GuideUnderstand purchase numbering and status
Understand purchase numbering and statusTrace the committed purchase and its receipt state.
Open guide →GuideUnderstand latest-cost updates
Understand latest-cost updatesKnow that a successful receipt updates the product unit cost.
Open guide →GuideUnderstand 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 →GuideUnderstand 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 →GuideTroubleshoot an invalid purchase receipt
Troubleshoot an invalid purchase receiptCheck supplier, product, location, quantity and cost.
Open guide →GuideTroubleshoot 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 →GuideReview purchase history
Review purchase historyUse the purchase register to verify supplier, location, quantity, cost and status.
Open guide →GuideRun the purchase receipt checklist
Run the purchase receipt checklistVerify supplier, product, location, stock movement, latest cost and audit event.
Open guide →WorkflowOpen topic
Open guide →GuideOpen the POS register
Open the POS registerStart the staff selling interface with the Sell capability.
Open guide →GuideSelect a register for a sale
Select a register for a saleChoose an active register with an open shift for the current staff member.
Open guide →GuideSearch products by name at the register
Search products by name at the registerUse the product search endpoint to find active products.
Open guide →GuideScan a barcode at the register
Scan a barcode at the registerUse an exact barcode match to add the intended product.
Open guide →GuideSearch by SKU at the register
Search by SKU at the registerUse an exact SKU code.
Open guide →GuideAdd a product to the POS basket
Add a product to the POS basketAdd one valid product and quantity.
Open guide →GuideChange a POS basket quantity
Change a POS basket quantityUse a positive compatible quantity.
Open guide →GuideRemove a POS basket line
Remove a POS basket lineRemove the selected line before checkout.
Open guide →GuideClear the current POS basket
Clear the current POS basketDiscard the browser-side basket before commit.
Open guide →GuideSell a weighed product
Sell a weighed productUse a decimal quantity supported by the product type.
Open guide →GuideSell a non-weighed product
Sell a non-weighed productUse an integer quantity; fractional quantities are rejected.
Open guide →GuideApply a coupon at the POS
Apply a coupon at the POSEnter an eligible code before totals are committed.
Open guide →GuideEnter a walk-in customer
Enter a walk-in customerUse the default walk-in identity where permitted.
Open guide →GuideEnter POS customer contact details
Enter POS customer contact detailsRecord valid customer name/email/phone values.
Open guide →GuideLink a POS sale to a CRM client and contact
Link a POS sale to a CRM client and contactSubmit tenant-valid client/contact IDs when the workflow supplies them.
Open guide →GuideAdd a POS sale note
Add a POS sale noteStore up to the supported note length.
Open guide →GuideTake a cash payment
Take a cash paymentRecord cash as the tender method.
Open guide →GuideTake an external card terminal payment
Take an external card terminal paymentRecord card_terminal and an approved terminal reference without card data.
Open guide →GuideTake a bank-transfer POS payment
Take a bank-transfer POS paymentRecord bank as the tender method and appropriate reference.
Open guide →GuideUnderstand the on-account label
Understand the on-account labelKnow the language key exists, but the register select in version 1.0.0 exposes cash, external card terminal and bank only.
Open guide →GuideUnderstand exact tender settlement
Understand exact tender settlementEnsure captured tender amounts equal the order total exactly.
Open guide →GuideUnderstand mixed tender support
Understand mixed tender supportKnow the service accepts multiple payment entries, while the supplied browser register submits one.
Open guide →GuideUnderstand POS payment references
Understand POS payment referencesUse a terminal/bank reference for operational traceability.
Open guide →GuideUnderstand POS idempotency keys
Understand POS idempotency keysPrevent a double sale when the same request is submitted again.
Open guide →GuideUnderstand POS order statuses
Understand POS order statusesKnow a successful register sale is completed, fulfilled and paid.
Open guide →GuideUnderstand POS stock commitment
Understand POS stock commitmentDeduct tracked on-hand stock in the order transaction.
Open guide →GuideUnderstand POS audit and webhook events
Understand POS audit and webhook eventsTrace sale, payment and stock events from one correlation ID.
Open guide →GuideTroubleshoot an empty POS basket
Troubleshoot an empty POS basketAdd at least one valid product.
Open guide →GuideTroubleshoot an invalid POS product or quantity
Troubleshoot an invalid POS product or quantityRefresh product data and use integer/decimal rules correctly.
Open guide →GuideTroubleshoot an invalid POS customer
Troubleshoot an invalid POS customerCorrect required identity/email validation.
Open guide →GuideTroubleshoot an invalid POS payment
Troubleshoot an invalid POS paymentChoose a supported tender and valid amount.
Open guide →GuideTroubleshoot tender totals that do not settle
Troubleshoot tender totals that do not settleCorrect the captured amount to equal the sale total.
Open guide →GuideTroubleshoot an invalid idempotency key
Troubleshoot an invalid idempotency keyUse the generated checkout request identifier unchanged.
Open guide →GuideTroubleshoot an idempotency conflict
Troubleshoot an idempotency conflictDo not reuse one key for different cart/customer/payment data.
Open guide →GuideTroubleshoot a POS checkout already processing
Troubleshoot a POS checkout already processingWait for the original transaction result and search orders before retrying.
Open guide →GuideTroubleshoot a POS checkout failure
Troubleshoot a POS checkout failureVerify no order was committed before retrying the same intended transaction.
Open guide →GuidePrint or retain a POS order reference
Print or retain a POS order referenceUse the committed order reference for support, fulfilment and reconciliation.
Open guide →GuideRun the cashier sale checklist
Run the cashier sale checklistVerify shift, product, quantity, customer, tender, total, reference and resulting order.
Open guide →WorkflowOpen topic
Open guide →GuideSearch the order register
Search the order registerFilter by reference, customer or email.
Open guide →GuideFilter orders by channel
Filter orders by channelShow POS or e-commerce orders.
Open guide →GuideFilter orders by order status
Filter orders by order statusUse the exact stored status values.
Open guide →GuideFilter orders by payment status
Filter orders by payment statusReview unpaid, paid and refund-related states.
Open guide →GuideOpen an order detail page
Open an order detail pageReview the complete order snapshot and available actions.
Open guide →GuideUnderstand order references and UUIDs
Understand order references and UUIDsUse the human reference for support and UUID for durable identity.
Open guide →GuideUnderstand POS and e-commerce channels
Understand POS and e-commerce channelsDistinguish staff register sales from public-store orders.
Open guide →GuideUnderstand pending, processing and completed orders
Understand pending, processing and completed ordersInterpret normal progression states.
Open guide →GuideUnderstand cancelled, void, refunded and returned orders
Understand cancelled, void, refunded and returned ordersKnow which states reports exclude and which actions are blocked.
Open guide →GuideUnderstand unpaid, paid and refund-due payments
Understand unpaid, paid and refund-due paymentsInterpret payment state separately from fulfilment.
Open guide →GuideUnderstand unfulfilled and fulfilled states
Understand unfulfilled and fulfilled statesInterpret delivery/stock completion separately from payment.
Open guide →GuideReview order customer details
Review order customer detailsUse the immutable checkout snapshot rather than assuming current CRM contact data.
Open guide →GuideReview 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 →GuideReview order totals
Review order totalsReconcile subtotal, discount, tax, shipping, rounding, total, paid and due minor values.
Open guide →GuideReview order payment rows
Review order payment rowsInspect method, amount, status, reference, provider and captured/refunded times.
Open guide →GuideReview the native invoice link
Review the native invoice linkOpen the connected core invoice when invoice_id is present.
Open guide →GuideFulfil an e-commerce order
Fulfil an e-commerce orderCommit reserved stock or finalise an already-deducted online order.
Open guide →GuideUnderstand fulfilment for reserved online stock
Understand fulfilment for reserved online stockDecrease reserved and on hand when fulfilment commits.
Open guide →GuideUnderstand fulfilment for immediately deducted stock
Understand fulfilment for immediately deducted stockAvoid a second stock deduction.
Open guide →GuideUnderstand paid fulfilment status
Understand paid fulfilment statusMove an eligible paid order to completed.
Open guide →GuideUnderstand unpaid fulfilment status
Understand unpaid fulfilment statusKeep an eligible unpaid fulfilled order in processing.
Open guide →GuideTroubleshoot an order that cannot be fulfilled
Troubleshoot an order that cannot be fulfilledCheck channel, status and current fulfilment state.
Open guide →GuideCreate a full order return
Create a full order returnEnter a reason and create the compensating return.
Open guide →GuideUnderstand whole-order return limitations
Understand whole-order return limitationsKnow version 1.0.0 does not expose partial line/quantity returns.
Open guide →GuideUnderstand 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 →GuideUnderstand refund-due payment records
Understand refund-due payment recordsKnow a paid return marks money as due for external refund.
Open guide →GuideComplete 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 →GuideTroubleshoot an order that cannot be returned
Troubleshoot an order that cannot be returnedCheck current status, existing returns and reason length.
Open guide →GuideReview return and return-line evidence
Review return and return-line evidenceInspect the compensating records linked to the source order.
Open guide →GuideUnderstand order-created, updated and returned webhooks
Understand order-created, updated and returned webhooksKnow which lifecycle actions queue integration events.
Open guide →GuideUnderstand order audit correlation
Understand order audit correlationTrace order, stock, payment and return events together.
Open guide →GuideUnderstand order public access tokens
Understand order public access tokensUse the reference/token route without exposing the stored token hash.
Open guide →GuideUnderstand order idempotency records
Understand order idempotency recordsKnow request hash, response and expiry protect checkout commits.
Open guide →GuideUnderstand invoice payment reconciliation hooks
Understand invoice payment reconciliation hooksKnow payment add/update/delete hooks recalculate the POS order payment status.
Open guide →GuideReconcile 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 →GuideTroubleshoot 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 →GuideUnderstand order confirmation email timing
Understand order confirmation email timingKnow the customer email is sent after public order creation when enabled.
Open guide →GuideUnderstand internal order notification timing
Understand internal order notification timingKnow the configured internal recipient is notified for public orders.
Open guide →GuideRun an order fulfilment checklist
Run an order fulfilment checklistVerify eligibility, stock path, status, audit and customer operations.
Open guide →GuideRun an order return checklist
Run an order return checklistVerify full-return scope, reason, stock, refund_due marker and external refund responsibility.
Open guide →WorkflowOpen topic
Open guide →GuideOpen the public shop
Open the public shopBrowse /shop when the store is enabled.
Open guide →GuideUnderstand the disabled-store 404 response
Understand the disabled-store 404 responseKnow the module deliberately hides all public shop actions when disabled.
Open guide →GuideBrowse public product categories
Browse public product categoriesOpen active category routes.
Open guide →GuideOpen a public category page
Open a public category pageUse /shop/category/{slug}.
Open guide →GuideOpen a public product page
Open a public product pageUse /shop/product/{slug}.
Open guide →GuideSearch the public catalogue
Search the public catalogueSearch eligible products by the supported query.
Open guide →GuideUnderstand public catalogue pagination
Understand public catalogue paginationBrowse 24 products per page.
Open guide →GuideUnderstand public search noindex behaviour
Understand public search noindex behaviourKnow search results use noindex,follow to avoid indexing result combinations.
Open guide →GuideUnderstand public-store product eligibility
Understand public-store product eligibilityRequire active/public product and supported stock/backorder state.
Open guide →GuideUnderstand public category eligibility
Understand public category eligibilityRequire an active tenant category.
Open guide →GuideUnderstand product availability messages
Understand product availability messagesDistinguish available now, available to order and unavailable.
Open guide →GuideAdd an item to the cart
Add an item to the cartSubmit a product and valid quantity.
Open guide →GuideAdd a weighed item to the cart
Add a weighed item to the cartUse up to the supported decimal precision.
Open guide →GuideAdd a non-weighed item to the cart
Add a non-weighed item to the cartUse a whole-number quantity.
Open guide →GuideUnderstand the 100-product cart limit
Understand the 100-product cart limitKeep no more than 100 distinct product IDs in one session cart.
Open guide →GuideUnderstand the 100,000 quantity limit
Understand the 100,000 quantity limitKeep each submitted quantity at or below the enforced maximum.
Open guide →GuideUpdate cart quantities
Update cart quantitiesRecalculate the cart after changing values.
Open guide →GuideRemove an item from the cart
Remove an item from the cartDelete the selected product from the session cart.
Open guide →GuideApply a coupon in the cart
Apply a coupon in the cartRecalculate eligible promotions using the submitted code.
Open guide →GuideReview cart subtotal, discount, tax and shipping
Review cart subtotal, discount, tax and shippingUse server-calculated totals.
Open guide →GuideUnderstand cart recalculation after catalogue changes
Understand cart recalculation after catalogue changesKnow unavailable products/promotions can be removed or rejected during recalculation.
Open guide →GuideTroubleshoot an empty cart
Troubleshoot an empty cartAdd an eligible product before checkout.
Open guide →GuideTroubleshoot a product unavailable message
Troubleshoot a product unavailable messageCheck active/public, stock, reservation and backorder conditions.
Open guide →GuideTroubleshoot an invalid cart quantity
Troubleshoot an invalid cart quantityCorrect positivity, maximum, integer or weighed precision rules.
Open guide →GuideUnderstand public navigation and breadcrumbs
Understand public navigation and breadcrumbsUse shop, category, product, cart and checkout links generated by the module.
Open guide →GuideUnderstand public product structured data
Understand public product structured dataKnow the product page emits code-backed product/offer metadata.
Open guide →GuideUnderstand public store company branding
Understand public store company brandingUse the current tenant company identity and saved store content.
Open guide →GuideRun 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 →WorkflowOpen topic
Open guide →GuideOpen the public checkout
Open the public checkoutMove from a valid cart to /shop/checkout.
Open guide →GuideUnderstand checkout rate limiting
Understand checkout rate limitingKnow checkout allows 20 attempts per hour per IP.
Open guide →GuideCheckout as a guest
Checkout as a guestUse bank transfer or cash on delivery when guest checkout is enabled.
Open guide →GuideCheckout as a signed-in client
Checkout as a signed-in clientUse saved client/contact identity and eligible native invoice payment.
Open guide →GuideUnderstand why checkout requires sign-in
Understand why checkout requires sign-inKnow anonymous users are redirected when guest checkout is disabled.
Open guide →GuideEnter the checkout full name
Enter the checkout full nameProvide the required name up to 191 characters.
Open guide →GuideEnter the checkout email address
Enter the checkout email addressProvide a valid required email up to 191 characters.
Open guide →GuideEnter the checkout phone number
Enter the checkout phone numberProvide an optional phone up to 60 characters.
Open guide →GuideEnter the shipping address
Enter the shipping addressProvide optional delivery details up to 5,000 characters.
Open guide →GuideAdd checkout order notes
Add checkout order notesProvide optional notes up to 1,000 characters.
Open guide →GuideAccept checkout terms
Accept checkout termsTick the required terms acceptance control.
Open guide →GuideOpen checkout terms and privacy links
Open checkout terms and privacy linksUse optional configured links with safe new-tab behaviour.
Open guide →GuideChoose native invoice payment
Choose native invoice paymentUse the host invoice payment flow when available to a signed-in client.
Open guide →GuideChoose bank-transfer checkout
Choose bank-transfer checkoutCreate an unpaid order and follow configured instructions.
Open guide →GuideChoose cash on delivery or collection
Choose cash on delivery or collectionCreate an unpaid order for operational collection.
Open guide →GuideUnderstand native invoice availability
Understand native invoice availabilityRequire signed-in client, enabled auto invoicing and active host payment modes.
Open guide →GuideUnderstand native invoice creation
Understand native invoice creationKnow the module creates a connected core invoice for eligible checkout.
Open guide →GuideOpen the native invoice payment URL
Open the native invoice payment URLUse the host invoice hash route from the public order page.
Open guide →GuideUnderstand guest payment limitations
Understand guest payment limitationsKnow guests do not receive native invoice online payment in the supplied flow.
Open guide →GuideUnderstand public checkout idempotency
Understand public checkout idempotencyUse checkout_key to prevent duplicate order commits.
Open guide →GuideUnderstand public order references and tokens
Understand public order references and tokensOpen /shop/order/{reference}/{token} without exposing the stored hash.
Open guide →GuideView a public order confirmation page
View a public order confirmation pageReview status, lines, totals, payment guidance and invoice link.
Open guide →GuideTroubleshoot 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 →GuideUnderstand customer order confirmation email
Understand customer order confirmation emailUse the module-created template and saved enable toggle.
Open guide →GuideUnderstand internal new-order email
Understand internal new-order emailSend one module email to the configured internal address.
Open guide →GuideUnderstand host SMTP dependency
Understand host SMTP dependencyKnow both module emails use the host mail service and templates.
Open guide →GuideTroubleshoot a missing order confirmation email
Troubleshoot a missing order confirmation emailCheck the toggle, template, recipient and host SMTP/mail logs.
Open guide →GuideTroubleshoot a missing internal notification
Troubleshoot a missing internal notificationCheck the internal email setting, template and host mail delivery.
Open guide →GuideTroubleshoot terms-required validation
Troubleshoot terms-required validationReturn to checkout and explicitly accept the terms.
Open guide →GuideTroubleshoot an unavailable payment method
Troubleshoot an unavailable payment methodRefresh eligibility and choose bank transfer or cash when native invoice is unavailable.
Open guide →GuideTroubleshoot guest checkout disabled
Troubleshoot guest checkout disabledSign in as a client or enable guest checkout through authorised settings.
Open guide →GuideTroubleshoot too many checkout attempts
Troubleshoot too many checkout attemptsWait for the rate window rather than bypassing the limiter.
Open guide →GuideTroubleshoot a checkout processing response
Troubleshoot a checkout processing responseSearch for the existing order created by the same key.
Open guide →GuideTroubleshoot checkout after stock changed
Troubleshoot checkout after stock changedRefresh the basket and accept the recalculated availability/totals.
Open guide →GuideUnderstand payment-card data boundaries
Understand payment-card data boundariesKnow the module never requests or stores raw card data.
Open guide →GuideRun 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 →GuideRun 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 →WorkflowOpen topic
Open guide →GuideRun the POS sales report
Run the POS sales reportChoose a date range and review the supplied summary.
Open guide →GuideUnderstand the default report period
Understand the default report periodUse the current calendar month in the relevant location timezone.
Open guide →GuideSet the report from and to dates
Set the report from and to datesSubmit valid dates; reversed values are normalised by swapping them.
Open guide →GuideUnderstand report timezone handling
Understand report timezone handlingInterpret date boundaries using the default location timezone.
Open guide →GuideUnderstand sales report exclusions
Understand sales report exclusionsKnow cancelled, void, refunded and returned orders are excluded.
Open guide →GuideReview total sales and collected values
Review total sales and collected valuesCompare order total and captured payment aggregates.
Open guide →GuideReview sales by channel
Review sales by channelCompare POS and e-commerce order totals.
Open guide →GuideReview the top-products report
Review the top-products reportSee up to 20 products by reported sales activity.
Open guide →GuideUnderstand report export limitations
Understand report export limitationsKnow version 1.0.0 exposes on-screen reports but no CSV/PDF export action.
Open guide →GuideTroubleshoot unexpected report totals
Troubleshoot unexpected report totalsCheck date/timezone, status exclusions, channel and payment state.
Open guide →GuideOpen the POS audit register
Open the POS audit registerReview the most recent 200 tenant events.
Open guide →GuideUnderstand tamper-evident audit chaining
Understand tamper-evident audit chainingKnow each event hash incorporates the previous hash and an HMAC key.
Open guide →GuideUnderstand audit tenant isolation
Understand audit tenant isolationKnow event queries and chain predecessors are tenant-scoped.
Open guide →GuideUnderstand audit event actors
Understand audit event actorsDistinguish staff/system actor IDs.
Open guide →GuideUnderstand audit reasons and summaries
Understand audit reasons and summariesUse structured redacted context rather than secrets.
Open guide →GuideUnderstand audit correlation IDs
Understand audit correlation IDsTrace related business events.
Open guide →GuideUnderstand 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 →GuideTroubleshoot a suspected audit inconsistency
Troubleshoot a suspected audit inconsistencyPreserve evidence and perform a controlled technical verification without rewriting rows.
Open guide →GuideUnderstand checkout CSRF and input validation
Understand checkout CSRF and input validationKnow staff/public POST actions use host form/CSRF and server validation.
Open guide →GuideUnderstand public token hashing
Understand public token hashingKnow only a SHA-256 hash is stored for public order access.
Open guide →GuideUnderstand API secret hashing
Understand API secret hashingKnow full API credentials are shown once and only hashes are retained.
Open guide →GuideUnderstand webhook secret encryption
Understand webhook secret encryptionKnow webhook secrets are protected with AES-256-GCM using a generated module key.
Open guide →GuideUnderstand rate-limit records
Understand rate-limit recordsKnow checkout/API windows are tenant-scoped and expired rows are cleaned by cron.
Open guide →GuideUnderstand no-store and security headers
Understand no-store and security headersKnow sensitive public/API responses apply restrictive caching/security behaviour.
Open guide →GuideUnderstand tenant-safe queries
Understand tenant-safe queriesKnow operational reads/writes include the current tenant key.
Open guide →GuideRun the POS security checklist
Run the POS security checklistVerify least privilege, HTTPS, tokens, API scopes, webhook endpoints, SMTP and audit evidence.
Open guide →WorkflowOpen topic
Open guide →GuideCreate a POS API key
Create a POS API keyName the credential, select read scopes and optionally set expiry.
Open guide →GuideCopy the one-time API secret
Copy the one-time API secretStore the full secret immediately because it is not shown again.
Open guide →GuideUnderstand the bpos_ API secret format
Understand the bpos_ API secret formatUse the bpos_ prefix and generated hexadecimal secret.
Open guide →GuideUnderstand stored API key hashes
Understand stored API key hashesKnow the database stores prefix/hash rather than the full credential.
Open guide →GuideChoose API key expiry
Choose API key expirySet an optional datetime after which authentication fails.
Open guide →GuideGrant catalogue:read
Grant catalogue:readAllow product list and product detail reads.
Open guide →GuideGrant inventory:read
Grant inventory:readAllow stock list reads.
Open guide →GuideGrant orders:read
Grant orders:readAllow order list and detail reads.
Open guide →GuideUnderstand 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 →GuideAuthenticate with a Bearer token
Authenticate with a Bearer tokenSend Authorization: Bearer {secret}.
Open guide →GuideUnderstand API rate limits
Understand API rate limitsUse 600 requests/hour per key+IP for business endpoints and 120/hour/IP for health.
Open guide →GuideUnderstand API pagination
Understand API paginationUse limit 1–100 and non-negative offset.
Open guide →GuideCall the API health endpoint
Call the API health endpointGET /britixo-pos/api/v1/health without a business scope.
Open guide →GuideList products through the API
List products through the APIGET /britixo-pos/api/v1/products with catalogue:read.
Open guide →GuideFilter API products
Filter API productsUse supported query/status/pagination values exposed by the controller/model.
Open guide →GuideGet one product through the API
Get one product through the APIGET /britixo-pos/api/v1/products/{id} with catalogue:read.
Open guide →GuideList orders through the API
List orders through the APIGET /britixo-pos/api/v1/orders with orders:read.
Open guide →GuideFilter API orders
Filter API ordersUse supported status/channel/search/pagination filters.
Open guide →GuideGet one order through the API
Get one order through the APIGET /britixo-pos/api/v1/orders/{reference} with orders:read.
Open guide →GuideList stock through the API
List stock through the APIGET /britixo-pos/api/v1/stock with inventory:read.
Open guide →GuideUnderstand API tenant isolation
Understand API tenant isolationKnow all returned records are restricted to the authenticated tenant.
Open guide →GuideUnderstand API JSON and cache headers
Understand API JSON and cache headersHandle structured JSON and no-store/security headers.
Open guide →GuideHandle an API missing-token response
Handle an API missing-token responseSupply a valid Bearer credential.
Open guide →GuideHandle an invalid, revoked or expired API key
Handle an invalid, revoked or expired API keyReplace or reactivate integration credentials through authorised settings.
Open guide →GuideHandle an API scope-denied response
Handle an API scope-denied responseGrant only the required read scope or use another key.
Open guide →GuideHandle an API record-not-found response
Handle an API record-not-found responseVerify tenant and identifier.
Open guide →GuideHandle an API validation response
Handle an API validation responseCorrect limit, offset or filter values.
Open guide →GuideHandle an API rate-limit response
Handle an API rate-limit responseBack off until the current rate window expires.
Open guide →GuideRevoke an API key
Revoke an API keyUse Settings to invalidate a credential immediately.
Open guide →GuideReview API key last-used information
Review API key last-used informationUse prefix, scopes and last_used_at for credential governance.
Open guide →GuideUnderstand API write limitations
Understand API write limitationsKnow there are no create/update/delete routes in version 1.0.0.
Open guide →GuideRun the API integration checklist
Run the API integration checklistVerify HTTPS, secret storage, scopes, expiry, pagination, rate handling and revocation.
Open guide →WorkflowOpen topic
Open guide →GuideCreate a signed POS webhook
Create a signed POS webhookSet a name, safe public HTTPS endpoint and one or more events.
Open guide →GuideCopy the one-time webhook secret
Copy the one-time webhook secretStore the full secret immediately.
Open guide →GuideUnderstand webhook secret encryption at rest
Understand webhook secret encryption at restKnow secrets are encrypted with AES-256-GCM at rest.
Open guide →GuideUnderstand webhook encryption requirements
Understand webhook encryption requirementsKnow OpenSSL and a valid generated module key are required.
Open guide →GuideChoose webhook events
Choose webhook eventsSubscribe only to events the receiver processes.
Open guide →GuideSubscribe to product.created
Subscribe to product.createdReceive new-product events.
Open guide →GuideSubscribe to product.updated
Subscribe to product.updatedReceive changed-product events.
Open guide →GuideSubscribe to stock.changed
Subscribe to stock.changedReceive stock balance events.
Open guide →GuideSubscribe to order.created
Subscribe to order.createdReceive new order events.
Open guide →GuideSubscribe to order.updated
Subscribe to order.updatedReceive fulfilment/payment/order change events.
Open guide →GuideSubscribe to order.returned
Subscribe to order.returnedReceive full return events.
Open guide →GuideSubscribe to payment.updated
Subscribe to payment.updatedReceive payment reconciliation events.
Open guide →GuideSubscribe to purchase.received
Subscribe to purchase.receivedReceive purchase receipt events.
Open guide →GuideUnderstand webhook event IDs
Understand webhook event IDsUse the unique event identifier for receiver idempotency.
Open guide →GuideUnderstand webhook request headers
Understand webhook request headersRead X-Britixo-Event, X-Britixo-Event-Id, X-Britixo-Timestamp and X-Britixo-Signature.
Open guide →GuideVerify the webhook HMAC signature
Verify the webhook HMAC signatureCalculate SHA-256 HMAC over timestamp + dot + raw payload.
Open guide →GuideUnderstand webhook payload timestamps
Understand webhook payload timestampsUse the supplied timestamp in signature verification and replay policy.
Open guide →GuideUnderstand webhook endpoint SSRF protection
Understand webhook endpoint SSRF protectionKnow private/reserved/localhost/.local targets are rejected.
Open guide →GuideUnderstand 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 →GuideUnderstand webhook redirect blocking
Understand webhook redirect blockingKnow outbound delivery does not follow redirects.
Open guide →GuideUnderstand webhook connection timeouts
Understand webhook connection timeoutsDesign receivers for 5-second connect and 10-second total timeout.
Open guide →GuideUnderstand webhook retry scheduling
Understand webhook retry schedulingUse exponential delay with a six-hour cap.
Open guide →GuideUnderstand the eight-attempt limit
Understand the eight-attempt limitKnow a delivery becomes dead after its final failed attempt.
Open guide →GuideUnderstand webhook delivery uniqueness
Understand webhook delivery uniquenessKnow one webhook/event pair is queued once.
Open guide →GuideUnderstand cron webhook processing
Understand cron webhook processingKnow after_cron_run processes up to 25 queued deliveries per run.
Open guide →GuideUnderstand stale idempotency and rate-limit cleanup
Understand stale idempotency and rate-limit cleanupKnow the same cron hook removes expired protective records.
Open guide →GuideReturn a successful webhook response
Return a successful webhook responseRespond 2xx promptly after safe validation/queueing.
Open guide →GuideHandle duplicate webhook delivery safely
Handle duplicate webhook delivery safelyMake receiver logic idempotent by event ID.
Open guide →GuideHandle a webhook signature failure
Handle a webhook signature failureReject the request without processing and verify secret/raw-body handling.
Open guide →GuideTroubleshoot a webhook endpoint rejected as unsafe
Troubleshoot a webhook endpoint rejected as unsafeUse a publicly resolvable HTTPS endpoint with only public IPs.
Open guide →GuideTroubleshoot webhook delivery timeouts
Troubleshoot webhook delivery timeoutsReduce receiver latency and return before the module timeout.
Open guide →GuideTroubleshoot repeated webhook retries
Troubleshoot repeated webhook retriesInspect receiver response codes and signature handling.
Open guide →GuideTroubleshoot 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 →GuideDisable a webhook
Disable a webhookStop future event queueing from the settings list.
Open guide →GuideUnderstand 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 →GuideRun the webhook receiver checklist
Run the webhook receiver checklistVerify HTTPS, public DNS, signature, replay protection, idempotency, timeouts and 2xx response.
Open guide →WorkflowOpen topic
Open guide →GuideUnderstand the public shop route map
Understand the public shop route mapMap shop home, categories, products, cart, checkout, orders, sitemaps and PWA endpoints.
Open guide →GuideConfigure the shop SEO title and description
Configure the shop SEO title and descriptionUse store title/tagline/default meta description.
Open guide →GuideConfigure category SEO
Configure category SEOUse category slug, meta title, meta description and active status.
Open guide →GuideConfigure product SEO
Configure product SEOUse product slug, meta title, meta description and noindex control.
Open guide →GuideUnderstand canonical shop URLs
Understand canonical shop URLsUse clean /shop, /shop/category/{slug} and /shop/product/{slug} routes.
Open guide →GuideUnderstand noindex search pages
Understand noindex search pagesPrevent indexing of internal search result combinations.
Open guide →GuideUnderstand product noindex
Understand product noindexExclude an individual public product from indexing while keeping it accessible.
Open guide →GuideOpen the shop sitemap index
Open the shop sitemap indexUse /shop/sitemap.xml.
Open guide →GuideOpen the shop category sitemap
Open the shop category sitemapUse /shop/sitemap-categories.xml.
Open guide →GuideOpen paged product sitemaps
Open paged product sitemapsUse /shop/sitemap-products-{page}.xml.
Open guide →GuideUnderstand sitemap product eligibility
Understand sitemap product eligibilityInclude active/public/indexable products supported by the sitemap query.
Open guide →GuideTroubleshoot an empty or missing sitemap entry
Troubleshoot an empty or missing sitemap entryCheck store/category/product eligibility and slug.
Open guide →GuideOpen the PWA manifest
Open the PWA manifestUse /shop/manifest.webmanifest.
Open guide →GuideUnderstand PWA names and accent colours
Understand PWA names and accent coloursUse tenant store title/company identity and safe accent values.
Open guide →GuideOpen the shop service worker
Open the shop service workerUse /shop/service-worker.js.
Open guide →GuideUnderstand service-worker scope and caching
Understand service-worker scope and cachingKeep caching confined to safe public shop assets/content.
Open guide →GuideOpen the offline fallback page
Open the offline fallback pageUse /shop/offline.
Open guide →GuideUnderstand offline checkout safety
Understand offline checkout safetyKnow an offline browser cannot commit an order.
Open guide →GuideUnderstand public security headers
Understand public security headersReview CSP/HSTS/no-store behaviour from the supplied controller/layout.
Open guide →GuideTroubleshoot PWA installation
Troubleshoot PWA installationCheck HTTPS, manifest, icons/metadata and service-worker response.
Open guide →GuideTroubleshoot stale public content
Troubleshoot stale public contentRefresh service-worker/browser cache without caching sensitive responses.
Open guide →GuideRun the SEO and PWA checklist
Run the SEO and PWA checklistVerify canonical, metadata, structured data, robots, sitemaps, manifest, worker and offline behaviour.
Open guide →WorkflowOpen topic
Open guide →GuideUnderstand the POS controller architecture
Understand the POS controller architectureMap Britixo_pos, Pos_shop, Api_v1 and the compatibility controller.
Open guide →GuideUnderstand the model and service responsibilities
Understand the model and service responsibilitiesSeparate persistence/integration operations from cart/order calculation and commit logic.
Open guide →GuideUnderstand tenant keys
Understand tenant keysKnow how bpos_tenant_key identifies the current SaaS tenant.
Open guide →GuideUnderstand database transaction boundaries
Understand database transaction boundariesKnow order, stock, purchase, shift and return writes are committed or rolled back together.
Open guide →GuideUnderstand immutable order snapshots
Understand immutable order snapshotsKnow line/customer/money values are retained independently of later catalogue changes.
Open guide →GuideUnderstand correlation IDs
Understand correlation IDsTrace related audit, inventory, order and webhook records.
Open guide →GuideUnderstand host invoice integration
Understand host invoice integrationLink native invoices through invoice_id and payment hooks without changing core invoice tables.
Open guide →GuideUnderstand host email integration
Understand host email integrationUse create_email_template and the host mail classes/SMTP.
Open guide →GuideUnderstand host menu and capability hooks
Understand host menu and capability hooksUse admin_init, clients_init and registered staff capabilities.
Open guide →GuideUnderstand cron and payment hooks
Understand cron and payment hooksUse after_cron_run and payment add/update/delete events.
Open guide →GuideUnderstand the categories table
Understand the categories tableMap the module-owned categories records without editing them directly.
Open guide →GuideUnderstand the locations table
Understand the locations tableMap the module-owned locations records without editing them directly.
Open guide →GuideUnderstand the registers table
Understand the registers tableMap the module-owned registers records without editing them directly.
Open guide →GuideUnderstand the shifts table
Understand the shifts tableMap the module-owned shifts records without editing them directly.
Open guide →GuideUnderstand the products table
Understand the products tableMap the module-owned products records without editing them directly.
Open guide →GuideUnderstand the stock table
Understand the stock tableMap the module-owned stock records without editing them directly.
Open guide →GuideUnderstand the inventory_movements table
Understand the inventory_movements tableMap the module-owned inventory_movements records without editing them directly.
Open guide →GuideUnderstand the orders table
Understand the orders tableMap the module-owned orders records without editing them directly.
Open guide →GuideUnderstand the order_lines table
Understand the order_lines tableMap the module-owned order_lines records without editing them directly.
Open guide →GuideUnderstand the payments table
Understand the payments tableMap the module-owned payments records without editing them directly.
Open guide →GuideUnderstand the returns table
Understand the returns tableMap the module-owned returns records without editing them directly.
Open guide →GuideUnderstand the return_lines table
Understand the return_lines tableMap the module-owned return_lines records without editing them directly.
Open guide →GuideUnderstand the suppliers table
Understand the suppliers tableMap the module-owned suppliers records without editing them directly.
Open guide →GuideUnderstand the purchases table
Understand the purchases tableMap the module-owned purchases records without editing them directly.
Open guide →GuideUnderstand the purchase_lines table
Understand the purchase_lines tableMap the module-owned purchase_lines records without editing them directly.
Open guide →GuideUnderstand the promotions table
Understand the promotions tableMap the module-owned promotions records without editing them directly.
Open guide →GuideUnderstand the gift_cards table
Understand the gift_cards tableMap the module-owned gift_cards records without editing them directly.
Open guide →GuideUnderstand the gift_ledger table
Understand the gift_ledger tableMap the module-owned gift_ledger records without editing them directly.
Open guide →GuideUnderstand the digital_entitlements table
Understand the digital_entitlements tableMap the module-owned digital_entitlements records without editing them directly.
Open guide →GuideUnderstand the audit_events table
Understand the audit_events tableMap the module-owned audit_events records without editing them directly.
Open guide →GuideUnderstand the idempotency table
Understand the idempotency tableMap the module-owned idempotency records without editing them directly.
Open guide →GuideUnderstand the api_keys table
Understand the api_keys tableMap the module-owned api_keys records without editing them directly.
Open guide →GuideUnderstand the webhooks table
Understand the webhooks tableMap the module-owned webhooks records without editing them directly.
Open guide →GuideUnderstand the webhook_deliveries table
Understand the webhook_deliveries tableMap the module-owned webhook_deliveries records without editing them directly.
Open guide →GuideUnderstand the rate_limits table
Understand the rate_limits tableMap the module-owned rate_limits records without editing them directly.
Open guide →GuidePOS administrator endpoint reference
POS administrator endpoint referenceMap every live Britixo_pos controller method and capability gate.
Open guide →GuidePOS public endpoint reference
POS public endpoint referenceMap every live Pos_shop route.
Open guide →GuidePOS API endpoint reference
POS API endpoint referenceMap every live read-only Api_v1 route and scope.
Open guide →GuideUnderstand the OpenAPI document
Understand the OpenAPI documentUse docs/openapi.yaml as the supplied read-only API contract and verify it against routes.
Open guide →GuideUnderstand module release audit evidence
Understand module release audit evidenceUse docs/RELEASE-AUDIT.md and archive hashes as package evidence.
Open guide →GuideUnderstand compatibility controller behaviour
Understand compatibility controller behaviourKnow Britixo_enterprise_pos.php is present alongside the active Britixo_pos controller naming convention.
Open guide →GuideUnderstand data retention boundaries
Understand data retention boundariesPreserve module data on deactivation and plan any deletion as a separately authorised process.
Open guide →WorkflowOpen topic
Open guide →GuideTroubleshoot 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 →GuideTroubleshoot 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 →GuideTroubleshoot a public shop 404
Troubleshoot a public shop 404Check the saved store-enabled toggle and route deployment.
Open guide →GuideTroubleshoot 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 →GuideTroubleshoot a missing product image
Troubleshoot a missing product imageVerify the saved external image URL and browser policy.
Open guide →GuideTroubleshoot incorrect public branding
Troubleshoot incorrect public brandingCheck tenant company options and saved store title/tagline/accent.
Open guide →GuideTroubleshoot an incorrect online stock location
Troubleshoot an incorrect online stock locationCheck the default location setting and product stock row.
Open guide →GuideTroubleshoot a low-stock dashboard warning
Troubleshoot a low-stock dashboard warningCompare available quantity, threshold and reorder data.
Open guide →GuideTroubleshoot 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 →GuideTroubleshoot a duplicated checkout concern
Troubleshoot a duplicated checkout concernSearch orders by reference/idempotency before any retry.
Open guide →GuideTroubleshoot concurrent stock changes
Troubleshoot concurrent stock changesRefresh the cart/register and honour locked transaction results.
Open guide →GuideTroubleshoot an order status mismatch
Troubleshoot an order status mismatchCompare payment, fulfilment and return evidence separately.
Open guide →GuideTroubleshoot an incorrect paid or due amount
Troubleshoot an incorrect paid or due amountReconcile payment rows and any linked invoice payments.
Open guide →GuideTroubleshoot an email template issue
Troubleshoot an email template issueReview the two module-created templates and host SMTP without altering unrelated templates.
Open guide →GuideTroubleshoot API authentication
Troubleshoot API authenticationCheck Bearer format, hash match, expiry, revocation and tenant.
Open guide →GuideTroubleshoot API permission scope
Troubleshoot API permission scopeUse the minimum correct read scope.
Open guide →GuideTroubleshoot webhook encryption unavailable
Troubleshoot webhook encryption unavailableRestore OpenSSL/module encryption-key support before creating a secret.
Open guide →GuideTroubleshoot webhook DNS changes
Troubleshoot webhook DNS changesEnsure all newly resolved endpoint addresses remain public and safe.
Open guide →GuideTroubleshoot cron backlog
Troubleshoot cron backlogConfirm host cron runs and processes up to 25 webhook deliveries per run.
Open guide →GuideTroubleshoot 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 →GuideUnderstand full-return-only limitations
Understand full-return-only limitationsNo partial return screen is supplied.
Open guide →GuideUnderstand external-refund limitations
Understand external-refund limitationsNo card, bank or gateway refund is executed by the return action.
Open guide →GuideUnderstand inventory editor limitations
Understand inventory editor limitationsNo direct UI edits reserved, in-transit, quarantined, damaged or reorder quantities.
Open guide →GuideUnderstand purchase workflow limitations
Understand purchase workflow limitationsOne product line per receipt; no full purchase-order approval/payment UI.
Open guide →GuideUnderstand promotion limitations
Understand promotion limitationsOne best promotion per line; no active stacking despite schema capability.
Open guide →GuideUnderstand product-type limitations
Understand product-type limitationsAdvanced combo/recipe/variant/lot/serial/digital workflows are not implemented as full screens.
Open guide →GuideUnderstand gift-card limitations
Understand gift-card limitationsGift card and ledger tables exist but no management/checkout UI is exposed.
Open guide →GuideUnderstand digital entitlement limitations
Understand digital entitlement limitationsThe table exists but no delivery/entitlement administration screen is exposed.
Open guide →GuideUnderstand API limitations
Understand API limitationsRead-only GET routes; no report route despite selectable reports:read.
Open guide →GuideUnderstand webhook administration limitations
Understand webhook administration limitationsCreate and disable only; no edit/re-enable/delete/delivery browser/replay screen.
Open guide →GuideUnderstand audit UI limitations
Understand audit UI limitationsMost recent 200 display; no full verifier or export control.
Open guide →GuideUnderstand report limitations
Understand report limitationsCurrent supplied summaries only; no export or formal accounting statements.
Open guide →GuideUnderstand shift cash-event limitations
Understand shift cash-event limitationsExpected formula stores paid-in/out/drop values, but no UI posts them.
Open guide →GuideUnderstand cash-on-delivery configuration limitations
Understand cash-on-delivery configuration limitationsThe method is available without its own enable/disable setting.
Open guide →GuideUnderstand uninstall limitations
Understand uninstall limitationsNo destructive automatic uninstall is supplied; data deletion requires separate authorisation.
Open guide →GuideRun 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 →GuideRun 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 →GuideRun 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 →GuideRun 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 →GuideRun the complete integration acceptance test
Run the complete integration acceptance testTest API scopes/rates and webhook signing/retries/dead-letter behaviour.
Open guide →GuideRun 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 →GuideRun 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 →GuideRun 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 →GuideRun 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