Vendors / Open source & self-hostable

Open Source Point of Sale

Open Source Point of Sale (opensourcepos / OSPOS)

dossier live legacy rubric

Claims in scope
257
Scored
257
Assessed
251
Unknown
6
Not applicable
57
Cells challenged
22

Identity

Owner
Community open-source project on GitHub (opensourcepos/opensourcepos). No single commercial owner identified; no corporate parent or paid edition found. Unlike Floreant/OROCUBE there is no documented vendor upsell.
Founded
Project dates to 2010 per the license/footer copyright ("© 2010 - current year · opensourcepos.org"); LICENSE credits contributions since 2012. Current GitHub org: opensourcepos.
Scale
unknown. No published install base, ARR, or market share. Only proxies available: ~6,741 commits on master, 221 open issues, 38 open PRs on GitHub; 71 SourceForge reviews averaging 4.6/5. None of these establish deployed store counts.
Who it is for
Single-site small retailers, market stalls, workshops and simple counter-service operations with an in-house technical operator willing to run and patch a PHP 8.2+/MySQL server. Not a restaurant product: the only restaurant feature (table mode) is documented as "Currently only works with 2 tables".
Site
https://github.com/opensourcepos/opensourcepos

Pricing

transparency: published · unit: free · processor lock-in: no

Software
$0. MIT-licensed free download from GitHub; no paid tiers, no editions, no hosted SaaS offering. The only monetization is a donation link. The one non-monetary condition is a license clause: the footer signature ("© 2010 - current year · opensourcepos.org · version - commit") "MUST BE RETAINED, MUST BE VISIBLE IN EVERY PAGE and CANNOT BE MODIFIED."
Card processing
N/A — the project is not a payment processor and integrates no card processing. Card sales are run on a standalone terminal and the tender is recorded manually in OSPOS.
Contract
None. MIT license, no subscription, no term.
Early termination
None — no contract exists.

API posture

public API: none

Cost to integrate
$0 in fees — no partner program, no certification, no revenue share, and no commercial terms of any kind exist. The cost is entirely developer time against the source.
Webhooks
None documented. The Development Index covers dev environment, error logging, database layout, item attributes, custom reports and translations only — no REST/GraphQL API, no webhooks, no plugin or extension architecture. It is a monolithic CodeIgniter 4 app; integration means writing PHP against the codebase or querying MySQL directly.
Data export on exit
Complete and unconditional. The operator holds the MySQL database, so a mysqldump is a full export of orders, line items, payments, customers, employees and inventory. The UI additionally offers spreadsheet export on employees, items, customers and reports, and CSV import for items/customers/employees. No fee, no window, no vendor involvement.
Notes
Practical integration surface is direct SQL against a documented schema (wiki "Database Layout") plus the ability to fork the app. That is genuinely more open than any commercial POS on this list, but it is not an API: there is no order-injection endpoint, no menu write API, no OAuth, no rate limits, no versioning/deprecation policy, and no sandbox distinct from just installing the software. Mailchimp and SMS are the only named outbound third-party integrations in the feature datasheet.

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

No

order-capture-floor-plan-editor

No floor plan. Tables are text labels on suspended sales; docs say "Currently only works with 2 tables" (issue #1933). https://github.com/opensourcepos/opensourcepos/wiki/Sales-Restaurant · retrieved 2026-08-01

B
No

order-capture-seat-level

No seat concept; table is a label attached to a suspended sale. https://github.com/opensourcepos/opensourcepos/wiki/Sales-Restaurant · retrieved 2026-08-01

B
No

order-capture-coursing-hold-fire

No kitchen firing path exists at all — no KDS, no course construct in the feature datasheet. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

order-capture-split-merge

Datasheet enumerates suspend/resume, receipts, invoices, quotes and returns; no split or merge of checks. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

order-capture-bar-tab-preauth differentiator

No card processing integration exists, so no pre-auth is possible. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
No

order-capture-transfer-audit

Suspended sales can be resumed by another logged-in employee, but no transfer object or transfer audit log is documented. https://github.com/opensourcepos/opensourcepos/wiki/Sales-Restaurant · retrieved 2026-08-01

B
No

order-capture-native-handheld

Responsive browser UI only; docs state "Works on mobile but PC/Mac is recommended" and mobile barcode reading is "not yet" available. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
No

order-capture-offline-order-entry

Server-rendered CI4 web app with no offline client and no published offline behavior. A LAN-hosted server survives internet loss, but a terminal that loses the server cannot transact. https://github.com/opensourcepos/opensourcepos/wiki/Webserver-Overview · retrieved 2026-08-01

B
No

order-capture-qr-same-check differentiator

No guest-facing ordering channel of any kind in the feature datasheet. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

order-capture-kiosk-first-party differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
NoB
No

order-capture-drive-thru-timers

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

order-capture-voice-ai differentiator

No AI features and no partner/API program; the project publishes no public API. https://github.com/opensourcepos/opensourcepos/wiki/Development-Index · retrieved 2026-08-01

B
No

order-capture-throttling differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

order-capture-scheduled-orders

Quotes and work orders can be held for later conversion, but there is no fire-time scheduling or make queue. https://github.com/opensourcepos/opensourcepos/wiki/Work-Orders · retrieved 2026-08-01

B
No

order-capture-catering

Built from quotes plus invoices with balance due. But the datasheet's POS cannot-do column disclaims exactly the mechanisms a catering deposit flow needs: 'Advanced Transaction Types such as Special Orders, Back Orders and Layaways, Credit accounting sales', and separately 'no A.R. features'. A retail quote-to-invoice path with no deposit, no event date, no BEO and no credit sales is not a rough catering flow. https://raw.githubusercontent.com/wiki/opensourcepos/opensourcepos/Complete-feature-datasheet.md · retrieved 2026-08-01 adversarially verified

B
No

order-capture-order-ready-signal differentiator

No marketplace integrations exist. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
Partial

order-capture-void-comp-controls

Per-module permissions gate access and payments record employee ID and timestamp, but no reason codes, no manager-approval prompt, no exception report documented. https://github.com/opensourcepos/opensourcepos/wiki/Menu-and-Permissions · retrieved 2026-08-01

B

Menu, modifiers & pricing engine

No

menu-pricing-nested-modifiers

No modifier system. Item Attributes are metadata fields on inventory items, not priced selection groups. https://github.com/opensourcepos/opensourcepos/wiki/Item-Attributes · retrieved 2026-08-01

B
No

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

https://github.com/opensourcepos/opensourcepos/wiki/Item-Attributes · retrieved 2026-08-01

B
No

menu-pricing-fractional-placement differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

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

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

menu-pricing-topping-quantity-tiers

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

menu-pricing-size-style-matrix differentiator

Upheld and strengthened. The researcher inferred this from the Items page; the datasheet states it outright in the cannot-do column: 'Inventory Matrix, Track items features, colors, materials'. This is one of the few 'no' scores that is affirmative absence rather than silence, and the confidence should read documented-explicit. https://raw.githubusercontent.com/wiki/opensourcepos/opensourcepos/Complete-feature-datasheet.md · retrieved 2026-08-01 adversarially verified

B
No

menu-pricing-included-allowance differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
Partial

menu-pricing-combos

Item Kits bundle component items at a kit price and deplete components, but no component swap with price delta and no automatic cart-to-combo detection. https://github.com/opensourcepos/opensourcepos/wiki/Item-Kits · retrieved 2026-08-01

B
No

menu-pricing-upsell-prompts differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

menu-pricing-86-propagation

Stock on hand is checked at point of sale, but there is no second channel to propagate to — no online ordering, kiosk or marketplace. https://github.com/opensourcepos/opensourcepos/wiki/Sales · retrieved 2026-08-01

B
Partial

menu-pricing-countdown-auto-86 differentiator

Stock quantity is validated at sale time for stock-tracked items, and reorder levels exist, but no auto-86/auto-restore behavior is documented. https://github.com/opensourcepos/opensourcepos/wiki/Sales · retrieved 2026-08-01

B
No

menu-pricing-channel-price-books

The partial rests on 'customer price tiers'. I found no customer price tiers in any first-party doc. What the datasheet actually says is 'VAT and multi tiers taxation' under Customers, and the homepage says 'Multiple taxation options (VAT, GST, customer, multi-tier)'. That is tax tiering, not a price book. Item pricing is a single 'Items Price Management' entry with one Retail Price field per item (Items wiki: 'UPC/EAN/ISBN, Item Name, Category, Supplier, Cost Price, Retail Price, Tax 1, Tax 2, Quantity in stock'). This looks like a misreading of 'multi tiers taxation' as tiered pricing. https://github.com/opensourcepos/opensourcepos/wiki/Items · retrieved 2026-08-01 adversarially verified

B
No

menu-pricing-dual-pricing differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
Partial

menu-pricing-allergen-nutrition

Item Attributes allow arbitrary custom fields that could hold allergens, but nothing is purpose-built, nothing publishes to any channel, and no recipe-derived nutrition exists. https://github.com/opensourcepos/opensourcepos/wiki/Item-Attributes · retrieved 2026-08-01

E
Partial

menu-pricing-recipe-linkage differentiator

Item Kits link a sold item to component inventory items so a sale depletes components; this is a flat BOM, not a costed recipe with theoretical food cost reporting. https://github.com/opensourcepos/opensourcepos/wiki/Item-Kits · retrieved 2026-08-01

B
NoB
No

menu-pricing-dynamic-pricing

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B

Payments & money movement

Partial

payments-processor-choice differentiator

Maximally open in that nothing is bundled, but there is no integrated processing and no documented gateway list — card runs on a standalone terminal and the tender is keyed in manually. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
No

payments-published-rates differentiator

Project is not a processor and publishes no card rates. https://opensourcepos.org/ · retrieved 2026-08-01

B
No

payments-dual-pricing differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

payments-surcharge-guardrails differentiator

No BIN-level card data is ever seen by the application. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
No

payments-emv-nfc

Hardware datasheet lists "Credit Card Readers" under not supported; there are no first-party terminals. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
No

payments-softpos-tap-to-pay differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
No

payments-qr-guest-pay differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

payments-tip-adjust

No tip handling appears in the feature datasheet or payment processing docs. https://github.com/opensourcepos/opensourcepos/wiki/Payment-Processing · retrieved 2026-08-01

B
No

payments-tip-pooling differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

payments-offline-store-and-forward differentiator

No card path at all, therefore no store-and-forward. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
No

payments-offline-decline-liability differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
Partial

payments-gift-cards

Native gift cards with balance tracking are in the feature datasheet; single install means one shared balance pool, but there is no online channel to redeem through. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

payments-house-accounts

The project's own feature datasheet lists this under 'What cannot do' verbatim: 'Accounts Receivable / House Accounts, OSPOS has CRM features but no A.R. features'. The researcher built a partial from the Payment-Processing page's balance-due mention, but that page itself admits balance-due tracking is still under development (#3072). Vendor-affirmed absence beats an inferred partial. https://raw.githubusercontent.com/wiki/opensourcepos/opensourcepos/Complete-feature-datasheet.md · retrieved 2026-08-01 adversarially verified

B
Partial

payments-split-tender

Upheld, but not from the cited source. The Payment-Processing wiki page does not document split or multiple payments at all. The support is in the datasheet: 'apply multiple payments (inclusivelly different types) to the sale'. Partial is correct — multiple tenders yes, no split by seat, item or even shares. https://raw.githubusercontent.com/wiki/opensourcepos/opensourcepos/Complete-feature-datasheet.md · retrieved 2026-08-01 adversarially verified

B
Partial

payments-refund-void-controls

Payments record amount, refunded amount, timestamp and employee ID; permissions are per-module. No approver-attributed override flow and the log is a mutable app table, not immutable. https://github.com/opensourcepos/opensourcepos/wiki/Payment-Processing · retrieved 2026-08-01

B
No

payments-chargeback-tooling differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Payment-Processing · retrieved 2026-08-01

B
No

payments-card-on-file differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
No

payments-payout-timing differentiator

Not a processor; funds never flow through the project. https://opensourcepos.org/ · retrieved 2026-08-01

B
No

payments-p2pe-pci4

No P2PE, no AOC, no vendor entity to attest. PCI scope sits entirely with the merchant and its separate card terminal. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B

Kitchen & production

No

kitchen-station-routing

No KDS in the product. Printing docs cover receipt/label/PDF/fiscal printing only. https://github.com/opensourcepos/opensourcepos/wiki/Printing · retrieved 2026-08-01

B
NoB
No

kitchen-course-firing differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

kitchen-prep-time-pacing differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

kitchen-order-throttling differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

kitchen-channel-pause-propagation differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

kitchen-order-ready-callback differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

kitchen-bump-bar-hardware

Hardware datasheet names only scanners, receipt printers and browsers; no KDS or bump bar. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
No

kitchen-printer-fallback differentiator

Printing is browser/OS-mediated per the hardware datasheet; no routing engine and therefore no failover. https://github.com/opensourcepos/opensourcepos/wiki/Printing-support · retrieved 2026-08-01

B
No

kitchen-offline-operation differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

kitchen-item-build-screens differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

kitchen-pizza-fractional-display differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

kitchen-recall-refire

Receipts can be reprinted, but there is no kitchen ticket lifecycle to recall or refire. https://github.com/opensourcepos/opensourcepos/wiki/Printing · retrieved 2026-08-01

B
No

kitchen-order-modification-alerts differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
Partial

kitchen-guest-ready-notification differentiator

SMS messaging to customers exists as a platform feature, but it is not wired to any kitchen/order-ready state — there is no KDS to bump. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

kitchen-waste-logging

Partial credit was given for the Expenses module 'absorbing' waste. The datasheet says expenses are for 'basic expenses, no accounting needs' and that 'Accounting with expenses over the sales are out of scope'. There is no kitchen surface, no reason codes, no waste record type. This is a workaround, not a feature. https://raw.githubusercontent.com/wiki/opensourcepos/opensourcepos/Complete-feature-datasheet.md · retrieved 2026-08-01 adversarially verified

B
No

kitchen-speed-of-service-reporting

No ticket-time capture exists. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
NoB

Digital ordering & guest-facing channels

No

digital-first-party-web

OSPOS is a back-of-house/register web app for staff; there is no guest ordering site. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
NoB
No

digital-native-app differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

digital-account-saved-payment

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

digital-upsell-engine differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
NoB
NoB
No

digital-kiosk differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

digital-catering-portal differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

digital-voice-ai-phone differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

digital-sms-ordering

SMS messaging exists as outbound customer messaging only; no conversational ordering. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

digital-google-order differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

digital-apple-business-connect

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

digital-loyalty-attach

Customer rewards exist in-store only; there is no digital channel to attach them to. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

digital-promo-parity

Single channel only, so parity is vacuous rather than achieved. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
Yes

digital-guest-data-ownership differentiator

Self-hosted: operator holds the MySQL database and the UI offers customer CSV import and spreadsheet export. No vendor, no fee, no approval. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

digital-checkout-pci-sca

No digital checkout exists and no PCI DSS attestation is published. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
No

digital-surcharge-transparency differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B

Guest data, loyalty & marketing

No

guest-loyalty-unified-profile

Single customer table for one in-store channel; no cross-channel identity merge because no other channel exists. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

guest-loyalty-thirdparty-identity-attach differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
Partial

guest-loyalty-accrual-models

"Customer rewards" is listed as a shipped feature, but the wiki does not document configurable accrual models; only one scheme appears to exist. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

guest-loyalty-tiers differentiator

Customer price/tax tiers exist but are not loyalty status tiers with automatic promotion/demotion. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

guest-loyalty-offline-behavior differentiator

No offline mode exists and none is documented. https://github.com/opensourcepos/opensourcepos/wiki/Webserver-Overview · retrieved 2026-08-01

B
No

guest-loyalty-offer-stacking-rules differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
Partial

guest-loyalty-targeted-offers differentiator

Mailchimp integration means audiences can be built in Mailchimp; nothing rules-based exists inside OSPOS itself. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

guest-loyalty-rfm-segmentation differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

guest-loyalty-lifecycle-automation

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
Partial

guest-loyalty-native-email-sms differentiator

Native SMS messaging and email (receipt/invoice email) ship; bulk email marketing is delegated to Mailchimp rather than sent natively. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
Partial

guest-loyalty-consent-management

Customer profiles capture GDPR registration consent. No per-channel consent, timestamp/source record or revocation workflow is documented. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

guest-loyalty-10dlc-registration

SMS is sent through the operator's own gateway credentials; 10DLC registration is entirely the operator's problem and is not documented. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

guest-loyalty-campaign-attribution differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
Yes

guest-loyalty-data-export-portability differentiator

Customers module supports spreadsheet export including PII, and the operator has direct MySQL access to full transaction history. No fee, no ticket. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

guest-loyalty-review-capture-routing differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

guest-loyalty-referral-program

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

guest-loyalty-wallet-pass differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
Partial

guest-loyalty-privacy-rights-tooling

GDPR consent capture is documented and the operator can delete/export records directly in the database, but no in-app DSAR tooling exists. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

guest-loyalty-redemption-fraud-controls

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

guest-loyalty-ai-offer-recommendation differentiator

No AI/ML features anywhere in the product. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
Partial

guest-loyalty-stored-value-gift

Native gift cards ship; single-install so balances are shared across all stock locations, but no documented binding to a guest loyalty profile. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B

Labor & workforce

No

labor-clock-in-at-pos

No time clock. The Employees module manages user accounts and permissions only. https://github.com/opensourcepos/opensourcepos/wiki/Employees · retrieved 2026-08-01

B
No

labor-photo-punch-verification differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Employees · retrieved 2026-08-01

B
No

labor-offline-time-punch differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Employees · retrieved 2026-08-01

B
Partial

labor-granular-rbac

Permissions are granted per menu module (Office/Home grouping) per employee, and grants are independent of menu visibility — but not per discrete action or per location. https://github.com/opensourcepos/opensourcepos/wiki/Menu-and-Permissions · retrieved 2026-08-01

B
No

labor-manager-override-audit

No manager-override construct documented; sale and payment rows carry an employee ID but there is no approver field or immutable trail. https://github.com/opensourcepos/opensourcepos/wiki/Payment-Processing · retrieved 2026-08-01

B
No

labor-native-scheduling differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Employees · retrieved 2026-08-01

B
No

labor-demand-labor-forecast differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Employees · retrieved 2026-08-01

B
No

labor-realtime-labor-percent differentiator

No labor cost data exists in the system. https://github.com/opensourcepos/opensourcepos/wiki/Employees · retrieved 2026-08-01

B
No

labor-overtime-prevention differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Employees · retrieved 2026-08-01

B
No

labor-break-compliance-by-state differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Employees · retrieved 2026-08-01

B
No

labor-minor-labor-rules

https://github.com/opensourcepos/opensourcepos/wiki/Employees · retrieved 2026-08-01

B
No

labor-tip-distribution-audit-trail

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

labor-qualified-tips-w2-reporting differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

labor-native-payroll differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Employees · retrieved 2026-08-01

B
No

labor-payroll-export-formats

Employees export to a generic spreadsheet, but there are no hours to export and no named payroll provider format or integration. https://github.com/opensourcepos/opensourcepos/wiki/Employees · retrieved 2026-08-01

B
No

labor-shift-swap-workflow differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Employees · retrieved 2026-08-01

B
No

labor-server-performance-metrics differentiator

Scored partial on 'derivable via SQL' reasoning with confidence 'inferred'. The vendor explicitly states there is no Top Sales / Best Selling / Top Customers reporting. Derivable-from-the-database is not a capability; by that standard nearly every cell in this dossier would be partial. https://raw.githubusercontent.com/wiki/opensourcepos/opensourcepos/Complete-feature-datasheet.md · retrieved 2026-08-01 adversarially verified

B

Inventory, purchasing & cost control

Partial

inventory-recipe-bom-costing

Item Kits give a one-level BOM whose sale depletes component stock. No sub-recipes and no documented automatic plate-cost recalculation on ingredient cost change. https://github.com/opensourcepos/opensourcepos/wiki/Item-Kits · retrieved 2026-08-01

B
Unknown

inventory-unit-conversion-yields

Unknown is right, but the researcher missed the relevant evidence and used the wrong page. The Items wiki documents work-in-progress pack selling with 'Quantity per Pack', pack names such as CASE or CARTON, and a low-sell-unit reference — a real purchase-to-sell conversion, but explicitly under development and with no recipe units and no yield percentages. Unknown remains the honest score; the note should cite this rather than weighted barcodes. adversarially verified

F
Partial

inventory-theoretical-vs-actual differentiator

Stocktake records counts against system on-hand, producing a variance at count time; no theoretical-usage-from-recipe vs actual report in units and currency. https://github.com/opensourcepos/opensourcepos/wiki/Stocktake · retrieved 2026-08-01

B
Yes

inventory-realtime-depletion differentiator

Challenged as the dossier's most load-bearing 'yes' and it survives. Sales wiki, verbatim: 'At the point of sale all stock items are checked to see if there is sufficient quantity on hand to satisfy the sale', and 'If the Item Type is set to non-stock then the validation will not take place'. Item Kits wiki confirms components stay individually tracked ('The quantity of each item in the package can continue to be tracked as if it were not in the package'). Native, first-party, no add-on. https://github.com/opensourcepos/opensourcepos/wiki/Sales · retrieved 2026-08-01 adversarially verified

B
No

inventory-86-auto-sync differentiator

Stock shortfall is flagged at the register, but there are no other channels to sync to. https://github.com/opensourcepos/opensourcepos/wiki/Sales · retrieved 2026-08-01

B
Partial

inventory-count-modes

A dedicated Stocktake module supports full and partial counts; scheduled recurring cycle counts and per-count variance history retention are not documented. https://github.com/opensourcepos/opensourcepos/wiki/Stocktake · retrieved 2026-08-01

B
No

inventory-mobile-count-offline

Hardware datasheet states mobile barcode reading "isn't yet available"; the app is online-only web with no offline count capture. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
No

inventory-vendor-catalogs-edi differentiator

Purchasing supports suppliers and purchase orders, but no named distributor EDI catalogs or electronic PO transmission. https://github.com/opensourcepos/opensourcepos/wiki/Purchasing · retrieved 2026-08-01

B
No

inventory-invoice-ocr differentiator

CSV import is the only bulk ingest path; no OCR or invoice parsing. https://github.com/opensourcepos/opensourcepos/wiki/Import-data-from-CSV-file · retrieved 2026-08-01

B
Unknown

inventory-price-change-alerts differentiator

Receivings record cost price per receipt so history exists in the data, but no alerting on price deviation is documented.

F
Partial

inventory-par-auto-suggest differentiator

Upheld on the fact but the citation is wrong and should be corrected. The cited Inventory-Items wiki page contains nothing about reorder levels — it covers module access and CSV import only. The supporting text is on the Items page, which lists 'reorder level' among item settings. Partial stands (reorder level exists, no forecast-driven suggested PO quantities). https://github.com/opensourcepos/opensourcepos/wiki/Items · retrieved 2026-08-01 adversarially verified

B
Partial

inventory-waste-logging

Manual inventory adjustments with a comment and the Expenses module can absorb waste, but there is no structured reason-coded waste workflow or separate waste-cost report. https://github.com/opensourcepos/opensourcepos/wiki/Expenses · retrieved 2026-08-01

B
Unknown

inventory-shelf-life-expiry

Item Attributes support date-type custom fields, but no expiring-soon report or alert is documented.

F
No

inventory-bar-partial-bottle

Hardware datasheet names no scale support; scales are absent from the supported-device list. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
No

inventory-cogs-gl-export

Reports export to generic spreadsheets only; no QuickBooks/Sage/NetSuite format and no GL account mapping. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
Yes

inventory-native-not-partner differentiator

Inventory, item kits, stocktake and purchasing are core first-party modules — inventory is arguably the product's primary purpose, not an add-on. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
Partial

inventory-menu-margin-linkage differentiator

Upheld, wrong citation again. Inventory-Items says nothing about cost. The Items page does enumerate 'Cost Price, Retail Price' per item, so per-item gross margin is computable; no packaged contribution-margin report exists, consistent with the vendor's own 'no dashboard / no Best Selling Items' admission. https://github.com/opensourcepos/opensourcepos/wiki/Items · retrieved 2026-08-01 adversarially verified

B

Reporting, BI & data access

No

reporting-realtime-dashboard

Datasheet cannot-do column, verbatim: 'There are reports, but no dashboard that shares Top Sales, Top Suppliers, Best Selling Items, Top Customers, etc. See #1433'. That is an affirmative statement of absence, not merely undocumented. Reports existing is not a dashboard, and there is no mobile app. https://raw.githubusercontent.com/wiki/opensourcepos/opensourcepos/Complete-feature-datasheet.md · retrieved 2026-08-01 adversarially verified

B
Unknown

reporting-eod-closeout

Sales, payment and tax reports exist, but the wiki does not document a single reconciled EOD close-out document with expected cash deposit.

F
Partial

reporting-pmix-modifier-level

Item-level sales reporting exists; there are no modifiers to report on, and daypart/revenue-center filtering is not documented. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
Unknown

reporting-comps-voids-audit

Sales are logged with employee attribution and returns are tracked, but no dedicated discount/void/override audit report with reason codes is documented.

F
Unknown

reporting-cash-over-short

Payment records by tender exist in the data model; no drawer/shift cash over-short report is documented and there is no shift/drawer construct in the wiki.

F
No

reporting-labor-productivity

No clocked hours exist in the system, so sales-per-labor-hour cannot be computed. https://github.com/opensourcepos/opensourcepos/wiki/Employees · retrieved 2026-08-01

B
No

reporting-server-scorecards differentiator

No packaged per-employee scorecard report documented. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

reporting-channel-profitability differentiator

Only one fulfillment channel exists. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

reporting-scheduled-delivery

Reports are exported manually to spreadsheet; no scheduling or recipient lists documented. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

reporting-public-api differentiator

Held to the highest bar as instructed and confirmed. No API controllers or endpoints are documented anywhere in the wiki, and a REST API remains an open, unimplemented feature request on the tracker (issue #2463, plus #1400 requesting an outbound REST call on card payment). The related no-scores (webhooks, order-injection, menu-write, OAuth, rate limits, headless) all follow. https://github.com/opensourcepos/opensourcepos/issues/2463 · retrieved 2026-08-01 adversarially verified

B
No

reporting-webhooks differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Development-Index · retrieved 2026-08-01

B
Partial

reporting-api-not-upcharged differentiator

No API exists to charge for, but raw data access is total and free via direct database access — nothing is paywalled because there is no paywall. https://github.com/opensourcepos/opensourcepos/wiki/Database-Layout · retrieved 2026-08-01

B
Yes

reporting-tier-paywall differentiator

Single free edition; every report and module ships in the same MIT-licensed build with no tiers or add-on SKUs. https://opensourcepos.org/ · retrieved 2026-08-01

B
Partial

reporting-history-retention differentiator

Self-hosted, so retention is unlimited and operator-controlled with no truncation or archive fee — but the project publishes no retention commitment because there is no service. https://github.com/opensourcepos/opensourcepos/wiki/Database-Layout · retrieved 2026-08-01

E
No

reporting-anomaly-alerts differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

reporting-guest-cohorts differentiator

Customer records and sales history exist in the database but no packaged new-vs-returning or LTV cohort reporting is documented. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

reporting-sales-forecast differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

reporting-tip-tax-compliance

No tip capture exists. Tax reporting exists for sales tax/VAT/GST, not tips. https://github.com/opensourcepos/opensourcepos/wiki/Taxes · retrieved 2026-08-01

B

Multi-location, franchise & enterprise governance

No

multi-location-org-hierarchy

One install = one business. "Multi-location" in the datasheet means stock locations for inventory, not an org hierarchy. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

multi-location-central-menu-publish

No corporate tier and no publish/version history; item changes are edited or CSV-imported in place. https://github.com/opensourcepos/opensourcepos/wiki/Import-data-from-CSV-file · retrieved 2026-08-01

B
No

multi-location-price-zones

Same misreading as channel-price-books: the only documented tiering is taxation tiering, and one item carries one Retail Price. There is additionally no location construct to zone against — the datasheet states 'No multi tenancy with one deployment'. https://raw.githubusercontent.com/wiki/opensourcepos/opensourcepos/Complete-feature-datasheet.md · retrieved 2026-08-01 adversarially verified

B
No

multi-location-consolidated-reporting

Separate installs mean separate databases with no aggregation layer. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

multi-location-cross-location-giftcard

Scored partial by inference from 'one shared database'. The criterion is cross-location, and OSPOS has no locations: 'No multi tenancy with one deployment'. Separate stores mean separate installs and separate gift-card tables. The vendor also disclaims 'Management of accounting gift cards', so no liability reporting exists either. A single-store install trivially sharing its own balances is not cross-location support. https://raw.githubusercontent.com/wiki/opensourcepos/opensourcepos/Complete-feature-datasheet.md · retrieved 2026-08-01 adversarially verified

B
No

multi-location-cross-location-loyalty

Identical inference chain, identical refutation: 'No multi tenancy with one deployment'. One customer table inside one store is not cross-location loyalty, and the vendor further disclaims 'expired dates on rewards'. https://raw.githubusercontent.com/wiki/opensourcepos/opensourcepos/Complete-feature-datasheet.md · retrieved 2026-08-01 adversarially verified

B
No

multi-location-multi-brand differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
Partial

multi-location-multi-tax-jurisdiction

Strong single-location tax engine: multiple simultaneous rates, VAT/GST modes, customer tax tiers/exemptions, India GST support. Configuration is per-install, not per-location. https://github.com/opensourcepos/opensourcepos/wiki/Taxes · retrieved 2026-08-01

B
No

multi-location-central-labor-policy

No labor module exists. https://github.com/opensourcepos/opensourcepos/wiki/Employees · retrieved 2026-08-01

B

Hardware & physical footprint

Yes

hardware-commodity-devices differentiator

"Any hardware running Firefox or a modern web browser. Works on mobile but PC/Mac is recommended." No proprietary terminal exists or is sold. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
Partial

hardware-os-platforms

Partial stands but two details in the note are wrong. Client requirements ARE version-named on the Minimum Server Requirements page (Firefox/Pale Moon 34+ ESR recommended, Chrome/Chromium 40+ supported, Safari/Edge 'Modern' may work), contradicting 'only a modern browser with no named versions'. Conversely the dossier's best_at overstates deployment breadth: IIS is documented as 'May work', not supported, and Apache 2.4+ is the only 'officially supported' web server. Still partial: no client OS versions or device specs. https://github.com/opensourcepos/opensourcepos/wiki/Minimum-Server-Requirements · retrieved 2026-08-01 adversarially verified

B
No

hardware-handheld-purpose-built

No devices are sold and no handheld is named; mobile is a responsive browser view. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
No

hardware-handheld-battery-swap differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
No

hardware-offline-mode

Browser client with no offline store; the project publishes no offline degradation matrix. A LAN-hosted server keeps working during an internet outage, but that is a deployment property, not a documented feature. https://github.com/opensourcepos/opensourcepos/wiki/Webserver-Overview · retrieved 2026-08-01

B
No

hardware-kiosk differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
Yes

hardware-printer-compatibility

Multi-vendor by design: Star TSP 1431IU and Epson TM-88VI are the named recommendations, with printing mediated by browser/OS so any driver-installed printer works. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
Partial

hardware-peripherals

Scanners: "Any scanner will work if programmed to hit return after scanning" (Datalogic QuickScan recommended). Cash drawers: "out of scope due to the system being web based", only via printer kick. No scales, no customer display. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
No

hardware-p2pe-terminal

Credit card readers are listed as not supported; card entry happens entirely outside the application on the merchant's own terminal, and no SAQ guidance is published. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
No

hardware-tap-to-phone differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
No

hardware-pricing-transparency differentiator

No hardware is sold, so no SKU prices are published; recommended models are named without prices. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
Yes

hardware-ownership-vs-lease differentiator

Ownership is the only model — the operator buys commodity hardware from any third party. No lease, rental or subscription-bundled hardware exists. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
Yes

hardware-usable-after-churn differentiator

Nothing to churn from: no vendor account, no device activation, no remote kill. Hardware is generic browser/printer/scanner gear the operator already owns. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
No

hardware-rma-sla differentiator

No hardware program, so no warranty or exchange SLA. Operator relies on the OEM's own warranty. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
Partial

hardware-byod

Responsive UI runs in any phone browser and permissions are per-employee, but no BYOD security model (device trust, MDM, session policy) is documented and mobile scanning is unavailable. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
No

hardware-remote-device-management differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
No

hardware-callerid-integration

https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B

Integrations, API & extensibility

No

extensibility-public-api-docs

Developer docs are code-contribution oriented; no API reference exists. The substitute is the published database schema and MIT source. https://github.com/opensourcepos/opensourcepos/wiki/Development-Index · retrieved 2026-08-01

B
No

extensibility-api-access-cost differentiator

No API to price. Nothing in the product is fee-gated, but the criterion asks about API access, which does not exist. https://github.com/opensourcepos/opensourcepos/wiki/Development-Index · retrieved 2026-08-01

B
Yes

extensibility-free-sandbox differentiator

The stated reason for partial is factually wrong: 'it is a local install, not a hosted sandbox with seeded data'. A free hosted demo instance is live at demo.opensourcepos.org with published credentials (admin/pointofsale) and seeded data, plus dev.opensourcepos.org tracking master, both advertised on the project homepage and README. I loaded the demo login page myself. Nothing is gated, no sales contact, no cost. (No API credentials exist because no API exists — that is the API cell's problem, not the sandbox cell's.) https://opensourcepos.org/ · retrieved 2026-08-01 adversarially verified

B
No

extensibility-oauth-partner-apps

Authentication is local employee username/password with reCAPTCHA; no OAuth, no scoped third-party grants. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

extensibility-webhooks-push

https://github.com/opensourcepos/opensourcepos/wiki/Development-Index · retrieved 2026-08-01

B
No

extensibility-webhook-reliability differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Development-Index · retrieved 2026-08-01

B
No

extensibility-order-injection-api

https://github.com/opensourcepos/opensourcepos/wiki/Development-Index · retrieved 2026-08-01

B
Partial

extensibility-menu-write-api differentiator

No API, but items and customers can be bulk-created and updated via documented CSV import, and directly via SQL against a published schema. https://github.com/opensourcepos/opensourcepos/wiki/Import-data-from-CSV-file · retrieved 2026-08-01

B
No

extensibility-doordash-preferred differentiator

Absent from DoorDash's live Preferred Integrations roster. The merchant integrations page enumerates its Preferred Partners by name - Qu, Toast, ChowNow (Cuboh), Chowly, Deliverect, PAR, Square, Checkmate, Stream, Otter, UrbanPiper, OrderOut, MYR, Crisp, RPOWER, Peppr, MOBI, SpotOn, FoodTec, Meal.co - and Open Source POS is not among them; the string does not appear on the page. DoorDash's own criteria page states a Preferred Integration must 'have at least 250 DoorDash stores using their integration' and support all eight high-quality features (order ready signal, real-time menu syncing, self-guided store setup, self-serve store activation, real-time item 86ing, item polling, integrated promotions, detailed order error reporting), none of which this project documents. https://merchants.doordash.com/en-us/integrations · retrieved 2026-08-09

B
No

extensibility-first-party-delivery-integrations differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

extensibility-middleware-compatibility

OSPOS is not a listed endpoint for Deliverect, Chowly, Otter or Checkmate; it exposes no API for middleware to target. https://github.com/opensourcepos/opensourcepos/wiki/Development-Index · retrieved 2026-08-01

B
No

extensibility-accounting-connectors

Only Mailchimp and SMS are named third-party integrations; accounting export is generic spreadsheet. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

extensibility-payroll-export

No hours are captured and no payroll provider is named. https://github.com/opensourcepos/opensourcepos/wiki/Employees · retrieved 2026-08-01

B
No

extensibility-app-marketplace

No marketplace. Community extensions, where they exist, are forks. https://opensourcepos.org/ · retrieved 2026-08-01

B
No

extensibility-headless-embedded

Monolithic CI4 app with server-rendered views; no headless transaction engine. https://github.com/opensourcepos/opensourcepos/wiki/Development-Index · retrieved 2026-08-01

B
Yes

extensibility-data-portability-exit differentiator

There is no exit — the operator already holds the source and the MySQL database. Full machine-readable export is a mysqldump, plus per-module spreadsheet exports in the UI. https://github.com/opensourcepos/opensourcepos/wiki/Database-Layout · retrieved 2026-08-01

B

Reliability, offline & operations

Partial

reliability-offline-order-entry

No browser-side offline mode. A LAN-hosted install keeps registers working through an internet outage, but a lost LAN or server means no order entry. Not documented as an offline feature. https://github.com/opensourcepos/opensourcepos/wiki/Webserver-Overview · retrieved 2026-08-01

E
No

reliability-offline-card-auth differentiator

No card processing path exists at all. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
No

reliability-offline-decline-liability differentiator

https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
Partial

reliability-lan-degraded-multi-terminal differentiator

All terminals are thin browsers against one LAN server, so shared check/table state survives an internet outage by construction — but the project does not document this as a degraded-mode feature and the server is a single point of failure. https://github.com/opensourcepos/opensourcepos/wiki/Webserver-Overview · retrieved 2026-08-01

E
Yes

reliability-local-transaction-engine differentiator

The entire transaction engine is on-premise by default: PHP/CodeIgniter 4 plus MySQL on hardware the operator runs (documented for LAMP, LEMP, XAMPP, IIS, Docker and Raspberry Pi). https://github.com/opensourcepos/opensourcepos/wiki/Webserver-Overview · retrieved 2026-08-01

B
No

reliability-offline-kds-printing

No KDS; receipt printing depends on the browser session reaching the server. https://github.com/opensourcepos/opensourcepos/wiki/Printing-support · retrieved 2026-08-01

B
No

reliability-printer-fallback

No printer routing engine, therefore no failover or alerting. https://github.com/opensourcepos/opensourcepos/wiki/Printing-support · retrieved 2026-08-01

B
No

reliability-sync-conflict-handling

Architecture makes it moot — a single central MySQL server means no partitioned edits to reconcile. No conflict policy is documented because none is needed. https://github.com/opensourcepos/opensourcepos/wiki/Webserver-Overview · retrieved 2026-08-01

E
No

reliability-offline-feature-matrix

No offline feature matrix is published anywhere in the 50-page wiki. https://github.com/opensourcepos/opensourcepos/wiki · retrieved 2026-08-01

B
No

reliability-public-status-page

No hosted service exists to have a status page; uptime is the operator's own server. https://opensourcepos.org/ · retrieved 2026-08-01

B
No

reliability-247-live-support

Support is community-only: GitHub issues/PRs, Element/Gitter chat, wiki FAQ. No phone support at any price. https://opensourcepos.org/ · retrieved 2026-08-01

B
No

reliability-onsite-install differentiator

Self-install only, via written wiki guides for Docker/LAMP/LEMP/XAMPP/IIS/Ubuntu/Windows/Raspberry Pi. No first-party or dealer install network. https://github.com/opensourcepos/opensourcepos/wiki/Getting-Started-installations · retrieved 2026-08-01

B
No

reliability-menu-build-service differentiator

Operator builds the item catalog, optionally via documented CSV import. https://github.com/opensourcepos/opensourcepos/wiki/Import-data-from-CSV-file · retrieved 2026-08-01

B
No

reliability-hardware-replacement-sla

https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
No

reliability-pci-dss-4-attestation

No AOC, no P2PE listing, no vendor entity to attest. Card data never enters the app because card readers are unsupported. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
Partial

reliability-mfa-role-based-access

Role/module permissions per employee plus reCAPTCHA brute-force protection are documented; no MFA is documented for back-office or POS logins. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
Partial

reliability-self-serve-training

Free public wiki with ~50 pages including Getting Started usage; no video/LMS library and no terminal training mode. Several wiki pages are marked "work in progress". https://github.com/opensourcepos/opensourcepos/wiki/Getting-Started-usage · retrieved 2026-08-01

B
No

reliability-failover-terminal-role differentiator

Terminals are browsers; the single web/DB server is the master with no documented automatic failover. https://github.com/opensourcepos/opensourcepos/wiki/Webserver-Overview · retrieved 2026-08-01

B
NoB

Commercial, compliance & data ownership

Yes

commercial-month-to-month-contract differentiator

No subscription exists. MIT license, free download, stop using it at any time with zero notice or cost. https://raw.githubusercontent.com/opensourcepos/opensourcepos/master/LICENSE · retrieved 2026-08-01

B
Yes

commercial-no-early-termination-fee differentiator

No contract, no term, no fee of any kind. https://raw.githubusercontent.com/opensourcepos/opensourcepos/master/LICENSE · retrieved 2026-08-01

B
Yes

commercial-autorenew-terms-published

Publicly published terms (the MIT license) contain no renewal or cancellation-notice mechanism because there is no subscription. https://raw.githubusercontent.com/opensourcepos/opensourcepos/master/LICENSE · retrieved 2026-08-01

B
Yes

commercial-processing-not-bundled differentiator

No processing is bundled or available; the operator uses whatever merchant account and standalone terminal it likes. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
No

commercial-interchange-plus-published differentiator

Not a processor; publishes no rates of any structure. https://opensourcepos.org/ · retrieved 2026-08-01

B
No

commercial-rate-increase-clause differentiator

No processing agreement exists to contain such a clause. https://opensourcepos.org/ · retrieved 2026-08-01

B
Yes

commercial-pricing-published

$0, published: free MIT download with unlimited terminals and users. Only donations are solicited. https://opensourcepos.org/ · retrieved 2026-08-01

B
Yes

commercial-module-unbundling differentiator

Every module ships in one free build and can be hidden per employee via Menu and Permissions; the Office menu can be toggled off entirely. Nothing to reprice. https://github.com/opensourcepos/opensourcepos/wiki/Menu-and-Permissions · retrieved 2026-08-01

B
Yes

commercial-hardware-purchase-outright

All hardware is commodity gear bought outright from third parties; no lease or rental exists. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
Yes

commercial-hardware-not-locked differentiator

Everything is non-proprietary: any modern browser on PC/Mac/tablet, any return-programmed barcode scanner, Star or Epson ESC/POS receipt printers. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
Yes

commercial-data-export-self-serve

Spreadsheet export on employees, items, customers and reports, plus unrestricted mysqldump against a documented schema. No support ticket, no fee. https://github.com/opensourcepos/opensourcepos/wiki/Database-Layout · retrieved 2026-08-01

B
Yes

commercial-export-customer-and-loyalty differentiator

Customer records export to spreadsheet; rewards and gift-card balances are operator-owned tables in the operator's own MySQL database. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
Yes

commercial-post-termination-export-window differentiator

Not applicable in the operator's favor: there is no termination and no cutoff — the data never leaves the operator's server. https://raw.githubusercontent.com/opensourcepos/opensourcepos/master/LICENSE · retrieved 2026-08-01

B
Yes

commercial-data-ownership-clause differentiator

Self-hosted MIT software with no vendor telemetry or hosted service; the project never receives transaction or customer data and so cannot use or resell it. https://raw.githubusercontent.com/opensourcepos/opensourcepos/master/LICENSE · retrieved 2026-08-01

B
No

commercial-pci-p2pe-tokenization

No P2PE, no tokenization, no SAQ guidance. Card readers are explicitly unsupported, so PCI scope determination is entirely the merchant's own responsibility. https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet · retrieved 2026-08-01

B
No

commercial-pci-dss-4-controls

No MFA is documented for application logins and no script-integrity or PCI DSS 4.0.1 control documentation exists. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
Partial

commercial-privacy-dsar-tooling

GDPR registration consent is captured on customer profiles and the operator can locate/export/delete records directly in MySQL, but no in-app DSAR workflow and no DPA (there is no processor to execute one with). https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

commercial-wcag-kiosk-accessibility differentiator

No kiosk or consumer ordering surface exists, and no VPAT/ACR is published for the Bootstrap-based staff UI. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B
No

commercial-dual-pricing-compliant differentiator

No surcharge or cash-discount engine, and no card data in the app to classify debit vs credit. https://github.com/opensourcepos/opensourcepos/wiki/Complete-feature-datasheet · retrieved 2026-08-01

B

Adversarial verification

An independent pass was instructed to refute this record, defaulting to downgrade when uncertain. It challenged 22 values — 12 upheld, 9 downgraded, 1 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.softwareupheldVerified directly against the LICENSE file and the project homepage, not a roundup. Free under MIT, only a donation ask, no commercial edition and no paid support SKU found anywhere on opensourcepos.org. The footer-signature clause is correctly reported and is the only non-monetary condition. source
pricing.processing_rateupheldVerified verbatim in the hardware datasheet table: 'Credit Card Reader | Not supported' (and 'Digital Signature Capture | Not supported yet'). This is affirmative absence from first-party docs, so every downstream payments/offline-card no-score is properly grounded rather than merely undocumented. source
pricing.hardwareupheldVerified. Note one unreported nuance: the recommended-hardware links are Amazon affiliate links ('Use our referral links to support the project!'), which is a small monetization channel the dossier's 'the only monetization is a donation link' claim misses. No prices are published and no hardware is sold, so the score is unaffected. source

Capability claims

ClaimAs first scoredVerdictWhat the verifier found
payments-house-accountspartialdowngrade-to-noThe project's own feature datasheet lists this under 'What cannot do' verbatim: 'Accounts Receivable / House Accounts, OSPOS has CRM features but no A.R. features'. The researcher built a partial from the Payment-Processing page's balance-due mention, but that page itself admits balance-due tracking is still under development (#3072). Vendor-affirmed absence beats an inferred partial. source
reporting-realtime-dashboardpartialdowngrade-to-noDatasheet cannot-do column, verbatim: 'There are reports, but no dashboard that shares Top Sales, Top Suppliers, Best Selling Items, Top Customers, etc. See #1433'. That is an affirmative statement of absence, not merely undocumented. Reports existing is not a dashboard, and there is no mobile app. source
labor-server-performance-metricspartialdowngrade-to-noScored partial on 'derivable via SQL' reasoning with confidence 'inferred'. The vendor explicitly states there is no Top Sales / Best Selling / Top Customers reporting. Derivable-from-the-database is not a capability; by that standard nearly every cell in this dossier would be partial. source
menu-pricing-channel-price-bookspartialdowngrade-to-noThe partial rests on 'customer price tiers'. I found no customer price tiers in any first-party doc. What the datasheet actually says is 'VAT and multi tiers taxation' under Customers, and the homepage says 'Multiple taxation options (VAT, GST, customer, multi-tier)'. That is tax tiering, not a price book. Item pricing is a single 'Items Price Management' entry with one Retail Price field per item (Items wiki: 'UPC/EAN/ISBN, Item Name, Category, Supplier, Cost Price, Retail Price, Tax 1, Tax 2, Quantity in stock'). This looks like a misreading of 'multi tiers taxation' as tiered pricing. source
multi-location-price-zonespartialdowngrade-to-noSame misreading as channel-price-books: the only documented tiering is taxation tiering, and one item carries one Retail Price. There is additionally no location construct to zone against — the datasheet states 'No multi tenancy with one deployment'. source
multi-location-cross-location-giftcardpartialdowngrade-to-noScored partial by inference from 'one shared database'. The criterion is cross-location, and OSPOS has no locations: 'No multi tenancy with one deployment'. Separate stores mean separate installs and separate gift-card tables. The vendor also disclaims 'Management of accounting gift cards', so no liability reporting exists either. A single-store install trivially sharing its own balances is not cross-location support. source
multi-location-cross-location-loyaltypartialdowngrade-to-noIdentical inference chain, identical refutation: 'No multi tenancy with one deployment'. One customer table inside one store is not cross-location loyalty, and the vendor further disclaims 'expired dates on rewards'. source
order-capture-cateringpartialdowngrade-to-noBuilt from quotes plus invoices with balance due. But the datasheet's POS cannot-do column disclaims exactly the mechanisms a catering deposit flow needs: 'Advanced Transaction Types such as Special Orders, Back Orders and Layaways, Credit accounting sales', and separately 'no A.R. features'. A retail quote-to-invoice path with no deposit, no event date, no BEO and no credit sales is not a rough catering flow. source
kitchen-waste-loggingpartialdowngrade-to-noPartial credit was given for the Expenses module 'absorbing' waste. The datasheet says expenses are for 'basic expenses, no accounting needs' and that 'Accounting with expenses over the sales are out of scope'. There is no kitchen surface, no reason codes, no waste record type. This is a workaround, not a feature. source
extensibility-free-sandboxpartialupgrade-to-yesThe stated reason for partial is factually wrong: 'it is a local install, not a hosted sandbox with seeded data'. A free hosted demo instance is live at demo.opensourcepos.org with published credentials (admin/pointofsale) and seeded data, plus dev.opensourcepos.org tracking master, both advertised on the project homepage and README. I loaded the demo login page myself. Nothing is gated, no sales contact, no cost. (No API credentials exist because no API exists — that is the API cell's problem, not the sandbox cell's.) source
menu-pricing-size-style-matrixnoupheldUpheld and strengthened. The researcher inferred this from the Items page; the datasheet states it outright in the cannot-do column: 'Inventory Matrix, Track items features, colors, materials'. This is one of the few 'no' scores that is affirmative absence rather than silence, and the confidence should read documented-explicit. source
inventory-par-auto-suggestpartialupheldUpheld on the fact but the citation is wrong and should be corrected. The cited Inventory-Items wiki page contains nothing about reorder levels — it covers module access and CSV import only. The supporting text is on the Items page, which lists 'reorder level' among item settings. Partial stands (reorder level exists, no forecast-driven suggested PO quantities). source
inventory-menu-margin-linkagepartialupheldUpheld, wrong citation again. Inventory-Items says nothing about cost. The Items page does enumerate 'Cost Price, Retail Price' per item, so per-item gross margin is computable; no packaged contribution-margin report exists, consistent with the vendor's own 'no dashboard / no Best Selling Items' admission. source
payments-split-tenderpartialupheldUpheld, but not from the cited source. The Payment-Processing wiki page does not document split or multiple payments at all. The support is in the datasheet: 'apply multiple payments (inclusivelly different types) to the sale'. Partial is correct — multiple tenders yes, no split by seat, item or even shares. source
inventory-realtime-depletionyesupheldChallenged as the dossier's most load-bearing 'yes' and it survives. Sales wiki, verbatim: 'At the point of sale all stock items are checked to see if there is sufficient quantity on hand to satisfy the sale', and 'If the Item Type is set to non-stock then the validation will not take place'. Item Kits wiki confirms components stay individually tracked ('The quantity of each item in the package can continue to be tracked as if it were not in the package'). Native, first-party, no add-on. source
inventory-unit-conversion-yieldsunknownupheldUnknown is right, but the researcher missed the relevant evidence and used the wrong page. The Items wiki documents work-in-progress pack selling with 'Quantity per Pack', pack names such as CASE or CARTON, and a low-sell-unit reference — a real purchase-to-sell conversion, but explicitly under development and with no recipe units and no yield percentages. Unknown remains the honest score; the note should cite this rather than weighted barcodes. source
hardware-os-platformspartialupheldPartial stands but two details in the note are wrong. Client requirements ARE version-named on the Minimum Server Requirements page (Firefox/Pale Moon 34+ ESR recommended, Chrome/Chromium 40+ supported, Safari/Edge 'Modern' may work), contradicting 'only a modern browser with no named versions'. Conversely the dossier's best_at overstates deployment breadth: IIS is documented as 'May work', not supported, and Apache 2.4+ is the only 'officially supported' web server. Still partial: no client OS versions or device specs. source
reporting-public-apinoupheldHeld to the highest bar as instructed and confirmed. No API controllers or endpoints are documented anywhere in the wiki, and a REST API remains an open, unimplemented feature request on the tracker (issue #2463, plus #1400 requesting an outbound REST call on card payment). The related no-scores (webhooks, order-injection, menu-write, OAuth, rate limits, headless) all follow. source
extensibility-doordash-preferredno / B, cites get.doordash.com preferred-integration-partners: "Not in DoorDash's 2026 Preferred Integration Partner cohort (Checkmate, Chowly, De..."upheldThe cited URL is dead: it redirects to merchants.doordash.com and returns HTTP 404 at 428,095 bytes, byte-identical in size to a fabricated path in the same directory, so the large body is a soft-404 shell rather than the article. I located the successors via merchants.doordash.com/sitemap-0.xml: the program is now documented at /en-us/learning-center/doordash-preferred-integrations-program (HTTP 200, real body) and it directs readers to the integrations page for the roster. The integrations page payload names its Preferred Partners explicitly (Qu, Toast, ChowNow/Cuboh, Chowly, Deliverect, PAR, Square, Checkmate, Stream, Otter, UrbanPiper, OrderOut, MYR, Crisp, RPOWER, Peppr, MOBI, SpotOn, FoodTec, Meal.co); Open Source POS is absent and no case-insensitive form of its name occurs. That is a live enumeration, which is the positive evidence of absence a `no` requires. Value unchanged; citation re-pointed and the note's stale ten-name cohort corrected. source

Sources

Every URL this record cites. 32 in total.