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

Partial

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

D
Unknown

order-capture-seat-level

Seat-number tagging of order lines is not mentioned in any public vendor documentation.

F
No

order-capture-coursing-hold-fire

Coursing, hold and fire-next-course appear nowhere in the vendor's enumerated hospitality feature set.

F
Partial

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

C
No

order-capture-bar-tab-preauth differentiator

No pre-authorization, incremental re-auth, or stale-tab auto-close documented.

F
Partial

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

D
No

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

B
Partial

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.

F
No

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.

F
No

order-capture-kiosk-first-party differentiator

No kiosk product and no accessibility conformance documentation.

F
No

order-capture-drive-thru

No drive-thru order flow documented.

F
No

order-capture-drive-thru-timers

No speed-of-service timing capability documented.

F
No

order-capture-voice-ai differentiator

No voice AI product and no partner program; no voice partner is named.

F
No

order-capture-throttling differentiator

No per-channel capacity limits or automatic quote-time extension documented.

F
Unknown

order-capture-scheduled-orders

Future-dated orders and lead-time-driven fire scheduling are not described publicly.

F
No

order-capture-catering

No catering flow, quotes, deposits, or balance-due tracking documented.

F
No

order-capture-order-ready-signal differentiator

No marketplace integrations exist, so no order-ready signal can be pushed.

F
Partial

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

C

Menu, modifiers & pricing engine

Partial

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

D
Unknown

menu-pricing-modifier-price-by-parent-size

No documentation of a modifier price matrix keyed to parent item and size.

F
No

menu-pricing-fractional-placement differentiator

No halves or quarters placement anywhere in the feature catalog.

F
No

menu-pricing-half-and-half-rule differentiator

No half-and-half pricing rule of any kind documented.

F
No

menu-pricing-topping-quantity-tiers

No light/regular/extra/double multipliers documented.

F
Unknown

menu-pricing-size-style-matrix differentiator

Attribute sets generate variants, but a two-axis grid with per-cell price override is not documented.

F
No

menu-pricing-included-allowance differentiator

No included-modifier allowance or overage charging documented.

F
Partial

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

C
No

menu-pricing-upsell-prompts differentiator

No suggestive-sell prompts or attach-rate reporting documented.

F
No

menu-pricing-86-propagation

No online ordering, kiosk, or marketplace channels exist to propagate an 86 to.

F
No

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

E
Unknown

menu-pricing-dayparting

Time-scheduled menu, item and price activation is not described in public documentation.

F
Unknown

menu-pricing-channel-price-books

Per-channel price books and percentage-markup rules are not documented.

F
No

menu-pricing-dual-pricing differentiator

No dual pricing or cash-discount capability documented.

F
Unknown

menu-pricing-allergen-nutrition

Allergen and nutrition attributes are not mentioned in the public feature catalog.

F
Unknown

menu-pricing-recipe-linkage differentiator

Stock depletes on sale, but recipe/BOM linkage to modifiers and theoretical food cost is not documented.

F
No

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

B
No

menu-pricing-dynamic-pricing

No rule-based dynamic pricing documented.

F

Payments & money movement

Partial

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

B
No

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

B
No

payments-dual-pricing differentiator

No two-price-per-item storage or dual cash/card receipt totals documented.

F
No

payments-surcharge-guardrails differentiator

No surcharging engine, BIN-based debit exclusion, or network cap enforcement documented.

F
Unknown

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

F
Unknown

payments-softpos-tap-to-pay differentiator

Tap to Pay on iPhone or Android tap-to-pay is not mentioned anywhere.

F
No

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

C
No

payments-qr-guest-pay differentiator

Digital receipts exist, but no scan-to-pay flow that closes the check is documented.

F
Unknown

payments-tip-adjust

Tip prompt, pre-auth-then-adjust flows and a batch adjust window are not documented.

F
No

payments-tip-pooling differentiator

No tip pooling or distribution rules exist anywhere in the product.

F
Unknown

payments-offline-store-and-forward differentiator

No statement on offline card capture; the vendor publishes no offline documentation.

F
No

payments-offline-decline-liability differentiator

Nothing published on offline decline liability or a failed-offline-payment report.

F
Partial

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

C
Yes

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

C
Partial

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

D
Partial

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

C
No

payments-chargeback-tooling differentiator

No dispute or chargeback dashboard documented.

F
Unknown

payments-card-on-file differentiator

Tokenized card-on-file tied to a guest profile is not described.

F
Partial

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

D
Unknown

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

F

Kitchen & production

Partial

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

D
No

kitchen-expo-consolidation

No expo screen or multi-station completion logic documented.

F
No

kitchen-course-firing differentiator

No course assignment, hold, or on-demand fire documented.

F
No

kitchen-prep-time-pacing differentiator

No per-item cook times or staggered start logic documented.

F
No

kitchen-order-throttling differentiator

No load-based pacing; there is no digital order channel to pace.

F
No

kitchen-channel-pause-propagation differentiator

No marketplace connections exist to propagate a pause or availability change to.

F
No

kitchen-order-ready-callback differentiator

No marketplace status callback exists.

F
Unknown

kitchen-bump-bar-hardware

The remote order display is described only as browser-based; bump-bar support and supported models are not documented.

F
Unknown

kitchen-all-day-counts

An all-day aggregated quantity view is not described in public documentation.

F
Unknown

kitchen-sla-alerts

Target cook times, color escalation and audible alerts are not documented.

F
Unknown

kitchen-printer-fallback differentiator

Automatic failover to a backup printer or screen is not documented.

F
Partial

kitchen-offline-operation differentiator

LAN-served displays would survive an internet outage by architecture, but no offline KDS behavior is documented.

F
No

kitchen-item-build-screens differentiator

No recipe-step or build-detail station display documented.

F
No

kitchen-pizza-fractional-display differentiator

There is no fractional placement in the menu engine, so nothing to render.

F
Unknown

kitchen-recall-refire

Recall/unbump and per-item refire are not documented for the remote order display.

F
No

kitchen-order-modification-alerts differentiator

No live-ticket change highlighting documented.

F
No

kitchen-guest-ready-notification differentiator

No SMS, push, or order-status board product documented.

F
No

kitchen-waste-logging

Back-office stock adjustments exist, but no KDS-side reason-coded waste or remake logging is documented.

F
No

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

E
No

kitchen-prep-forecasting

No forecast-driven prep list documented.

F

Delivery, dispatch & third-party channels

No

delivery-driver-roster

No driver entity, assignment state, or run history in the documented feature set.

F
No

delivery-dispatch-board

No dispatch or expo screen for delivery documented.

F
No

delivery-route-map differentiator

No mapping or route sequencing capability documented.

F
No

delivery-driver-tracking differentiator

No driver mobile app exists, so no GPS capture.

F
No

delivery-zones-polygon differentiator

No delivery zone modeling of any kind documented.

F
No

delivery-zone-pricing

No per-zone fee, order minimum, or promise time documented.

F
No

delivery-address-validation

No geocoding or address validation at order time documented.

F
No

delivery-driver-comp differentiator

No mileage or per-delivery reimbursement tracking documented.

F
No

delivery-cash-reconcile

Close Cash reconciles a drawer, not a driver bank; no per-driver settle-up flow documented.

F
No

delivery-daas-dispatch

No DoorDash Drive, Uber Direct, Nash, or Relay integration documented.

F
No

delivery-daas-fallback differentiator

No hybrid dispatch rules; no DaaS connection exists to overflow to.

F
No

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

B
No

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

B
No

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

B
No

delivery-86-sync

No third-party channels exist to sync item availability to.

F
No

delivery-store-pause

No marketplace store-pause capability.

F
No

delivery-3p-reconciliation differentiator

No marketplace payout reconciliation report documented.

F
Unknown

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.

F
No

delivery-tracking-page

No branded guest tracking page or SMS link documented.

F
No

delivery-promise-time differentiator

No dynamic promise-time engine documented.

F
No

delivery-offline-behavior

The vendor publishes no offline documentation for delivery; there is no delivery module to document.

F

Digital ordering & guest-facing channels

Partial

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

B
Partial

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

B
No

digital-native-app differentiator

No branded consumer iOS/Android app; tablet use is back-office browser access.

F
No

digital-account-saved-payment

Guest accounts with saved addresses and tokenized cards would live in WooCommerce, not the vendor's product.

F
No

digital-upsell-engine differentiator

No digital upsell engine or attach-rate reporting documented.

F
No

digital-scheduled-pacing

No slot capacity limits or daypart throttling documented.

F
No

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

E
Partial

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

D
No

digital-kiosk differentiator

No self-order kiosk product.

F
No

digital-group-ordering

No group ordering link or spend caps documented.

F
No

digital-catering-portal differentiator

No catering ordering flow documented.

F
No

digital-voice-ai-phone differentiator

No AI phone ordering product and no named certified partner.

F
No

digital-drivethru-ai

No drive-thru capability at all.

F
No

digital-sms-ordering

No conversational SMS or chat ordering documented.

F
No

digital-google-order differentiator

No Order with Google provisioning documented.

F
No

digital-apple-business-connect

No Apple Business Connect ordering placement documented.

F
No

digital-loyalty-attach

No loyalty engine exists to attach to a digital flow.

F
No

digital-subscriptions

No guest subscription or membership program documented.

F
No

digital-promo-parity

Customer discount % exists in the POS, but no shared promo definition across POS and digital channels.

F
Partial

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

B
No

digital-checkout-pci-sca

No vendor-hosted digital checkout exists; PCI DSS 4.0 script-integrity posture is not published.

F
No

digital-surcharge-transparency differentiator

No surcharge or service-fee configuration in POS or digital channels documented.

F

Guest data, loyalty & marketing

Partial

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

B
No

guest-loyalty-thirdparty-identity-attach differentiator

No marketplace integrations exist, so no third-party identity to attach.

F
No

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

E
No

guest-loyalty-tiers differentiator

A static VIP flag exists; no automatic promotion or demotion on rolling-window spend.

F
Unknown

guest-loyalty-offline-behavior differentiator

No loyalty engine and no published offline behavior documentation of any kind.

F
No

guest-loyalty-offer-stacking-rules differentiator

No offer engine with stacking or precedence configuration documented.

F
No

guest-loyalty-targeted-offers differentiator

No audience-rule offer issuance documented.

F
No

guest-loyalty-rfm-segmentation differentiator

No automatic lifecycle segmentation; customer reports are transactional.

F
No

guest-loyalty-lifecycle-automation

No triggered birthday, first-visit, or win-back campaigns documented.

F
No

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

E
No

guest-loyalty-consent-management

No per-channel consent capture with timestamp and source documented.

F
No

guest-loyalty-10dlc-registration

No SMS sending capability, therefore no A2P 10DLC handling or documentation.

F
No

guest-loyalty-campaign-attribution differentiator

No campaign construct exists to attribute redemptions against.

F
Partial

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

B
No

guest-loyalty-review-capture-routing differentiator

No feedback capture or score-based routing documented.

F
No

guest-loyalty-referral-program

No referral codes, attribution, or two-sided rewards documented.

F
No

guest-loyalty-wallet-pass differentiator

No Apple Wallet or Google Wallet pass issuance documented.

F
No

guest-loyalty-privacy-rights-tooling

No in-app DSAR tooling; operators would service requests with direct SQL against their own database.

F
No

guest-loyalty-redemption-fraud-controls

No loyalty redemption exists; no velocity limits or self-redemption flagging documented.

F
No

guest-loyalty-ai-offer-recommendation differentiator

No AI or ML features of any kind are claimed by the vendor.

F
Partial

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

D

Labor & workforce

Yes

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

C
No

labor-photo-punch-verification differentiator

No photo capture or facial verification at punch documented.

F
Unknown

labor-offline-time-punch differentiator

No offline behavior documentation of any kind is published.

F
Partial

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

C
Unknown

labor-manager-override-audit

Whether overrides are attributed to the approving manager in an immutable queryable trail is not documented.

F
No

labor-native-scheduling differentiator

No shift scheduling module in the feature catalog.

F
No

labor-demand-labor-forecast differentiator

No recommended staffing levels or labor forecasting documented.

F
No

labor-realtime-labor-percent differentiator

No real-time labor-as-percent-of-sales view documented.

F
No

labor-overtime-prevention differentiator

No overtime thresholds or clock-in warnings documented.

F
No

labor-break-compliance-by-state differentiator

No jurisdictional break rules; UK-origin product with no US labor compliance features documented.

F
No

labor-minor-labor-rules

No minor-labor restriction enforcement documented.

F
No

labor-tip-pooling-rules

No automatic tip pooling or tip-out computation documented.

F
No

labor-tip-distribution-audit-trail

No per-shift tip contribution and distribution record documented.

F
No

labor-qualified-tips-w2-reporting differentiator

No payroll export exists; no W-2 Box 12 TP or Box 14b support documented.

F
No

labor-native-payroll differentiator

No first-party payroll product.

F
No

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

B
No

labor-shift-swap-workflow differentiator

No employee self-service app or swap approval workflow documented.

F
Partial

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

D

Inventory, purchasing & cost control

Unknown

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.

F
Unknown

inventory-unit-conversion-yields

Purchase/recipe/count unit conversion factors and yield or waste percentages are not documented.

F
No

inventory-theoretical-vs-actual differentiator

No theoretical-versus-actual usage variance report in the documented inventory report set.

F
Partial

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

D
No

inventory-86-auto-sync differentiator

No automatic 86 on ingredient depletion, and no online or third-party channels to sync to.

F
Partial

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

D
No

inventory-mobile-count-offline

No dedicated mobile counting app; counting happens in the desktop back office.

F
No

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

B
No

inventory-invoice-ocr differentiator

No supplier invoice capture or OCR line extraction documented.

F
No

inventory-price-change-alerts differentiator

No per-item purchase price history alerting documented.

F
Partial

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

D
Partial

inventory-waste-logging

Stock movement adjustments allow shrinkage entry, but a reason-coded waste workflow with separate waste-cost reporting is not documented.

F
No

inventory-shelf-life-expiry

No expiry or use-by date tracking documented.

F
No

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

E
No

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

B
Partial

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

B
Unknown

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.

F

Reporting, BI & data access

Partial

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

D
Partial

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

D
Partial

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

D
Unknown

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.

F
Partial

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

D
No

reporting-labor-productivity

No clocked-hours labor data feeds reporting; sales per labor hour and labor % are absent from documented report categories.

F
Partial

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

D
No

reporting-channel-profitability differentiator

No fulfillment-channel dimension exists and no marketplace commissions to net out.

F
No

reporting-scheduled-delivery

No scheduled recurring report emailing or delivery documented.

F
Partial

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

A
No

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

A
No

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

B
Partial

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

B
Partial

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

B
No

reporting-anomaly-alerts differentiator

No threshold or deviation alerting documented.

F
No

reporting-nl-query

No natural-language or AI query assistant; the vendor claims no AI features.

F
No

reporting-guest-cohorts differentiator

Customer reports exist, but new-versus-returning, frequency and lifetime-spend cohorts are not documented.

F
No

reporting-sales-forecast differentiator

No forward sales forecast at any granularity documented.

F
No

reporting-tip-tax-compliance

No declared-versus-charged tip reporting, pool distribution detail, or tax liability summary documented.

F

Multi-location, franchise & enterprise governance

Partial

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

C
Partial

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

B
Unknown

multi-location-price-zones

Whether one item carries different prices per location group, channel and daypart without duplication is not documented.

F
Partial

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

C
Unknown

multi-location-cross-location-giftcard

Customer store card exists, but cross-location redemption, liability reporting and inter-store settlement are not documented.

F
Partial

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

B
No

multi-location-multi-brand differentiator

No multi-brand or virtual-brand operation on one terminal documented.

F
Partial

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.

F
No

multi-location-central-labor-policy

No labor rule engine exists at any scope, so nothing to configure centrally.

F

Hardware & physical footprint

Yes

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

B
Partial

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

B
No

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

C
No

hardware-handheld-battery-swap differentiator

No vendor handheld exists, so no battery specification.

F
No

hardware-handheld-lte

No vendor handheld or connectivity failover product exists.

F
Partial

hardware-offline-mode

On-premise client and database keep terminals operating offline, but the vendor publishes no statement of which functions degrade.

F
Partial

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

B
No

hardware-kiosk differentiator

No kiosk product in either form factor and no ADA documentation.

F
No

hardware-drive-thru

No menu boards, confirmation displays, headsets, or timers documented.

F
Partial

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

B
Yes

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

C
Unknown

hardware-p2pe-terminal

EMV/PCI compliance is claimed, but no PTS device is named, no P2PE validation cited, and no merchant SAQ type stated.

F
No

hardware-tap-to-phone differentiator

No Tap to Pay on iPhone or Android tap-to-phone acceptance documented.

F
No

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

C
Yes

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

B
Yes

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

B
No

hardware-rma-sla differentiator

No vendor hardware, therefore no warranty term or advance-exchange program. https://unicenta.com/features/ · retrieved 2026-08-01

C
Unknown

hardware-byod

HOSTED allows browser access from iPads and Android tablets over HTTPS, but no BYOD permission or security model is documented.

F
No

hardware-remote-device-management differentiator

No fleet console, remote reboot, version visibility, or staged update rollout documented.

F
No

hardware-selfpour-scales

Weighing scales are supported for by-weight items; no tap wall, flow meter, or pour spout integration documented.

F
No

hardware-callerid-integration

No caller ID hardware or telephony screen-pop integration documented.

F

Integrations, API & extensibility

Yes

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

A
No

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

B
No

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

B
Unknown

extensibility-oauth-partner-apps

The public API page does not describe an authentication mechanism; detailed developer docs are subscriber-gated.

F
No

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

A
No

extensibility-webhook-reliability differentiator

No webhooks exist, so no signing, retry, or replayable event log.

F
Partial

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

B
Partial

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

B
No

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

B
No

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

B
No

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.

F
No

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

B
No

extensibility-payroll-export

No payroll provider is named anywhere in the integrations catalog. https://unicenta.com/integrations/ · retrieved 2026-08-01

B
Partial

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

B
No

extensibility-headless-embedded

No headless mode; the Order API is a data-insertion path, not a transaction engine a third-party UI drives.

F
Partial

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

B

Reliability, offline & operations

Partial

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.

F
Unknown

reliability-offline-card-auth differentiator

No store-and-forward behavior is documented for the vendor's integrated card payments.

F
No

reliability-offline-decline-liability differentiator

Nothing is published on offline decline liability or offline caps; this criterion is about publication and there is none.

F
Partial

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

B
Partial

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

B
Partial

reliability-offline-kds-printing

LAN kitchen printing and LAN-served remote displays continue during an outage by architecture, but no offline behavior is documented.

F
Unknown

reliability-printer-fallback

Automatic failover to a backup printer or KDS station with staff alerting is not documented.

F
Unknown

reliability-sync-conflict-handling

A single shared database avoids most partition conflicts, but the Customer API's cross-installation sync conflict behavior is undocumented.

F
No

reliability-offline-feature-matrix

No offline feature matrix is published anywhere — no statement on gift cards, card auth, or refunds without connectivity.

F
Unknown

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.

F
No

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

B
No

reliability-onsite-install differentiator

No first-party or certified dealer on-site installation program is documented; the model is self-install.

F
No

reliability-menu-build-service differentiator

No onboarding menu-build service documented at any tier.

F
No

reliability-hardware-replacement-sla

No vendor hardware, therefore no replacement or advance-exchange program. https://unicenta.com/features/ · retrieved 2026-08-01

C
Unknown

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.

F
Partial

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

D
Partial

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

B
No

reliability-failover-terminal-role differentiator

No automatic master-role failover; the database server is a single point of failure the operator must engineer around.

F
No

reliability-cellular-backup

No cellular failover product; the vendor supplies no networking hardware.

F

Commercial, compliance & data ownership

Partial

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

B
Yes

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

B
Unknown

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.

F
Yes

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

B
No

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

B
Unknown

commercial-rate-increase-clause differentiator

No processing agreement or terms document is publicly accessible, so rate-increase protections cannot be assessed.

F
Yes

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

B
No

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

E
Yes

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

E
Yes

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

B
Partial

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

A
Yes

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

B
Partial

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

E
Unknown

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.

F
Unknown

commercial-pci-p2pe-tokenization

No P2PE validation, tokenization architecture, or merchant SAQ type is named; only a general EMV/PCI compliance claim.

F
No

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.

F
No

commercial-privacy-dsar-tooling

No in-app DSAR tooling and no published DPA; operators would service requests with direct SQL against their own database.

F
No

commercial-wcag-kiosk-accessibility differentiator

No kiosk product, no consumer web-ordering surface, and no VPAT or ACR published.

F
No

commercial-dual-pricing-compliant differentiator

No dual pricing, cash discount, or surcharging engine, and therefore no debit/prepaid exclusion or disclosure handling.

F

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

FieldVerdictWhat the verifier found
pricing.processor_lock_indowngrade-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.softwareupheldFigures 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_rateupheldVerified: 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.webhooksupheldWebhooks 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_exitdowngrade-to-partialTwo 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

ClaimAs first scoredVerdictWhat the verifier found
reliability-lan-degraded-multi-terminalyes / inferreddowngrade-to-partialA '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-engineyes / documenteddowngrade-to-partialSame 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-compatibilityyes / claimeddowngrade-to-partialSourced 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-apiyes / documenteddowngrade-to-partialThe 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-paywallyes / claimeddowngrade-to-partialDirectly 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-sandboxpartial / inferreddowngrade-to-noThe 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-nfcpartial / claimeddowngrade-to-unknownThe 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-choicepartial / inferredupheldScore 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-pci4unknownupheldUpheld, 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-marketplaceno / documenteddowngrade-to-partialToo 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-posunknownresolve-to-yesUnder-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-accountspartial / claimedupgrade-to-yesThe 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-mergeunknownresolve-to-partialSCORE 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-cardsunknownresolve-to-partialSCORE 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-combosunknownresolve-to-partialSCORE 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-handheldno / documentedupheldUpheld 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-platformspartial / documentedupheldScore 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-webpartial / documentedupheldScore 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-apipartial / documentedupheldUpheld 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-feeyes / documentedupheldVerified 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-kdspartial / claimedupheldVerified: '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-bundledyes / grade E, cites unicenta.com/card-payments/upheldChallenged 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-leaseyes / grade E, cites unicenta.com/apply/upheldChallenged 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-churnyes / grade E, cites unicenta.com/apply/upheldChallenged 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-retentionyes / grade E, cites sourceforge.net project pagedowngrade-to-partialThis 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-mergepartial, grade B - SCORE CHANGE unknown→partial (a raise, not a cut — the enum upheldGrade 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-combospartial, grade B - SCORE CHANGE unknown→partial (a raise). 'Product Bundles' isupheldGrade 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-tableno, grade B - Vendor ships no handheld hardware, so there is no pay-at-tabupheldGrade 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-cardspartial, grade B - SCORE CHANGE unknown→partial (a raise). Beyond the 'CustomerupheldGrade 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-accountsyes, grade B - The note's stated gap is wrong. The features page lists 'StaupheldGrade 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-posyes, grade B - Under-scored. The vendor features page explicitly lists emplupheldGrade 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-builtno, grade B - Vendor sells no hardware; there is no first-party handheld aupheldGrade 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-peripheralsyes, grade B - Documented set: cash drawers, barcode scanners, weighing scaupheldGrade 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-transparencyno, grade B - Not applicable in the vendor's favour: no hardware prices arupheldGrade 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-slano, grade B - No vendor hardware, therefore no warranty term or advance-exupheldGrade 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-slano, grade B - No vendor hardware, therefore no replacement or advance-exchupheldGrade 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-partneryes / B / Stock, multi-warehouse, suppliers and transfers are native to the single application; no thdowngrade-to-partialThe '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-lockedyes / B / Runs on standard Windows/Linux/macOS machines with standard receipt printers, drawers, scanupheldThe 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-devicesyes / B / Pure software: a Java application on any Windows, Linux or macOS machine bought anywhere. No vendor terminal exists or is required.upheldValue 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-ownershipyes / 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-partialThe 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-exityes / B / Data never leaves the operator own MySQL/PostgreSQL/Oracle instance; complete historical export is a database dump, free, any time.downgrade-to-partialNo 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-serveyes / 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-partialLocated 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-controlspartial, grade D - cited to https://sourceforge.net/projects/unicentaopos/upheldGrade 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-controlspartial, grade D - cited to https://sourceforge.net/projects/unicentaopos/upheldGrade 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-rbacpartial, grade D - cited to https://sourceforge.net/projects/unicentaopos/upheldGrade 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-hierarchypartial, grade D - cited to https://sourceforge.net/projects/unicentaopos/upheldGrade 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-reportingpartial, grade D - cited to https://sourceforge.net/projects/unicentaopos/upheldGrade 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-apipartial / B / Upheld and independently verified: docs.unicenta.com returns no content at all, andupheldThe 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-docspartial / B / A public overview describes three endpoints, but developer guides and database taupgrade-to-yesThe 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-preferredno / B / Not among the 2026 DoorDash Preferred Integration Partners, and cannot meet the 250-lupheldThe 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-injectionno / B / "A generic Order API can accept external orders, but no third-party marketplace is connect"upheldThe 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-profilepartial / E / "One customer record in one database, and the Customer API syncs customers across installat"upheldThe '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-portabilityyes / B / "Customer API plus operator ownership of the underlying database means full self-serve export"downgrade-to-partialA 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-webhooksno / B / "The documented API surface is inbound only; no outbound webhooks, retries, or signatures des"upheldValue 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-publishpartial / E / "The Product API enables scripted central publishing, but there is no publish action with vers"upheldGrade 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-loyaltypartial / B / "Customer API explicitly synchronizes customer data across multiple installations - data sync,"upheldThe 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-pushno / B / "No outbound webhooks; all three documented endpoints push data into uniCenta."upheldBoth 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-apipartial / B / "The Order API accepts orders from other applications and e-commerce systems; whether they fir"upheldChecked 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-loyaltyyes / B / "Customer records and account/store-card balances are rows in the operator's own database, plus"upheldA 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.