Vendors / Open source & self-hostable
uniCenta oPOS
dossier maintenance
- Claims in scope
- 278
- Scored
- 278
- Assessed
- 237
- Unknown
- 41
- Not applicable
- 36
- Cells challenged
- 60
Identity
- Owner
- Jack Gerrard / uniCenta. No corporate entity, country of registration, or team size is disclosed on the site.
- Founded
- 2010 — began as founder Jack Gerrard's hobby project, forked from the Openbravo POS Java codebase; support-by-subscription introduced 2016. Source: https://unicenta.com/about/
- Scale
- Vendor claims 'over 1 million downloads since 2010' and presence in 100+ countries (claim-level, unicenta.com homepage). SourceForge shows ~997 downloads/week and 4.4/5 from 99 reviews (https://sourceforge.net/projects/unicentaopos/). Installed base, ARR, and market share: unknown — nothing public.
- Who it is for
- Single-site and very small multi-site retail, cafés, bars and casual restaurants run by technically self-sufficient owners or local resellers able to install Java + MySQL themselves. No evidence of any chain or franchise deployment; no enterprise motion.
- Site
- https://unicenta.com/
Pricing
transparency: published · unit: flat · processor lock-in: no
- Software
- Core software £0 under GPL3 (community build v5.0 via SourceForge). Paid tiers, all charged annually: BASE £6/month (£72/yr) — downloads + source code, update notifications, web reporting & remote order display, standard forum support, user/developer guides, beta access, API access, 10% rate discount. PLUS £12/month (£144/yr) — priority forum support, unlimited API access, 15% rate discount, limited developer support. HOSTED £15/month (£180/yr) — cloud hosting, iPad/Android browser access on a custom HTTPS URL, daily automated backups, email support, web firewall, automatic upgrades. A 'Hosted Monthly 50%' level is referenced on the developer page but is unpriced.
- Card processing
- quote-only. Vendor markets 'integrated card payments in the UK, EU and USA' and 'get paid the next business day' but publishes no rate, no interchange-plus markup, and names no processor. Subscribers get an unquantified '10%/15% rate discount'. Source: https://unicenta.com/card-payments/
- Contract
- Annual. Vendor states subscriptions last one year, can be cancelled at any time, and the software keeps working after expiry.
- Early termination
- None published. Cancellation is stated as available at any time. No terms-and-conditions/MSA page was reachable on the site, so contract language could not be verified.
API posture
public API: partner-gated
- Cost to integrate
- API access is a paid subscription benefit: BASE £72/yr includes 'API access', PLUS £144/yr includes 'unlimited API access'. No free tier, no partner program, no revenue share, no certification.
- Webhooks
- None documented. The published Insomnia collection at docs.unicenta.com covers three resources — Customer, Order, Product — each with full CRUD including a bulk GET, under HTTP Basic auth against api.unicenta.io. No outbound events, no signing, no retry policy.
- Data export on exit
- Structurally the vendor's strongest property, but weaker than first recorded. The app runs against the operator's own MySQL database, so the operator already holds every transaction, customer and inventory row and can dump or query it with SQL at any time, subscription or not. No vendor data-hostage risk for self-hosted installs. Two qualifications apply. The table reference that documents what a dump contains is gated to Plus and Hosted subscribers, so the format is not freely documented; and the HOSTED tier's export mechanics are undocumented.
- Notes
- Corrected 2026-08-07: the API is NOT write-only. The published Insomnia collection defines GET /customer, GET /order and GET /product alongside the POST/PUT/DELETE verbs, so a documented read-out path exists — it is simply paid, since API access sits behind the BASE subscription. What the collection does not define is any response schema, pagination or field list, so the endpoints are enumerated without being specified. No OAuth (HTTP Basic only), no scopes, no published rate limits ('unlimited' at PLUS implies an unstated BASE limit), no sandbox beyond a dev.unicenta.io base URL, no API changelog or deprecation policy.
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
Restaurant mode, Table Management and Move Table documented; multiple floors with placed tables. No documented server-section assignment or table shape/capacity modeling. https://unicenta.com/features/ · retrieved 2026-08-01
order-capture-seat-level
Seat-number tagging of order lines is not mentioned in any public vendor documentation.
order-capture-coursing-hold-fire
Coursing, hold and fire-next-course appear nowhere in the vendor's enumerated hospitality feature set.
order-capture-split-merge
SCORE CHANGE unknown→partial (a raise, not a cut — the enum has no 'upgrade-to-partial'). The features page lists 'Split Receipts' and 'Transfer Order Item' under Sales, so splitting a check and moving items between checks are documented. Split by seat or by arbitrary amount, and check merging, remain undocumented — hence partial, not yes. https://unicenta.com/features/ · retrieved 2026-08-01 adversarially verified
order-capture-bar-tab-preauth differentiator
No pre-authorization, incremental re-auth, or stale-tab auto-close documented.
order-capture-transfer-audit
Move Table exists and roles are permissioned; no audit log naming both employees is documented. https://unicenta.com/features/ · retrieved 2026-08-01
order-capture-native-handheld
Upheld and reinforced against an obvious trap: the features page does list 'Mobile POS', which could easily have been read as a handheld. The FAQ confirms iPad and Android devices require 'an RDP app' to reach a host installation, and only Windows tablets run the app directly. Remote desktop session, not a native handheld. https://unicenta.com/faqs/ · retrieved 2026-08-01 adversarially verified
order-capture-offline-order-entry
Thick client on a local database keeps order entry and LAN printing alive offline, but the vendor publishes no offline statement.
order-capture-qr-same-check differentiator
No guest QR ordering; WooCommerce 'table ordering' creates a separate injected order, not a write to an open check.
order-capture-kiosk-first-party differentiator
No kiosk product and no accessibility conformance documentation.
order-capture-drive-thru
No drive-thru order flow documented.
order-capture-drive-thru-timers
No speed-of-service timing capability documented.
order-capture-voice-ai differentiator
No voice AI product and no partner program; no voice partner is named.
order-capture-throttling differentiator
No per-channel capacity limits or automatic quote-time extension documented.
order-capture-scheduled-orders
Future-dated orders and lead-time-driven fire scheduling are not described publicly.
order-capture-catering
No catering flow, quotes, deposits, or balance-due tracking documented.
order-capture-order-ready-signal differentiator
No marketplace integrations exist, so no order-ready signal can be pushed.
order-capture-void-comp-controls
Role-based security levels gate actions; reason codes and a dedicated exception report are not documented. https://sourceforge.net/projects/unicentaopos/ · retrieved 2026-08-07
Menu, modifiers & pricing engine
menu-pricing-nested-modifiers
'Attributes/Modifiers' listed. Nesting depth, min/max counts and forced-selection flags undocumented; the model is retail-variant oriented. https://unicenta.com/features/ · retrieved 2026-08-01
menu-pricing-modifier-price-by-parent-size
No documentation of a modifier price matrix keyed to parent item and size.
menu-pricing-fractional-placement differentiator
No halves or quarters placement anywhere in the feature catalog.
menu-pricing-half-and-half-rule differentiator
No half-and-half pricing rule of any kind documented.
menu-pricing-topping-quantity-tiers
No light/regular/extra/double multipliers documented.
menu-pricing-size-style-matrix differentiator
Attribute sets generate variants, but a two-axis grid with per-cell price override is not documented.
menu-pricing-included-allowance differentiator
No included-modifier allowance or overage charging documented.
menu-pricing-combos
SCORE CHANGE unknown→partial (a raise). 'Product Bundles' is listed under Inventory on the features page — a kit/bundle construct exists. Swap deltas, component substitution pricing and automatic cart conversion are undocumented, so it stops short of yes. https://unicenta.com/features/ · retrieved 2026-08-01 adversarially verified
menu-pricing-upsell-prompts differentiator
No suggestive-sell prompts or attach-rate reporting documented.
menu-pricing-86-propagation
No online ordering, kiosk, or marketplace channels exist to propagate an 86 to.
menu-pricing-countdown-auto-86 differentiator
Stock min/max levels exist, but automatic 86 at zero with scheduled restore is not documented. https://unicenta.com/features/ · retrieved 2026-08-01
menu-pricing-dayparting
Time-scheduled menu, item and price activation is not described in public documentation.
menu-pricing-channel-price-books
Per-channel price books and percentage-markup rules are not documented.
menu-pricing-dual-pricing differentiator
No dual pricing or cash-discount capability documented.
menu-pricing-allergen-nutrition
Allergen and nutrition attributes are not mentioned in the public feature catalog.
menu-pricing-recipe-linkage differentiator
Stock depletes on sale, but recipe/BOM linkage to modifiers and theoretical food cost is not documented.
menu-pricing-3p-menu-push
Only WooCommerce is live; QuickBooks and Etsy are 'Coming Soon'. No marketplace menu push exists. https://unicenta.com/integrations/ · retrieved 2026-08-01
menu-pricing-dynamic-pricing
No rule-based dynamic pricing documented.
Payments & money movement
payments-processor-choice differentiator
Score stands but the note is factually wrong: the vendor DOES publish a processor list. The FAQ names Dejavoo (Americas) and PaymentSense (UK/Ireland) as the supported providers, each requiring a merchant account with that provider. So it is not 'no gateway list published' — it is a list of exactly one processor per region, which is weaker for the operator than the dossier implies. https://unicenta.com/faqs/ · retrieved 2026-08-01 adversarially verified
payments-published-rates differentiator
Card payments page publishes no rate — only unquantified 10%/15% subscriber 'rate discounts'. https://unicenta.com/card-payments/ · retrieved 2026-08-01
payments-dual-pricing differentiator
No two-price-per-item storage or dual cash/card receipt totals documented.
payments-surcharge-guardrails differentiator
No surcharging engine, BIN-based debit exclusion, or network cap enforcement documented.
payments-emv-nfc
The quoted EMV/PCI language does not appear on the cited card-payments page (which claims only 'integrated card payments in the UK, EU and USA', 'all major payment methods', 'get paid the next business day'). Where EMV/P2PE is claimed, it is for the third-party 'posApps Plugin Manager' — card gateways were removed from uniCenta core for PCI reasons — and posapps.io now 301-redirects through a parked-domain chain (pieshare.io → inheritdoc.io → momint.io). Contactless, Apple Pay and Google Pay are never named. Not native, not verifiable, possibly defunct. adversarially verified
payments-softpos-tap-to-pay differentiator
Tap to Pay on iPhone or Android tap-to-pay is not mentioned anywhere.
payments-pay-at-table
Vendor ships no handheld hardware, so there is no pay-at-table device. https://unicenta.com/features/ · retrieved 2026-08-01
payments-qr-guest-pay differentiator
Digital receipts exist, but no scan-to-pay flow that closes the check is documented.
payments-tip-adjust
Tip prompt, pre-auth-then-adjust flows and a batch adjust window are not documented.
payments-tip-pooling differentiator
No tip pooling or distribution rules exist anywhere in the product.
payments-offline-store-and-forward differentiator
No statement on offline card capture; the vendor publishes no offline documentation.
payments-offline-decline-liability differentiator
Nothing published on offline decline liability or a failed-offline-payment report.
payments-gift-cards
SCORE CHANGE unknown→partial (a raise). Beyond the 'Customer Store Card' the researcher found, the features page also lists 'Voucher management' as a system feature. Some stored-value construct is documented; balance mechanics, cross-location and online redemption are not. https://unicenta.com/features/ · retrieved 2026-08-01 adversarially verified
payments-house-accounts
The note's stated gap is wrong. The features page lists 'Statement' explicitly under customer data, together with 'Account Sale', 'Account Settlement', 'Credit Limit' and 'Transaction History'. Charge accounts with balances and statements are enumerated; the researcher missed the Statement line. https://unicenta.com/features/ · retrieved 2026-08-01 adversarially verified
payments-split-tender
'Multi-Payment' allows several tenders on one sale; split by seat/item/even shares and any cap are undocumented. https://unicenta.com/features/ · retrieved 2026-08-01
payments-refund-void-controls
Role-based security levels gate privileged actions; an immutable audit log identifying the approver is not documented. https://sourceforge.net/projects/unicentaopos/ · retrieved 2026-08-07
payments-chargeback-tooling differentiator
No dispute or chargeback dashboard documented.
payments-card-on-file differentiator
Tokenized card-on-file tied to a guest profile is not described.
payments-payout-timing differentiator
Claims 'get paid the next business day' but publishes no deposit schedule, cutoff times, or instant-funding option. https://unicenta.com/card-payments/ · retrieved 2026-08-01
payments-p2pe-pci4
Upheld, with an added caution for the write-up: uniCenta material claims a 'fully compliant and approved PCI/EMV P2PE PA-DSS solution' for Dejavoo. PA-DSS was retired in October 2022 and replaced by PCI SSF, so the claim is stale on its face, and no AoC, PCI DSS version, or P2PE listing entry is published. Unknown is the right score. adversarially verified
Kitchen & production
kitchen-station-routing
Remote/kitchen print plus multiple printers supports category routing; per-location rule config and order-type or revenue-center routing undocumented. https://unicenta.com/features/ · retrieved 2026-08-01
kitchen-expo-consolidation
No expo screen or multi-station completion logic documented.
kitchen-course-firing differentiator
No course assignment, hold, or on-demand fire documented.
kitchen-prep-time-pacing differentiator
No per-item cook times or staggered start logic documented.
kitchen-order-throttling differentiator
No load-based pacing; there is no digital order channel to pace.
kitchen-channel-pause-propagation differentiator
No marketplace connections exist to propagate a pause or availability change to.
kitchen-order-ready-callback differentiator
No marketplace status callback exists.
kitchen-bump-bar-hardware
The remote order display is described only as browser-based; bump-bar support and supported models are not documented.
kitchen-all-day-counts
An all-day aggregated quantity view is not described in public documentation.
kitchen-sla-alerts
Target cook times, color escalation and audible alerts are not documented.
kitchen-printer-fallback differentiator
Automatic failover to a backup printer or screen is not documented.
kitchen-offline-operation differentiator
LAN-served displays would survive an internet outage by architecture, but no offline KDS behavior is documented.
kitchen-item-build-screens differentiator
No recipe-step or build-detail station display documented.
kitchen-pizza-fractional-display differentiator
There is no fractional placement in the menu engine, so nothing to render.
kitchen-recall-refire
Recall/unbump and per-item refire are not documented for the remote order display.
kitchen-order-modification-alerts differentiator
No live-ticket change highlighting documented.
kitchen-guest-ready-notification differentiator
No SMS, push, or order-status board product documented.
kitchen-waste-logging
Back-office stock adjustments exist, but no KDS-side reason-coded waste or remake logging is documented.
kitchen-speed-of-service-reporting
No ticket-time or station-time reports among the six documented report categories. https://unicenta.com/features/ · retrieved 2026-08-01
kitchen-prep-forecasting
No forecast-driven prep list documented.
Delivery, dispatch & third-party channels
delivery-driver-roster
No driver entity, assignment state, or run history in the documented feature set.
delivery-dispatch-board
No dispatch or expo screen for delivery documented.
delivery-route-map differentiator
No mapping or route sequencing capability documented.
delivery-driver-tracking differentiator
No driver mobile app exists, so no GPS capture.
delivery-zones-polygon differentiator
No delivery zone modeling of any kind documented.
delivery-zone-pricing
No per-zone fee, order minimum, or promise time documented.
delivery-address-validation
No geocoding or address validation at order time documented.
delivery-driver-comp differentiator
No mileage or per-delivery reimbursement tracking documented.
delivery-cash-reconcile
Close Cash reconciles a drawer, not a driver bank; no per-driver settle-up flow documented.
delivery-daas-dispatch
No DoorDash Drive, Uber Direct, Nash, or Relay integration documented.
delivery-daas-fallback differentiator
No hybrid dispatch rules; no DaaS connection exists to overflow to.
delivery-3p-direct-integration differentiator
Integrations page lists WooCommerce live, QuickBooks and Etsy coming soon. No marketplace integrations at all. https://unicenta.com/integrations/ · retrieved 2026-08-01
delivery-3p-injection
Re-grounded off the /api/ marketing page. uniCenta's complete published API artifact is its exported Insomnia collection at docs.unicenta.com/insomnia.json: 14 requests across exactly three resources (customer, order, product) against a base-url of https://api.unicenta.io. Order intake is a single generic POST /order whose body carries only products[] (name, priceExcludingTax, amount, tax) and customerId - no channel, order-source, marketplace or delivery fields, and no per-marketplace resource. The vendor's own Integrations page names one integrated partner, WooCommerce ("Get Customers / Get Orders / Get Products"), with two further tiles reading "Coming Soon!". There is no third-party marketplace connected to inject from, so nothing arrives to fire to KDS or printers. https://docs.unicenta.com/insomnia.json · retrieved 2026-08-09
delivery-menu-push
Product API and WooCommerce sync push products to the operator's own web store only, not to marketplaces. https://unicenta.com/integrations/ · retrieved 2026-08-01
delivery-86-sync
No third-party channels exist to sync item availability to.
delivery-store-pause
No marketplace store-pause capability.
delivery-3p-reconciliation differentiator
No marketplace payout reconciliation report documented.
delivery-injection-error-visibility differentiator
CORRECTED 2026-09-01: the verdict stands, its stated reason did not. This rationale previously read 'Error handling and connection health for the WooCommerce/Order API path are not documented publicly; developer docs are subscriber-gated' -- but this record's own extensibility-public-api-docs cell has been `yes A` since 2026-08-09 on the finding that 'The API reference is public and unauthenticated', citing docs.unicenta.com/insomnia.json. Both sentences cannot be true of the same surface. The one that is true is the narrower one recorded in that cell: the PUBLIC part is the Insomnia collection of 15 customer, order and product requests, while the SUBSCRIBER-GATED part behind unicenta.com/developer-section/ is the developer guides and the database-table reference. What actually leaves this cell unresolved is that neither surface addresses the claim: an Insomnia collection lists methods, paths and example bodies and says nothing about failed or rejected order injections, per-channel connection status or operator-facing failure alerts, and unicenta ships no first-party delivery-channel connector for such a view to belong to. Not re-probed; this is a repair to a wrong reason under an unchanged verdict, taken from evidence already in this file.
delivery-tracking-page
No branded guest tracking page or SMS link documented.
delivery-promise-time differentiator
No dynamic promise-time engine documented.
delivery-offline-behavior
The vendor publishes no offline documentation for delivery; there is no delivery module to document.
Digital ordering & guest-facing channels
digital-first-party-web
Score stands, with a material caveat the dossier omits: WooCommerce integration shipped in 5.4.0 (August 2025), a subscriber-only build. It is unavailable in the free v5.0 community release, so the only 'digital ordering' path costs at least £72/yr on top of the operator building and hosting their own WooCommerce store. https://unicenta.com/support/changelog-unicenta-opos/ · retrieved 2026-08-01 adversarially verified
digital-menu-single-source
Product API/WooCommerce sync lets one product record drive both; modifier, image and price parity are not documented. https://unicenta.com/integrations/ · retrieved 2026-08-01
digital-native-app differentiator
No branded consumer iOS/Android app; tablet use is back-office browser access.
digital-account-saved-payment
Guest accounts with saved addresses and tokenized cards would live in WooCommerce, not the vendor's product.
digital-upsell-engine differentiator
No digital upsell engine or attach-rate reporting documented.
digital-scheduled-pacing
No slot capacity limits or daypart throttling documented.
digital-fulfillment-modes
Only click-and-collect and table ordering are named as WooCommerce uses; no curbside check-in, mode fees, or delivery flow. https://unicenta.com/integrations/ · retrieved 2026-08-01
digital-qr-table
'Table ordering at restaurants' is named as a WooCommerce use case; no documented attachment to an existing check, splitting, or tipping. https://unicenta.com/integrations/ · retrieved 2026-08-01
digital-kiosk differentiator
No self-order kiosk product.
digital-group-ordering
No group ordering link or spend caps documented.
digital-catering-portal differentiator
No catering ordering flow documented.
digital-voice-ai-phone differentiator
No AI phone ordering product and no named certified partner.
digital-drivethru-ai
No drive-thru capability at all.
digital-sms-ordering
No conversational SMS or chat ordering documented.
digital-google-order differentiator
No Order with Google provisioning documented.
digital-apple-business-connect
No Apple Business Connect ordering placement documented.
digital-loyalty-attach
No loyalty engine exists to attach to a digital flow.
digital-subscriptions
No guest subscription or membership program documented.
digital-promo-parity
Customer discount % exists in the POS, but no shared promo definition across POS and digital channels.
digital-guest-data-ownership differentiator
Ownership is real and documented: the operator supplies the database server the app connects to ("The most essential setting is that you have a MySQL server installed, set up, and running correctly"), so guest rows sit in the operator's own MySQL instance and need no vendor approval to query. Shortfall: the vendor documents no fee-free bulk guest export. The Customer API's GET /customer is a paid subscription benefit, the database table reference is gated to Plus and Hosted subscribers, the GDPR page routes subject requests to "contact us to request assistance", and consented marketing status is not a documented field. https://unicenta.com/pages/configure-unicenta-opos/ · retrieved 2026-08-07
digital-checkout-pci-sca
No vendor-hosted digital checkout exists; PCI DSS 4.0 script-integrity posture is not published.
digital-surcharge-transparency differentiator
No surcharge or service-fee configuration in POS or digital channels documented.
Guest data, loyalty & marketing
guest-loyalty-unified-profile
One customer table, reached through a caller-addressed CRUD resource: POST, PUT, DELETE and GET /customer, where the caller supplies the record's own UUID id alongside emailAddress, telephone, mobile, card and searchKey. That caller-supplied id is the entire merge story - identity matching is the integrator's job, not the platform's. Shortfall: the published collection defines no merge, dedup or identity-resolution operation and no lookup-by-phone or lookup-by-email endpoint, so nothing automatic happens on a phone or email match. uniCenta also ships no first-party web/app ordering or kiosk channel whose transactions would need merging; the only documented external order source is WooCommerce. https://docs.unicenta.com/insomnia.json · retrieved 2026-08-09
guest-loyalty-thirdparty-identity-attach differentiator
No marketplace integrations exist, so no third-party identity to attach.
guest-loyalty-accrual-models
Documented customer features are lookup, credit limit, store card, discount % and VIP flag; no points, punch, or spend-tier accrual. https://unicenta.com/features/ · retrieved 2026-08-01
guest-loyalty-tiers differentiator
A static VIP flag exists; no automatic promotion or demotion on rolling-window spend.
guest-loyalty-offline-behavior differentiator
No loyalty engine and no published offline behavior documentation of any kind.
guest-loyalty-offer-stacking-rules differentiator
No offer engine with stacking or precedence configuration documented.
guest-loyalty-targeted-offers differentiator
No audience-rule offer issuance documented.
guest-loyalty-rfm-segmentation differentiator
No automatic lifecycle segmentation; customer reports are transactional.
guest-loyalty-lifecycle-automation
No triggered birthday, first-visit, or win-back campaigns documented.
guest-loyalty-native-email-sms differentiator
Emailed digital receipts exist; no marketing email or SMS campaign capability documented. https://unicenta.com/ · retrieved 2026-08-01
guest-loyalty-consent-management
No per-channel consent capture with timestamp and source documented.
guest-loyalty-10dlc-registration
No SMS sending capability, therefore no A2P 10DLC handling or documentation.
guest-loyalty-campaign-attribution differentiator
No campaign construct exists to attribute redemptions against.
guest-loyalty-data-export-portability differentiator
Downgraded from yes: the "no vendor fee" leg does not survive. The Customer API is a paid subscription benefit - the Apply page lists "API Access" under BASE (GBP 6 per month charged yearly, GBP 72) and "Unlimited API Access" under PLUS (GBP 144), with HOSTED carrying "API access as standard" - and the published collection's production base-url is the hosted https://api.unicenta.io. What does survive: on a self-hosted install the guest rows sit in the operator's own MySQL server, so a direct dump is self-serve, free and needs no ticket. Further shortfalls: GET /customer returns profile fields only, not transaction history; the database table reference that would document the schema is gated ("This content is available to uniCenta Customer Plus, Hosted, and Hosted Monthly 50% Subscribers only"); and the GDPR help page routes individual rights requests to "contact us to request assistance". No CSV export of the guest list is documented anywhere. https://unicenta.com/apply/ · retrieved 2026-08-09
guest-loyalty-review-capture-routing differentiator
No feedback capture or score-based routing documented.
guest-loyalty-referral-program
No referral codes, attribution, or two-sided rewards documented.
guest-loyalty-wallet-pass differentiator
No Apple Wallet or Google Wallet pass issuance documented.
guest-loyalty-privacy-rights-tooling
No in-app DSAR tooling; operators would service requests with direct SQL against their own database.
guest-loyalty-redemption-fraud-controls
No loyalty redemption exists; no velocity limits or self-redemption flagging documented.
guest-loyalty-ai-offer-recommendation differentiator
No AI or ML features of any kind are claimed by the vendor.
guest-loyalty-stored-value-gift
Customer store card and credit accounts give account-tied balances, but this reads as house credit; cross-location redemption undocumented. https://unicenta.com/features/ · retrieved 2026-08-01
Labor & workforce
labor-clock-in-at-pos
Under-scored. The vendor features page explicitly lists employee 'CheckIn/CheckOut' under Personnel, alongside 'iButton/Dallas key' and 'Secure User Logon' authentication, with an 'Employee' report category. That is a POS-resident time punch tied to an identified employee. Claim-level (marketing features page), but affirmatively enumerated. https://unicenta.com/features/ · retrieved 2026-08-01 adversarially verified
labor-photo-punch-verification differentiator
No photo capture or facial verification at punch documented.
labor-offline-time-punch differentiator
No offline behavior documentation of any kind is published.
labor-granular-rbac
Role-based security levels with per-action permissions are a core feature; per-location scoping is undocumented and no permission catalog is published. https://sourceforge.net/projects/unicentaopos/ · retrieved 2026-08-07
labor-manager-override-audit
Whether overrides are attributed to the approving manager in an immutable queryable trail is not documented.
labor-native-scheduling differentiator
No shift scheduling module in the feature catalog.
labor-demand-labor-forecast differentiator
No recommended staffing levels or labor forecasting documented.
labor-realtime-labor-percent differentiator
No real-time labor-as-percent-of-sales view documented.
labor-overtime-prevention differentiator
No overtime thresholds or clock-in warnings documented.
labor-break-compliance-by-state differentiator
No jurisdictional break rules; UK-origin product with no US labor compliance features documented.
labor-minor-labor-rules
No minor-labor restriction enforcement documented.
labor-tip-pooling-rules
No automatic tip pooling or tip-out computation documented.
labor-tip-distribution-audit-trail
No per-shift tip contribution and distribution record documented.
labor-qualified-tips-w2-reporting differentiator
No payroll export exists; no W-2 Box 12 TP or Box 14b support documented.
labor-native-payroll differentiator
No first-party payroll product.
labor-payroll-export-formats
Integrations catalog names only WooCommerce, QuickBooks (coming soon) and Etsy (coming soon). No payroll provider. https://unicenta.com/integrations/ · retrieved 2026-08-01
labor-shift-swap-workflow differentiator
No employee self-service app or swap approval workflow documented.
labor-server-performance-metrics differentiator
'Employee' is a documented report category implying per-employee sales; average check, attachment rate and void/comp rate are not specified. https://unicenta.com/features/ · retrieved 2026-08-01
Inventory, purchasing & cost control
inventory-recipe-bom-costing
Stock and product cost fields exist, but multi-level recipes with sub-recipes and automatic plate-cost recalculation are not documented publicly.
inventory-unit-conversion-yields
Purchase/recipe/count unit conversion factors and yield or waste percentages are not documented.
inventory-theoretical-vs-actual differentiator
No theoretical-versus-actual usage variance report in the documented inventory report set.
inventory-realtime-depletion differentiator
Features page states stock levels track in real time as sales occur; modifier-driven and recipe-driven depletion are not documented. https://unicenta.com/features/ · retrieved 2026-08-01
inventory-86-auto-sync differentiator
No automatic 86 on ingredient depletion, and no online or third-party channels to sync to.
inventory-count-modes
Stock management with min/max and multi-warehouse counting documented; distinct full/spot/cycle modes with separate variance history are not. https://unicenta.com/features/ · retrieved 2026-08-01
inventory-mobile-count-offline
No dedicated mobile counting app; counting happens in the desktop back office.
inventory-vendor-catalogs-edi differentiator
Supplier records exist but there are no distributor catalog or EDI integrations; the integrations catalog has one live partner. https://unicenta.com/integrations/ · retrieved 2026-08-01
inventory-invoice-ocr differentiator
No supplier invoice capture or OCR line extraction documented.
inventory-price-change-alerts differentiator
No per-item purchase price history alerting documented.
inventory-par-auto-suggest differentiator
Min/max stock levels are documented and drive reorder visibility; forecast-driven suggested PO quantities are not. https://unicenta.com/features/ · retrieved 2026-08-01
inventory-waste-logging
Stock movement adjustments allow shrinkage entry, but a reason-coded waste workflow with separate waste-cost reporting is not documented.
inventory-shelf-life-expiry
No expiry or use-by date tracking documented.
inventory-bar-partial-bottle
Weighing scales support by-weight retail items; no partial-bottle or pour-spout beverage inventory documented. https://unicenta.com/features/ · retrieved 2026-08-01
inventory-cogs-gl-export
QuickBooks is listed as 'Coming Soon!'; no other accounting connector or GL account mapping exists. https://unicenta.com/integrations/ · retrieved 2026-08-01
inventory-native-not-partner differentiator
Named shortfall: no recipe/ingredient costing. Release notes document stock as native to the single Java application - 'Stock Management.java' state-transition changes, 'Switch Stock popup Min and Max values', 'Add missing stockcurrent SQL join causing Location filter error' (multi-location stock), and the inventory.bs/inventorybroken.bs/inventorylistdetail.bs report set - with no third-party inventory product involved. Nothing uniCenta publishes describes recipe or ingredient-level costing/depletion; the vendor's own SourceForge forum answers that request with a Product-Bundles workaround that deducts stock from one parent product only. https://unicenta.com/support/changelog-unicenta-opos/ · retrieved 2026-08-06
inventory-menu-margin-linkage differentiator
Product cost fields and sales reports exist, but a contribution-margin-per-item report with threshold flagging is not documented.
Reporting, BI & data access
reporting-realtime-dashboard
Web Reports give browser-accessible reporting from the BASE tier and HOSTED adds off-premise HTTPS access; no live dashboard or mobile app. https://unicenta.com/apply/ · retrieved 2026-08-01
reporting-eod-closeout
Close Cash plus financial reports produce a day close; a single document covering tax, tips, discounts, refunds and expected deposit is unspecified. https://unicenta.com/features/ · retrieved 2026-08-01
reporting-pmix-modifier-level
Sales reports cover product-level mix; modifier-level PMIX and daypart or revenue-center filtering are not documented. https://unicenta.com/features/ · retrieved 2026-08-01
reporting-comps-voids-audit
No comps/voids/override audit report is named among the six report categories, but 50+ reports ship and the list is summary-level.
reporting-cash-over-short
Close Cash with counted-versus-expected cash and Pay Ins/Outs is documented; per-employee and per-drawer breakdown is not specified. https://unicenta.com/features/ · retrieved 2026-08-01
reporting-labor-productivity
No clocked-hours labor data feeds reporting; sales per labor hour and labor % are absent from documented report categories.
reporting-server-scorecards differentiator
An Employee report category exists; average check, items per check, attachment rate and tip % are not documented. https://unicenta.com/features/ · retrieved 2026-08-01
reporting-channel-profitability differentiator
No fulfillment-channel dimension exists and no marketplace commissions to net out.
reporting-scheduled-delivery
No scheduled recurring report emailing or delivery documented.
reporting-public-api differentiator
Re-pointed and corrected. docs.unicenta.com is an Insomnia Documenter v0.4.1 page whose HTML is a JS shell; its collection loads unauthenticated from /insomnia.json (16,791 bytes; sibling guessed paths return the 730-byte shell, so this is a real hit). The export documents 15 requests across three groups - customer (GET/POST/PUT/DELETE plus /customer/status), order (GET/POST/DELETE plus /order/status) and product (GET/POST/PUT/DELETE plus /product/status) - against base URLs https://api.unicenta.io (prod) and https://dev.unicenta.io, with HTTP Basic auth (api-username/api-password) and complete JSON request bodies. Partial, not yes: orders and menu/product are covered but there are no payments, labor or reporting endpoints, no webhooks, no rate limits, and no published self-service route to credentials. The gated developer material - unicenta.com/developer/ now 301s to /developer-section/, which still reads 'This content is available to uniCenta Customer Plus, Hosted, and Hosted Monthly 50% Subscribers only' - is guides and the database-table reference, not the API reference. https://docs.unicenta.com/insomnia.json · retrieved 2026-08-09 adversarially verified
reporting-webhooks differentiator
Previous reasoning withdrawn: the API is not "inbound only" - it publishes reads as well as writes (GET /customer, GET /order, GET /product, plus per-resource /status probes). The absence that actually carries the no is verb-level and structural: across all 14 requests in uniCenta's complete published API export there is no subscription, callback or event resource of any kind, no operation to register a customer-supplied endpoint URL, and therefore nothing that could carry a retry policy or a payload signature. Authentication is HTTP Basic with an api-username/api-password pair, a client-to-server posture only. Order and payment lifecycle changes are discoverable solely by polling GET /order. https://docs.unicenta.com/insomnia.json · retrieved 2026-08-09
reporting-api-not-upcharged differentiator
API access is a paid benefit: BASE £72/yr includes API access, PLUS £144/yr unlimited. Not available on the free build. https://unicenta.com/apply/ · retrieved 2026-08-01
reporting-tier-paywall differentiator
Directly contradicted by the vendor's own pricing page: 'Web Reporting' and 'Remote Order Display' are enumerated as BASE (£72/yr) subscription benefits, not free-build capabilities, and the current build itself is subscriber-only. Reporting access is gated by a paid tier even if there is no separate analytics SKU. https://unicenta.com/apply/ · retrieved 2026-08-01 adversarially verified
reporting-history-retention differentiator
No vendor retention statement exists on any reachable page; the database-table reference and reports guides are gated - 'This content is available to uniCenta Customer Plus, Hosted, and Hosted Monthly 50% Subscribers only.' Only the architecture is documented: on a self-hosted install the operator owns the MySQL instance, so no vendor-imposed retention window or archive-retrieval fee applies. Shortfalls: Web Reporting is an enumerated BASE (GBP 72/yr) subscription benefit, not a free-build capability; retention and export on the vendor-run HOSTED tier are undocumented beyond 'daily automated backups'; no report lookback range is published. https://unicenta.com/developer-section/ · retrieved 2026-08-02 adversarially verified
reporting-anomaly-alerts differentiator
No threshold or deviation alerting documented.
reporting-nl-query
No natural-language or AI query assistant; the vendor claims no AI features.
reporting-guest-cohorts differentiator
Customer reports exist, but new-versus-returning, frequency and lifetime-spend cohorts are not documented.
reporting-sales-forecast differentiator
No forward sales forecast at any granularity documented.
reporting-tip-tax-compliance
No declared-versus-charged tip reporting, pool distribution detail, or tax liability summary documented.
Multi-location, franchise & enterprise governance
multi-location-org-hierarchy
Multi-store and multi-warehouse are first-class, but no named three-level hierarchy that reporting and permissions scope to is documented. https://sourceforge.net/projects/unicentaopos/ · retrieved 2026-08-07
multi-location-central-menu-publish
The Product API is real at endpoint level - POST, PUT, DELETE and GET /product with a caller-supplied UUID id and fields name, reference, barcode, barcodeType, sellPrice, buyPrice, category, tax, stockCost, supplier, printer, uom and visible - so a script can author centrally and write outward. Shortfalls, verified against the endpoints rather than the overview: there is no location, store or site parameter anywhere in the resource (the only query parameter is `device`, a terminal name such as "test-terminal"), so publishing to a chosen set of locations is one HTTP call per install per product, not a single action; and there is no publish, batch or version resource, so no history of what was pushed, when, or by whom. https://docs.unicenta.com/insomnia.json · retrieved 2026-08-09
multi-location-price-zones
Whether one item carries different prices per location group, channel and daypart without duplication is not documented.
multi-location-consolidated-reporting
Multi-store reporting is claimed; store-versus-store ranking and variance flags are not documented. https://sourceforge.net/projects/unicentaopos/ · retrieved 2026-08-07
multi-location-cross-location-giftcard
Customer store card exists, but cross-location redemption, liability reporting and inter-store settlement are not documented.
multi-location-cross-location-loyalty
Re-grounded off the /api/ page's marketing line ("Synchronise customers across all your uniCenta installs - zero development required!"). What the endpoints actually show is CRUD on /customer with a caller-supplied UUID id against a hosted base-url (https://api.unicenta.io), which is what lets the same profile identifier exist in more than one install - a replication mechanism, and one the integrator drives. Shortfall: the customer payload carries maxDebt and discount but no balance, points or ledger field, and the collection publishes no balance, accrual, redemption or transfer operation, so account and store-card balances stay per-install rows. A shared profile, not one shared live balance. https://docs.unicenta.com/insomnia.json · retrieved 2026-08-09
multi-location-multi-brand differentiator
No multi-brand or virtual-brand operation on one terminal documented.
multi-location-multi-tax-jurisdiction
Configurable tax categories and multiple simultaneous rates exist per the Openbravo lineage; no per-location jurisdiction rule engine or exemption model documented.
multi-location-central-labor-policy
No labor rule engine exists at any scope, so nothing to configure centrally.
Hardware & physical footprint
hardware-commodity-devices differentiator
FAQ system requirements name the hardware explicitly: "POS Terminal - Touchscreen preferred or a PC - what you've got", running on Windows XP SP3/7/8/10, "Linux - CentOS, Ubuntu, Mint or other" or "Mac OSX - 10.6.8 and later", needing 1024MB RAM, 70MB disk and a Java 1.8 JRE. uniCenta sells no terminal. iPad and Android are reachable only through an RDP client to a host PC, which does not narrow the claim because commodity PCs and Windows tablets run the full app. https://unicenta.com/faqs/ · retrieved 2026-08-07
hardware-os-platforms
Score stands, note is wrong. The FAQ publishes minimum specs the dossier calls unpublished: Java 1.8 JRE 32/64-bit, 1024MB RAM, 70MB disk, MySQL 5.6+, Windows XP SP3/7/8/10, CentOS/Ubuntu/Mint, macOS 10.6.8+. Separately, the changelog says v5.0 introduced native applications 'eliminating JVM requirements' — the vendor's own docs contradict each other on the Java prerequisite, which is worth flagging. https://unicenta.com/faqs/ · retrieved 2026-08-01 adversarially verified
hardware-handheld-purpose-built
Vendor sells no hardware; there is no first-party handheld and therefore no drop or IP rating. https://unicenta.com/features/ · retrieved 2026-08-01
hardware-handheld-battery-swap differentiator
No vendor handheld exists, so no battery specification.
hardware-handheld-lte
No vendor handheld or connectivity failover product exists.
hardware-offline-mode
On-premise client and database keep terminals operating offline, but the vendor publishes no statement of which functions degrade.
hardware-kds
Verified: 'Remote Order Display' is enumerated as a BASE-tier (£72/yr) benefit on the pricing page. Nothing published on bump bars, routing rules, or fire timing. Partial is correct, and note it is a paid-tier item, not a free-build capability. https://unicenta.com/apply/ · retrieved 2026-08-01 adversarially verified
hardware-kiosk differentiator
No kiosk product in either form factor and no ADA documentation.
hardware-drive-thru
No menu boards, confirmation displays, headsets, or timers documented.
hardware-printer-compatibility
Sourced to the marketing bullet 'Multi-Printer'. No supported-printer or driver list is published; the only hard fact found is an FAQ cap of '6 directly attached or network printers + a report printer'. Printer-agnosticism is inferred from the ESC/POS lineage, not documented. https://unicenta.com/faqs/ · retrieved 2026-08-01 adversarially verified
hardware-peripherals
Documented set: cash drawers, barcode scanners, weighing scales, customer-facing displays, multiple printers, and iButton/Dallas key authentication. https://unicenta.com/features/ · retrieved 2026-08-01
hardware-p2pe-terminal
EMV/PCI compliance is claimed, but no PTS device is named, no P2PE validation cited, and no merchant SAQ type stated.
hardware-tap-to-phone differentiator
No Tap to Pay on iPhone or Android tap-to-phone acceptance documented.
hardware-pricing-transparency differentiator
Not applicable in the vendor's favour: no hardware prices are published because no hardware is sold. Operators buy commodity gear. https://unicenta.com/features/ · retrieved 2026-08-01
hardware-ownership-vs-lease differentiator
FAQ: 'If you already have or intend to buy POS hardware then it's very likely that uniCenta oPOS will run on it', with operator-side minimum specs (1024MB RAM, 70MB disk, Java 1.8 JRE; Windows XP SP3-10, Linux, macOS 10.6.8+) and generic peripherals. The configuration guide sets up each peripheral by choosing 'a manufacturer's communication protocol'. uniCenta is 'first & foremost a software house' and publishes no hardware store, bundle, rental or lease. https://unicenta.com/faqs/ · retrieved 2026-08-02 adversarially verified
hardware-usable-after-churn differentiator
Hardware is the operator's own commodity PC/touchscreen and generic peripherals bought from third parties (FAQ), so there is no vendor-supplied or vendor-keyed device to deactivate. The pricing page adds that 'uniCenta oPOS does not stop working after your subscription expires', and GPL3 on the community build makes that irrevocable. Residual exposure is confined to the vendor-run HOSTED tier, which is a hosting dependency rather than hardware bricking. https://unicenta.com/faqs/ · retrieved 2026-08-02 adversarially verified
hardware-rma-sla differentiator
No vendor hardware, therefore no warranty term or advance-exchange program. https://unicenta.com/features/ · retrieved 2026-08-01
hardware-byod
HOSTED allows browser access from iPads and Android tablets over HTTPS, but no BYOD permission or security model is documented.
hardware-remote-device-management differentiator
No fleet console, remote reboot, version visibility, or staged update rollout documented.
hardware-selfpour-scales
Weighing scales are supported for by-weight items; no tap wall, flow meter, or pour spout integration documented.
hardware-callerid-integration
No caller ID hardware or telephony screen-pop integration documented.
Integrations, API & extensibility
extensibility-public-api-docs
The API reference is public and unauthenticated. docs.unicenta.com, linked from the public unicenta.com/api/ page, renders an Insomnia Documenter collection loaded from /insomnia.json - 15 requests across customer, order and product, each with method, path, HTTP Basic auth scheme and an example JSON body, plus prod/dev/local base URLs. No login, partner agreement, NDA or sales call is involved; the page and the JSON both return 200 to an anonymous client. The material behind the 'Customer Plus, Hosted, and Hosted Monthly 50% Subscribers only' gate at unicenta.com/developer-section/ is the developer guides and the database-table reference, which is a documentation shortfall elsewhere but not the API reference this claim is about. https://docs.unicenta.com/insomnia.json · retrieved 2026-08-09 adversarially verified
extensibility-api-access-cost differentiator
API access requires at least the BASE subscription (£72/yr); unlimited access requires PLUS (£144/yr). No free-tier API. https://unicenta.com/apply/ · retrieved 2026-08-01
extensibility-free-sandbox differentiator
The reasoning ('free build is a de facto test environment') collapses once you check versions: the free v5.0 build contains none of the APIs (added in 5.1/5.2/5.3). You cannot exercise a single documented endpoint without paying. No vendor sandbox, no seeded data, no test keys. https://unicenta.com/support/changelog-unicenta-opos/ · retrieved 2026-08-01 adversarially verified
extensibility-oauth-partner-apps
The public API page does not describe an authentication mechanism; detailed developer docs are subscriber-gated.
extensibility-webhooks-push
Stated reasoning withdrawn: "all three documented endpoints push data into uniCenta" is wrong on both counts - uniCenta's published API export holds 14 requests, not three, and four of them are GET reads. What carries the no is that the complete export contains no event, subscription or callback resource at all, and no operation for registering a customer endpoint. There is no published event type for order created, modified, paid, voided or refunded. An integrator's only route to order lifecycle state is polling GET /order (with GET /order/status as a liveness probe), which is exactly the polling the claim asks the platform to replace. https://docs.unicenta.com/insomnia.json · retrieved 2026-08-09
extensibility-webhook-reliability differentiator
No webhooks exist, so no signing, retry, or replayable event log.
extensibility-order-injection-api
POST /order exists and takes an externally originated order - body is products[] (name, priceExcludingTax, amount, tax) plus customerId - so write injection is real, and GET /order and DELETE /order?id= complete the resource. Shortfall, and the overview page gives it away rather than hiding it: the Order API section of unicenta.com/api/ describes connecting "with uniCenta POS layaways", and a layaway is a parked ticket, not a fired one. Nothing in the published collection carries a table, order type, modifier, kitchen-routing or print field, the order object exposes no state or acknowledgement, and no vendor page states that an injected order fires to KDS or printers or lands in reporting. First-class ticket behaviour is asserted nowhere and remains unverified. https://docs.unicenta.com/insomnia.json · retrieved 2026-08-09
extensibility-menu-write-api differentiator
The Product API is real (changelog: 5.3, March 2024) but it is not documented anywhere reachable — docs.unicenta.com returns empty content, and the developer guides plus database-table reference are gated to Plus/Hosted subscribers. Critically, the free community build is v5.0, which predates the Product API entirely, so this is a paywalled-build feature with no published schema, auth method, or error semantics. https://unicenta.com/support/changelog-unicenta-opos/ · retrieved 2026-08-01 adversarially verified
extensibility-doordash-preferred differentiator
Citation replaced: the former get.doordash.com/merchants.doordash.com blog path 404s. DoorDash's announcement of 18 May 2026 enumerates the cohort in full - 'the 2026* cohort DoorDash Preferred Integration Partners include Checkmate, Chowly, Deliverect, Otter, PAR, Qu, Square, Stream, Toast, and UrbanPiper' - generated on performance and feature sets as of 8 May 2026. uniCenta oPOS is not among the ten. The prior note's claim of a 250-live-store threshold is withdrawn: DoorDash's DPIP requirements page states order failure rate below 1%, merchant cancel rate below 1%, and eight required features (self-serve integration onboarding, activation within SSIO, menu pull, 86 items, order ready signal, item polling, integrated promotions, detailed error reporting), with no store-count bar. https://about.doordash.com/en-us/news/doordash-preferred-integrations-program-2026 · retrieved 2026-08-09 adversarially verified
extensibility-first-party-delivery-integrations differentiator
No DoorDash, Uber Eats or Grubhub integration exists in any form. https://unicenta.com/integrations/ · retrieved 2026-08-01
extensibility-middleware-compatibility
The vendor names no middleware partner, and uniCenta is not listed as an endpoint in any Deliverect/Chowly/Otter/Checkmate material found.
extensibility-accounting-connectors
QuickBooks is 'Coming Soon!' and no other GL connector exists; accounting today is CSV or SQL export only. https://unicenta.com/integrations/ · retrieved 2026-08-01
extensibility-payroll-export
No payroll provider is named anywhere in the integrations catalog. https://unicenta.com/integrations/ · retrieved 2026-08-01
extensibility-app-marketplace
Too strong in the wrong direction. A self-install plugin mechanism does exist and is referenced repeatedly in the vendor changelog — the posApps Plugin Manager, which delivers card payments, digital receipts and other plugins. It is third-party and its site now resolves to a parked-domain redirect chain, so score it partial-and-decaying rather than a flat documented 'no'. https://unicenta.com/support/changelog-unicenta-opos/ · retrieved 2026-08-01 adversarially verified
extensibility-headless-embedded
No headless mode; the Order API is a data-insertion path, not a transaction engine a third-party UI drives.
extensibility-data-portability-exit differentiator
Nothing is withheld at exit - the data sits in the operator's own MySQL instance and the software keeps running after a subscription lapses, so there is no vendor hostage step. Shortfall: the claim requires a documented machine-readable format, and uniCenta's own database table reference is subscriber-only ("This content is available to uniCenta Customer Plus, Hosted, and Hosted Monthly 50% Subscribers only"), while the published API collection defines no response schema, pagination or field list. https://unicenta.com/developer-section/unicenta-opos-database-tables/ · retrieved 2026-08-07
Reliability, offline & operations
reliability-offline-order-entry
Thick client plus on-premise database keeps order entry, routing and printing alive through an outage; the vendor never documents it as a feature.
reliability-offline-card-auth differentiator
No store-and-forward behavior is documented for the vendor's integrated card payments.
reliability-offline-decline-liability differentiator
Nothing is published on offline decline liability or offline caps; this criterion is about publication and there is none.
reliability-lan-degraded-multi-terminal differentiator
A 'yes' on a weighted differentiator sourced to a SourceForge project page that says nothing about offline or degraded operation. The vendor publishes no offline statement anywhere, and its own FAQ undercuts the architecture story: the MySQL database may be 'Local, Remote or Cloud', the HOSTED tier is cloud-hosted, and iPad/Android terminals are RDP sessions to a host — all of which fail during an outage. LAN-shared state is a possible deployment, not a documented product guarantee. https://unicenta.com/faqs/ · retrieved 2026-08-01 adversarially verified
reliability-local-transaction-engine differentiator
Same defect: 'documented' confidence is not supported. The desktop Java client is real, but locality of the transaction engine depends on where the operator puts MySQL ('Local, Remote or Cloud' per the FAQ) and is explicitly false on the HOSTED tier. No vendor document asserts a local transaction engine as a designed property. https://unicenta.com/faqs/ · retrieved 2026-08-01 adversarially verified
reliability-offline-kds-printing
LAN kitchen printing and LAN-served remote displays continue during an outage by architecture, but no offline behavior is documented.
reliability-printer-fallback
Automatic failover to a backup printer or KDS station with staff alerting is not documented.
reliability-sync-conflict-handling
A single shared database avoids most partition conflicts, but the Customer API's cross-installation sync conflict behavior is undocumented.
reliability-offline-feature-matrix
No offline feature matrix is published anywhere — no statement on gift cards, card auth, or refunds without connectivity.
reliability-public-status-page
No status page is linked from the vendor site; a dedicated status subdomain was not directly verified. Self-hosted uptime is the operator's own.
reliability-247-live-support
Support is forum-based (subscriber forum plus open SourceForge community). No phone support, no published hours, no SLA; email support only at HOSTED. https://unicenta.com/support/ · retrieved 2026-08-01
reliability-onsite-install differentiator
No first-party or certified dealer on-site installation program is documented; the model is self-install.
reliability-menu-build-service differentiator
No onboarding menu-build service documented at any tier.
reliability-hardware-replacement-sla
No vendor hardware, therefore no replacement or advance-exchange program. https://unicenta.com/features/ · retrieved 2026-08-01
reliability-pci-dss-4-attestation
EMV/PCI compliance is claimed for UK/EU/USA card payments, but no AoC, PCI DSS version, or P2PE listing is published or offered.
reliability-mfa-role-based-access
Role-based security levels with PIN/password and iButton hardware key authentication documented; MFA on back-office or admin logins is not. https://unicenta.com/features/ · retrieved 2026-08-01
reliability-self-serve-training
Free public install and config docs exist, but user and developer guides are subscriber-gated, reviewers cite a missing manual, and no training mode is documented. https://unicenta.com/support/ · retrieved 2026-08-01
reliability-failover-terminal-role differentiator
No automatic master-role failover; the database server is a single point of failure the operator must engineer around.
reliability-cellular-backup
No cellular failover product; the vendor supplies no networking hardware.
Commercial, compliance & data ownership
commercial-month-to-month-contract differentiator
Paid tiers are annual (£72/£144/£180) though cancellable anytime; a 'Hosted Monthly 50%' level is referenced but unpriced. Core software is free with no contract. https://unicenta.com/apply/ · retrieved 2026-08-01
commercial-no-early-termination-fee differentiator
Verified on the pricing page: 'Cancel your subscription at any time' and uniCenta oPOS 'does not stop working' after expiry. Residual risk is that no T&Cs or MSA page is reachable, so refund treatment of a prepaid annual term is unverified — but no termination penalty is published or implied. https://unicenta.com/apply/ · retrieved 2026-08-01 adversarially verified
commercial-autorenew-terms-published
No terms-and-conditions or MSA page was reachable; auto-renewal terms and any cancellation notice window are not publicly stated.
commercial-processing-not-bundled differentiator
Configuration guide: 'Credit Card Payment gateways have been removed from uniCenta oPOS due to the latest PCI Regulations.' The payment-gateway setting is left 'Not defined' unless the operator installs a third-party terminal plugin (PaymentSense UK/IE, Dejavoo US/CA). The GPL build ships with no processor; card acceptance is opt-in and no subscription tier is contingent on it. https://unicenta.com/pages/configure-unicenta-opos/ · retrieved 2026-08-02 adversarially verified
commercial-interchange-plus-published differentiator
No processing rate of any kind is published — no flat rate, no interchange-plus markup, no bps figure. https://unicenta.com/card-payments/ · retrieved 2026-08-01
commercial-rate-increase-clause differentiator
No processing agreement or terms document is publicly accessible, so rate-increase protections cannot be assessed.
commercial-pricing-published
BASE £6/mo (£72/yr), PLUS £12/mo (£144/yr), HOSTED £15/mo (£180/yr), core software £0. Priced per installation; no per-terminal software charge exists. https://unicenta.com/apply/ · retrieved 2026-08-01
commercial-module-unbundling differentiator
One monolithic application with no separately purchasable modules; tiers bundle support, API access and hosting rather than functionality. https://unicenta.com/apply/ · retrieved 2026-08-01
commercial-hardware-purchase-outright
Every terminal, display and printer is commodity third-party hardware bought outright; no vendor lease or rental exists. https://unicenta.com/features/ · retrieved 2026-08-01
commercial-hardware-not-locked differentiator
Configuration guide, PERIPHERALS tab: 'Each of these settings offer a selection for a manufacturer's communication protocol. When chosen you will be asked to complete the type and connection port.' Printer and Printers 2-6 - 'you can choose any printer even if it is a remote network printer'; Scanner - 'Many barcode scanners today are USB and act like a keyboard. If you have serial scanner, set the port it's connected to'; Scale - 'Choose from one of the manufacturers in the list' (the changelog names third-party units, e.g. an Avery Berkel weigh-scale device-list fix); Customer Display 'applies to both built-in and stand-alone displays'. The Install page requires only Java 8 plus MySQL on a standard Windows/Linux/macOS machine - no uniCenta-branded device exists or is required. https://unicenta.com/pages/configure-unicenta-opos/ · retrieved 2026-08-06
commercial-data-export-self-serve
A documented API export path does exist: the published Insomnia collection defines bulk reads - GET /customer, GET /order and GET /product - under HTTP Basic auth against api.unicenta.io. Shortfall on the fee and format tests: API access is a paid subscription benefit rather than part of the free build, no CSV or spreadsheet export is documented on the reporting or features pages, and the free alternative of querying the operator's own database depends on a table reference gated to Plus and Hosted subscribers. https://docs.unicenta.com/insomnia.json · retrieved 2026-08-07
commercial-export-customer-and-loyalty differentiator
Re-grounded off the /api/ overview onto what actually carries the cell: uniCenta runs against a database the operator supplies - "The most essential setting is that you have a MySQL server installed, set up, and running correctly" - so customer records, on-account and Customer Store Card balances and voucher rows are the operator's own tables, and a SQL or CSV dump needs no vendor step, ticket or approval. The Customer API (GET /customer) is a second route but not the load-bearing one, since it is gated to a paid subscription and returns profile fields only. Caveat on documentation rather than on access: the vendor's database table reference is subscriber-gated, so the field layout must be read off the schema, not off a published manual. The claim asks for machine-readable exportability by the operator, and that holds. https://unicenta.com/pages/configure-unicenta-opos/ · retrieved 2026-08-09
commercial-post-termination-export-window differentiator
Moot for self-hosted installs — data never leaves the operator and the app keeps running. For HOSTED, no retrieval window is documented. https://unicenta.com/apply/ · retrieved 2026-08-01
commercial-data-ownership-clause differentiator
No terms-and-conditions page was reachable, so no published data-ownership or vendor-use-restriction clause could be verified.
commercial-pci-p2pe-tokenization
No P2PE validation, tokenization architecture, or merchant SAQ type is named; only a general EMV/PCI compliance claim.
commercial-pci-dss-4-controls
No PCI DSS v4.0.1 documentation of any kind is published — no MFA-for-CDE statement and no payment-page script integrity discussion.
commercial-privacy-dsar-tooling
No in-app DSAR tooling and no published DPA; operators would service requests with direct SQL against their own database.
commercial-wcag-kiosk-accessibility differentiator
No kiosk product, no consumer web-ordering surface, and no VPAT or ACR published.
commercial-dual-pricing-compliant differentiator
No dual pricing, cash discount, or surcharging engine, and therefore no debit/prepaid exclusion or disclosure handling.
Adversarial verification
An independent pass was instructed to refute this record, defaulting to downgrade when uncertain. It challenged 64 values — 42 upheld, 16 downgraded, 2 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.processor_lock_in | downgrade-to-partial | 'Open' overstates it. For integrated card payments there is exactly one supported processor per region (Dejavoo in the Americas, PaymentSense in UK/IE), delivered via a third-party plugin manager; native gateway support was removed from the core app. An operator can of course fork GPL source or key in manually, but out-of-the-box integrated acceptance is single-processor-per-region. source |
| pricing.software | upheld | Figures verified verbatim on the pricing page, all charged yearly. One correction: BASE's bullet list itself includes 'Developer Guides', 'Developer support' and 'API Access', which contradicts the /developer/ page restricting developer content to Plus/Hosted subscribers. The vendor's two pages disagree; treat BASE entitlements as unreliable rather than settled. source |
| pricing.processing_rate | upheld | Verified: the card-payments page publishes no rate, no markup, no bps figure and names no processor; the only quantification anywhere is the unexplained '10%'/'15% rate discount' on the pricing tiers. Quote-only is correct. source |
| api_posture.webhooks | upheld | Webhooks verdict stands - the collection defines no outbound events, no signing and no retry policy. But the supporting characterisation was wrong and is corrected: the three resources are not inbound-only. Parsing docs.unicenta.com/insomnia.json shows GET /customer, GET /order and GET /product alongside POST/PUT/DELETE, all under HTTP Basic auth against api.unicenta.io. The record had described the API as write-only. source |
| api_posture.data_export_on_exit | downgrade-to-partial | Two corrections. First, the database list is wrong: the Configure guide states "uniCenta oPOS v4 only uses MySQL", the Install guide records that Derby, HSQLDB and Oracle Express "are no longer included", and the FAQ lists MySQL alone. PostgreSQL and Oracle were asserted across product.yaml, narrative.md and four claim notes and are removed. Second, the no-hostage conclusion holds but is narrower than stated - the table reference documenting what a dump contains is gated to Plus and Hosted subscribers, so an exiting operator owns the bytes without a free specification of them. source |
Capability claims
| Claim | As first scored | Verdict | What the verifier found |
|---|---|---|---|
| reliability-lan-degraded-multi-terminal | yes / inferred | downgrade-to-partial | A 'yes' on a weighted differentiator sourced to a SourceForge project page that says nothing about offline or degraded operation. The vendor publishes no offline statement anywhere, and its own FAQ undercuts the architecture story: the MySQL database may be 'Local, Remote or Cloud', the HOSTED tier is cloud-hosted, and iPad/Android terminals are RDP sessions to a host — all of which fail during an outage. LAN-shared state is a possible deployment, not a documented product guarantee. source |
| reliability-local-transaction-engine | yes / documented | downgrade-to-partial | Same defect: 'documented' confidence is not supported. The desktop Java client is real, but locality of the transaction engine depends on where the operator puts MySQL ('Local, Remote or Cloud' per the FAQ) and is explicitly false on the HOSTED tier. No vendor document asserts a local transaction engine as a designed property. source |
| hardware-printer-compatibility | yes / claimed | downgrade-to-partial | Sourced to the marketing bullet 'Multi-Printer'. No supported-printer or driver list is published; the only hard fact found is an FAQ cap of '6 directly attached or network printers + a report printer'. Printer-agnosticism is inferred from the ESC/POS lineage, not documented. source |
| extensibility-menu-write-api | yes / documented | downgrade-to-partial | The Product API is real (changelog: 5.3, March 2024) but it is not documented anywhere reachable — docs.unicenta.com returns empty content, and the developer guides plus database-table reference are gated to Plus/Hosted subscribers. Critically, the free community build is v5.0, which predates the Product API entirely, so this is a paywalled-build feature with no published schema, auth method, or error semantics. source |
| reporting-tier-paywall | yes / claimed | downgrade-to-partial | Directly contradicted by the vendor's own pricing page: 'Web Reporting' and 'Remote Order Display' are enumerated as BASE (£72/yr) subscription benefits, not free-build capabilities, and the current build itself is subscriber-only. Reporting access is gated by a paid tier even if there is no separate analytics SKU. source |
| extensibility-free-sandbox | partial / inferred | downgrade-to-no | The reasoning ('free build is a de facto test environment') collapses once you check versions: the free v5.0 build contains none of the APIs (added in 5.1/5.2/5.3). You cannot exercise a single documented endpoint without paying. No vendor sandbox, no seeded data, no test keys. source |
| payments-emv-nfc | partial / claimed | downgrade-to-unknown | The quoted EMV/PCI language does not appear on the cited card-payments page (which claims only 'integrated card payments in the UK, EU and USA', 'all major payment methods', 'get paid the next business day'). Where EMV/P2PE is claimed, it is for the third-party 'posApps Plugin Manager' — card gateways were removed from uniCenta core for PCI reasons — and posapps.io now 301-redirects through a parked-domain chain (pieshare.io → inheritdoc.io → momint.io). Contactless, Apple Pay and Google Pay are never named. Not native, not verifiable, possibly defunct. source |
| payments-processor-choice | partial / inferred | upheld | Score stands but the note is factually wrong: the vendor DOES publish a processor list. The FAQ names Dejavoo (Americas) and PaymentSense (UK/Ireland) as the supported providers, each requiring a merchant account with that provider. So it is not 'no gateway list published' — it is a list of exactly one processor per region, which is weaker for the operator than the dossier implies. source |
| payments-p2pe-pci4 | unknown | upheld | Upheld, with an added caution for the write-up: uniCenta material claims a 'fully compliant and approved PCI/EMV P2PE PA-DSS solution' for Dejavoo. PA-DSS was retired in October 2022 and replaced by PCI SSF, so the claim is stale on its face, and no AoC, PCI DSS version, or P2PE listing entry is published. Unknown is the right score. source |
| extensibility-app-marketplace | no / documented | downgrade-to-partial | Too strong in the wrong direction. A self-install plugin mechanism does exist and is referenced repeatedly in the vendor changelog — the posApps Plugin Manager, which delivers card payments, digital receipts and other plugins. It is third-party and its site now resolves to a parked-domain redirect chain, so score it partial-and-decaying rather than a flat documented 'no'. source |
| labor-clock-in-at-pos | unknown | resolve-to-yes | Under-scored. The vendor features page explicitly lists employee 'CheckIn/CheckOut' under Personnel, alongside 'iButton/Dallas key' and 'Secure User Logon' authentication, with an 'Employee' report category. That is a POS-resident time punch tied to an identified employee. Claim-level (marketing features page), but affirmatively enumerated. source |
| payments-house-accounts | partial / claimed | upgrade-to-yes | The note's stated gap is wrong. The features page lists 'Statement' explicitly under customer data, together with 'Account Sale', 'Account Settlement', 'Credit Limit' and 'Transaction History'. Charge accounts with balances and statements are enumerated; the researcher missed the Statement line. source |
| order-capture-split-merge | unknown | resolve-to-partial | SCORE CHANGE unknown→partial (a raise, not a cut — the enum has no 'upgrade-to-partial'). The features page lists 'Split Receipts' and 'Transfer Order Item' under Sales, so splitting a check and moving items between checks are documented. Split by seat or by arbitrary amount, and check merging, remain undocumented — hence partial, not yes. source |
| payments-gift-cards | unknown | resolve-to-partial | SCORE CHANGE unknown→partial (a raise). Beyond the 'Customer Store Card' the researcher found, the features page also lists 'Voucher management' as a system feature. Some stored-value construct is documented; balance mechanics, cross-location and online redemption are not. source |
| menu-pricing-combos | unknown | resolve-to-partial | SCORE CHANGE unknown→partial (a raise). 'Product Bundles' is listed under Inventory on the features page — a kit/bundle construct exists. Swap deltas, component substitution pricing and automatic cart conversion are undocumented, so it stops short of yes. source |
| order-capture-native-handheld | no / documented | upheld | Upheld and reinforced against an obvious trap: the features page does list 'Mobile POS', which could easily have been read as a handheld. The FAQ confirms iPad and Android devices require 'an RDP app' to reach a host installation, and only Windows tablets run the app directly. Remote desktop session, not a native handheld. source |
| hardware-os-platforms | partial / documented | upheld | Score stands, note is wrong. The FAQ publishes minimum specs the dossier calls unpublished: Java 1.8 JRE 32/64-bit, 1024MB RAM, 70MB disk, MySQL 5.6+, Windows XP SP3/7/8/10, CentOS/Ubuntu/Mint, macOS 10.6.8+. Separately, the changelog says v5.0 introduced native applications 'eliminating JVM requirements' — the vendor's own docs contradict each other on the Java prerequisite, which is worth flagging. source |
| digital-first-party-web | partial / documented | upheld | Score stands, with a material caveat the dossier omits: WooCommerce integration shipped in 5.4.0 (August 2025), a subscriber-only build. It is unavailable in the free v5.0 community release, so the only 'digital ordering' path costs at least £72/yr on top of the operator building and hosting their own WooCommerce store. source |
| reporting-public-api | partial / documented | upheld | Upheld and independently verified: docs.unicenta.com returns no content at all, and the /developer/ page gates guides and the database-table reference to 'uniCenta Customer Plus, Hosted, and Hosted Monthly 50% Subscribers only'. The public /api/ page describes three endpoints with no auth method, no schema, no rate limits, no webhooks. source |
| commercial-no-early-termination-fee | yes / documented | upheld | Verified on the pricing page: 'Cancel your subscription at any time' and uniCenta oPOS 'does not stop working' after expiry. Residual risk is that no T&Cs or MSA page is reachable, so refund treatment of a prepaid annual term is unverified — but no termination penalty is published or implied. source |
| hardware-kds | partial / claimed | upheld | Verified: 'Remote Order Display' is enumerated as a BASE-tier (£72/yr) benefit on the pricing page. Nothing published on bump bars, routing rules, or fire timing. Partial is correct, and note it is a paid-tier item, not a free-build capability. source |
| commercial-processing-not-bundled | yes / grade E, cites unicenta.com/card-payments/ | upheld | Challenged because a differentiator 'yes' was resting on grade E. I located first-party configuration documentation that settles it directly: the Configure uniCenta oPOS guide states 'Credit Card Payment gateways have been removed from uniCenta oPOS due to the latest PCI Regulations', and the payment-gateway configuration setting is left as 'Not defined' unless the operator installs a third-party terminal plugin (PaymentSense UK/IE, Dejavoo US/CA). The GPL build therefore ships with no processor at all — card acceptance is an opt-in plugin, never a condition of running the software, and no subscription tier is contingent on taking uniCenta's payments. Re-graded E to B on documentation I retrieved myself. source |
| hardware-ownership-vs-lease | yes / grade E, cites unicenta.com/apply/ | upheld | Challenged as a differentiator 'yes' at grade E resting on a pricing page. The vendor FAQ documents the operator-supplied model affirmatively rather than by silence: 'If you already have or intend to buy POS hardware then it's very likely that uniCenta oPOS will run on it', followed by an operator-side spec list (1024MB RAM, 70MB disk, Java 1.8 JRE, Windows XP SP3/7/8/10, Linux, macOS 10.6.8+) and generic peripherals. The configuration guide reinforces it: each peripheral is set up by choosing 'a manufacturer's communication protocol', i.e. the operator's own devices. uniCenta describes itself as 'first & foremost a software house' and publishes no hardware store, bundle, rental or lease anywhere on the site. Upheld, re-graded E to B. source |
| hardware-usable-after-churn | yes / grade E, cites unicenta.com/apply/ | upheld | Challenged on the same grade defect. Two documented facts, both retrieved: the hardware is the operator's own commodity PC/touchscreen and generic peripherals bought from third parties (FAQ), so there is no vendor-supplied or vendor-keyed device that could be deactivated; and the software itself does not die with the subscription — the pricing page states 'uniCenta oPOS does not stop working after your subscription expires.' The GPL3 licence on the community build makes that irrevocable regardless of vendor intent. The only residual exposure is the HOSTED tier, where the vendor runs the instance — but that is a hosting dependency, not hardware bricking. Upheld, re-graded E to B. source |
| reporting-history-retention | yes / grade E, cites sourceforge.net project page | downgrade-to-partial | This one does not survive. The cited SourceForge project page says nothing whatever about reporting history, retention or truncation, and I could find no vendor statement on retention on any reachable page — the FAQ covers the database ('MySQL v5.6 or later Local, Remote or Cloud') without a word on retention, and the Developers Section, which holds the database-table reference and reports guides, is gated: 'This content is available to uniCenta Customer Plus, Hosted, and Hosted Monthly 50% Subscribers only.' What is documented is only the architecture: on a self-hosted install the operator owns the MySQL instance, so no vendor-imposed retention window or archive-retrieval fee can exist. Three named shortfalls stop that short of yes — Web Reporting is an enumerated BASE (£72/yr) subscription benefit rather than a free-build capability, retention and export mechanics on the vendor-run HOSTED tier are entirely undocumented (only 'daily automated backups' is published), and no report lookback range is documented anywhere public. Unlimited history is an inference from operator-held storage, not a documented product property. source |
| order-capture-split-merge | partial, grade B - SCORE CHANGE unknown→partial (a raise, not a cut — the enum | upheld | Grade only, value untouched. Corpus-wide mechanical pass (workflows/regrade-marketing-pages.mjs): the cited page is a first-party pricing/feature/product page, which atlas-evidence-rules grades C ("vendor pricing page or feature page - first-party, but written to sell"), not B ("vendor product documentation - the manual, the help centre, the admin guide"). No claim was re-researched in this pass and no evidence was re-read; only the grade was brought into line with the source type. source |
| menu-pricing-combos | partial, grade B - SCORE CHANGE unknown→partial (a raise). 'Product Bundles' is | upheld | Grade only, value untouched. Corpus-wide mechanical pass (workflows/regrade-marketing-pages.mjs): the cited page is a first-party pricing/feature/product page, which atlas-evidence-rules grades C ("vendor pricing page or feature page - first-party, but written to sell"), not B ("vendor product documentation - the manual, the help centre, the admin guide"). No claim was re-researched in this pass and no evidence was re-read; only the grade was brought into line with the source type. source |
| payments-pay-at-table | no, grade B - Vendor ships no handheld hardware, so there is no pay-at-tab | upheld | Grade only, value untouched. Corpus-wide mechanical pass (workflows/regrade-marketing-pages.mjs): the cited page is a first-party pricing/feature/product page, which atlas-evidence-rules grades C ("vendor pricing page or feature page - first-party, but written to sell"), not B ("vendor product documentation - the manual, the help centre, the admin guide"). No claim was re-researched in this pass and no evidence was re-read; only the grade was brought into line with the source type. source |
| payments-gift-cards | partial, grade B - SCORE CHANGE unknown→partial (a raise). Beyond the 'Customer | upheld | Grade only, value untouched. Corpus-wide mechanical pass (workflows/regrade-marketing-pages.mjs): the cited page is a first-party pricing/feature/product page, which atlas-evidence-rules grades C ("vendor pricing page or feature page - first-party, but written to sell"), not B ("vendor product documentation - the manual, the help centre, the admin guide"). No claim was re-researched in this pass and no evidence was re-read; only the grade was brought into line with the source type. source |
| payments-house-accounts | yes, grade B - The note's stated gap is wrong. The features page lists 'Sta | upheld | Grade only, value untouched. Corpus-wide mechanical pass (workflows/regrade-marketing-pages.mjs): the cited page is a first-party pricing/feature/product page, which atlas-evidence-rules grades C ("vendor pricing page or feature page - first-party, but written to sell"), not B ("vendor product documentation - the manual, the help centre, the admin guide"). No claim was re-researched in this pass and no evidence was re-read; only the grade was brought into line with the source type. source |
| labor-clock-in-at-pos | yes, grade B - Under-scored. The vendor features page explicitly lists empl | upheld | Grade only, value untouched. Corpus-wide mechanical pass (workflows/regrade-marketing-pages.mjs): the cited page is a first-party pricing/feature/product page, which atlas-evidence-rules grades C ("vendor pricing page or feature page - first-party, but written to sell"), not B ("vendor product documentation - the manual, the help centre, the admin guide"). No claim was re-researched in this pass and no evidence was re-read; only the grade was brought into line with the source type. source |
| hardware-handheld-purpose-built | no, grade B - Vendor sells no hardware; there is no first-party handheld a | upheld | Grade only, value untouched. Corpus-wide mechanical pass (workflows/regrade-marketing-pages.mjs): the cited page is a first-party pricing/feature/product page, which atlas-evidence-rules grades C ("vendor pricing page or feature page - first-party, but written to sell"), not B ("vendor product documentation - the manual, the help centre, the admin guide"). No claim was re-researched in this pass and no evidence was re-read; only the grade was brought into line with the source type. source |
| hardware-peripherals | yes, grade B - Documented set: cash drawers, barcode scanners, weighing sca | upheld | Grade only, value untouched. Corpus-wide mechanical pass (workflows/regrade-marketing-pages.mjs): the cited page is a first-party pricing/feature/product page, which atlas-evidence-rules grades C ("vendor pricing page or feature page - first-party, but written to sell"), not B ("vendor product documentation - the manual, the help centre, the admin guide"). No claim was re-researched in this pass and no evidence was re-read; only the grade was brought into line with the source type. source |
| hardware-pricing-transparency | no, grade B - Not applicable in the vendor's favour: no hardware prices ar | upheld | Grade only, value untouched. Corpus-wide mechanical pass (workflows/regrade-marketing-pages.mjs): the cited page is a first-party pricing/feature/product page, which atlas-evidence-rules grades C ("vendor pricing page or feature page - first-party, but written to sell"), not B ("vendor product documentation - the manual, the help centre, the admin guide"). No claim was re-researched in this pass and no evidence was re-read; only the grade was brought into line with the source type. source |
| hardware-rma-sla | no, grade B - No vendor hardware, therefore no warranty term or advance-ex | upheld | Grade only, value untouched. Corpus-wide mechanical pass (workflows/regrade-marketing-pages.mjs): the cited page is a first-party pricing/feature/product page, which atlas-evidence-rules grades C ("vendor pricing page or feature page - first-party, but written to sell"), not B ("vendor product documentation - the manual, the help centre, the admin guide"). No claim was re-researched in this pass and no evidence was re-read; only the grade was brought into line with the source type. source |
| reliability-hardware-replacement-sla | no, grade B - No vendor hardware, therefore no replacement or advance-exch | upheld | Grade only, value untouched. Corpus-wide mechanical pass (workflows/regrade-marketing-pages.mjs): the cited page is a first-party pricing/feature/product page, which atlas-evidence-rules grades C ("vendor pricing page or feature page - first-party, but written to sell"), not B ("vendor product documentation - the manual, the help centre, the admin guide"). No claim was re-researched in this pass and no evidence was re-read; only the grade was brought into line with the source type. source |
| inventory-native-not-partner | yes / B / Stock, multi-warehouse, suppliers and transfers are native to the single application; no th | downgrade-to-partial | The 'yes' rested solely on the /features/ marketing feature list, which is grade C and cannot carry a yes on a differentiator. Documentation does support the native half: the first-party changelog shows the stock module, multi-location stockcurrent filtering, min/max and the inventory report set shipping inside the application. It does not support the recipe-costing half of the claim - no guide, release note or API endpoint mentions recipes or ingredient costing, and the project's own SourceForge help forum met the hamburger/bun/patty request with a bundle workaround that deducts a single parent product. Partial with that shortfall named. source |
| commercial-hardware-not-locked | yes / B / Runs on standard Windows/Linux/macOS machines with standard receipt printers, drawers, scan | upheld | The cited evidence was the /features/ quick-view feature list, a grade-C sales page that cannot carry a yes on a differentiator. Re-cited to the first-party Configure uniCenta oPOS setup guide, whose PERIPHERALS section describes selecting a manufacturer's communication protocol plus type and port for customer display, printers 1-6 (including network printers), scale, scanner and reports printer, and to the Install page requiring only Java 8 and MySQL on a standard desktop OS. Value survives on documentation, not marketing. source |
| hardware-commodity-devices | yes / B / Pure software: a Java application on any Windows, Linux or macOS machine bought anywhere. No vendor terminal exists or is required. | upheld | Value survives, citation replaced. The evidence was the SourceForge project landing page, which is a grade-C project/feature page and cannot carry a yes at differentiator weight. Re-cited to uniCenta own FAQ system-requirements block, which states the hardware directly: "POS Terminal - Touchscreen preferred or a PC - what you have got", Windows XP SP3/7/8/10, "Linux - CentOS, Ubuntu, Mint or other", "Mac OSX - 10.6.8 and later", 1024MB RAM, 70MB disk, Java 1.8 JRE, plus "written in Java which means it can run of billions of devices". Quotes verified against the live page, not a mirror. uniCenta sells no terminal at all, so the proprietary-hardware half of the claim cannot fail. source |
| digital-guest-data-ownership | yes / B / Self-hosted GPL3 app on the operator own MySQL/PostgreSQL/Oracle database plus a Customer API; guest records are exportable by SQL at no fee. | downgrade-to-partial | The ownership half is documented and survives - the Configure guide requires the operator to stand up their own MySQL server, so guest rows never sit in a vendor silo. The export half does not. The claim demands bulk export without a fee or vendor approval, and every documented route is gated: the Customer API GET /customer is a paid subscription benefit, the database table reference returns "This content is available to uniCenta Customer Plus, Hosted, and Hosted Monthly 50% Subscribers only", and the GDPR subject-request page routes operators to "contact us to request assistance". Consented marketing status is not a documented field anywhere on the site. The original note also asserted PostgreSQL and Oracle support, which the Configure guide contradicts - v4 onward is MySQL only. source |
| extensibility-data-portability-exit | yes / B / Data never leaves the operator own MySQL/PostgreSQL/Oracle instance; complete historical export is a database dump, free, any time. | downgrade-to-partial | No hostage risk, but the claim also requires a documented machine-readable format and that is what fails. uniCenta own database table reference - the document that would tell an operator what a dump contains - is subscriber-only, and the published API collection defines no response schema, no pagination and no field list. A dump an operator must reverse-engineer is not a documented export format. The no-hostage half is genuine and is why this lands at partial rather than no: the data sits in the operator MySQL instance and the software keeps running after a subscription lapses. source |
| commercial-data-export-self-serve | yes / B / Full transactional history sits in the operator own MySQL/PostgreSQL/Oracle database, exportable by SQL or dump with no ticket and no fee. | downgrade-to-partial | Located the actual API blueprint at docs.unicenta.com/insomnia.json, which does document bulk reads - GET /customer, GET /order and GET /product under HTTP Basic auth - so a documented API path exists and the record understated it. But the claim requires CSV or a documented API without paying a fee, and API access is a paid subscription benefit rather than part of the free build. No CSV or spreadsheet export is documented on the web-reporting or features pages. The free SQL route depends on the subscriber-only table reference. Partial on the fee and format tests. source |
| order-capture-void-comp-controls | partial, grade D - cited to https://sourceforge.net/projects/unicentaopos/ | upheld | Grade only, value and note untouched. The same SourceForge URL carried grade B on four claims and grade D on five in this one record. It is neither vendor product documentation nor a marketing assertion - it is the project landing page, which the ladder grades C. Regraded to C so one URL carries one grade. The four B claims were re-researched separately rather than mechanically moved. source |
| payments-refund-void-controls | partial, grade D - cited to https://sourceforge.net/projects/unicentaopos/ | upheld | Grade only, value and note untouched. The same SourceForge URL carried grade B on four claims and grade D on five in this one record. It is neither vendor product documentation nor a marketing assertion - it is the project landing page, which the ladder grades C. Regraded to C so one URL carries one grade. The four B claims were re-researched separately rather than mechanically moved. source |
| labor-granular-rbac | partial, grade D - cited to https://sourceforge.net/projects/unicentaopos/ | upheld | Grade only, value and note untouched. The same SourceForge URL carried grade B on four claims and grade D on five in this one record. It is neither vendor product documentation nor a marketing assertion - it is the project landing page, which the ladder grades C. Regraded to C so one URL carries one grade. The four B claims were re-researched separately rather than mechanically moved. source |
| multi-location-org-hierarchy | partial, grade D - cited to https://sourceforge.net/projects/unicentaopos/ | upheld | Grade only, value and note untouched. The same SourceForge URL carried grade B on four claims and grade D on five in this one record. It is neither vendor product documentation nor a marketing assertion - it is the project landing page, which the ladder grades C. Regraded to C so one URL carries one grade. The four B claims were re-researched separately rather than mechanically moved. source |
| multi-location-consolidated-reporting | partial, grade D - cited to https://sourceforge.net/projects/unicentaopos/ | upheld | Grade only, value and note untouched. The same SourceForge URL carried grade B on four claims and grade D on five in this one record. It is neither vendor product documentation nor a marketing assertion - it is the project landing page, which the ladder grades C. Regraded to C so one URL carries one grade. The four B claims were re-researched separately rather than mechanically moved. source |
| reporting-public-api | partial / B / Upheld and independently verified: docs.unicenta.com returns no content at all, and | upheld | The cited unicenta.com/developer/ 301s to /developer-section/, which does still carry the quoted subscriber gate, so that leg survives the move. The other leg did not: docs.unicenta.com does not 'return no content' - it is an SPA, and its Insomnia collection is publicly downloadable at /insomnia.json. Reading it shows a genuine but narrow REST surface (customer, order, product; Basic auth; api.unicenta.io) with nothing for payments, labor, reporting or webhooks. Value unchanged at partial; the note and citation are replaced and the grade rises to A because the evidence is now the API reference itself. source |
| extensibility-public-api-docs | partial / B / A public overview describes three endpoints, but developer guides and database ta | upgrade-to-yes | The researcher graded this on unicenta.com/developer/ (now /developer-section/) and treated its subscriber gate as covering the API docs. Retrieving docs.unicenta.com shows otherwise: the shell is JS-only, but its collection at /insomnia.json is served unauthenticated and contains the full endpoint reference - paths, verbs, Basic auth, example payloads, environment base URLs. Calibrated against guessed siblings (data.json, api.json, config.json), which all return the 730-byte shell, so the 16,791-byte hit is the real document. Public, self-serve API reference documentation therefore exists; the gated guides are a separate gap. source |
| extensibility-doordash-preferred | no / B / Not among the 2026 DoorDash Preferred Integration Partners, and cannot meet the 250-l | upheld | The cited URL is dead - get.doordash.com and merchants.doordash.com both return 404 for the preferred-integration-partners-2026 path, at a 428KB soft body, and /partners 404s too. A dead citation is not evidence of absence, so I re-retrieved the roster: DoorDash's newsroom post of 18 May 2026 lists the 2026 cohort exhaustively as Checkmate, Chowly, Deliverect, Otter, PAR, Qu, Square, Stream, Toast and UrbanPiper. uniCenta oPOS is absent from a closed, dated enumeration published by the program operator, which is the positive absence a `no` requires. Separately, developer.doordash.com's DPIP page gives the actual bar (order failure rate <1%, merchant cancel rate <1%, eight required features) and contains no 250-store threshold, so that half of the researcher's reasoning is struck. source |
| delivery-3p-injection | no / B / "A generic Order API can accept external orders, but no third-party marketplace is connect" | upheld | The cited unicenta.com/api/ page is marketing copy ("Connecting uniCenta to infinite possibilities") and cannot establish an absence. Re-checked at endpoint level against the exported Insomnia collection the vendor publishes at docs.unicenta.com/insomnia.json, re-retrieved 2026-08-09 and byte-identical to the 2026-08-07 cache: three resources only, and POST /order's documented body has no channel, source or marketplace field. Integrations page still lists WooCommerce plus two unfilled 'Coming Soon' slots. Value unchanged; evidence moved off the overview and grade held at B rather than raised, because the marketplace absence leans partly on a first-party integrations page. source |
| guest-loyalty-unified-profile | partial / E / "One customer record in one database, and the Customer API syncs customers across installat" | upheld | The 'syncs customers across installations' phrasing was lifted from the /api/ marketing page, and grade E was wrong for a first-party vendor URL. Read the endpoint level instead: /customer is plain CRUD with a client-supplied UUID primary key and profile fields (emailAddress, telephone, mobile, card, searchKey, maxDebt, discount, vip); there is no merge, dedup or search-by-identifier operation anywhere in the collection. Partial with the named dedup shortfall is correct; evidence and grade corrected to B off the API export. source |
| guest-loyalty-data-export-portability | yes / B / "Customer API plus operator ownership of the underlying database means full self-serve export" | downgrade-to-partial | A differentiator yes was resting entirely on unicenta.com/api/, a marketing page, and its two supports fail differently. The API support fails on price: the Apply page, re-read 2026-08-09, gates API Access to BASE at GBP 72/yr and unlimited access to PLUS at GBP 144/yr, which contradicts the claim's "without a vendor fee" and matches this record's own extensibility-api-access-cost = no. The API also cannot satisfy the claim's scope - the collection's /customer resource carries profile fields only, with no transaction-history endpoint. The database support is real but partial: the operator does own the MySQL instance (configure page), yet the table reference documenting it is subscriber-gated and the GDPR page routes subject requests to a support contact. Free self-serve export exists in practice via the operator's own database; a fee-free vendor-provided export of guest list plus transaction history does not. source |
| reporting-webhooks | no / B / "The documented API surface is inbound only; no outbound webhooks, retries, or signatures des" | upheld | Value correct, reasoning wrong. The claim was cited to the /api/ marketing page and described the surface as inbound only, which the endpoint list disproves - four GETs and three /status probes are reads. Re-verified against the vendor's own exported collection: three resources, 14 requests, and zero event/subscription/callback operations, so there is genuinely nothing to sign or retry. This is a positive enumeration rather than absence-of-mention, because the export is the vendor's complete published API artifact, so no remains correct and the grade moves to A off the primary artifact instead of B off a brochure. source |
| multi-location-central-menu-publish | partial / E / "The Product API enables scripted central publishing, but there is no publish action with vers" | upheld | Grade E was wrong for a first-party page and the page itself (unicenta.com/api/) only advertises "Send products to uniCenta POS from other applications". Checking the detail: the product resource exists with a full field set, which supports the scripted-publishing half, but it is single-tenant - the collection's environments point at one base-url each (prod https://api.unicenta.io, local http://localhost:8080) and the only request parameter is `device`. So the overview under-describes the limitation rather than over-describing the capability. Partial upheld with the shortfall sharpened and grade corrected to B. source |
| multi-location-cross-location-loyalty | partial / B / "Customer API explicitly synchronizes customer data across multiple installations - data sync," | upheld | The word "explicitly" was doing work the source cannot support: unicenta.com/api/ is a brochure and the phrase is its headline, not a documented sync semantic. Verified the underlying mechanism instead in the published export - /customer CRUD keyed on a client-supplied UUID, no sync, balance or ledger endpoint - which reaches the same verdict by a defensible route. The distinction the researcher drew between replicated profile data and a single shared balance is correct and is now evidenced from the payload's own field list. source |
| extensibility-webhooks-push | no / B / "No outbound webhooks; all three documented endpoints push data into uniCenta." | upheld | Both halves of the note were checked. The second half is false - the collection enumerates 14 requests across customer, order and product including GET /customer, GET /order, GET /product and three /status probes, so the surface is bidirectional, not push-in-only. The first half survives independently: no event, subscription or callback resource appears anywhere in the vendor's complete published export, so there is no webhook product. Value upheld, note rewritten, grade moved from B off the marketing page to A off the API artifact. source |
| extensibility-order-injection-api | partial / B / "The Order API accepts orders from other applications and e-commerce systems; whether they fir" | upheld | Checked the summary against the detail in both directions, as the wave requires. The overview promises no more than the endpoint delivers - POST /order is genuinely there - and it actually carries a limitation the note had dropped: its Order API blurb scopes the surface to "uniCenta POS layaways". The published body has no table, order-type, modifier or print field and no status back, so the unverified half of the claim (fires to KDS/printers as a first-class ticket) is unverified for a concrete documented reason rather than merely unmentioned. Partial upheld, evidence moved to the API export, shortfall named more precisely. source |
| commercial-export-customer-and-loyalty | yes / B / "Customer records and account/store-card balances are rows in the operator's own database, plus" | upheld | A differentiator yes cited solely to a marketing page needed re-testing. The database half is sound and independently sourced from the configure guide's MySQL prerequisite, which is documentation rather than a sell page; the loyalty half is satisfied by the record's own store-card and on-account balances (Features list: Customer Store Card, On/Off Account Payments, Statement, Voucher management) living in those same tables. The API half was dropped from the reasoning because the Apply page gates API access behind BASE/PLUS subscriptions. Distinguished from guest-loyalty-data-export-portability, which fails on the fee-free and transaction-history conditions this claim does not impose. Yes upheld on corrected evidence. source |
Sources
Every URL this record cites. 23 in total.
- https://unicenta.com/features/
- https://unicenta.com/faqs/
- https://sourceforge.net/projects/unicentaopos/
- https://unicenta.com/integrations/
- https://unicenta.com/card-payments/
- https://unicenta.com/api/
- https://unicenta.com/support/changelog-unicenta-opos/
- https://unicenta.com/
- https://unicenta.com/apply/
- https://unicenta.com/developer/
- https://about.doordash.com/en-us/news/doordash-preferred-integrations-program-2026
- https://unicenta.com/support/
- https://unicenta.com/pages/configure-unicenta-opos/
- https://unicenta.com/developer-section/
- https://sourceforge.net/p/unicentaopos/discussion/1126901/thread/a5961276/
- https://docs.unicenta.com/insomnia.json
- https://unicenta.com/pages/install-unicenta-opos/
- https://unicenta.com/developer-section/unicenta-opos-database-tables/
- https://unicenta.com/download-files/installers/
- https://sourceforge.net/projects/unicentaopos/files/
- https://unicenta.com/unicenta_gdpr_customer_help/
- https://about.doordash.com/en-us/news/doordash-preferred-integrations-program-2026
- https://developer.doordash.com/en-US/docs/marketplace/overview/getting_started/preferred_integrations_new/