Vendors / Regional & international
Tevalis
Not assessable in this pass — tevalis.com returned an empty JS-rendered shell at the root and 404s on every solutions, EPOS, technology and about path attempted, so essentially every cell is honestly unknown.
scored live legacy rubric
- Claims in scope
- 312
- Scored
- 45
- Assessed
- 38
- Unknown
- 274
- Not applicable
- 2
- Cells challenged
- 0
unknown, never as no.Identity
- Owner
- unknown — Tevalis is a UK company but I could not retrieve any page from tevalis.com to verify ownership, and I will not infer it
- Who it is for
- UK and international hospitality operators, stadiums, hotels and multi-site groups (per the brief; not independently verified from vendor sources in this pass)
- Site
- https://www.tevalis.com/
Pricing
transparency: unknown · unit: unknown · processor lock-in: unknown
- Software
- unknown — no vendor page could be retrieved
Capabilities
Every claim is binary and checkable. Grades: A primary documentation · B product documentation · C pricing or feature page · D marketing claim · E third-party reporting · F inference with no source. A yes on a differentiator claim requires A or B.
Order capture & FOH workflow
order-capture-floor-plan-editor
Not scored by this record.
order-capture-seat-level
Not scored by this record.
order-capture-coursing-hold-fire
Not scored by this record.
order-capture-split-merge
Vendor site unreachable for fetching; no evidence gathered.
order-capture-bar-tab-preauth differentiator
Not scored by this record.
order-capture-transfer-audit
Not scored by this record.
order-capture-native-handheld
Not scored by this record.
order-capture-offline-order-entry
The mPOS page answers "Worried about disconnected service?" with "Restful service technology processes orders offline" and "Take multiple offline orders", and the quick-service and stadia-arenas pages repeat the standing sentence "Our modern restful service technology means you can continue to process orders offline and with no database connection." Shortfall: the statement is attached only to the TevX/mPOS handheld platform - no vendor page says fixed terminals survive an outage - and it covers order capture alone. Nothing states that modifiers apply, that tickets reach the kitchen, or that cash can be tendered while disconnected, and no page enumerates what does and does not work offline or describes queue-and-replay on reconnection, which is the published-scope half of this claim. Checked mpos, quick-service, stadia-arenas, point-of-sale and the FAQs page, which carries no outage or connectivity question. https://website.tevalis.com/mpos/ · retrieved 2026-08-04
order-capture-qr-same-check differentiator
Not scored by this record.
order-capture-kiosk-first-party differentiator
Not scored by this record.
order-capture-drive-thru
Not scored by this record.
order-capture-drive-thru-timers
Not scored by this record.
order-capture-voice-ai differentiator
Not scored by this record.
order-capture-throttling differentiator
Not scored by this record.
order-capture-scheduled-orders
CreateApiOrderCommand carries an optional DeliveryTime datetime documented as: "a delivery time for the order. This works the same way as hold order at a site, and is based on table rules that are setup. E.g. order for tomorrow at 10pm, the order will sit in the system and fire 45minutes before this time (so at 9:15pm) and will then be sent to the kitchen etc and act like a normal order." The order response echoes RequestedDeliveryTimeUTC. That is future-dating with a configured lead time and injection into the make queue at a computed fire time, not on receipt. The lead time is described as deriving from site hold-order/table rules; a per-channel lead-time setting is not separately documented. https://api.tevalis.com/Help/Api/POST-PlaceOrder-CreateOrder_Terminal · retrieved 2026-08-03
order-capture-catering
Not scored by this record.
order-capture-order-ready-signal differentiator
Not scored by this record.
order-capture-void-comp-controls
Not scored by this record.
Menu, modifiers & pricing engine
menu-pricing-nested-modifiers
OptionGroupDto (V2, the catalogue's option model) exposes MinOptionCount and MaxOptionCount per group plus PromptForQuantity, and its OptionItems are a flat collection with no child-group link. The order model does support nesting: ApiOrderItem.ItemOptions entries carry a ChildrenOptionItems collection (CreateOrder response sample). Shortfall: nesting is only visible one level down in the order payload, and the published catalogue exposes a single tier of option groups, so min/max counts are documented for the first level only; there is no separate forced-selection flag (a required group is expressed as MinOptionCount) and nothing documents three levels of independently configured groups. https://api.tevalis.com/Help/Api/GET-vversion-OptionGroups_SiteID · retrieved 2026-08-03
menu-pricing-modifier-price-by-parent-size
The V2 option schema fully enumerates option-item pricing: OptionItemsDto.Prices is a collection of OptionGroupPriceModel with exactly two fields, PriceGroupID and GrossPrice. Modifier price therefore varies along the price-group axis (site/channel, e.g. takeaway) only. There is no parent-product dimension and no parent-measure/size dimension on an option price, so a modifier cannot carry a different price per parent item and selected size except by creating a separate option group per size, which is the duplication the claim excludes. https://api.tevalis.com/Help/Api/GET-vversion-OptionGroups_SiteID · retrieved 2026-08-03
menu-pricing-fractional-placement differentiator
Not scored by this record.
menu-pricing-half-and-half-rule differentiator
Not scored by this record.
menu-pricing-topping-quantity-tiers
OptionGroupDto carries a PromptForQuantity boolean, so an operator can be prompted for a quantity of a modifier rather than adding it repeatedly. Shortfall: the option schema has no named tier field (light/regular/extra/double) and no per-tier price multiplier - an option item holds a single GrossPrice per price group, so quantity prices linearly by count, which the claim explicitly distinguishes from tiered pricing. https://api.tevalis.com/Help/Api/GET-vversion-OptionGroups_SiteID · retrieved 2026-08-03
menu-pricing-size-style-matrix differentiator
Not scored by this record.
menu-pricing-included-allowance differentiator
Not scored by this record.
menu-pricing-combos
Not scored by this record.
menu-pricing-upsell-prompts differentiator
Not scored by this record.
menu-pricing-86-propagation
Not scored by this record.
menu-pricing-countdown-auto-86 differentiator
Not scored by this record.
menu-pricing-dayparting
Not scored by this record.
menu-pricing-channel-price-books
Not scored by this record.
menu-pricing-dual-pricing differentiator
Not scored by this record.
menu-pricing-versioning-effective-dates differentiator
Not scored by this record.
menu-pricing-franchise-hierarchy differentiator
Not scored by this record.
menu-pricing-allergen-nutrition
Not scored by this record.
menu-pricing-recipe-linkage differentiator
Not scored by this record.
menu-pricing-3p-menu-push
Not scored by this record.
menu-pricing-dynamic-pricing
Not scored by this record.
Payments & money movement
payments-processor-choice differentiator
Not scored by this record.
payments-published-rates differentiator
Not scored by this record.
payments-dual-pricing differentiator
Not scored by this record.
payments-surcharge-guardrails differentiator
Not scored by this record.
payments-emv-nfc
Tevalis has no first-party payment terminal estate, so the claim's subject does not exist in the product line. The integrations page lists payments as a partner category with ten named providers (Dojo, Clover, Barclaycard, Planetpay, Global Payments, Worldpay, Adyen, Verifone, FreedomPay, Windcave) and describes a "full suite of payments integrations, with pay at counter, pay at table, mobile epos with payments, and self-service kiosk payments"; the FAQ states "Tevalis specialise in software development", and no Tevalis-branded payment product or terminal appears anywhere in the 39-page sitemap. The api.tevalis.com controller index (read in full on 2026-08-03) has no payment-terminal or acquiring controller - Tenders and RefundTransaction only report tender amounts. EMV/NFC acceptance is delivered by the partner terminals, not by any Tevalis-built terminal. https://website.tevalis.com/integrations/ · retrieved 2026-08-04
payments-softpos-tap-to-pay differentiator
Not scored by this record.
payments-pay-at-table
Not scored by this record.
payments-qr-guest-pay differentiator
Not scored by this record.
payments-tip-adjust
Not scored by this record.
payments-tip-pooling differentiator
Not scored by this record.
payments-offline-store-and-forward differentiator
Not scored by this record.
payments-offline-decline-liability differentiator
Not scored by this record.
payments-gift-cards
Tevalis has a first-party voucher entity: WebVouchers exposes CreateVoucher, GetActiveVouchers ("For The Company Provided In The Headers", so group-wide rather than per-site), GetVoucherBySerial and GetVoucherByID. WebVoucherDto fields are WebVoucherId, SerialNumber, DateSold, ExpiryDate, Value, Notes. Shortfall: there is no remaining-balance field and no redemption/decrement endpoint, so real-time balance tracking and partial redemption are not established; Tevalis's own integrations page lists gift cards/vouchers as a third-party partner category (Toggle, Giftpro, GiveX, Vouchable, Acteol, Fuse, Leat, NowBookIt), and the customer-management page says the platform integrates with external voucher management providers. https://api.tevalis.com/Help/Api/GET-WebVouchers-GetActiveVouchers · retrieved 2026-08-03
payments-house-accounts
Not scored by this record.
payments-split-tender
Not scored by this record.
payments-refund-void-controls
SpfReportsVoidsDto returns UserName and, separately, AuthUserName alongside Reason, TransactionID, TransactionItemID, Terminal, DateTime and TotalValue - i.e. each void records both the operator and the distinct authorising user, with a reason code. The parallel Enterprise GetDiscountReport and the Discounts/GetReasonTypes endpoint give the same reason-coded treatment for discounts, and RefundTransaction/Get returns refund-to-original transaction links for a site and date range (max 14 days). Queryable after the fact across a set of SiteIDs. Not evidenced: no-sale/drawer-open events, and immutability is not asserted anywhere. https://api.tevalis.com/Help/Api/GET-Reporting-v1-Enterprise-GetVoidsReport · retrieved 2026-08-03
payments-chargeback-tooling differentiator
Not scored by this record.
payments-card-on-file differentiator
Not scored by this record.
payments-payout-timing differentiator
Not scored by this record.
payments-multi-entity-routing differentiator
Not scored by this record.
payments-p2pe-pci4
Not scored by this record.
Kitchen & production
kitchen-station-routing
The KMS page states "Orders are sent to specific screens" and "Include separate screens for different prep areas", with "Staff can pass orders on when their part is complete" and "Uncluttered screens help efficiency"; the quick-service page repeats "Tailor your system to meet your kitchen structure, for example, introduce separate screens for different prep stations." Item-to-station routing therefore exists. Shortfall: the configurability half is not documented. No vendor page shows routing rules being edited by the operator - the KMS page frames the layout as customised for the kitchen during implementation with consultation and training, and the services page attributes configuration to the "expert System Delivery Team". The Centralised Management page lists menu, price band, price group and user permission editing across sites but never routing rules, and no station, screen, printer or routing controller appears anywhere in the ~70-controller api.tevalis.com index (the only kitchen endpoint is OnlineOrders/GetKmsAverageTicketTime). Routing by order type or revenue centre is also unstated. https://website.tevalis.com/kitchen-managements/ · retrieved 2026-08-04
kitchen-expo-consolidation
Checked the Kitchen Management product page (website.tevalis.com/kitchen-managements/) and the Quick Service solution page, which document per-station screens ("introduce separate screens for different prep stations") and the ticket controls Bump, Alerts, Flash Seconds, Bump Messages and Out Of Stock, plus a Timer showing active ticket times. Neither page mentions an expo or consolidation screen, and neither describes completion logic that waits for every contributing station to bump. Also read the full api.tevalis.com controller index: the only KMS surface is OnlineOrders/GetKmsAverageTicketTime, which exposes no station or expo model. No positive statement either way, so this stays unresolved rather than becoming a no.
kitchen-course-firing differentiator
Not scored by this record.
kitchen-prep-time-pacing differentiator
Not scored by this record.
kitchen-order-throttling differentiator
Not scored by this record.
kitchen-channel-pause-propagation differentiator
Not scored by this record.
kitchen-order-ready-callback differentiator
Not scored by this record.
kitchen-bump-bar-hardware
The Kitchen Management page describes bumping as an on-screen action ("Easily 'Bump' completed tickets off the screen") and never names an input device. The FAQ page's hardware question covers touch-screen terminals, handheld devices and self-service hardware and says existing hardware can be reused "as long as your hardware meets the required specifications", but publishes no compatibility list. No hardware spec sheet or supported-model list for bump bars or programmable keypads was located on website.tevalis.com or api.tevalis.com. The claim requires documented supported models, so this is unresolved, not absent.
kitchen-all-day-counts
Not scored by this record.
kitchen-sla-alerts
Not scored by this record.
kitchen-printer-fallback differentiator
Not scored by this record.
kitchen-offline-operation differentiator
Not scored by this record.
kitchen-item-build-screens differentiator
Not scored by this record.
kitchen-pizza-fractional-display differentiator
Not scored by this record.
kitchen-recall-refire
Not scored by this record.
kitchen-order-modification-alerts differentiator
Not scored by this record.
kitchen-guest-ready-notification differentiator
Not scored by this record.
kitchen-waste-logging
Not scored by this record.
kitchen-speed-of-service-reporting
Not scored by this record.
kitchen-prep-forecasting
Not scored by this record.
Delivery, dispatch & third-party channels
delivery-driver-roster
Same grounds as the delivery-dispatch-board no: Tevalis ships no delivery module at all, so there is no native driver roster. The published product line (39-page sitemap read in full on 2026-08-04) is POS/TevX, kitchen management, kiosks, TevMenu, stock, customer, cash and centralised management; delivery appears only as an integration partner category (Deliverect, Urban Piper, Deliveroo - "Track all online orders"). The complete ~70-controller api.tevalis.com index contains no driver, dispatch, run or route entity; the Attendance controller covers staff clock in/out generally with no driver assignment state; and CreateApiOrderCommand, which enumerates every field an inbound order may carry, has no driver field. Drivers as first-class entities with assignment state and per-driver run history are absent, not merely undocumented. https://website.tevalis.com/integrations/ · retrieved 2026-08-04
delivery-dispatch-board
Tevalis positions delivery as a third-party integration rather than a module it ships: the integrations page lists delivery under partner categories with Deliverect, Urban Piper and Deliveroo, and mobile ordering under MeU, Fetch, Qikserve, OrderPay, Visit and CrowdEngage. The product line published on the site is POS/TevX, kitchen management, self-service kiosk, TevMenu, stock management, customer management and centralised management - there is no delivery module. Corroborating: the complete api.tevalis.com controller index (roughly 70 controllers, read in full) contains no driver, dispatch, run or route entity of any kind, and CreateApiOrderCommand has no driver assignment field. First-party driver dispatch with run batching is therefore absent, not merely undocumented. https://website.tevalis.com/integrations/ · retrieved 2026-08-03
delivery-route-map differentiator
Not scored by this record.
delivery-driver-tracking differentiator
Not scored by this record.
delivery-zones-polygon differentiator
Not scored by this record.
delivery-zone-pricing
CreateApiOrderCommand is the documented way an online or delivery order enters Tevalis and it enumerates every field an incoming order may carry: SiteId, CustomerName, Notes, OrderItems, Promotions, Discount, Tenders, BillNotes, KitchenMessage, WaiterMessage, CRMMemberID, ExternalMembershipID, SalesArea, DeliveryTime, PriceGroupID, SCAmount, ThirdPartyReference, Terminal, ThirdPartyTransactionID, TableNumber, Gratuity, OrderParams, CardSurchargeAmount. There is no customer address, no delivery fee, no order minimum and no promise-time field, and no zone entity exists anywhere in the API. Delivery pricing is set in the aggregator or ordering partner (Deliverect, Urban Piper, Deliveroo per the integrations page), not in Tevalis, so address-driven per-zone fees, minimums and promise times are absent from the product. https://api.tevalis.com/Help/Api/POST-PlaceOrder-CreateOrder_Terminal · retrieved 2026-08-03
delivery-address-validation
Not scored by this record.
delivery-driver-comp differentiator
Not scored by this record.
delivery-cash-reconcile
Not scored by this record.
delivery-daas-dispatch
Not scored by this record.
delivery-daas-fallback differentiator
Not scored by this record.
delivery-3p-direct-integration differentiator
Not scored by this record.
delivery-3p-injection
Not scored by this record.
delivery-menu-push
Not scored by this record.
delivery-86-sync
Not scored by this record.
delivery-store-pause
Not scored by this record.
delivery-3p-reconciliation differentiator
Not scored by this record.
delivery-injection-error-visibility differentiator
Not scored by this record.
delivery-tracking-page
Not scored by this record.
delivery-promise-time differentiator
Not scored by this record.
delivery-offline-behavior
Not scored by this record.
Digital ordering & guest-facing channels
digital-first-party-web
Guest web ordering is a partner category, not a Tevalis product. The integrations page lists mobile/online ordering under MeU, Fetch, Qikserve, OrderPay, Visit and CrowdEngage - "From QR code scanning to appless ordering, these orders are communicated back to the Tevalis EPOS for efficiency" - and the OnlineOrders/PlaceOrder API exists precisely to receive orders placed on those partner platforms. The 39-page sitemap enumerates the entire published product line and contains no online-ordering product; the only first-party guest-facing menu product, TevMenu, is "an interactive version of traditional paper menus" for in-venue display, and the TevX app is a staff handheld ("Take, edit, pay and close orders from the table in question", App Store listing). A first-party commission-free ordering site on the restaurant's own domain is not part of the product. https://website.tevalis.com/integrations/ · retrieved 2026-08-04
digital-menu-single-source
Centralised Management is the single console for the estate: "Update all EPOS from one location", "Make changes to TevMenu and kiosks anywhere, anytime", "Make updates to all or selected sites within minutes", managing "product catalogue across all sites". The TevMenu page adds that changes are "published immediately with Centralised Management". Shortfall: TevMenu retains its own build step ("Complete and update your design with TevMenu Designer"), and the vendor nowhere states that the digital menu is generated from the same product record as the EPOS menu - EPOS, TevMenu and kiosks are described as separate publish targets driven from one console, which is not the same as one source record. Tevalis's other digital ordering channels are third-party (MeU, Qikserve, OrderPay), which fall outside a single-source guarantee entirely. https://website.tevalis.com/centralised-management/ · retrieved 2026-08-03
digital-native-app differentiator
Not scored by this record.
digital-account-saved-payment
Read the TevMenu/digital eMenu page, the Point of Sale page, the Customer Management page and the Integrations page. Customer Management documents CRM member accounts with account types, contact details and loyalty points, but says nothing about a guest-facing login, saved delivery addresses, stored card tokens or one-tap reorder. The api.tevalis.com controller index has no customer-account, address-book or payment-token controller; card handling is delegated to the payment partners listed on the integrations page (Dojo, Adyen, Worldpay, Global Payments, Verifone, FreedomPay, Windcave), and Tevalis's guest-facing ordering apps are largely partner products. Nothing affirmatively denies the capability, so it remains unresolved.
digital-upsell-engine differentiator
Not scored by this record.
digital-scheduled-pacing
Not scored by this record.
digital-fulfillment-modes
Not scored by this record.
digital-qr-table
Not scored by this record.
digital-kiosk differentiator
Not scored by this record.
digital-group-ordering
Not scored by this record.
digital-catering-portal differentiator
Not scored by this record.
digital-voice-ai-phone differentiator
Not scored by this record.
digital-drivethru-ai
Not scored by this record.
digital-sms-ordering
Not scored by this record.
digital-google-order differentiator
Not scored by this record.
digital-apple-business-connect
Not scored by this record.
digital-loyalty-attach
Not scored by this record.
digital-subscriptions
Not scored by this record.
digital-promo-parity
Not scored by this record.
digital-guest-data-ownership differentiator
Not scored by this record.
digital-checkout-pci-sca
Not scored by this record.
digital-surcharge-transparency differentiator
Not scored by this record.
Guest data, loyalty & marketing
guest-loyalty-unified-profile
Orders arriving through the API carry CRMMemberID ("send the Tevalis CRM Member ID that the order is for") and ExternalMembershipID ("send the Non-Tevalis CRM Member ID"), so an online, kiosk or partner-channel order is attributed to the same Tevalis CRM member record the POS uses; the Customer Management page describes one member view of "account type, their contact details, what their most purchased item is". Shortfall: the profile is only unified when the calling channel already knows and passes a CRMMemberID - no automatic identity resolution on phone or email match is documented, and there is no published dedup or merge behaviour for duplicate profiles. https://api.tevalis.com/Help/Api/POST-PlaceOrder-CreateOrder_Terminal · retrieved 2026-08-03
guest-loyalty-thirdparty-identity-attach differentiator
Not scored by this record.
guest-loyalty-accrual-models
One accrual model is documented as native configuration: loyalty levels are set up with "a threshold multiplier to work out how many points would be given per spend, redemption value and any bonus points" - points-per-spend without a bolt-on vendor. Shortfall: the claim needs at least two of points-per-spend, visit/punch-count and spend-tier accrual, and only the first is established. Visit or punch-count accrual appears nowhere on the customer-management page or anywhere else on the site, and while "loyalty levels" with thresholds are named, the page never states that levels change the accrual rate or are earned by spend, so tier-based accrual is unconfirmed. The integrations page routes richer loyalty to partners (Como, Leat, Acteol, Salesforce). https://website.tevalis.com/customer-management/ · retrieved 2026-08-04
guest-loyalty-tiers differentiator
Not scored by this record.
guest-loyalty-offline-behavior differentiator
Not scored by this record.
guest-loyalty-offer-stacking-rules differentiator
Not scored by this record.
guest-loyalty-targeted-offers differentiator
Not scored by this record.
guest-loyalty-rfm-segmentation differentiator
Not scored by this record.
guest-loyalty-lifecycle-automation
The page documents native pre-set promotions for occasions: "Set up a variety of pre-set promotions in your Tevalis system to ensure that your guests are offered rewards for special occasions such as birthdays", alongside configurable loyalty levels with a points threshold multiplier, redemption value and bonus points. Shortfall: the birthday case is an always-available promotion at the till rather than a triggered outbound campaign, and the vendor routes campaign sending outside the product - "marketing teams are able to import key data into their chosen email marketing platform to create targeted email campaigns". First-visit thank-you and lapsed win-back automations are not offered; CRM/loyalty automation vendors (Como, Leat, Acteol, Salesforce) appear as integration partners. https://website.tevalis.com/customer-management/ · retrieved 2026-08-03
guest-loyalty-native-email-sms differentiator
Not scored by this record.
guest-loyalty-consent-management
Not scored by this record.
guest-loyalty-10dlc-registration
Not scored by this record.
guest-loyalty-campaign-attribution differentiator
Not scored by this record.
guest-loyalty-data-export-portability differentiator
Not scored by this record.
guest-loyalty-cdp-event-api differentiator
Not scored by this record.
guest-loyalty-review-capture-routing differentiator
Not scored by this record.
guest-loyalty-referral-program
Not scored by this record.
guest-loyalty-wallet-pass differentiator
Not scored by this record.
guest-loyalty-privacy-rights-tooling
Not scored by this record.
guest-loyalty-redemption-fraud-controls
Not scored by this record.
guest-loyalty-ai-offer-recommendation differentiator
Not scored by this record.
guest-loyalty-stored-value-gift
Not scored by this record.
Labor & workforce
labor-clock-in-at-pos
Attendance is native to the EPOS: the Attendance/{SiteID} endpoint "Returns clock in and clock out times for users" per site and date range, and GetAttendanceLogEdits trails portal edits to those logs. The CMUser create/update endpoints show the mechanism lives on the till user itself - each EPOS user carries a CardNumber, a ShowButtonOnLoginScreen flag and a CompulsoryClockOn flag (default false), i.e. clock-on can be enforced at EPOS sign-on via card or on-screen login, with no time-clock entity anywhere else in the ~70-controller index. Corroborated third-party: Planday's help centre article "Tevalis integration - How to use Tevalis ePOS to clock in and out" has employees clocking in and out on the Tevalis ePOS with punch entries imported to Planday every 5 minutes. No separate time-clock hardware appears in the product line. https://api.tevalis.com/Help/Api/GET-Attendance-SiteID_StartDate_EndDate_UserID · retrieved 2026-08-04
labor-photo-punch-verification differentiator
Not scored by this record.
labor-geofenced-mobile-punch
Not scored by this record.
labor-offline-time-punch differentiator
Not scored by this record.
labor-granular-rbac
Roles are operator-defined rather than fixed tiers: CMUserLevel supports GET/POST/PUT/DELETE of arbitrary user levels (delete is refused "if there are no users using it"), every user carries a LevelID, and the API guide states "A User must have a User Level, as this is what defines their permissions in the EPOS system." Individual behaviour flags exist on the user itself (AllowedToOpenTableFromOtherClerks, SignOffAtSaleFinalisation, CompulsoryClockOn, AutoDisplayFloorPlan), and Centralised Management advertises "Easily edit user and group permissions" and "Configure user group restrictions". Shortfall: the published UserLevelModel contains only LevelID, LevelName and ExternalGroupId - no per-action permission set (void, comp, discount, refund, drawer open, price change, report access) is enumerated anywhere, and user levels are company-scoped centralised objects with no documented per-location scoping of a role. https://api.tevalis.com/Help/Api/PUT-CMUserLevel · retrieved 2026-08-03
labor-manager-override-audit
The voids report returns AuthUserName as a field distinct from UserName, so the approving individual - not just the operating clerk - is recorded against each void, together with Reason, Terminal, TransactionID, TransactionItemID and both DateTime and LastDateTime. It is queryable after the fact over a date range across a collection of SiteIDs, and the sibling Enterprise reports (GetDiscountReport, GetGratuityByUserReport, GetTenderBreakdownByUserReport) carry the same per-user attribution. Attendance/GetAttendanceLogEdits separately returns "attendance log edits from portal" with the change window, so back-office edits are also trailed. Immutability is not asserted by the vendor; the records are exposed read-only through the reporting API. https://api.tevalis.com/Help/Api/GET-Reporting-v1-Enterprise-GetVoidsReport · retrieved 2026-08-03
labor-native-scheduling differentiator
Not scored by this record.
labor-demand-labor-forecast differentiator
Not scored by this record.
labor-realtime-labor-percent differentiator
Not scored by this record.
labor-overtime-prevention differentiator
Not scored by this record.
labor-break-compliance-by-state differentiator
Not scored by this record.
labor-fair-workweek-support
Not scored by this record.
labor-minor-labor-rules
Not scored by this record.
labor-tip-pooling-rules
Not scored by this record.
labor-tip-distribution-audit-trail
Not scored by this record.
labor-qualified-tips-w2-reporting differentiator
Not scored by this record.
labor-native-payroll differentiator
Not scored by this record.
labor-payroll-export-formats
Not scored by this record.
labor-shift-swap-workflow differentiator
Not scored by this record.
labor-digital-onboarding-i9
Not scored by this record.
labor-server-performance-metrics differentiator
Not scored by this record.
Inventory, purchasing & cost control
inventory-recipe-bom-costing
CatalogueItemDto carries an Ingredients collection of CatalogueIngredientModel, whose fields are RecipeItemID, ProductID, MeasureID, SubRecipeID, Name, ProductType, ProductGroup, Measure, BaseUnit, BaseUnitAmountUsed, BaseYield and OverrideYield. The explicit SubRecipeID reference on a recipe line establishes multi-level composition - a recipe line can point at a prep item that is itself a recipe - and the item carries NetUnitCost/GrossUnitCost and BaseUnitNetCost/BaseUnitGrossCost, so component cost is held per item rather than hand-entered on the plate. The stock-management page adds "Easily configure ingredients and recipes", "Increase ingredient accuracy with exact cost price per recipe" and "View a suggested sales price based on the target GP set". Shortfall: the recalculation half of the claim is undocumented. Neither the API help nor the stock-management page states that plate cost recomputes automatically when a component ingredient's cost changes, and the schema is flat with foreign-key references rather than a nested structure, so whether cost propagates up the sub-recipe chain on its own or is refreshed by a costing run is not published. https://api.tevalis.com/Help/Api/GET-Stock-GetInventoryCatalogue-SiteID · retrieved 2026-08-04
inventory-unit-conversion-yields
CatalogueItemDto stores three distinct units per item with an explicit factor between them: BaseUnit (with BaseUnitNetCost/BaseUnitGrossCost), StocktakeUnit with StocktakeUnitQty as the conversion quantity, and a PurchaseUnits collection per item, backed by Stock/GetPurchaseUnits per site. CMMeasureDto adds OfSKU, a decimal ratio of a sales measure to the stock SKU. Recipes are first class (Ingredients collection on the catalogue item; the stock page says "Easily configure ingredients and recipes" and "exact cost price per recipe"), with PreparationMethod, MinutesOfPreparation, MinutesOfCooking and DaysOfShelfLife. Shortfall: no yield or waste percentage is applied to the raw-to-usable conversion - the only percentage-style field in the stock period report is Allowance (a variance allowance) alongside actual QtyWasted and NetCostOfWastage, which are measured wastage, not a configured yield factor. https://api.tevalis.com/Help/Api/GET-Stock-GetInventoryCatalogue-SiteID · retrieved 2026-08-03
inventory-theoretical-vs-actual differentiator
Not scored by this record.
inventory-realtime-depletion differentiator
Not scored by this record.
inventory-86-auto-sync differentiator
Not scored by this record.
inventory-count-modes
Stocktakes are discrete retained records, not an overwritten snapshot: StocktakeDto carries StocktakeID, StockPeriodID, StockLocationID, Name, StocktakeDateUtc, ValidationErrorsDetected, Complete and LastDateTimeCompletedUtc, and they are queryable by date range and by stock location, so multiple counts within a period each keep their own history. Variance is reported per count via Reporting/v1/Stock/GetStockPeriodItemsReport (OpeningQty, ExpClosingQty, ClosingQty, NetStockVarianceValue, per StocktakeCategory), and the stock page notes counts can be paused: "Perform stock takes with the ability to complete at a later date." Shortfall: subsetting is by stock location or stocktake category rather than an arbitrary ad-hoc item selection, and nothing documents a scheduler for recurring cycle counts - stock periods are accounting periods, not a count schedule. https://api.tevalis.com/Help/Api/GET-Stocktakes-v1-GetStocktakes_SiteID_StartDateFromUtc_EndDateToUtc_StockLocationID · retrieved 2026-08-03
inventory-mobile-count-offline
Not scored by this record.
inventory-vendor-catalogs-edi differentiator
Not scored by this record.
inventory-invoice-ocr differentiator
Not scored by this record.
inventory-price-change-alerts differentiator
Not scored by this record.
inventory-par-auto-suggest differentiator
Not scored by this record.
inventory-waste-logging
Not scored by this record.
inventory-transfers
Not scored by this record.
inventory-commissary
Not scored by this record.
inventory-lot-traceability
Not scored by this record.
inventory-shelf-life-expiry
Not scored by this record.
inventory-bar-partial-bottle
Not scored by this record.
inventory-cogs-gl-export
Not scored by this record.
inventory-native-not-partner differentiator
Not scored by this record.
inventory-menu-margin-linkage differentiator
Not scored by this record.
Reporting, BI & data access
reporting-realtime-dashboard
The Business Analytics page states "Completely customisable dashboard", "Data is accessible anytime, anywhere", "Updates every 15 minutes" and "Live Data is always accessible"; the enterprise page describes the suite as "cloud-based enterprise tools which can be accessed from anywhere, at any time and on any internet connected device" with dashboards, live activity logs and 200+ reports. A 15-minute cycle satisfies "within minutes of the sale", and off-premise browser access is established. Shortfall: the mobile half is weaker than the claim. The only named app, TevBa, is described under "Looking for on-the-go analytics?" as "Receive messaging alerts on the TevBa app" with "Key reports available" - alerts and a subset of reports, not the customisable dashboard itself - and no vendor page states the dashboard renders in the app. Refresh is also a fixed 15-minute batch rather than continuous. Grade C throughout: this is the product page, not documentation; no Business Analytics admin guide is published. https://website.tevalis.com/business-analytics/ · retrieved 2026-08-04
reporting-eod-closeout
The Z-report is the documented daily close and the cashup hangs off it: Cashup/{SiteID}?ZReportID= returns CashupModel rows of Terminal, TenderType, ExpValue and ActValue by SalesArea and UserName - expected versus actual cash and card by tender type, which is the expected-deposit reconciliation. ZReport/{SiteID} lists the Z-reports themselves by date, and CashManagement closes the loop with GetUnbankedZReports, GetUnbankedSafeDrops, GetBankingList and GetBankingSummary. The Enterprise reports supply the remaining lines for the same day and site set: GetTradingSummaryReport, GetFullSalesBreakdownReportByDay (net, gross and ActTax), GetTenderBreakdownByUserReport, GetGratuityByUserReport, GetDiscountReport and GetVoidsReport, and RefundTransaction/Get covers refunds. Centralised Management lists cash up among its report categories. https://api.tevalis.com/Help/Api/GET-Cashup-SiteID_ZReportID_ShowLocalCurrency · retrieved 2026-08-03
reporting-pmix-modifier-level
SpfReportsFullSalesByDayDto is a genuine product mix: one row per ProductID and MeasureID per site per day with Quantity, ExpNet/ActNet, ExpGross/ActGross, ActTax, Price, AvgCost/TotalCost, GP, Variance, SalesPC, Covers and TotalTransactions, plus ProductName, ProductGroupName, ProductTypeName and MeasureName. The request accepts a StartTime/EndTime window within each day, which gives daypart filtering, and a ProductTypeIDs filter. Shortfall: the request has no SalesArea parameter, so it cannot be filtered by revenue centre even though SalesArea exists elsewhere in the platform (SalesArea endpoint, cashup rows), and no modifier or option-level breakout is documented - option items reference a ProductID but the vendor nowhere states that option sales appear as rows in this report. https://api.tevalis.com/Help/Api/GET-Reporting-v1-Enterprise-GetFullSalesBreakdownReportByDay · retrieved 2026-08-03
reporting-comps-voids-audit
Not scored by this record.
reporting-cash-over-short
Not scored by this record.
reporting-labor-productivity
Not scored by this record.
reporting-server-scorecards differentiator
Not scored by this record.
reporting-channel-profitability differentiator
Not scored by this record.
reporting-multiloc-drilldown differentiator
Not scored by this record.
reporting-custom-report-builder differentiator
Not scored by this record.
reporting-scheduled-delivery
Not scored by this record.
reporting-raw-warehouse-export differentiator
Not scored by this record.
reporting-public-api differentiator
Not scored by this record.
reporting-webhooks differentiator
Not scored by this record.
reporting-api-not-upcharged differentiator
Not scored by this record.
reporting-tier-paywall differentiator
Not scored by this record.
reporting-history-retention differentiator
Not scored by this record.
reporting-anomaly-alerts differentiator
Not scored by this record.
reporting-nl-query
Not scored by this record.
reporting-guest-cohorts differentiator
Not scored by this record.
reporting-sales-forecast differentiator
Not scored by this record.
reporting-tip-tax-compliance
Not scored by this record.
Multi-location, franchise & enterprise governance
multi-location-org-hierarchy
Reporting and access are scoped above the site: every Enterprise and Stock report takes a SiteIDs collection, Sites returns "A List Of All Sites for Company", API credentials are bound to a CompanyId header, cache can be cleared per site or for the entire company, and SpfReportsVoidsDto exposes both SiteID and SubSiteID - so company, site and sub-site are real levels. Shortfall: there is no named region or group entity between company and site as a first-class object. Grouping is ad hoc (a SiteIDs array per report call) or via CMTag/GetSiteTags, which returns site-type tags with no hierarchy semantics, and nothing documents scoping a permission or a role to such a tier - user levels are company-wide. https://api.tevalis.com/Help/Index · retrieved 2026-08-03
multi-location-central-menu-publish
The CM (central management) controllers are a versioned publish pipeline, not just remote editing: CMPackages/Get returns all packages, CMPackages/GetLatestPackageForSite/{SiteID} returns "the most recent package ran for the site", and CMProduct/GetProductsInPackage, CMPrice, CMPriceGroup, CMPriceBand, CMProductGroup, CMTaxGroup and CMProductBulkUpdate all address a product catalogue by CMPackageId. Centralised Management states the operator can "Update all EPOS from one location" and "Make updates to all or selected sites within minutes", i.e. a chosen subset in one action, maintaining "consistency and branding estate-wide". Package-to-site run history gives the what and where; the API does not attribute a publish to an individual user, so the by-whom half of the audit trail is not documented. https://api.tevalis.com/Help/Index · retrieved 2026-08-03
multi-location-local-override-policy differentiator
Not scored by this record.
multi-location-price-zones
Price groups are override layers on a single product record, stated explicitly on the V3 ProductCatalogue endpoint: "V3 will also give you a price for every price group, instead of just giving you a price if it exists. E.g. if the site has 100 products, and only 20 of these products have a takeaway price, this endpoint will return the 100 prices, 20 of them using the takeaway price, and the rest using the standard... the price group essentially acts as an override to the standard prices" - so no item duplication. Location grouping is covered by Centralised Management ("Set different price bands to different sites/locations", "Set up different price groups for different sites") backed by CMPriceBand and CMPriceGroup, and channel is covered per order (CreateOrder takes PriceGroupID, "Specify what pricegroup you're sending the order as"). Shortfall: daypart is not an axis of the price-group model - time-varying pricing appears to be handled by CMPromotions, which carries promotion types and weekday configuration, i.e. a discount layer rather than a per-daypart price. https://api.tevalis.com/Help/Index · retrieved 2026-08-03
multi-location-scheduled-publish differentiator
Not scored by this record.
multi-location-new-store-template differentiator
Not scored by this record.
multi-location-corp-vs-franchisee-roles differentiator
Not scored by this record.
multi-location-royalty-calculation differentiator
Not scored by this record.
multi-location-royalty-collection
Not scored by this record.
multi-location-consolidated-reporting
Not scored by this record.
multi-location-normalized-item-rollup differentiator
Not scored by this record.
multi-location-cross-location-giftcard
Not scored by this record.
multi-location-cross-location-loyalty
Not scored by this record.
multi-location-multi-brand differentiator
Not scored by this record.
multi-location-multi-tax-jurisdiction
Not scored by this record.
multi-location-config-audit-log differentiator
Not scored by this record.
multi-location-enterprise-api differentiator
Not scored by this record.
multi-location-central-labor-policy
Not scored by this record.
Hardware & physical footprint
hardware-commodity-devices differentiator
Not scored by this record.
hardware-os-platforms
OS families are named for exactly one client: the mPOS page says TevX will "Install on any IOS, Android, or Windows device", and the App Store listing for Tevalis TevX adds a minimum of iOS 11.0. Shortfall: everything else the claim requires is unpublished. The operating system of the fixed POS terminals, self-service kiosks and kitchen screens is never named anywhere on the site, no minimum OS versions or device specs exist for any platform beyond the App Store's iOS line, and the FAQ says existing hardware can be reused "as long as your hardware meets the required specifications" while publishing no such specifications or compatibility list. https://website.tevalis.com/mpos/ · retrieved 2026-08-04
hardware-handheld-purpose-built
Not scored by this record.
hardware-handheld-battery-swap differentiator
Not scored by this record.
hardware-handheld-lte
Not scored by this record.
hardware-offline-mode
Tevalis states of its TevX mPOS platform: "Our modern restful service technology means you can continue to process orders offline and with no database connection" - repeated verbatim on the Stadia & Arenas page. Shortfall: the claim's second half is unmet. The vendor publishes no statement of which functions degrade offline - card authorisation, CRM/loyalty member lookup (orders reference a CRMMemberID resolved centrally), voucher validation and refunds are all unaddressed - and the assertion is scoped to the mPOS handheld rather than to fixed terminals, kitchen routing or cash-sale recording. The FAQ page has no offline or outage question at all. https://website.tevalis.com/quick-service/ · retrieved 2026-08-03
hardware-kds
Kitchen Management is a first-party Tevalis module - the integrations page has no kitchen partner category, and the FAQ's hardware list includes Tevalis-supplied "kitchen management touch screens". Touch input and station routing are both documented: "Easily 'Bump' completed tickets off the screen", Bump Messages, "Orders are sent to specific screens" with "separate screens for different prep areas" and "Staff can pass orders on when their part is complete". Shortfall: course/fire timing is not documented. The published timing features are ticket-age based - the "Timer" function displays active ticket times and "Flash Seconds" flashes tickets after a set time - with no hold-and-fire, course pacing or coursing behaviour stated anywhere on the page, and no bump-bar hardware is named (bumping is described only as an on-screen action). https://website.tevalis.com/kitchen-managements/ · retrieved 2026-08-04
hardware-kiosk differentiator
Not scored by this record.
hardware-drive-thru
Not scored by this record.
hardware-printer-compatibility
Not scored by this record.
hardware-peripherals
Not scored by this record.
hardware-p2pe-terminal
Not scored by this record.
hardware-tap-to-phone differentiator
Not scored by this record.
hardware-pricing-transparency differentiator
Not scored by this record.
hardware-ownership-vs-lease differentiator
Not scored by this record.
hardware-usable-after-churn differentiator
Not scored by this record.
hardware-rma-sla differentiator
Not scored by this record.
hardware-byod
Not scored by this record.
hardware-remote-device-management differentiator
Not scored by this record.
hardware-selfpour-scales
Not scored by this record.
hardware-callerid-integration
Not scored by this record.
Integrations, API & extensibility
extensibility-public-api-docs
REPLACES an undated first-pass placeholder that said 'No developer portal located; absence of a fetchable site is not evidence of absence of docs' -- while extensibility-webhooks-push sits at yes A in this same record citing api.tevalis.com/Help/Api/POST-OrderWebhooks-CreateWebhook. api.tevalis.com serves an ASP.NET Web API help site with a per-endpoint reference and no gate of any kind: no robots.txt (404, allowed under RFC 9309), HTTP 200 anonymously, and no login or password element anywhere in the body. The CreateOrder page carries the full request contract -- 'Creates a new Order for the pos to process, use CheckTransactions to query the status of the order', a URI parameter table (Terminal, string) and a CreateApiOrderCommand body table naming SiteId (integer, Required), CustomerName (Required, 'String length: inclusive between 0 and 200'), OrderItems, Promotions ('Promotions are not currently supported'), Discount, Tenders ('if tenders do not match the full bill amount the order will remain open on the POS and will not auto-finalize'), BillNotes, KitchenMessage, WaiterMessage, CRMMemberID and DeliveryTime. A 'Help Page Home' index links the sibling endpoint pages. https://api.tevalis.com/Help/Api/POST-PlaceOrder-CreateOrder_Terminal · retrieved 2026-09-01
extensibility-api-access-cost differentiator
Not scored by this record.
extensibility-partner-revshare
Not scored by this record.
extensibility-free-sandbox differentiator
Not scored by this record.
extensibility-oauth-partner-apps
The Security section of the API guide (V2.0, dated 03/02/2021) enumerates the authentication scheme completely and it is static shared credentials: "If you wish to program against this API for document or production, you must contact Tevalis to obtain a unique GUID and developer ID, (email support@tevalis.com). The GUID and DeveloperID must be present in the HTTP Header of the request." The header table is CompanyId, GUID, DevID, and GUID2, the last "required for PUT, POST and DELETE" and "granted access at the discretion of tevalis". There is no authorization endpoint, no token exchange, no scope model and no operator-facing grant or revoke anywhere in the roughly 70 published controllers - ValidateAuthorization/Get merely returns true or a 401 for the header credentials. Access is vendor-granted to "certified partners", explicitly not operator-granted; write access is a coarse second secret rather than a scope. This is precisely the shared-static-key pattern the claim excludes. https://api.tevalis.com/Content/Tevalis%20API%20Documentation.pdf · retrieved 2026-08-03
extensibility-webhooks-push
First-party push webhooks with a management API: OrderWebhooks exposes CreateWebhook, UpdateWebhook, DeleteWebhook, GetWebhooks and GetWebhookTypes. CreateWebhookCommand takes WebhookType, a required Endpoint, a WebhookSendType constrained by regex to POST or GET, an optional Body template, and SiteOverrideId documented as "SiteID = 0 will cause the webhook to trigger for all sites" - so subscriptions are per site or estate-wide. Registrations are bound to the calling partner (the response returns ApiDeveloperId and ApiDeveloperName). This is push rather than polling; the alternative for API-placed orders is explicitly polling (PlaceOrder/CheckTransactions "query the status of the order"). Caveat on completeness: GetWebhookTypes returns a string-to-integer dictionary at runtime and the docs do not enumerate the event list, so which of created/modified/paid/voided/refunded are offered cannot be confirmed from the published reference. https://api.tevalis.com/Help/Api/POST-OrderWebhooks-CreateWebhook · retrieved 2026-08-03
extensibility-webhook-reliability differentiator
Not scored by this record.
extensibility-order-injection-api
Not scored by this record.
extensibility-menu-write-api differentiator
Not scored by this record.
extensibility-data-symmetry differentiator
Not scored by this record.
extensibility-published-rate-limits
Not scored by this record.
extensibility-doordash-preferred differentiator
Not scored by this record.
extensibility-first-party-delivery-integrations differentiator
Not scored by this record.
extensibility-middleware-compatibility
Not scored by this record.
extensibility-accounting-connectors
Not scored by this record.
extensibility-payroll-export
Not scored by this record.
extensibility-bi-data-warehouse differentiator
Not scored by this record.
extensibility-app-marketplace
Not scored by this record.
extensibility-custom-fields-scripting
Not scored by this record.
extensibility-headless-embedded
Not scored by this record.
extensibility-api-versioning-deprecation
Not scored by this record.
extensibility-data-portability-exit differentiator
Not scored by this record.
Reliability, offline & operations
reliability-offline-order-entry
The vendor asserts offline order capture verbatim: "Our modern restful service technology means you can continue to process orders offline and with no database connection", repeated on the Stadia & Arenas page. Shortfall: only the order-entry third of the claim is covered, and only for the TevX mPOS handheld product the sentence is attached to. Neither ticket routing to the kitchen nor check printing is said to survive the loss of connectivity, and no vendor page or API document describes local persistence, queueing or replay-on-reconnect behaviour for fixed terminals. https://website.tevalis.com/quick-service/ · retrieved 2026-08-03
reliability-offline-card-auth differentiator
Not scored by this record.
reliability-offline-decline-liability differentiator
Not scored by this record.
reliability-lan-degraded-multi-terminal differentiator
Not scored by this record.
reliability-local-transaction-engine differentiator
Not scored by this record.
reliability-offline-kds-printing
The one offline statement Tevalis publishes covers order processing on TevX mPOS only (quick-service and stadia-arenas pages) and says nothing about the kitchen. Read the Kitchen Management page in full - it covers per-station screens, Bump, Alerts, Flash Seconds, Bump Messages, Out Of Stock and the ticket Timer, and never mentions network loss, local operation or print fallback. The FAQ page has no outage question. The api.tevalis.com index exposes only OnlineOrders/GetKmsAverageTicketTime for KMS, which says nothing about connectivity. Whether kitchen display or printer routing continues offline is therefore genuinely undetermined, not absent.
reliability-printer-fallback
No printer configuration documentation exists publicly. Checked the Kitchen Management, Point of Sale, Quick Service and FAQ pages on website.tevalis.com: printing is mentioned only in passing and no page describes printer groups, backup printers, failover to a secondary device or KDS, or staff alerting on an unreachable printer. The FAQ hardware question addresses reusing existing hardware against unpublished specifications, not printer topology. The full api.tevalis.com controller index contains no printer, device or peripheral entity. Unresolved rather than absent - Tevalis nowhere states the behaviour either way.
reliability-sync-conflict-handling
Not scored by this record.
reliability-offline-feature-matrix
Not scored by this record.
reliability-public-status-page
Not scored by this record.
reliability-contractual-uptime-sla differentiator
Not scored by this record.
reliability-incident-postmortems
Not scored by this record.
reliability-247-live-support
Not scored by this record.
reliability-onsite-install differentiator
Not scored by this record.
reliability-menu-build-service differentiator
Not scored by this record.
reliability-hardware-replacement-sla
Not scored by this record.
reliability-backup-restore
Not scored by this record.
reliability-pci-dss-4-attestation
Not scored by this record.
reliability-mfa-role-based-access
Not scored by this record.
reliability-self-serve-training
Not scored by this record.
reliability-failover-terminal-role differentiator
Not scored by this record.
reliability-cellular-backup
Not scored by this record.
Commercial, compliance & data ownership
commercial-month-to-month-contract differentiator
Not scored by this record.
commercial-no-early-termination-fee differentiator
Not scored by this record.
commercial-autorenew-terms-published
Positive evidence of absence rather than a failure to find. The page-sitemap for website.tevalis.com enumerates all 39 published pages; exactly two are legal documents, terms-and-conditions and privacy-policy, and there is no MSA, EULA, SLA or subscription-terms page. The terms-and-conditions document is a consumer goods-ordering policy - order processing, delivery options ("Next day pre 10:30am", "Saturday delivery", "The final time to put an order through to receive next day delivery is 3pm"), refunds "between 1-3 working days" if undispatched, a 10-working-day quality-exchange window and "Your items are under a three-year warranty". It contains no software contract term, no renewal clause and no cancellation notice period; the only cancellation text is "If you wish to cancel your order which you have not received yet, please call our offices on 0330 002 1555", which concerns an undispatched goods order, not a subscription. The FAQs page confirms commercial terms are set per deal - cost is "tailored to each operation" and quote-only. The auto-renewal term and notice window are therefore not publicly accessible and exist only in the signed quote, which is what this claim tests. https://website.tevalis.com/terms-and-conditions/ · retrieved 2026-08-04
commercial-processing-not-bundled differentiator
Not scored by this record.
commercial-interchange-plus-published differentiator
Not scored by this record.
commercial-rate-increase-clause differentiator
Not scored by this record.
commercial-pricing-published
Could not reach a pricing page; do not score this as a "no" without seeing the site.
commercial-module-unbundling differentiator
Not scored by this record.
commercial-hardware-purchase-outright
Outright sale is established: the terms-and-conditions page is a purchase policy for "this online store" covering order processing, next-day and Saturday delivery, refund of "the full amount" on an undispatched order, collection of dispatched items, a 10-working-day quality exchange and "Your items are under a three-year warranty" - warranty and title language, with no lease, rental, hire or minimum-term wording anywhere on the site. The FAQs page also allows customers to bring their own kit, "as long as your hardware meets the required specifications". Shortfall: no published price. The claim requires purchase "at a published price" and Tevalis publishes none - the FAQs state cost is "tailored to each operation", the /store/ path resolves to a contact-form page with three enquiry forms and no product listing, price or basket, and no printer, terminal or KDS screen SKU appears anywhere in the sitemap. Whether every required device (KDS screens, printers) is buyable rather than bundled into the quoted system is also unstated. https://website.tevalis.com/terms-and-conditions/ · retrieved 2026-08-04
commercial-hardware-not-locked differentiator
Not scored by this record.
commercial-implementation-fee-published
Not scored by this record.
commercial-data-export-self-serve
Not scored by this record.
commercial-export-customer-and-loyalty differentiator
Not scored by this record.
commercial-post-termination-export-window differentiator
Not scored by this record.
commercial-data-ownership-clause differentiator
Not scored by this record.
commercial-source-available-selfhost
Not scored by this record.
commercial-pci-p2pe-tokenization
Not scored by this record.
commercial-pci-dss-4-controls
Not scored by this record.
commercial-soc2-attestation
Not scored by this record.
commercial-privacy-dsar-tooling
Not scored by this record.
commercial-wcag-kiosk-accessibility differentiator
Not scored by this record.
commercial-dual-pricing-compliant differentiator
Not scored by this record.
Adversarial verification
An independent pass was instructed to refute this record, defaulting to downgrade when uncertain. It challenged 37 values — 0 upheld, 0 downgraded, 0 upgraded. This is published in full because a reader who can see which values were contested, on what evidence, and which way they moved has something no affiliate-funded comparison offers.
Capability claims
| Claim | As first scored | Verdict | What the verifier found |
|---|---|---|---|
| order-capture-scheduled-orders | unknown (F) - placeholder: "No public documentation located during the 2026-08-01 research pass" | resolve-to-yes | The placeholder marked an unexamined cell. The prior pass failed because www.tevalis.com serves an empty JS shell; the live site is on website.tevalis.com and a full auto-generated API reference is public at api.tevalis.com. CreateApiOrderCommand's DeliveryTime field documents future-dating with a computed fire time and deferred injection into the kitchen queue, verbatim. source |
| menu-pricing-nested-modifiers | unknown (F) - placeholder | resolve-to-partial | Two sources pull in opposite directions and the honest answer is between them. The catalogue's V2 OptionGroupDto is flat with a single tier of min/max counts, but the order response model exposes ItemOptions[].ChildrenOptionItems, so nesting is real. Three independently configured levels are not documented, which is the named shortfall. source |
| menu-pricing-modifier-price-by-parent-size | unknown (F) - placeholder | resolve-to-no | Positive absence, not a blank. The option pricing model is fully enumerated: OptionGroupPriceModel has exactly two fields, PriceGroupID and GrossPrice. Modifier price varies by price group alone; no parent-product or parent-measure axis exists, so a per-parent per-size matrix is not expressible without duplicating option groups. source |
| menu-pricing-topping-quantity-tiers | unknown (F) - placeholder | resolve-to-partial | PromptForQuantity on the option group gives quantity capture, but the schema has no tier name and no per-tier multiplier, so pricing is linear per unit - exactly the case the claim distinguishes from tiers. source |
| payments-gift-cards | unknown (F) - placeholder | resolve-to-partial | A first-party WebVouchers entity exists with create and serial lookup, company-scoped so group-wide. Shortfall: no balance field and no redemption endpoint, so real-time balance tracking is unestablished, and the vendor's own integrations and customer-management pages route gift cards to third-party voucher platforms. source |
| payments-refund-void-controls | unknown (F) - placeholder | resolve-to-yes | The voids report schema carries AuthUserName as a field distinct from UserName, plus Reason - the approving individual is recorded separately from the operator on every void, and the same treatment covers discounts (with reason types) and refunds (RefundTransaction). Grade A primary schema, so a yes is supportable. source |
| delivery-dispatch-board | unknown (F) - placeholder | resolve-to-no | Positive absence on two independent grounds: the vendor's published product line contains no delivery module and the integrations page lists delivery as a partner category (Deliverect, Urban Piper, Deliveroo), and the complete ~70-controller API index contains no driver, dispatch, run or route entity and no driver-assignment field on an order. source |
| delivery-zone-pricing | unknown (F) - placeholder | resolve-to-no | CreateApiOrderCommand enumerates every field an inbound order may carry and includes no customer address, delivery fee, order minimum or promise time; no zone entity exists in the API. Address-driven zone pricing lives in the aggregator, not in Tevalis. source |
| digital-menu-single-source | unknown (F) - placeholder | resolve-to-partial | Centralised Management publishes to EPOS, TevMenu and kiosks from one console, which is real evidence. Shortfall: TevMenu keeps its own Designer build and the vendor never states the digital menu is generated from the same product record - the pages describe separate publish targets driven from one place. source |
| guest-loyalty-unified-profile | unknown (F) - placeholder | resolve-to-partial | API orders carry CRMMemberID so non-POS channels attribute to the same Tevalis CRM member. Shortfall: unification depends on the channel already knowing the member ID; no phone/email identity matching and no dedup or merge behaviour is documented. source |
| guest-loyalty-lifecycle-automation | unknown (F) - placeholder | resolve-to-partial | Birthday rewards exist as native pre-set promotions. Shortfall: they fire at the till rather than as outbound triggered campaigns, no first-visit or lapsed win-back automation is offered, and the vendor explicitly hands campaign sending to an external email platform via data import. source |
| labor-granular-rbac | unknown (F) - placeholder | resolve-to-partial | Roles are operator-defined rather than fixed tiers (full CRUD on CMUserLevel; the API guide states the user level defines EPOS permissions) and the portal edits group permissions and restrictions. Shortfall: the published UserLevelModel is only ID/name/external-group - no per-action permission set is enumerated and no per-location role scoping is documented. source |
| labor-manager-override-audit | unknown (F) - placeholder | resolve-to-yes | AuthUserName on the voids report attributes the approval to the individual approver, alongside reason, terminal, transaction and both timestamps, queryable by date range across sites; discounts and gratuity reports carry the same per-user attribution and attendance log edits are separately trailed. source |
| inventory-unit-conversion-yields | unknown (F) - placeholder | resolve-to-partial | The catalogue item stores BaseUnit, StocktakeUnit with StocktakeUnitQty as an explicit conversion factor, and a per-item PurchaseUnits collection, with recipes and ingredient costing on top. Shortfall: no configured yield or usable-fraction percentage on raw-to-usable conversion; wastage is measured after the fact, not applied as a factor. source |
| inventory-count-modes | unknown (F) - placeholder | resolve-to-partial | Stocktakes are discrete retained records per stock period and stock location with their own dates and completion flags, and per-item variance is reported separately, so history is not overwritten. Shortfall: subsetting is by stock location or category rather than ad-hoc item selection, and no recurring cycle-count scheduler is documented. source |
| reporting-eod-closeout | unknown (F) - placeholder | resolve-to-yes | The Z-report is the documented daily close; Cashup returns expected versus actual value per tender type per terminal against a ZReportID, and CashManagement carries unbanked Z-reports and safe drops through to banking. Tax, net/gross, tips, discounts, voids and refunds are all available for the same day and site set. source |
| reporting-pmix-modifier-level | unknown (F) - placeholder | resolve-to-partial | A genuine item-level product mix exists with quantity, gross, net and tax by product and measure, filterable by product type and by an intra-day time window (daypart). Shortfall: no sales-area/revenue-centre filter on the request and no documented modifier or option-level breakout. source |
| multi-location-org-hierarchy | unknown (F) - placeholder | resolve-to-partial | Company, site and sub-site are real levels (CompanyId-bound credentials, Sites list, SiteID plus SubSiteID on transaction reports). Shortfall: no named region or group entity exists as a first-class object between company and site - grouping is an ad-hoc SiteIDs array or an untyped site tag - and no permission scoping to such a tier is documented. source |
| multi-location-central-menu-publish | unknown (F) - placeholder | resolve-to-yes | The CM controllers are a versioned publish pipeline: packages hold the catalogue, prices, price bands and groups, and GetLatestPackageForSite returns the most recent package run for a given site, giving per-site publish history. Centralised Management states updates go to all or selected sites in one action. Publish-actor attribution is the one element not documented; noted in the cell. source |
| multi-location-price-zones | unknown (F) - placeholder | resolve-to-partial | Price groups are explicitly documented as overrides on a single product record, with price bands per site and a per-order PriceGroupID for channel. Shortfall: daypart is not an axis of the price-group model; time-varying pricing appears to be handled by promotions, which is a discount layer rather than a per-daypart price. source |
| hardware-offline-mode | unknown (F) - placeholder | resolve-to-partial | The vendor asserts offline order processing verbatim on two solution pages, so the capability is claimed. Shortfall: the claim's explicit second half - documenting which functions degrade - is unmet; nothing addresses card auth, loyalty lookup or refunds offline, and the statement is scoped to the TevX mPOS handheld. source |
| extensibility-oauth-partner-apps | unknown (F) - placeholder | resolve-to-no | Positive evidence of absence. The API guide's Security section enumerates the authentication scheme completely - CompanyId, GUID, DevID headers obtained by emailing support, plus a GUID2 secret for writes granted at Tevalis's discretion. No token exchange, no scopes, no operator-facing grant or revoke exists in any of the ~70 controllers. This is the shared-static-key pattern the claim excludes, and access is vendor-granted rather than operator-granted. source |
| extensibility-webhooks-push | unknown (F) - placeholder | resolve-to-yes | A first-party webhook management API exists - create, update, delete, list, and a webhook-type lookup - with a required endpoint, POST/GET send type, optional body template and per-site or estate-wide scoping, bound to the calling partner. Push rather than polling is established at grade A; the runtime-only event enumeration is disclosed as a caveat in the cell note rather than downgraded, since the claim's substance is push versus poll. source |
| reliability-offline-order-entry | unknown (F) - placeholder | resolve-to-partial | Offline order capture is asserted verbatim by the vendor. Shortfall: only order entry is covered, and only for the TevX mPOS handheld - neither kitchen ticket routing nor check printing is said to survive an outage, and no queue-and-replay behaviour is described for fixed terminals. source |
| order-capture-offline-order-entry | unknown (F) - placeholder | resolve-to-partial | The placeholder was a never-examined marker, not a finding. Tevalis does publish an offline statement, on the mPOS page ("Restful service technology processes orders offline", "Take multiple offline orders") and verbatim again on quick-service and stadia-arenas. Partial rather than yes: it attaches only to the TevX handheld, covers order capture alone, and the claim's second half - the vendor publishing what does and does not work offline - is unmet, with no statement on modifiers, kitchen send, cash tender or replay. Consistent with the reliability-offline-order-entry cell resolved on 2026-08-03. source |
| kitchen-station-routing | unknown (F) - placeholder | resolve-to-partial | The KMS page establishes the routing half - "Orders are sent to specific screens", "Include separate screens for different prep areas" - so unknown was wrong. Partial because the configurability half is undocumented: routing is described as set up for the kitchen by the System Delivery Team at implementation, Centralised Management's published editable objects are menus, price bands, price groups and permissions with no mention of routing, and no station, screen or printer controller exists in the api.tevalis.com index. Routing by order type or revenue centre is unstated. Grade C - product page, not documentation. source |
| inventory-recipe-bom-costing | unknown (F) - placeholder | resolve-to-partial | Grade A schema evidence the prior pass had in hand but never applied to this cell. CatalogueIngredientModel carries an explicit SubRecipeID alongside RecipeItemID and ProductID, establishing that a recipe line can reference a prep item that is itself a recipe - multi-level BOM composition. Partial because automatic recalculation is not documented anywhere: the schema is flat with foreign keys, and neither the API help nor the stock-management page states that plate cost recomputes on its own when a component ingredient cost changes. source |
| reporting-realtime-dashboard | unknown (F) - placeholder | resolve-to-partial | Tevalis publishes a refresh rate - "Updates every 15 minutes", "Live Data is always accessible" - against a "Completely customisable dashboard" reachable "from anywhere, at any time and on any internet connected device", which satisfies within-minutes freshness and off-premise browser access. Partial because the mobile-app half falls short: the TevBa app is described only as carrying messaging alerts and "Key reports", never the dashboard, and refresh is a fixed 15-minute batch rather than continuous. Grade C - no Business Analytics admin guide is published. source |
| commercial-autorenew-terms-published | unknown (F) - placeholder | resolve-to-no | Positive evidence of absence by enumeration. The page sitemap lists all 39 published pages and contains exactly two legal documents, terms-and-conditions and privacy-policy - no MSA, EULA, SLA or subscription terms. The terms-and-conditions document is a goods-ordering and returns policy whose only cancellation clause concerns an undispatched hardware order; it states no contract term, no renewal and no notice window. The FAQs confirm commercial terms are quote-only. The renewal term and notice window therefore exist only in the signed quote, which is exactly what this claim scores as absent. source |
| commercial-hardware-purchase-outright | unknown (F) - placeholder | resolve-to-partial | The terms-and-conditions page is a purchase policy - delivery, refund, 10-day quality exchange and a three-year warranty on items owned by the buyer - with no lease, rental, hire or minimum-term language anywhere on the site, and the FAQs permit reusing existing hardware. Outright purchase is therefore established. Partial because the claim also requires a published price and Tevalis publishes none: cost is "tailored to each operation", /store/ is a contact form with no listing or basket, and no terminal, KDS or printer SKU appears in the sitemap. source |
| payments-emv-nfc | unknown (F) - placeholder: "No public documentation located during the 2026-08-01 research pass" | resolve-to-no | The claim's subject - a first-party payment terminal estate - does not exist. Payments is an integration partner category with ten named providers on the integrations page, the FAQ positions Tevalis as a software specialist, no Tevalis payment product or terminal appears in the 39-page sitemap, and the complete api.tevalis.com controller index has no payment-terminal or acquiring surface (Tenders and RefundTransaction only report tender amounts). EMV/NFC acceptance is delivered by partner terminals, mirroring the kriolos-pos precedent of no for vendors with no first-party terminal line. source |
| delivery-driver-roster | unknown (F) - placeholder | resolve-to-no | Same enumeration grounds as the delivery-dispatch-board no resolved on 2026-08-03: the published product line contains no delivery module, delivery is a partner category (Deliverect, Urban Piper, Deliveroo), the ~70-controller API index has no driver, dispatch, run or route entity, the Attendance controller models staff clock in/out with no driver assignment state, and CreateApiOrderCommand carries no driver field. A native driver roster with first-class drivers and per-driver run history is absent, not undocumented. source |
| digital-first-party-web | unknown (F) - placeholder | resolve-to-no | Positive absence by enumeration. Guest web ordering appears only as an integration category (MeU, Fetch, Qikserve, OrderPay, Visit, CrowdEngage), with the OnlineOrders/PlaceOrder API existing to receive partner-placed orders. The 39-page sitemap covers the whole product line and has no ordering product; TevMenu is an in-venue interactive menu, and TevX is a staff handheld per its App Store listing. No first-party commission-free web ordering site exists. source |
| guest-loyalty-accrual-models | unknown (F) - placeholder | resolve-to-partial | Points-per-spend is native configuration - loyalty levels with a threshold multiplier for points per spend, redemption value and bonus points on the customer-management page. Partial because the claim requires two accrual models and only one is established: visit/punch-count accrual appears nowhere on the site, and the page never states that loyalty levels alter the accrual rate or are earned by spend, so spend-tier accrual is unconfirmed. source |
| labor-clock-in-at-pos | unknown (F) - placeholder | resolve-to-yes | Grade A schema evidence plus partner documentation. The Attendance endpoint returns clock in and clock out times for users per site natively; the CMUser model puts the mechanism on the till user (CardNumber, ShowButtonOnLoginScreen, CompulsoryClockOn), and no separate time-clock entity exists in the controller index. Planday's help centre documents employees clocking in and out on the Tevalis ePOS with punch entries imported every 5 minutes. source |
| hardware-os-platforms | unknown (F) - placeholder | resolve-to-partial | One client is OS-documented: the mPOS page says TevX installs on any iOS, Android or Windows device, and the App Store listing adds an iOS 11.0 minimum. Partial because the fixed-terminal, kiosk and kitchen-screen OS is never named, no minimum versions or device specs are published for any platform beyond that one App Store line, and the FAQ references required specifications it does not publish. source |
| hardware-kds | unknown (F) - placeholder | resolve-to-partial | First-party KDS is real: Kitchen Management is a Tevalis module (no kitchen partner category exists), supplied on Tevalis kitchen touch screens, with on-screen bump (touch input) and station routing to separate prep-area screens documented. Partial because course/fire timing is not documented - the timing features published are a ticket-age Timer and Flash Seconds alerts, with no hold-and-fire or course pacing stated - and no bump-bar hardware is named. source |
Sources
Every URL this record cites. 35 in total.
- https://www.tevalis.com/
- https://api.tevalis.com/Help/Index
- https://api.tevalis.com/Content/Tevalis%20API%20Documentation.pdf
- https://api.tevalis.com/Help/Api/POST-PlaceOrder-CreateOrder_Terminal
- https://api.tevalis.com/Help/Api/GET-vversion-OptionGroups_SiteID
- https://api.tevalis.com/Help/Api/GET-Reporting-v1-Enterprise-GetVoidsReport
- https://api.tevalis.com/Help/Api/GET-Reporting-v1-Enterprise-GetFullSalesBreakdownReportByDay
- https://api.tevalis.com/Help/Api/GET-Cashup-SiteID_ZReportID_ShowLocalCurrency
- https://api.tevalis.com/Help/Api/GET-Stocktakes-v1-GetStocktakes_SiteID_StartDateFromUtc_EndDateToUtc_StockLocationID
- https://api.tevalis.com/Help/Api/GET-Stock-GetInventoryCatalogue-SiteID
- https://api.tevalis.com/Help/Api/POST-OrderWebhooks-CreateWebhook
- https://api.tevalis.com/Help/Api/PUT-CMUserLevel
- https://api.tevalis.com/Help/Api/GET-WebVouchers-GetActiveVouchers
- https://website.tevalis.com/point-of-sale/
- https://website.tevalis.com/centralised-management/
- https://website.tevalis.com/integrations/
- https://website.tevalis.com/customer-management/
- https://website.tevalis.com/kitchen-managements/
- https://website.tevalis.com/quick-service/
- https://website.tevalis.com/stadia-arenas/
- https://website.tevalis.com/digital-emenu/
- https://website.tevalis.com/stock-management/
- https://website.tevalis.com/faqs/
- https://website.tevalis.com/page-sitemap.xml
- https://website.tevalis.com/terms-and-conditions/
- https://website.tevalis.com/business-analytics/
- https://website.tevalis.com/mpos/
- https://website.tevalis.com/enterprise/
- https://website.tevalis.com/services/
- https://website.tevalis.com/store/
- https://api.tevalis.com/Help/Api/GET-Attendance-SiteID_StartDate_EndDate_UserID
- https://api.tevalis.com/Help/Api/POST-CMUser_UserName_LevelID_ExternalEmployeeID_RecallNumber_HourlyRate_CardNumber_AllowedToOpenTableFromOtherClerks_SignOffAtSaleFinalisation_CompulsoryClockOn_ShowButtonOnLoginScreen_AutoDisplayFloorPlan_UseSecondLanguage_DispName_EmployeeEmail
- https://help.planday.com/en/articles/30256-tevalis-integration-clock-in-and-out-using-tevalis
- https://apps.apple.com/us/app/tevalis-tevx/id1414953747
- https://website.tevalis.com/mpos/