Vendors / Open source & self-hostable
NexoPOS
dossier live
- Claims in scope
- 257
- Scored
- 257
- Assessed
- 250
- Unknown
- 7
- Not applicable
- 57
- Cells challenged
- 20
Identity
- Owner
- Blair2004 (GitHub handle of the sole principal maintainer). The commercial side — my.nexopos.com marketplace, cloud hosting, paid modules — is operated by Nexo Solutions LLC, per the site footer and Terms of Use.
- Parent
- Blair2004
- Founded
- GitHub repository Blair2004/NexoPOS created 2020-06-25 (GitHub API). An earlier v4 lineage is referenced in issues but I could not establish an original founding date.
- Scale
- unknown. No revenue, customer-count or install-count figure is published. Only proxies: 1,231 GitHub stars / 552 forks / 3,777 commits (GitHub API, 2026-08-01); marketplace review counts are single- and double-digit (Gastro 8 ratings, Nexo Print Server 29, Multistore 2). No G2, Capterra or TrustRadius listing exists — Capterra site search for 'NexoPOS' returns only unrelated products.
- Who it is for
- Single-site independent retail, grocery, cafe and small restaurant operators — heavily non-US — who have a sysadmin or developer able to run PHP 8.2 + MySQL/MariaDB + Nginx with cron and Supervisor on their own server. Restaurant use is an add-on layer (Gastro, $45) rather than the core design point. Not a fit for multi-unit US chains: no payments, no labor, no delivery, no third-party marketplace integration.
- Site
- https://github.com/Blair2004/NexoPOS
Pricing
transparency: partial · unit: mixed · processor lock-in: no
- Software
- Core NexoPOS: $0, GPL-3.0, self-hosted. Restaurant capability requires paid first-party modules, published in exact dollars: Gastro (tables/kitchen) $45; Raw Material Tracker (recipes/ingredient depletion) $20; Multistore $42; NPS Adapter (print-server bridge) $15; WhatsApp Notification $19; Nexo SaaS $99; NexoPOS For Windows $39. Bundles: Restaurant Essentials $69 (list $100, -31%, 5 apps), Retail Essential $59 (list $85), Warehouse Essential $79 (list $122). Nexo Print Server, Options Import/Export, Email Service Driver and Barcode Utility are $0. NexoPOS Cloud hosting exists per the Terms and docs nav, but no price is published anywhere and the Cloud Hosting docs category is empty ('This category has no content yet').
- Card processing
- n/a — NexoPOS is not a payment processor and integrates no card processing. Documentation states: 'Creating a payment type does not automatically connect NexoPOS to an external payment provider. A custom payment type primarily records how the payment was received.' (https://my.nexopos.com/en/documentation/user-guide/orders/managing-payment-type)
- Contract
- Core software: none (GPL-3.0, perpetual). Modules: one-time purchase carrying a license key with an expiration date and a stated 'Renewal Price: Same as purchase' on the product page — a paid renewal is expected for continued updates, though the license period length is not published. Cloud/subscription services auto-renew monthly or annually per Terms section 7.
- Early termination
- None published. Terms section 6 states digital purchases may be eligible for refunds within 30 days at the Company's sole discretion; no liquidated-damages or termination clause appears in the published terms.
API posture
public API: open
- Cost to integrate
- $0. The API ships in the free GPL-3.0 core; no partner agreement, certification, per-location fee or revenue share. The marketplace has an author-payout model but no published rev-share percentage.
- Webhooks
- None. The API documentation has no webhook, callback or event-subscription section, and the repository tree contains no webhook code. Laravel domain events exist internally (app/Events/*) and are consumable only by in-process PHP modules.
- Data export on exit
- Total, by construction. Self-hosted operators own the MySQL/MariaDB database outright; the app also exposes CRUD exports and a generic namespace-addressed CRUD REST API covering every model. There is no vendor to ask.
- Notes
- Auth is Laravel Sanctum bearer tokens generated from the user profile, described in the docs as 'OAuth 2.0 or JWT'; tokens do not expire unless revoked and are not scope-partitioned per third-party app. No published rate limits, no API changelog, no deprecation policy. The core also ships a Model Context Protocol server (app/Mcp/Servers/POSServer.php) with ~18 tools (SearchOrders, GenerateReport, GetDashboardSummary, BulkUpdateProducts) plus routes/ai.php — an unusual AI-access surface for a POS. Two 2026 security reports found systemic missing permission checks on API write routes (issue #2538, closed 2026-03-10) and unauthenticated migration execution.
Capabilities
Every claim is binary and checkable. Grades: A primary documentation · B product documentation · C pricing or feature page · D marketing claim · E third-party reporting · F inference with no source. A yes on a differentiator claim requires A or B.
Order capture & FOH workflow
order-capture-floor-plan-editor
Gastro creates tables and areas in list form with a visual occupancy overview. Graphical drawing of tables/chairs is an open roadmap issue. https://github.com/Blair2004/NexoPOS/issues/2319 · retrieved 2026-08-01
order-capture-seat-level
Gastro's documented table operations are move/merge/split between tables. No seat concept appears in docs or source. https://my.nexopos.com/en/marketplace/item/gastro-restaurant-extension-for-nexopos · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
order-capture-coursing-hold-fire
Gastro kitchen states are in-preparation / ready / rejected per item. No course assignment or fire action. https://my.nexopos.com/en/marketplace/item/gastro-restaurant-extension-for-nexopos · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
order-capture-split-merge
Verified against the Gastro item page myself: 'Move/merge/split orders between tables', areas-as-tables, visual overview of tables and active orders — no seat concept, no split by amount or share. Same page independently upholds kitchen-station-routing=partial (categories → kitchens, e.g. Drinks→Bar), kitchen-sla-alerts=no ('organized by priority or time, with notifications for new requests' only), kitchen-recall-refire=no (states are in-preparation/ready/rejected), menu-pricing-nested-modifiers=no (one level, single-or-multiple choice, optional quantity) and order-capture-floor-plan-editor=no https://my.nexopos.com/en/marketplace/item/gastro-restaurant-extension-for-nexopos · retrieved 2026-08-01 · not refetchable · site policy · graded B when read adversarially verified
order-capture-bar-tab-preauth differentiator
No card processing exists in the product, so no pre-authorization is possible. https://my.nexopos.com/en/documentation/user-guide/orders/managing-payment-type · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
order-capture-transfer-audit
Table-to-table order transfer documented; no audit-log entity exists in source to record both employees. https://my.nexopos.com/en/marketplace/item/gastro-restaurant-extension-for-nexopos · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
order-capture-native-handheld
Product is a browser app plus an Android barcode utility and a Windows desktop app. No handheld ordering device or app. https://my.nexopos.com/en/marketplace · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
order-capture-offline-order-entry
The marketplace blurb is real, but the item page explains what it actually is: a bundled Nginx + PHP + SQLite local server with HTTPS, i.e. self-hosting on one Windows box. That is a deployment mode, not offline order capture. The web client has no offline layer at all — public/ contains no service worker and no web manifest (only .htaccess, build, css-manifest.json, mix-manifest.json, images, svg, fonts, web.config). Lose the link to the server and the terminal has nothing. Scoring this as partial reads a hosting installer as an offline feature. https://my.nexopos.com/en/marketplace/item/nexopos-for-windows · retrieved 2026-08-01 · not refetchable · site policy · graded B when read adversarially verified
order-capture-qr-same-check differentiator
No guest-facing ordering surface; the Store Front module is an open roadmap issue. https://github.com/Blair2004/NexoPOS/issues · retrieved 2026-08-01
order-capture-kiosk-first-party differentiator
No kiosk product in the marketplace or docs. https://my.nexopos.com/en/marketplace · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
order-capture-drive-thru
Documented order types are Take Away and Delivery only. https://my.nexopos.com/en/documentation/user-guide/sales/order-type · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
order-capture-drive-thru-timers
Migrated from the 2026-08-01 research pass; no source URL was recorded.
order-capture-voice-ai differentiator
No voice agent. The core ships an MCP server for AI data access, which is not order capture. An 'Oxen AI' module is an open roadmap issue. https://github.com/Blair2004/NexoPOS/tree/master/app/Mcp · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
order-capture-throttling differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
order-capture-scheduled-orders
Neither the order-type docs nor the orders API reference mentions future-dated orders or per-channel lead times; could not affirmatively confirm absence.
order-capture-catering
Instalments and partially-paid orders provide a deposit-like mechanic, but there is no catering flow, quote or event schedule. https://my.nexopos.com/en/documentation/user-guide/orders/orders-with-instalments · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
order-capture-order-ready-signal differentiator
No third-party marketplace integrations exist.
order-capture-void-comp-controls
Granular role permissions gate actions and a one-time passcode for discounts was added in v6. No reason codes, no exception report, no audit-log entity. https://my.nexopos.com/en/documentation/developers-guide/roles-permissions/creating-permissions · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
Menu, modifiers & pricing engine
menu-pricing-nested-modifiers
Gastro documents a single level: modifier groups with single-or-multiple choice and optional quantity, assigned to a product. No nesting, no min/max, no forced-selection flag. https://my.nexopos.com/en/marketplace/item/gastro-restaurant-extension-for-nexopos · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
menu-pricing-modifier-price-by-parent-size
Modifiers act as products with their own price; no per-parent or per-size price matrix. https://my.nexopos.com/en/marketplace/item/gastro-restaurant-extension-for-nexopos · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
menu-pricing-fractional-placement differentiator
No halves/quarters concept in Gastro documentation or core source.
menu-pricing-half-and-half-rule differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
menu-pricing-topping-quantity-tiers
Modifier groups can require a quantity, equivalent to adding the modifier N times. No light/regular/extra tier with price multiplier. https://my.nexopos.com/en/marketplace/item/gastro-restaurant-extension-for-nexopos · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
menu-pricing-size-style-matrix differentiator
Products carry per-unit prices via unit groups (one axis, e.g. size). No second axis, no per-cell override. https://my.nexopos.com/en/documentation/user-guide/units-of-measure/creating-unit-group · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
menu-pricing-included-allowance differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
menu-pricing-combos
Grouped Products bundle components into one sellable item. No component swap with price delta and no automatic a-la-carte-to-combo detection. https://my.nexopos.com/en/documentation/user-guide/products/create-grouped-products · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
menu-pricing-upsell-prompts differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
menu-pricing-86-propagation
Availability is stock-driven within the single POS surface. No online, kiosk or marketplace channel to propagate to.
menu-pricing-countdown-auto-86 differentiator
Stock quantity gates POS visibility and low-stock notifications exist, but no per-item countdown/par with auto-86 and scheduled restore. https://my.nexopos.com/en/documentation/user-guide/products/low-stock-notification · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
menu-pricing-dayparting
No scheduling of menus, items or prices in settings, docs or source.
menu-pricing-channel-price-books
Customer groups can carry differentiated pricing — a customer axis, not a channel axis. No per-channel price books. https://my.nexopos.com/en/documentation/user-guide/customers/managing-customers · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
menu-pricing-dual-pricing differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
menu-pricing-allergen-nutrition
Product creation documentation enumerates no allergen or nutrition fields. https://my.nexopos.com/en/documentation/user-guide/products/create-product · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
menu-pricing-recipe-linkage differentiator
The only evidence is a marketplace sales page for a closed-source $20 module ('Automatic Stock Deduction', 'Recipe Builder', 'Cost Tracking'). That is marketing copy, not product documentation — there is no Raw Material Tracker section in the documentation library and no source to inspect. The item page also shows Downloads: 2 and 5 ratings, so there is essentially no independent corroboration. Claim-level, so partial at best on a weighted differentiator. https://my.nexopos.com/en/marketplace/item/raw-material-tracker · retrieved 2026-08-01 · not refetchable · site policy · graded B when read adversarially verified
menu-pricing-3p-menu-push
No marketplace integrations exist.
menu-pricing-dynamic-pricing
A Dynamic Pricing module is an open roadmap issue, not a shipped product. https://github.com/Blair2004/NexoPOS/issues · retrieved 2026-08-01
Payments & money movement
payments-processor-choice differentiator
No in-house processing lock — any external terminal works — but no gateway integration and no supported-processor list. Payment types only record how money arrived. https://my.nexopos.com/en/documentation/user-guide/orders/managing-payment-type · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
payments-published-rates differentiator
Vendor is not a payment processor; no card rates exist to publish.
payments-dual-pricing differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
payments-surcharge-guardrails differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
payments-emv-nfc
Vendor ships no payment terminals.
payments-softpos-tap-to-pay differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
payments-pay-at-table
Migrated from the 2026-08-01 research pass; no source URL was recorded.
payments-qr-guest-pay differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
payments-tip-adjust
No tip field, tip prompt or batch/adjust concept in the source tree or documentation.
payments-tip-pooling differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
payments-offline-store-and-forward differentiator
No card processing, therefore no store-and-forward.
payments-offline-decline-liability differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
payments-gift-cards
No gift-card entity in source. Customer account credit is a house-account balance, not a bearer gift card. https://github.com/Blair2004/NexoPOS · retrieved 2026-08-01
payments-house-accounts
Customer Account tender, add/deduct credit, running balance, full account history (purchase, refund, funding, unfunding) and a customers-statement report. Per-account credit limits not documented. https://my.nexopos.com/en/documentation/user-guide/customers/managing-customers · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
payments-split-tender
Docs state an order can contain one or multiple payment entries, so multi-tender works. Splitting by seat, item or even shares is not supported. https://my.nexopos.com/en/documentation/user-guide/orders/managing-payment-type · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
payments-refund-void-controls
Role-based permissions gate refund/void/discount; no immutable audit log naming the approver. https://my.nexopos.com/en/documentation/developers-guide/roles-permissions/creating-permissions · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
payments-chargeback-tooling differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
payments-card-on-file differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
payments-payout-timing differentiator
Vendor moves no money.
payments-p2pe-pci4
No PCI attestation, P2PE listing or cardholder-data handling published; the product never touches card data.
Kitchen & production
kitchen-station-routing
Product categories are assigned to specific kitchens (Drinks to Bar, Grill to Main), routing only that category's items. No routing by item, order type or revenue center. https://my.nexopos.com/en/marketplace/item/gastro-restaurant-extension-for-nexopos · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
kitchen-expo-consolidation
Multiple kitchen screens supported but no expo screen consolidating across stations. https://my.nexopos.com/en/marketplace/item/gastro-restaurant-extension-for-nexopos · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
kitchen-course-firing differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
kitchen-prep-time-pacing differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
kitchen-order-throttling differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
kitchen-channel-pause-propagation differentiator
No connected marketplaces exist.
kitchen-order-ready-callback differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
kitchen-bump-bar-hardware
Gastro's kitchen screen is a browser view; no bump-bar or keypad support and no supported-model list. https://my.nexopos.com/en/marketplace/item/gastro-restaurant-extension-for-nexopos · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
kitchen-all-day-counts
Migrated from the 2026-08-01 research pass; no source URL was recorded.
kitchen-sla-alerts
Orders can be ordered by priority or time with new-request notifications, but no configurable target cook time, colour escalation or breach alert. https://my.nexopos.com/en/marketplace/item/gastro-restaurant-extension-for-nexopos · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
kitchen-printer-fallback differentiator
Printer failure is a recurring unresolved complaint rather than a handled case; no backup routing exists. https://github.com/Blair2004/NexoPOS/issues?q=is%3Aissue · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
kitchen-offline-operation differentiator
A self-hosted LAN deployment implies the kitchen screen survives an internet outage, but the vendor documents no offline behaviour for the KDS and there is no affirmative statement either way.
kitchen-item-build-screens differentiator
Kitchen screen shows item details, notes and modifiers — full modifier breakout, but no recipe steps or portioning display. https://my.nexopos.com/en/marketplace/item/gastro-restaurant-extension-for-nexopos · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
kitchen-pizza-fractional-display differentiator
No fractional placement exists to display.
kitchen-recall-refire
Documented item states are in preparation / ready / rejected; no recall, unbump or refire action. https://my.nexopos.com/en/marketplace/item/gastro-restaurant-extension-for-nexopos · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
kitchen-order-modification-alerts differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
kitchen-guest-ready-notification differentiator
Ready status syncs to waiters only. The WhatsApp Notification module ($19) delivers system/module notifications to the operator, not guests. https://my.nexopos.com/en/marketplace/item/whatsapp-notification · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
kitchen-waste-logging
Stock Adjustment with reasons exists in the back office, but not at the kitchen screen and not tied to remakes. https://my.nexopos.com/en/documentation/user-guide/products/stock-adjustment · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
kitchen-speed-of-service-reporting
The shipped report set (sale, profit, best products, cash flow, stock, payment types, customer statement, yearly) contains no ticket-time report. https://github.com/Blair2004/NexoPOS/tree/master/resources/ts/pages/dashboard/reports · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
kitchen-prep-forecasting
Migrated from the 2026-08-01 research pass; no source URL was recorded.
Digital ordering & guest-facing channels
digital-first-party-web
A Store Front module is an open roadmap issue; no consumer ordering site ships today. https://github.com/Blair2004/NexoPOS/issues · retrieved 2026-08-01
digital-menu-single-source
No digital channel exists.
digital-native-app differentiator
The only mobile app is an Android barcode utility for staff. A Store Front mobile app is an open roadmap issue. https://my.nexopos.com/en/marketplace · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
digital-account-saved-payment
Migrated from the 2026-08-01 research pass; no source URL was recorded.
digital-upsell-engine differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
digital-scheduled-pacing
Migrated from the 2026-08-01 research pass; no source URL was recorded.
digital-fulfillment-modes
Migrated from the 2026-08-01 research pass; no source URL was recorded.
digital-qr-table
Migrated from the 2026-08-01 research pass; no source URL was recorded.
digital-kiosk differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
digital-group-ordering
Migrated from the 2026-08-01 research pass; no source URL was recorded.
digital-catering-portal differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
digital-voice-ai-phone differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
digital-drivethru-ai
Migrated from the 2026-08-01 research pass; no source URL was recorded.
digital-sms-ordering
Migrated from the 2026-08-01 research pass; no source URL was recorded.
digital-google-order differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
digital-apple-business-connect
Migrated from the 2026-08-01 research pass; no source URL was recorded.
digital-loyalty-attach
A reward system and coupons exist in the POS, but there is no digital ordering flow for them to attach to.
digital-subscriptions
Migrated from the 2026-08-01 research pass; no source URL was recorded.
digital-promo-parity
Only one channel exists, so parity is vacuous rather than achieved.
digital-guest-data-ownership differentiator
Self-hosted: the operator owns the database. Customers, rewards and coupons are readable/writable via the public API and CRUD export columns, at no fee. https://docs.api.nexopos.com · retrieved 2026-08-01
digital-checkout-pci-sca
No digital checkout exists and no PCI DSS 4.0 statement is published.
digital-surcharge-transparency differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
Guest data, loyalty & marketing
guest-loyalty-unified-profile
A single customer record exists, but only one transactional channel (the POS) feeds it; no cross-channel identity merge or documented dedup behaviour. https://my.nexopos.com/en/documentation/user-guide/customers/managing-customers · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
guest-loyalty-thirdparty-identity-attach differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
guest-loyalty-accrual-models
A configurable Reward System accrues points to customers and issues coupons on threshold. Visit/punch and spend-tier accrual are not documented as separate options. https://my.nexopos.com/en/documentation/user-guide/customers/managing-customers · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
guest-loyalty-tiers differentiator
Customer groups are manually assigned; no automatic promotion/demotion on rolling spend.
guest-loyalty-offline-behavior differentiator
No offline behaviour is documented for any subsystem, loyalty included.
guest-loyalty-offer-stacking-rules differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
guest-loyalty-targeted-offers differentiator
Coupons attach to customers or customer groups, which are static manual sets, not rule-defined audiences. https://my.nexopos.com/en/documentation/user-guide/customers/managing-customers · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
guest-loyalty-rfm-segmentation differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
guest-loyalty-lifecycle-automation
Migrated from the 2026-08-01 research pass; no source URL was recorded.
guest-loyalty-native-email-sms differentiator
A free Email Service Driver module configures transactional email delivery; no campaign builder and no SMS channel. https://my.nexopos.com/en/marketplace/item/email-service-driver · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
guest-loyalty-consent-management
Migrated from the 2026-08-01 research pass; no source URL was recorded.
guest-loyalty-10dlc-registration
No SMS sending capability, so no A2P registration path.
guest-loyalty-campaign-attribution differentiator
Coupon order history and customer coupon history track which orders redeemed which coupon. No campaign object and no incremental-sales attribution. https://github.com/Blair2004/NexoPOS/blob/master/app/Crud/CouponOrderHistoryCrud.php · retrieved 2026-08-01
guest-loyalty-data-export-portability differentiator
Full guest list and transaction history via direct database access (self-hosted), CRUD export, and the customers/orders REST API. No fee, no ticket. https://docs.api.nexopos.com · retrieved 2026-08-01
guest-loyalty-review-capture-routing differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
guest-loyalty-referral-program
An affiliate/referral system exists on the my.nexopos.com marketplace for module sales, not as a guest referral mechanic in the POS. https://my.nexopos.com/en/help/terms-of-use · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
guest-loyalty-wallet-pass differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
guest-loyalty-privacy-rights-tooling
Individual customer records can be viewed, exported and deleted from the customer list, and self-hosting gives direct DB access. No purpose-built DSAR workflow and no deletion-propagation guarantee. https://my.nexopos.com/en/documentation/user-guide/customers/managing-customers · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
guest-loyalty-redemption-fraud-controls
A one-time passcode gate exists for discounts, but no velocity limits, self-redemption flags or loyalty audit log.
guest-loyalty-ai-offer-recommendation differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
guest-loyalty-stored-value-gift
Customer account credit is the nearest analogue but is a per-customer house balance, not a stored-value gift instrument.
Labor & workforce
labor-clock-in-at-pos
A PIN Login module authenticates staff and cash registers track opening/closing per cashier, but there is no timecard or clock-in/out entity anywhere in the source. https://github.com/Blair2004/NexoPOS · retrieved 2026-08-01
labor-photo-punch-verification differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
labor-offline-time-punch differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
labor-granular-rbac
Permissions are discrete, individually creatable objects assigned to roles; docs walk through creating both roles and custom permissions. https://my.nexopos.com/en/documentation/developers-guide/roles-permissions/creating-permissions · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
labor-manager-override-audit
No audit-trail model exists in the source tree; overrides are not persisted with an approver identity.
labor-native-scheduling differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
labor-demand-labor-forecast differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
labor-realtime-labor-percent differentiator
No labor cost data exists in the system.
labor-overtime-prevention differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
labor-break-compliance-by-state differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
labor-minor-labor-rules
Migrated from the 2026-08-01 research pass; no source URL was recorded.
labor-tip-pooling-rules
No tip concept in the data model.
labor-tip-distribution-audit-trail
Migrated from the 2026-08-01 research pass; no source URL was recorded.
labor-qualified-tips-w2-reporting differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
labor-native-payroll differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
labor-payroll-export-formats
No hours or wage data to export; no payroll connector in the marketplace.
labor-shift-swap-workflow differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
labor-server-performance-metrics differentiator
Cash register history attributes sessions and sales to a cashier, and a Sales Commissions module exists. No per-server scorecard with average check, attachment or void/comp rate. https://github.com/Blair2004/NexoPOS/blob/master/app/Crud/RegisterHistoryCrud.php · retrieved 2026-08-01
Inventory, purchasing & cost control
inventory-recipe-bom-costing
Raw Material Tracker ($20) links ingredients to products via recipes and surfaces real prepared-product cost. Multi-level sub-recipes and automatic plate-cost recalculation on ingredient price change are not documented. https://my.nexopos.com/en/marketplace/item/raw-material-tracker · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
inventory-unit-conversion-yields
Unit groups, units, unit conversion and stock conversion are first-class and documented. Yield/waste percentage on raw-to-usable conversion is not. https://my.nexopos.com/en/documentation/user-guide/units-of-measure/unit-conversion · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
inventory-theoretical-vs-actual differentiator
Reports include stock, sold stock and combined stock, but no theoretical-vs-actual variance report in units and currency. https://github.com/Blair2004/NexoPOS/tree/master/resources/ts/pages/dashboard/reports · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
inventory-realtime-depletion differentiator
Sales deplete product stock in real time with per-product stock-flow history; with Raw Material Tracker, ingredient stock is deducted from the recipe on sale. The vendor API reference carries both halves of the core claim verbatim. #get-product-history (GET api/products/{product_id}/history): "This endpoint will provide a full list of stock movement that has occurred on a specific product." #product-stock-adjustment (POST api/products/adjusments) enumerates the adjustment actions and SOLD is one of them, alongside procured, returned, defective and lost — i.e. a sale is a recorded stock movement, which is the depletion claim stated as a mechanism rather than as marketing. SCOPE OF THIS CITATION, stated so it is not over-read: the API reference establishes real-time depletion and per-product history in the free core. It does NOT carry the Raw Material Tracker recipe-depletion half — that rests on the paid module page, which is on the barred host and is not re-cited here. RE-EVIDENCED 2026-08-30: the cell previously rested on https://my.nexopos.com/en/documentation/user-guide/products/product-stock-flow, which is quarantined behind a host-wide robots bar on my.nexopos.com ("claudebot / Disallow: /", re-measured 2026-08-16) and was NOT re-fetched. The barred page is not recovered; a different document on a permitted host was found to carry the same proposition, so the quarantine stamps come off and the grade is set from the new source rather than restored from grade_before_quarantine. docs.api.nexopos.com serves no robots.txt (404, 25 bytes, body "No input file specified." — a PHP error, classified not-robots by scripts/lib/robots.mjs, so unavailable under RFC 9309 rather than absent-and-silent); raw.githubusercontent.com and api.github.com likewise 404; github.com robots.txt was parsed whole and returns not-refused for the repo and blob paths. No verification.jsonl row was added: a re-citation is not an adversarial pass. https://docs.api.nexopos.com/ · retrieved 2026-08-30
inventory-86-auto-sync differentiator
Zero stock removes an item from the POS grid, but there are no online or third-party channels to sync to. https://my.nexopos.com/en/documentation/user-guide/troubleshooting/products-not-showing-on-the-pos · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
inventory-count-modes
Stock adjustment supports counted corrections with reasons and writes product history. Distinct full/spot/scheduled cycle-count modes with separately retained variance histories are not documented. https://my.nexopos.com/en/documentation/user-guide/products/stock-adjustment · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
inventory-mobile-count-offline
The free Barcode Utility Android app performs stock control by scanning against a POS terminal. Offline queuing and sync-on-reconnect are not documented. https://my.nexopos.com/en/documentation/natives/barcode-utility/performing-stock-control-with-barcode-utility · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
inventory-vendor-catalogs-edi differentiator
Providers and procurements are manual; no broadline distributor catalogs or EDI transmission. https://my.nexopos.com/en/documentation/user-guide/procurements/make-procurement · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
inventory-invoice-ocr differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
inventory-price-change-alerts differentiator
Procurement history retains per-product purchase records, but there is no contracted-price comparison or threshold alert.
inventory-par-auto-suggest differentiator
Low-stock notifications plus a shipped product-suggestion-for-procurement-based-on-stock feature. No forecast-driven par mode. https://my.nexopos.com/en/documentation/user-guide/products/low-stock-notification · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
inventory-waste-logging
Stock adjustment records losses with a reason and debits inventory. Waste cost is not reported separately from usage variance. https://my.nexopos.com/en/documentation/user-guide/products/stock-adjustment · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
inventory-shelf-life-expiry
Product creation documentation does not enumerate expiry handling and source inspection was inconclusive.
inventory-bar-partial-bottle
Weighted products and scale-barcode support exist for retail weighing, not partial-bottle liquid counting or pour spouts.
inventory-cogs-gl-export
An internal accounting module exists (transaction accounts, transactions, cash-flow report), but there is no QuickBooks/Sage/NetSuite export format or GL mapping. https://my.nexopos.com/en/documentation/user-guide/accounting · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
inventory-native-not-partner differentiator
Inventory is in the free core; recipe costing is a first-party vendor module ($20), not a separately contracted third-party product. https://my.nexopos.com/en/marketplace/item/raw-material-tracker · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
inventory-menu-margin-linkage differentiator
A profit report and a best-products report exist and, with Raw Material Tracker, cost is known per prepared item. No contribution-margin-by-item view with a configurable margin-breach flag. https://github.com/Blair2004/NexoPOS/tree/master/resources/ts/pages/dashboard/reports · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
Reporting, BI & data access
reporting-realtime-dashboard
Dashboard widgets with day/month report jobs and a refresh-report event, reachable from any browser including a phone. No off-premise mobile app; computation is job/queue-driven rather than strictly live. https://github.com/Blair2004/NexoPOS/tree/master/app/Jobs · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
reporting-eod-closeout
Cash register opening/cashing/cashout/closing plus a daily computed report and a payment-types report cover most of it, but there is no single reconciling EOD document and no tips line. https://github.com/Blair2004/NexoPOS/tree/master/app/Fields · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
reporting-pmix-modifier-level
Best-products and sold-stock reports give item-level quantity and sales. No modifier-level breakdown and no revenue-center filter. https://github.com/Blair2004/NexoPOS/tree/master/resources/ts/pages/dashboard/reports · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
reporting-comps-voids-audit
No comps/voids/override audit report in the shipped report set and no audit-log model in the source.
reporting-cash-over-short
Verified in source myself rather than taking the CRUD file at face value: RegisterHistory defines opening/closing/cash-in/cash-out/order-payment/refund actions with no explicit variance action, but CashRegistersService computes a session `$difference` from the closing value against the session's expected balance and passes it to the register-session view alongside closingBalance. Genuine per-session, per-cashier over/short. https://raw.githubusercontent.com/Blair2004/NexoPOS/master/app/Services/CashRegistersService.php · retrieved 2026-08-01 adversarially verified
reporting-labor-productivity
No clocked hours exist in the system.
reporting-server-scorecards differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
reporting-channel-profitability differentiator
Only take-away and delivery order types exist; no channel P&L and no marketplace commissions to net out.
reporting-scheduled-delivery
Cron computes reports on a schedule, but no recipient-list email delivery of reports is documented.
reporting-public-api differentiator
Public REST API with self-serve bearer tokens covers orders, order payments and refunds, products/menu, customers, procurements, registers, reports and rewards. Labor data does not exist to expose. https://docs.api.nexopos.com · retrieved 2026-08-01
reporting-webhooks differentiator
The API documentation has no webhook section and the repository contains no webhook dispatch code. https://docs.api.nexopos.com · retrieved 2026-08-01
reporting-api-not-upcharged differentiator
API ships in the free GPL-3.0 core; no plan, per-location fee or revenue share gates it. https://github.com/Blair2004/NexoPOS · retrieved 2026-08-01
reporting-tier-paywall differentiator
All reports ship in the free core. Multi-location comparison is the only reporting behind a paid module ($42 Multistore). https://my.nexopos.com/en/marketplace · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
reporting-history-retention differentiator
Re-evidenced from source after the cited requirements page turned out to say nothing about retention. ReportService::getProductsReports() and getCategoryReports() build their query as Order::paymentStatus(PAID)->from($start)->to($end) — transaction-level order and order-product rows, over an operator-supplied range with no floor; the Sale Report UI (resources/ts/pages/dashboard/reports/ns-sale-report.vue) exposes that range as two unbounded ns-date-time-picker fields. getYearReportFor(int $year) accepts any year in 2019-2099 and ns-yearly-report.vue lets the operator recompute a past year on demand via POST /api/reports/compute/yearly. The only truncate() in app/Jobs is PurgeOrderStorageJob, which clears the OrderStorage scratch table, not order history; nothing prunes orders. No vendor archive-retrieval fee is possible because the data sits in the operator's own MySQL/MariaDB. Caveat: the vendor documents no retention window in words, and the aggregate dashboard/monthly figures come from DashboardDay/DashboardMonth rows that only exist for periods when the operator's cron and Supervisor were actually running. https://raw.githubusercontent.com/Blair2004/NexoPOS/master/app/Services/ReportService.php · retrieved 2026-08-02 adversarially verified
reporting-anomaly-alerts differentiator
Low-stock notification is the only threshold alert; no metric-deviation alerting. https://my.nexopos.com/en/documentation/user-guide/products/low-stock-notification · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
reporting-nl-query
Verified directly: app/Mcp/Servers/POSServer.php plus 19 tool classes (SearchOrders, SearchProductSales, GenerateReport, GetDashboardSummary, BulkUpdateProducts, UpdateSettings, SearchWalletHistory, …) and routes/ai.php is present in the repo tree. The dossier's '~18 tools' is 19. Partial is right — it is an external-client surface, not an in-product NL query UI. https://api.github.com/repos/Blair2004/NexoPOS/contents/app/Mcp/Tools · retrieved 2026-08-01 adversarially verified
reporting-guest-cohorts differentiator
A customer statement report exists, but no new-vs-returning counts, visit frequency or lifetime-spend cohorts. https://github.com/Blair2004/NexoPOS/tree/master/resources/ts/pages/dashboard/reports · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
reporting-sales-forecast differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
reporting-tip-tax-compliance
No tip data model exists.
Multi-location, franchise & enterprise governance
multi-location-org-hierarchy
Resolving an unknown upward, but only to partial. The Multistore guide documents exactly two levels — a main/master dashboard and sub-stores reached through a store switcher, optionally on wildcard subdomains. There is no region/district/brand tier and no named hierarchy object. https://my.nexopos.com/en/marketplace/item/multistore-for-nexopos · retrieved 2026-08-01 · not refetchable · site policy · graded B when read adversarially verified
multi-location-central-menu-publish
The premise is wrong: the Multistore marketplace item page carries a full user guide (dashboard changes, sub-store creation via queue workers, access control, wildcard subdomains, Sanctum stateful-domain config). It states affirmatively that every store has its own Products, Product Categories, Customers, Customer Groups, Units, Providers, Procurements, Settings, Orders, Expenses and Notifications, and closes with 'Every store is isolated and therefore isn't sharing the same resources (products, orders, customers, etc).' That is affirmative documentation of the absence of central menu publish. https://my.nexopos.com/en/marketplace/item/multistore-for-nexopos · retrieved 2026-08-01 · not refetchable · site policy · graded B when read adversarially verified
multi-location-price-zones
Multistore docs show products and settings are per-store and unshared; there is no shared catalogue on which a price zone could operate, and no zone concept appears in the guide. https://my.nexopos.com/en/marketplace/item/multistore-for-nexopos · retrieved 2026-08-01 · not refetchable · site policy · graded B when read adversarially verified
multi-location-consolidated-reporting
Now that the Multistore documentation is in hand, it describes isolation, a store switcher and 'a new main dashboard' — it never documents a cross-store consolidated report, and orders/expenses are per-store components. Combined with the open bug on the yearly report failing to recompute under Multistore, there is no basis for partial. Unknown. adversarially verified
multi-location-cross-location-giftcard
No gift-card entity exists at any scope.
multi-location-cross-location-loyalty
The Multistore guide lists 'Customers, Customers Groups' among the components each store owns separately. Loyalty/rewards attach to customer records, so balances cannot be shared across stores. https://my.nexopos.com/en/marketplace/item/multistore-for-nexopos · retrieved 2026-08-01 · not refetchable · site policy · graded B when read adversarially verified
multi-location-multi-brand differentiator
No public documentation on running two brands on one terminal.
multi-location-multi-tax-jurisdiction
Core supports taxes, tax groups with multiple simultaneous rates, and inclusive vs exclusive VAT type selection. Per-location tax configuration and per-location exemptions are not documented. https://my.nexopos.com/en/documentation/user-guide/taxes-and-groups/creating-tax-and-tax-group · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
multi-location-central-labor-policy
No labor subsystem exists.
Hardware & physical footprint
hardware-commodity-devices differentiator
Browser-based Laravel/Vue app served from the operator's own server; runs on any PC, tablet or phone with a browser, plus an optional Windows desktop build. The vendor sells no terminals. https://my.nexopos.com/en/documentation/self-hosted/getting-started/requirement · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
hardware-os-platforms
Server requirements precisely published (PHP 8.2, MariaDB 10.11 / MySQL 8.4, Nginx or Apache, cron, Supervisor, Composer). Client OS versions, browser minimums and device specs are not stated. https://my.nexopos.com/en/documentation/self-hosted/getting-started/requirement · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
hardware-handheld-purpose-built
No handheld device is offered; no drop or IP rating to publish.
hardware-handheld-battery-swap differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
hardware-handheld-lte
Migrated from the 2026-08-01 research pass; no source URL was recorded.
hardware-offline-mode
Same evidence chain as above and the same defect. No client-side offline store, no service worker, no sync layer, and the vendor publishes no degradation matrix. Everything the Windows app does offline, it does because it IS the server. https://my.nexopos.com/en/marketplace/item/nexopos-for-windows · retrieved 2026-08-01 · not refetchable · site policy · graded B when read adversarially verified
hardware-kds
Gastro ($45) is a first-party dedicated kitchen screen with touch input, multi-kitchen support and category routing. No bump-bar support and no course/fire timing. https://my.nexopos.com/en/marketplace/item/gastro-restaurant-extension-for-nexopos · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
hardware-kiosk differentiator
No kiosk SKU in the marketplace.
hardware-drive-thru
Migrated from the 2026-08-01 research pass; no source URL was recorded.
hardware-printer-compatibility
ESC/POS thermal printing via browser printing or the free Nexo Print Server Windows app plus the $15 NPS Adapter; operators report Epson and other brands. No published compatibility list, and printing is the most frequent bug theme in the tracker. https://my.nexopos.com/en/marketplace/item/nexo-print-server · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
hardware-peripherals
Barcode scanners (including a free Android scanner app and wireless-reader guide) and scales via weighted products plus scale-barcode ranges are supported. A customer-facing display module is an open roadmap issue; no published peripheral compatibility list; multi-drawer per terminal undocumented. https://my.nexopos.com/en/documentation/natives/barcode-utility/connecting-wireless-barcode-reader · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
hardware-p2pe-terminal
Card entry never occurs in the product; no PTS device, no SAQ statement.
hardware-tap-to-phone differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
hardware-pricing-transparency differentiator
NexoPOS sells no hardware, so there are no SKU prices to publish. https://my.nexopos.com/en/marketplace · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
hardware-ownership-vs-lease differentiator
No vendor hardware and therefore no lease or bundled rental; the operator buys and owns all devices outright from third parties. https://my.nexopos.com/en/marketplace · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
hardware-usable-after-churn differentiator
Downgraded on verification. The claim asks whether vendor documentation confirms that hardware purchased from the vendor stays usable after cancellation. NexoPOS sells no hardware: my.nexopos.com/en/marketplace (retrieved 2026-08-02) lists only software — Gastro $45, Raw Material Tracker $20, Multistore $42, NexoPOS For Windows $39, Nexo Print Server free, NPS Adapter $15, Nexo SaaS $99 — and the nearest thing to a device product, Barcode Utility, 'turns your Android phone into a barcode reader', i.e. the operator's own handset. The self-hosted requirements page lists only PHP 8.2 / MariaDB 10.11 or MySQL 8.4 / Nginx or Apache plus cron, Supervisor and Composer; the documentation library has no hardware category at all. So no vendor statement on post-cancellation hardware usability exists to confirm or refute. The prior 'yes' rested on the inference that GPL-3.0 self-hosted software cannot brick commodity hardware — plausible, but inference, and cited to the repository homepage at grade E, which the differentiator rule does not permit. Absence of a vendor position is unknown. The structural fix is probably a scope override for hardware-free vendors, not a value in this cell. adversarially verified
hardware-rma-sla differentiator
No hardware sold, no warranty or advance-exchange program published.
hardware-byod
Any staff phone with a browser reaches the LAN server, and the free Barcode Utility runs on staff Android phones. Security model is role/permission based with an optional PIN Login module; no MDM or device-trust model documented. https://my.nexopos.com/en/documentation/developers-guide/how-to/local-network-configuration · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
hardware-remote-device-management differentiator
No device console showing terminal/printer/KDS online state, remote reboot or staged update rollout.
hardware-selfpour-scales
Migrated from the 2026-08-01 research pass; no source URL was recorded.
hardware-callerid-integration
Migrated from the 2026-08-01 research pass; no source URL was recorded.
Integrations, API & extensibility
extensibility-public-api-docs
docs.api.nexopos.com is fully readable with no login, NDA or sales call, covering categories, customers, products, orders, medias, modules, notifications, fields/forms and a generic CRUD endpoint. https://docs.api.nexopos.com · retrieved 2026-08-01
extensibility-api-access-cost differentiator
The API is part of the free GPL-3.0 core; no plan to upgrade to and no per-location fee. https://github.com/Blair2004/NexoPOS · retrieved 2026-08-01
extensibility-free-sandbox differentiator
There is no vendor-hosted sandbox. demo.nexopos.com is a hard 404 (Laravel 'Not Found', 6,609 bytes, re-probed 2026-08-09) and no demo instance is referenced anywhere on my.nexopos.com any more, so that citation is withdrawn. What a developer can actually get for free, and the shortfall: the GPL-3.0 core ships FirstDemoSeeder.php in database/seeders, which calls RewardSystemSeeder, CustomerGroupSeeder, TransactionSeeder and FirstExampleProviderSeeder to populate a working instance with sample customers, transactions and providers; and the marketplace's NexoPOS For Windows listing offers a 'Free version: includes watermark on printed receipts' against a 'Premium version: removes watermark for production use' ($39). Neither is a hosted environment -- both oblige the evaluator to install and run their own PHP 8.2 + MySQL stack or desktop build. Seeded test data yes, zero-effort sandbox no. Partial. https://github.com/Blair2004/NexoPOS/blob/master/database/seeders/FirstDemoSeeder.php · retrieved 2026-08-09 adversarially verified
extensibility-oauth-partner-apps
Auth is Laravel Sanctum bearer tokens generated in the user profile, individually revocable but not scope-partitioned per third-party app, and non-expiring by default. Docs label this 'OAuth 2.0 or JWT'; true scoped operator-granted OAuth is not present. https://docs.api.nexopos.com · retrieved 2026-08-01
extensibility-webhooks-push
Confirmed independently: I fetched docs.api.nexopos.com anonymously (no login wall) and the reference covers Authentication, Categories, Customers, Customer Groups, CRUD, Fields, Forms, Medias, Modules, Notifications, Products, Orders and User — no webhook, callback or subscription section, no rate-limit documentation, and it states tokens 'don't expire until manually revoked'. routes/ contains channels.php (Laravel broadcasting) but that is in-process/websocket, not outbound webhooks. Also upholds extensibility-public-api-docs, extensibility-published-rate-limits and extensibility-oauth-partn https://docs.api.nexopos.com · retrieved 2026-08-01 adversarially verified
extensibility-webhook-reliability differentiator
No webhooks exist, so no signing, retry or replay log.
extensibility-order-injection-api
The orders API supports creating orders with payments, refunds, instalments and delivery tracking; injected orders are first-class order records. https://docs.api.nexopos.com · retrieved 2026-08-01
extensibility-menu-write-api differentiator
Products, units, procurements and categories all support full CRUD via the API, not read-only. https://docs.api.nexopos.com · retrieved 2026-08-01
extensibility-doordash-preferred differentiator
Positive absence, re-evidenced 2026-08-09 after the old merchants.doordash.com/en-us/learning-center/preferred-integration-partners citation went to a hard 404. DoorDash's live developer docs state that Preferred status requires 'Order failure rate below 1%', 'Merchant cancel rate below 1%', support for at least 250 DoorDash stores and all eight listed features (SSIO onboarding and activation, menu pull, 86 items, order-ready signals, item polling, integrated promotions, detailed error reporting), reassessed on a rolling 28-day basis. DoorDash's 2026 roster is enumerated by name: 'the 2026 cohort DoorDash Preferred Integration Partners include Checkmate, Chowly, Deliverect, Otter, PAR, Qu, Square, Stream, Toast, and UrbanPiper' (about.doordash.com/en-us/news/doordash-preferred-integrations-program-2026, 2026-05-18). NexoPOS is absent, and cannot qualify: its own module marketplace (my.nexopos.com/en/marketplace, retrieved 2026-08-09) lists every first-party and third-party app and contains no DoorDash, Uber Eats, Grubhub or aggregator connector at all, so there is no integration to certify. https://developer.doordash.com/en-US/docs/marketplace/overview/getting_started/preferred_integrations_new/ · retrieved 2026-08-09 adversarially verified
extensibility-first-party-delivery-integrations differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
extensibility-middleware-compatibility
NexoPOS is not listed as an endpoint by Deliverect, Chowly, Otter or Checkmate and the vendor names no aggregation partners.
extensibility-accounting-connectors
An internal accounting module exists (transaction accounts, cash-flow reporting) but there is no QuickBooks Online or other GL connector with mapped journal entries. https://my.nexopos.com/en/documentation/user-guide/accounting · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
extensibility-payroll-export
No labor hours exist in the product to export.
extensibility-app-marketplace
A public, no-login marketplace with in-dashboard install genuinely exists, so yes stands — but '30+ apps' is unverified and probably generous. The live index surfaces roughly 15 distinct items across Recommended / Recents / Most Downloaded, several of which are not POS extensions at all (Football Academy Laravel App, Website Explorer SaaS, BellSera marked 'Coming Soon'). Depth is thin: Gastro 2 downloads / 8 ratings, Raw Material Tracker 2 / 5, Multistore 8 / 2, Stock Transfers 0, NexoPOS For Windows 155. https://my.nexopos.com/en/marketplace · retrieved 2026-08-01 · not refetchable · site policy · graded B when read adversarially verified
extensibility-headless-embedded
Write-capable orders and products API plus full source access makes headless operation technically achievable, but the vendor documents no headless/embedded mode or reference pattern. https://docs.api.nexopos.com · retrieved 2026-08-01
extensibility-data-portability-exit differentiator
Self-hosted operators hold the entire MySQL/MariaDB database themselves; there is nothing to request and no exit event. CRUD exports and the REST API provide documented machine-readable access on top. The vendor API reference states the export mechanism verbatim at #export-entries (GET api/crud/{namespace}/export): "Use this endpoint to extract as a CSV document all the entries of a CRUD component." The same page's Available Components table enumerates the components that endpoint covers, and they are the business record set rather than a subset — Customers, Customers Group, Customer's Orders, Products Categories, Procurements, Procurements Products, Payment Types, Coupons and the order-history CRUDs, each named with its App\Models\*Crud class. The self-hosted database half is in the source tree: .env.example ships DB_CONNECTION=mysql with DB_HOST=127.0.0.1, so the datastore is the operator's own by default and there is no vendor-held copy to request on exit. RE-EVIDENCED 2026-08-30: the cell previously rested on https://my.nexopos.com/en/documentation/self-hosted/getting-started/requirement, which is quarantined behind a host-wide robots bar on my.nexopos.com ("claudebot / Disallow: /", re-measured 2026-08-16) and was NOT re-fetched. The barred page is not recovered; a different document on a permitted host was found to carry the same proposition, so the quarantine stamps come off and the grade is set from the new source rather than restored from grade_before_quarantine. docs.api.nexopos.com serves no robots.txt (404, 25 bytes, body "No input file specified." — a PHP error, classified not-robots by scripts/lib/robots.mjs, so unavailable under RFC 9309 rather than absent-and-silent); raw.githubusercontent.com and api.github.com likewise 404; github.com robots.txt was parsed whole and returns not-refused for the repo and blob paths. No verification.jsonl row was added: a re-citation is not an adversarial pass. https://docs.api.nexopos.com/ · retrieved 2026-08-30
Reliability, offline & operations
reliability-offline-order-entry
Downgraded for consistency with the two cells above: there is no offline order entry. The genuine resilience story — a LAN-hosted server that survives an internet outage — is already scored correctly and separately at reliability-lan-degraded-multi-terminal (partial, upheld). Counting it twice inflates the offline picture. https://api.github.com/repos/Blair2004/NexoPOS/contents/public · retrieved 2026-08-01 adversarially verified
reliability-offline-card-auth differentiator
No card processing exists online, let alone offline.
reliability-offline-decline-liability differentiator
Migrated from the 2026-08-01 research pass; no source URL was recorded.
reliability-lan-degraded-multi-terminal differentiator
The documented deployment pattern puts the server on the local network with all terminals reaching it by LAN IP, so terminals share one check state independently of the internet. The vendor frames this as a setup guide, never as offline resilience, and publishes no degradation behaviour. https://my.nexopos.com/en/documentation/developers-guide/how-to/local-network-configuration · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
reliability-local-transaction-engine differentiator
On-premise is the default and primary deployment: the operator runs the full Laravel transaction engine on their own server (or a Windows machine via the desktop build). Cloud is the optional variant. https://my.nexopos.com/en/documentation/self-hosted/getting-started/installation · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
reliability-offline-kds-printing
Nexo Print Server is a local Windows printing daemon and the Gastro kitchen screen talks to the same LAN server, so both survive an internet outage in a LAN deployment. Not documented as an offline guarantee, and printing reliability is the top complaint theme. https://my.nexopos.com/en/marketplace/item/nexo-print-server · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
reliability-printer-fallback
No backup printer or fallback KDS routing. Issue history shows unhandled 'unsupported print gateway' and silent print failures. https://github.com/Blair2004/NexoPOS/issues?q=is%3Aissue · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
reliability-sync-conflict-handling
The architecture is a single authoritative server with thin browser clients — no multi-device offline sync layer and correspondingly no published conflict-resolution policy.
reliability-offline-feature-matrix
No document on my.nexopos.com enumerates which features are unavailable offline. https://my.nexopos.com/en/documentation · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
reliability-public-status-page
No status page is linked from the site header, footer, docs or terms, and none was discoverable. For self-hosted installs the concept does not apply; for NexoPOS Cloud, none is published.
reliability-247-live-support
Support is ticket-based plus WhatsApp/Telegram community channels. The FAQ further limits it: only the latest two major versions are supported, and no support is provided if the core has been edited. https://my.nexopos.com/en/faq · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
reliability-onsite-install differentiator
Installation is entirely self-service via written guides; no first-party or dealer on-site go-live service is offered. https://my.nexopos.com/en/documentation · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
reliability-menu-build-service differentiator
No menu-build or data-entry service; a Bulk Importer module exists for the operator to do it themselves. https://my.nexopos.com/en/marketplace · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
reliability-hardware-replacement-sla
No hardware is sold.
reliability-pci-dss-4-attestation
No PCI DSS attestation of any version is published; the product handles no cardholder data.
reliability-mfa-role-based-access
Role-based permissions are granular and strong. No MFA implementation exists in the codebase for back-office or POS admin logins; the optional PIN Login module reduces rather than adds authentication strength. https://my.nexopos.com/en/documentation/developers-guide/roles-permissions/creating-roles · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
reliability-self-serve-training
A free public documentation library covers products, POS, taxes, procurement, customers and troubleshooting. No video/LMS curriculum and no terminal training mode; a demo instance serves as the practice environment. https://my.nexopos.com/en/documentation · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
reliability-failover-terminal-role differentiator
Single-server architecture with browser clients; no terminal can assume a master role if the server is down.
reliability-cellular-backup
Migrated from the 2026-08-01 research pass; no source URL was recorded.
Commercial, compliance & data ownership
commercial-month-to-month-contract differentiator
The core POS is GPL-3.0 and free with no subscription at all; there is no term to commit to. Cloud/subscription services are monthly or annual per Terms section 7. https://github.com/Blair2004/NexoPOS · retrieved 2026-08-01
commercial-no-early-termination-fee differentiator
No ETF or liquidated-damages clause appears in the published Terms, and the free core has nothing to terminate. But the Terms never affirmatively state 'no early termination fee', and the published document appears truncated after section 8.2. https://my.nexopos.com/en/help/terms-of-use · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
commercial-autorenew-terms-published
Terms section 7 publicly discloses automatic recurring billing until cancellation, monthly or annual billing, and consequences of non-payment. It does not state a required cancellation notice window. https://my.nexopos.com/en/help/terms-of-use · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
commercial-processing-not-bundled differentiator
There is no in-house processing to lock to. Operators run any external terminal or gateway and record the result as a payment type. Positive evidence of absence, from two permitted primary sources rather than from not having found one. (1) The API reference makes payment methods an operator-managed record, not a vendor product: #get-supported-payments-method (GET api/orders/payments) — "This provide a list of payments that are available on the system" — and Payment Types appears in the Available Components table as App\Models\PaymentTypeCrud, i.e. a CRUD entity the operator creates and edits like customers or categories. (2) The dependency manifest names no payment processor at all: composer.json's require block is 30 entries (laravel/framework, laravel/sanctum, laravel/reverb, dompdf, phpspreadsheet, predis, pusher, guzzle, the PHP extensions) and contains no Stripe, Adyen, Square, PayPal or Braintree SDK, so there is no bundled processor in the shipped code to be locked to. NOTE ON A VENDOR SELF-CONTRADICTION found while reading it: composer.json declares "license": "MIT" while the repository's LICENSE file is GPL-3.0 (35,149 bytes, "GNU GENERAL PUBLIC LICENSE Version 3") and the GitHub API reports spdx_id GPL-3.0. The record's GPL-3.0 statement is the correct one; the manifest field is stale. This affects no claim value. RE-EVIDENCED 2026-08-30: the cell previously rested on https://my.nexopos.com/en/documentation/user-guide/orders/managing-payment-type, which is quarantined behind a host-wide robots bar on my.nexopos.com ("claudebot / Disallow: /", re-measured 2026-08-16) and was NOT re-fetched. The barred page is not recovered; a different document on a permitted host was found to carry the same proposition, so the quarantine stamps come off and the grade is set from the new source rather than restored from grade_before_quarantine. docs.api.nexopos.com serves no robots.txt (404, 25 bytes, body "No input file specified." — a PHP error, classified not-robots by scripts/lib/robots.mjs, so unavailable under RFC 9309 rather than absent-and-silent); raw.githubusercontent.com and api.github.com likewise 404; github.com robots.txt was parsed whole and returns not-refused for the repo and blob paths. No verification.jsonl row was added: a re-citation is not an adversarial pass. https://docs.api.nexopos.com/ · retrieved 2026-08-30
commercial-interchange-plus-published differentiator
Vendor is not an acquirer and publishes no processing rates of any structure.
commercial-rate-increase-clause differentiator
No processing agreement exists.
commercial-pricing-published
Core software price is $0 under a published OSI license, and every paid module and bundle carries an exact public dollar figure with no sales contact. Caveat: NexoPOS Cloud hosting pricing is published nowhere and its docs category is empty. https://my.nexopos.com/en/marketplace · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
commercial-module-unbundling differentiator
Every module is an independent one-time purchase — Gastro $45, Raw Material Tracker $20, Multistore $42, NPS Adapter $15 — installable and removable independently, with optional discount bundles. Nothing reprices a base subscription because there is none. https://my.nexopos.com/en/marketplace · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
commercial-hardware-purchase-outright
All hardware is third-party commodity equipment bought outright by the operator; the vendor imposes no lease or rental. https://my.nexopos.com/en/documentation/self-hosted/getting-started/requirement · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
commercial-hardware-not-locked differentiator
Runs in any browser on standard PCs/tablets, prints to standard ESC/POS thermal printers via browser or the local print server, and reads standard barcode scanners including an Android phone as a scanner. https://my.nexopos.com/en/marketplace/item/nexo-print-server · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
commercial-data-export-self-serve
Direct database ownership under self-hosting, plus CRUD table exports and a public REST API covering orders, line items, payments and customers. No support ticket, no fee. https://docs.api.nexopos.com · retrieved 2026-08-01
commercial-export-customer-and-loyalty differentiator
Customers, customer groups, rewards, coupons, coupon order history and account/wallet history are all first-class models with API and CRUD-export access. No gift-card liability exists to export. https://docs.api.nexopos.com · retrieved 2026-08-01
commercial-post-termination-export-window differentiator
For Cloud, Terms section 7 states that failure to pay may result in 'Data deletion' and 'Loss of hosted environments' with no retrieval window specified. For self-hosted the question does not arise. https://my.nexopos.com/en/help/terms-of-use · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
commercial-data-ownership-clause differentiator
The publicly published Terms of Use end at section 8.2 and contain no data-ownership or vendor-use-restriction clause. Could not determine whether such a clause exists in a fuller document.
commercial-pci-p2pe-tokenization
No card entry, no tokenization, no P2PE and no SAQ guidance published.
commercial-pci-dss-4-controls
No PCI DSS 4.0.1 documentation, and notably no MFA capability in the codebase for admin or POS logins.
commercial-privacy-dsar-tooling
Individual customer records can be located, exported and deleted in-app, and a public privacy policy exists. No purpose-built DSAR workflow and no executable DPA published. https://my.nexopos.com/en/documentation/user-guide/customers/managing-customers · retrieved 2026-08-01 · not refetchable · site policy · graded B when read
commercial-wcag-kiosk-accessibility differentiator
No VPAT/ACR, no WCAG claim, and no kiosk or consumer web-ordering surface to certify.
commercial-dual-pricing-compliant differentiator
No surcharge or cash-discount engine, and no card-type detection since the product never sees card data.
Adversarial verification
An independent pass was instructed to refute this record, defaulting to downgrade when uncertain. It challenged 24 values — 13 upheld, 7 downgraded, 0 upgraded. This is published in full because a reader who can see which values were contested, on what evidence, and which way they moved has something no affiliate-funded comparison offers.
Pricing and identity
| Field | Verdict | What the verifier found |
|---|---|---|
| pricing.software | upheld | Every figure verified verbatim on the live marketplace index (Gastro $45, RMT $20, Multistore $42, NPS Adapter $15, WhatsApp $19, Nexo SaaS $99, NexoPOS For Windows $39; Restaurant Essentials $69/$100 -31% 5 apps; Retail Essential $59/$85 -30.6%; Warehouse Essential $79/$122 -35.2%; Print Server / Options Import-Export / Email Service Driver / Barcode Utility free). Two corrections: (a) NexoPOS For Windows has a FREE tier — the item page states the free version prints watermarked receipts and the $39 premium removes the watermark, adds MariaDB and multi-printer management, so $39 is not the price of entry; (b) the dossier misses at least one first-party module, Stock Transfers (v5.2.1). 'Renewal Price: Same as purchase' confirmed on every paid item page. source |
| pricing.contract_length | upheld | Read the Terms in full. Sections 6 (30-day refund, sole discretion, author-payout deduction), 7 (automatic recurring billing until cancellation, monthly or annual, non-payment → service interruption/suspension/data deletion/loss of hosted environments), 8.1 ('uptime is not guaranteed', no liability for interruptions) and 8.2 (customer responsible for data backups and exports) are quoted accurately, and the document does end at 8.2. source |
| identity.scale | upheld | GitHub API confirms 1,231 stars, 552 forks, repo created 2020-06-25, GPL-3.0, last push 2026-07-31, releases v6.2.1 (2026-06-30) and v6.2.0 (2026-06-23). Worth adding a harsher datapoint the dossier missed: the marketplace publishes per-module download counts, and the restaurant stack shows Gastro 2, Raw Material Tracker 2, Stock Transfers 0, Multistore 8. Whatever those counters measure (likely current-version downloads), the restaurant layer has no demonstrable installed base. source |
| complaints | upheld | Spot-checked all five cited issues via the GitHub API: #2552 'never use floating point database type for storing monetary values' — OPEN; #2538 'Authorization bypass in CrudController write operations' — closed 2026-03-10; #2252 Driver Feature and #2262 Driver Mobile App — both OPEN with unchecked task lists; #2319 Gastro Table Drawing (Map) — OPEN. The delivery and floor-plan 'no' scores are therefore affirmatively evidenced, not merely undocumented. source |
Capability claims
| Claim | As first scored | Verdict | What the verifier found |
|---|---|---|---|
| extensibility-free-sandbox | yes — public hosted demo (demo.nexopos.com) plus free local install | downgrade-to-partial | demo.nexopos.com returns HTTP 404 (Laravel 'Not Found' page) as of 2026-08-01 — the hosted sandbox does not exist right now, so half the evidence for the 'yes' is dead. What survives: a free GPL core with a FirstDemoSeeder in database/seeders, and the free watermarked NexoPOS For Windows build. Both require the evaluator to stand up their own stack; there is no zero-effort trial. Partial, not yes. source |
| menu-pricing-recipe-linkage | yes — Raw Material Tracker links ingredients to products/recipes, sales deplete ingredient stock | downgrade-to-partial | The only evidence is a marketplace sales page for a closed-source $20 module ('Automatic Stock Deduction', 'Recipe Builder', 'Cost Tracking'). That is marketing copy, not product documentation — there is no Raw Material Tracker section in the documentation library and no source to inspect. The item page also shows Downloads: 2 and 5 ratings, so there is essentially no independent corroboration. Claim-level, so partial at best on a weighted differentiator. source |
| order-capture-offline-order-entry | partial (claimed) — NexoPOS For Windows 'no internet dependency' | downgrade-to-no | The marketplace blurb is real, but the item page explains what it actually is: a bundled Nginx + PHP + SQLite local server with HTTPS, i.e. self-hosting on one Windows box. That is a deployment mode, not offline order capture. The web client has no offline layer at all — public/ contains no service worker and no web manifest (only .htaccess, build, css-manifest.json, mix-manifest.json, images, svg, fonts, web.config). Lose the link to the server and the terminal has nothing. Scoring this as partial reads a hosting installer as an offline feature. source |
| hardware-offline-mode | partial (claimed) — Windows app marketed as running with no internet dependency | downgrade-to-no | Same evidence chain as above and the same defect. No client-side offline store, no service worker, no sync layer, and the vendor publishes no degradation matrix. Everything the Windows app does offline, it does because it IS the server. source |
| reliability-offline-order-entry | partial (claimed) | downgrade-to-no | Downgraded for consistency with the two cells above: there is no offline order entry. The genuine resilience story — a LAN-hosted server that survives an internet outage — is already scored correctly and separately at reliability-lan-degraded-multi-terminal (partial, upheld). Counting it twice inflates the offline picture. source |
| multi-location-central-menu-publish | unknown — 'no public Multistore documentation' | resolve-to-no | The premise is wrong: the Multistore marketplace item page carries a full user guide (dashboard changes, sub-store creation via queue workers, access control, wildcard subdomains, Sanctum stateful-domain config). It states affirmatively that every store has its own Products, Product Categories, Customers, Customer Groups, Units, Providers, Procurements, Settings, Orders, Expenses and Notifications, and closes with 'Every store is isolated and therefore isn't sharing the same resources (products, orders, customers, etc).' That is affirmative documentation of the absence of central menu publish. Resolve unknown → no. source |
| multi-location-price-zones | unknown | resolve-to-no | Multistore docs show products and settings are per-store and unshared; there is no shared catalogue on which a price zone could operate, and no zone concept appears in the guide. source |
| multi-location-cross-location-loyalty | unknown | resolve-to-no | The Multistore guide lists 'Customers, Customers Groups' among the components each store owns separately. Loyalty/rewards attach to customer records, so balances cannot be shared across stores. source |
| multi-location-org-hierarchy | unknown | resolve-to-partial | Resolving an unknown upward, but only to partial. The Multistore guide documents exactly two levels — a main/master dashboard and sub-stores reached through a store switcher, optionally on wildcard subdomains. There is no region/district/brand tier and no named hierarchy object. source |
| multi-location-consolidated-reporting | partial (claimed) | downgrade-to-unknown | Now that the Multistore documentation is in hand, it describes isolation, a store switcher and 'a new main dashboard' — it never documents a cross-store consolidated report, and orders/expenses are per-store components. Combined with the open bug on the yearly report failing to recompute under Multistore, there is no basis for partial. Unknown. source |
| reporting-cash-over-short | yes | upheld | Verified in source myself rather than taking the CRUD file at face value: RegisterHistory defines opening/closing/cash-in/cash-out/order-payment/refund actions with no explicit variance action, but CashRegistersService computes a session `$difference` from the closing value against the session's expected balance and passes it to the register-session view alongside closingBalance. Genuine per-session, per-cashier over/short. source |
| reporting-nl-query | partial — MCP server with SearchOrders/GenerateReport/GetDashboardSummary | upheld | Verified directly: app/Mcp/Servers/POSServer.php plus 19 tool classes (SearchOrders, SearchProductSales, GenerateReport, GetDashboardSummary, BulkUpdateProducts, UpdateSettings, SearchWalletHistory, …) and routes/ai.php is present in the repo tree. The dossier's '~18 tools' is 19. Partial is right — it is an external-client surface, not an in-product NL query UI. source |
| extensibility-webhooks-push | no | upheld | Confirmed independently: I fetched docs.api.nexopos.com anonymously (no login wall) and the reference covers Authentication, Categories, Customers, Customer Groups, CRUD, Fields, Forms, Medias, Modules, Notifications, Products, Orders and User — no webhook, callback or subscription section, no rate-limit documentation, and it states tokens 'don't expire until manually revoked'. routes/ contains channels.php (Laravel broadcasting) but that is in-process/websocket, not outbound webhooks. Also upholds extensibility-public-api-docs, extensibility-published-rate-limits and extensibility-oauth-partner-apps=partial. source |
| extensibility-app-marketplace | yes — 'a public marketplace with 30+ apps' | upheld | A public, no-login marketplace with in-dashboard install genuinely exists, so yes stands — but '30+ apps' is unverified and probably generous. The live index surfaces roughly 15 distinct items across Recommended / Recents / Most Downloaded, several of which are not POS extensions at all (Football Academy Laravel App, Website Explorer SaaS, BellSera marked 'Coming Soon'). Depth is thin: Gastro 2 downloads / 8 ratings, Raw Material Tracker 2 / 5, Multistore 8 / 2, Stock Transfers 0, NexoPOS For Windows 155. source |
| extensibility-doordash-preferred | no — cited DoorDash preferred-partner list | upheld | Score is obviously right (no DoorDash integration exists at all), but the cited URL is rotten: get.doordash.com/en-us/learning-center/preferred-integration-partners 301s to merchants.doordash.com/... which returns 404. The named 2026 cohort could not be re-verified, so the partner list in that note should not be relied on as a fact. source |
| order-capture-split-merge | partial | upheld | Verified against the Gastro item page myself: 'Move/merge/split orders between tables', areas-as-tables, visual overview of tables and active orders — no seat concept, no split by amount or share. Same page independently upholds kitchen-station-routing=partial (categories → kitchens, e.g. Drinks→Bar), kitchen-sla-alerts=no ('organized by priority or time, with notifications for new requests' only), kitchen-recall-refire=no (states are in-preparation/ready/rejected), menu-pricing-nested-modifiers=no (one level, single-or-multiple choice, optional quantity) and order-capture-floor-plan-editor=no (table drawing is open issue #2319). source |
| reporting-history-retention | yes, grade E, cites the self-hosted requirements page | upheld | The cited requirements page does not support the claim at all — I retrieved it and it covers only PHP 8.2, MariaDB 10.11/MySQL 8.4, Nginx/Apache, cron, Supervisor and Composer, with no sentence about data retention. So the evidence was wrong even though the value survives. I re-evidenced it from source: ReportService::getProductsReports() and getCategoryReports() query Order::paymentStatus(PAID)->from($start)->to($end), returning transaction-level order and order-product rows for any operator-supplied range, and ns-sale-report.vue exposes that range as two unbounded date-time pickers. getYearReportFor() accepts any year 2019-2099 and the yearly report can be recomputed for a past year on demand. The only truncate() under app/Jobs is PurgeOrderStorageJob, which clears the OrderStorage scratch table, not orders — nothing prunes order history, and there is no vendor to charge an archive fee because the database is the operator's. Upheld, but re-graded E to A on code rather than left standing on a page that says nothing. Named caveat now in the note: the aggregate dashboard and monthly figures exist only for periods when the operator's cron and Supervisor were running. source |
| hardware-usable-after-churn | yes, grade E, cites the GitHub repository homepage | downgrade-to-unknown | The claim requires vendor documentation confirming that hardware bought from the vendor survives cancellation. I checked whether NexoPOS sells any hardware and it does not: the marketplace lists software only — Gastro $45, Raw Material Tracker $20, Multistore $42, NexoPOS For Windows $39, Nexo Print Server free, NPS Adapter $15, Nexo SaaS $99 — and Barcode Utility, the closest thing to a device, 'turns your Android phone into a barcode reader'. The self-hosted requirements page lists server software only and the documentation nav has no hardware category, so there is no vendor statement to read either way. The prior yes was the researcher's inference from GPL-3.0 self-hosting, cited to the repo homepage at grade E — not permitted on a differentiator, and inference is grade F by definition. Downgraded to unknown with rationale and no url. Flagging separately that the honest fix for hardware-free vendors is a peer-group scope override, not a per-vendor value. source |
| extensibility-doordash-preferred | no / B -- "Score is obviously right (no DoorDash integration exists at all), but the cited URL is rotten" | upheld | Re-probed the cited URL: still HTTP 404 (428,095 bytes of soft-404 shell), and get.doordash.com 301s onto the same 404, so the citation is dead. Located two live replacements. DoorDash's developer docs carry the DPIP requirements verbatim (order failure and merchant cancel rates below 1%, 250+ live stores, eight required features). DoorDash's own 2026 announcement enumerates the cohort by name -- Checkmate, Chowly, Deliverect, Otter, PAR, Qu, Square, Stream, Toast, UrbanPiper -- and NexoPOS is not among them. Independently, the NexoPOS marketplace catalog retrieved 2026-08-09 contains no delivery-aggregator connector of any kind (no match for 'doordash', 'uber' or 'deliver'), which is why the vendor record already excludes the delivery category. Value stands at `no`; this is a re-evidencing, not a rescore. source |
| extensibility-free-sandbox | partial / B -- "demo.nexopos.com returns HTTP 404 (Laravel 'Not Found' page) as of 2026-08-01 -- the hosted" | upheld | Re-probed demo.nexopos.com 2026-08-09: still HTTP 404, 6,609 bytes, and my.nexopos.com's homepage no longer references any demo host, so there is no successor and the citation is withdrawn rather than re-pointed. Verified the surviving legs myself rather than taking the researcher's word: the GitHub contents API lists FirstDemoSeeder.php (439 bytes) alongside fifteen other seeders in database/seeders on master, and its body calls RewardSystemSeeder, CustomerGroupSeeder, TransactionSeeder and FirstExampleProviderSeeder; the marketplace page for NexoPOS For Windows states 'Free version: includes watermark on printed receipts' versus 'Premium version: removes watermark for production use'. Both routes are free of any paid production account but require self-installation, which is the named shortfall. Value stands at `partial`; the grade moves B -> A because the evidence is now repository source rather than a demo host. Re-evidencing, not a rescore. source |
Sources
Every URL this record cites. 61 in total.
- https://github.com/Blair2004/NexoPOS/issues/2319
- not refetchable
- not refetchable
- not refetchable
- not refetchable
- https://github.com/Blair2004/NexoPOS/issues
- not refetchable
- not refetchable
- not refetchable
- not refetchable
- not refetchable
- not refetchable
- not refetchable
- not refetchable
- not refetchable
- not refetchable
- https://github.com/Blair2004/NexoPOS
- not refetchable
- not refetchable
- not refetchable
- not refetchable
- https://github.com/Blair2004/NexoPOS/issues/2252
- https://github.com/Blair2004/NexoPOS/issues/2262
- https://docs.api.nexopos.com
- not refetchable
- https://github.com/Blair2004/NexoPOS/blob/master/app/Crud/CouponOrderHistoryCrud.php
- not refetchable
- https://github.com/Blair2004/NexoPOS/blob/master/app/Crud/RegisterHistoryCrud.php
- not refetchable
- not refetchable
- not refetchable
- not refetchable
- not refetchable
- not refetchable
- not refetchable
- not refetchable
- https://raw.githubusercontent.com/Blair2004/NexoPOS/master/app/Services/CashRegistersService.php
- not refetchable
- https://api.github.com/repos/Blair2004/NexoPOS/contents/app/Mcp/Tools
- not refetchable
- not refetchable
- not refetchable
- not refetchable
- not refetchable
- not refetchable
- https://about.doordash.com/en-us/news/doordash-preferred-integrations-program-2026
- https://api.github.com/repos/Blair2004/NexoPOS/contents/public
- not refetchable
- not refetchable
- not refetchable
- not refetchable
- https://api.github.com/repos/Blair2004/NexoPOS
- https://api.github.com/repos/Blair2004/NexoPOS/issues/2552
- https://api.github.com/repos/Blair2004/NexoPOS/contents/database/seeders
- https://raw.githubusercontent.com/Blair2004/NexoPOS/master/app/Services/ReportService.php
- https://raw.githubusercontent.com/Blair2004/NexoPOS/master/resources/ts/pages/dashboard/reports/ns-sale-report.vue
- https://raw.githubusercontent.com/Blair2004/NexoPOS/master/app/Jobs/PurgeOrderStorageJob.php
- https://developer.doordash.com/en-US/docs/marketplace/overview/getting_started/preferred_integrations_new/
- https://about.doordash.com/en-us/news/doordash-preferred-integrations-program-2026
- https://github.com/Blair2004/NexoPOS/blob/master/database/seeders/FirstDemoSeeder.php
- https://docs.api.nexopos.com/