WordPress.org

Plugin Directory

Libre Bite – Restaurant POS, Kitchen Display (KDS) & QR Ordering for WooCommerce

Libre Bite – Restaurant POS, Kitchen Display (KDS) & QR Ordering for WooCommerce

Descripción

More orders, less stress — Libre Bite turns WooCommerce into your restaurant’s operational backbone. No commission fees, no SaaS lock-in: your guests order online or at the table via QR code, pay with card, cash, or Twint, and your kitchen sees every order live on the board — all inside WordPress.

Start for free. Upgrade only when you need more.

Free to Start

All core features are available completely free of charge — no credit card, no trial period, no hidden limits.

A Pro subscription is only required for advanced features such as multi-location management, table ordering, optimised checkout, tipping, and pickup reminders. Pro plans are priced to be affordable — significantly cheaper than dedicated restaurant SaaS platforms.

7-day free Pro trial — no payment required.

Built on WordPress & WooCommerce

Libre Bite is a WordPress plugin. It extends WooCommerce — the proven e-commerce foundation used by millions of sites worldwide.

  • No new platform to learn — manage everything inside your existing WordPress dashboard.
  • Your products stay WooCommerce products — set them up once and they appear in the POS, checkout, and online shop automatically.
  • Use any WooCommerce-compatible payment gateway — cash, card, Twint, Stripe, PayPal, or any other gateway you already have. Libre Bite charges no transaction fees.
  • Offline payments supported — «Pay at pickup», «Pay at table», or any custom payment method via standard WooCommerce.

For Whom Is Libre Bite?

Libre Bite is built for small and micro gastronomy businesses — operations that want serious software without enterprise-level costs or delivery platform commissions.

  • Restaurants — Take dine-in and take-away orders, keep the kitchen informed, delight guests with smooth service.
  • Take-Away & Fast Food — Serve walk-ins fast with an integrated counter POS, accept card and Twint payments, no third-party fees.
  • Cafés & Bars — Handle product extras, tips, and order flow without juggling multiple tools.
  • Multi-location businesses — Run all branches from one WordPress installation, each with its own order board and POS (Pro).

Modular by Design

Only activate the features your business actually needs. Unused modules stay hidden — no cluttered menus, no unnecessary complexity.

Core Features (Free)

Live Kanban Order Board (KDS)
A real-time kitchen display that visualizes every incoming WooCommerce order as a card. Drag & drop cards between columns (New Preparing Ready Completed) to update order statuses instantly — without reloading the page.

Integrated Point of Sale (POS)
A clear POS interface for walk-in customers. Add products to the order, accept payments — all without leaving WordPress.

Location Management
Create and manage branches, each with its own address, opening hours, and order routing. Works immediately for single-location businesses.

Swiss 5-Cent Rounding
Built-in support for the Swiss rounding rule (5-cent rounding). Indispensable for restaurants and retail in Switzerland.

Pickup/Delivery Time Slots
Customers choose a time slot for pickup or delivery directly during checkout. Relieve peak hours and better manage kitchen capacity.

Product Add-ons & Extras
Add configurable options to any WooCommerce product — sizes, sauces, toppings, preparation notes — with optional price markups.

Modular Feature Control
Only enable what your business really needs. Each module can be independently toggled on or off in the admin area.

WooCommerce HPOS Compatible
Fully tested with WooCommerce High-Performance Order Storage (HPOS). Safe for modern, high-traffic setups.

Pro Features (Subscription required)

Table Ordering (QR Code)
Generate a QR code for each table. Guests scan it and order directly — no address or pickup time fields required. Orders appear in the dashboard with the table name.

Multi-Location Management
Manage an unlimited number of branches. Each location gets its own Kanban board, POS configuration, and separate order flow — managed centrally via one WordPress installation.

Optimized Checkout Flow
A conversion-focused checkout process for gastronomy businesses — fewer steps, cleaner layout, mobile-first.

Advanced Tipping System
Customers can select percentage tip suggestions (e.g., 5%, 10%, 15%) or enter a custom amount. Tip amounts are saved per order and displayed in the dashboard.

Automatic Pickup Reminders
Automatic email reminders to customers X minutes before the scheduled pickup time. Fewer no-shows, better pickup experience.

Nutritional Info & Allergen Labeling
EU-compliant nutritional values and allergen declarations for every product. Displayed clearly on the product page and during checkout.

Advanced Sound Notifications
A browser signal tone when a new order arrives on the Kanban board. Custom sound files can be uploaded via the media library (Pro).

Why Libre Bite?

Delivery platforms take up to 30% commission. Dedicated restaurant SaaS tools charge monthly fees on top of that. Libre Bite is different: own your ordering system, pay no commissions, and keep every franc.

  • Commission-free ordering — guests order directly on your website, no platform cut
  • No transaction fees — ever
  • Twint, card, cash — accept any payment WooCommerce supports
  • Swiss 5-cent rounding built in — essential for CHF cash payments
  • QR code ordering at the table — guests scan, choose, and pay in seconds (Pro)
  • Modular — activate only what your business needs, nothing else
  • Your data stays yours — in your own WordPress installation
  • Affordable Pro plans — designed for small businesses, not enterprise budgets
  • 7-day free Pro trial — no payment required

Works on Any Device

Libre Bite works on any device — no app installation required. Use it with a mouse and keyboard on a desktop or laptop, or with touch input on a tablet. The Kanban order board, POS interface, and reservation dashboard are optimised for touch-first operation, making them well-suited for use on a tablet mounted at the counter or kitchen pass.

How to Run Libre Bite

Option 1 — Extend your existing website
Install Libre Bite directly into your existing WordPress/WooCommerce site. Any theme is compatible — no design changes required.

Option 2 — Standalone installation (subdomain)
Run Libre Bite as a dedicated installation on a subdomain, such as order.myrestaurant.com — completely independent from your main website, purpose-built for your gastronomy operation.

Option 3 — Managed hosting by Libre Bite
Libre Bite handles the complete setup: installation, configuration, hosting, and ongoing maintenance — from A to Z. Available as a paid service. Get in touch via https://urech.dev

External Services

This plugin uses Freemius, a third-party platform for managing licenses, subscriptions, and plugin updates for the Pro version.

During plugin activation, you can opt-in to data sharing with Freemius. Basic information about your website (WordPress version, PHP version, active plugins) is transmitted to Freemius to enable license validation and usage analysis. Opt-in is completely optional. All free core features work without opt-in.

  • Freemius Privacy Policy: https://freemius.com/privacy/
  • Freemius Terms of Service: https://freemius.com/terms/

No data is sent to Freemius if you skip or decline the opt-in during activation.

The Table Management feature (Pro) uses the goQR.me API (https://goqr.me/api/) to generate QR codes for table ordering links. The QR code URL is transmitted to generate the corresponding image. No personal or order data is sent.

  • goQR.me API: https://goqr.me/api/
  • goQR.me Privacy Policy: https://goqr.me/privacy-policy/

Instalación

  1. Upload the plugin folder to the /wp-content/plugins/libre-bite directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the Plugins screen in WordPress.
  3. Make sure WooCommerce is installed and active — Libre Bite requires WooCommerce.
  4. Navigate to Libre Bite in the admin menu to configure locations, enable modules, and set up the POS and Kanban board.

Preguntas frecuentes

Is WooCommerce mandatory?

Yes. Libre Bite is a WooCommerce extension. WooCommerce must be installed and active for Libre Bite to work. WooCommerce 8.0 or later is recommended.

Which payment methods are supported?

Libre Bite uses WooCommerce’s standard payment system. Any WooCommerce-compatible payment gateway works — including Stripe, PayPal, Twint, cash on pickup, card at counter, and more. Libre Bite charges no transaction fees. You pay only for your payment gateway (if any) and the optional Pro subscription.

Can customers pay in cash or at the counter?

Yes. WooCommerce includes offline payment methods such as «Cash on Delivery» or «Pay in Person». You can rename and configure these freely — for example «Pay at pickup» or «Pay at the counter».

Is the plugin compatible with WooCommerce HPOS?

Yes. Libre Bite is fully compatible with WooCommerce High-Performance Order Storage (HPOS). It has been tested with both legacy post-based storage and the new Custom Order Tables.

Can I manage multiple restaurant locations?

Multi-location management is included in the Pro version. The free version supports a single location with full configuration of address, opening hours, and order routing.

What is Swiss 5-Cent Rounding?

In Switzerland, cash payments are rounded to the nearest 5 cents as 1- and 2-cent coins are no longer in circulation. Libre Bite automatically applies this rounding rule at checkout — useful for Swiss restaurants, cafés, and take-away businesses.

Does the POS system work offline?

The integrated POS system requires an active WordPress/WooCommerce session and an internet connection. It is a browser-based interface that currently does not support offline mode.

Does Libre Bite share my data with third parties?

Libre Bite uses Freemius for license management and delivery of Pro features. Data is only transmitted to Freemius if you explicitly opt-in during activation. No order, customer, or product data is transmitted — only basic website environment information (PHP version, WP version, plugin list). For more details, see the Freemius Privacy Policy: https://freemius.com/privacy/

What are the minimum requirements?

  • WordPress 6.0 or higher
  • WooCommerce 8.0 or higher
  • PHP 8.1 or higher (PHP 8.2+ recommended)
  • A modern browser for Kanban board and POS interface

Is Libre Bite available in multiple languages?

The plugin uses standard WordPress i18n functions and can be translated via .pot files or community translations on translate.wordpress.org. The default language is English.

Reseñas

20 de mayo de 2026
Funktioniert super!
Leer la 1 reseña

Colaboradores y desarrolladores

«Libre Bite – Restaurant POS, Kitchen Display (KDS) & QR Ordering for WooCommerce» es un software de código abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

Registro de cambios

2.2.1

  • Fix: Product availability hint no longer breaks the shop grid layout in themes that lay out product loop items as a horizontal flex row (e.g. Astra’s «List Style»), where it previously appeared as an unwanted extra column instead of below the product content.
  • Fix: Availability popup can no longer be clipped by product cards with hidden overflow (e.g. hover-zoom image effects) and now sizes itself correctly to its content.
  • Fix: Low-contrast «Opens on …» location status badge and text overflowing its box on mobile in the location selector.
  • New: Availability hint (category & product page) and availability filter (shop page) can now be independently enabled/disabled in Settings Products (Pro).
  • New: Three display styles for the availability hint — popup (default), always-visible list, or plain text — for better compatibility with different themes.

2.2.0

  • New: Locations can now have an optional activity window (active from / until date) for future or temporary locations. Until the opening date, the location stays visible but locked with an «Opens on …» notice; pre-orders for the opening date or later are already possible.
  • New: Product-location assignment switched from an opt-in whitelist to an opt-out blacklist — products are now available at all locations by default, and only need to be disabled for specific locations. New locations automatically get all existing products. Existing assignments are migrated automatically.
  • New: Product availability indicator on the shop grid and single product page, showing at a glance how many (and which) locations carry the product.
  • New: Availability filter on shop and category pages lets customers pick a location to see what is available there — including before any location has been selected elsewhere, and without needing to commit to an order time.
  • Fix: Holiday «All locations» checkbox selection was reset to nothing after saving.
  • Fix: Availability filter and its styling/scripts now load correctly on product category pages (previously only loaded on the main shop page).
  • Fix: POS variant selection now respects the WooCommerce default variation instead of always preselecting the first one.
  • Fix: Missing German translations for the availability filter notice in some locale variants.
  • Removed: Decorative title above the location selector tiles.
  • Maintenance: Updated Freemius SDK to version 2.13.4.
  • Maintenance: Changelog section trimmed to stay within WordPress.org’s word limit; full history available on GitHub.

2.1.5

  • Update: Lowered minimum required PHP version to 7.4 (no 8.0+ language features are used)
  • Fix: License field now uses the consistent SPDX identifier GPL-2.0-or-later

2.1.4

  • Maintenance: Updated Freemius SDK to version 2.13.3.

2.1.3

  • Performance: POS product query now uses WordPress term cache instead of individual database queries per product, significantly reducing DB load on cache miss with large product catalogs.

2.1.2

  • Fix: Correct translation loading order to ensure bundled translations are always applied, even when WordPress.org language packs are present.
  • Fix: Missing German translations for several recently added strings (POS-only product label, product order settings).
  • Maintenance: Updated translation files for de_CH, de_DE, de_AT.

2.1.1

  • New: Drag & drop product ordering in POS settings — products can now be reordered directly via a sortable list under Settings > POS System. The order is saved as WordPress menu_order and applies to both the POS and the WooCommerce store catalog.

2.1.0

  • New: Location-based product filtering on shop pages — products not available at the selected location are visually dimmed, with a filter toggle to hide them entirely.
  • New: POS-only products — products can now be marked as visible exclusively in the POS system, hidden from the frontend shop and all customer-facing URLs.
  • New: Swiss French (fr_CH) and Swiss Italian (it_CH) translations added.
  • Security: IP-based rate limiting added to the reservation form (max. 5 submissions per 60 seconds per IP), supplementing the existing honeypot protection.

2.0.24

  • Improvement: Translations updated for all German locales (de_CH, de_DE, de_AT) — all new strings translated and .pot file regenerated.
  • Code: Duplicate transient-delete queries replaced with shared method; SQL query now uses prepare() and esc_like() consistently.
  • Code: PHPDoc added to all remaining undocumented public methods.

2.0.23

  • Fix: Statistics page «Today» filter no longer includes orders from the previous day.

2.0.22

  • Fix: Order creation time in the WooCommerce orders list now correctly shows the site’s local time. Previously the time was shifted by the UTC offset due to a mismatch between WooCommerce’s datetime attribute encoding and the timezone conversion logic.

2.0.21

  • Update: Freemius SDK updated to version 2.13.2.

2.0.20

  • Fix: Order creation time in the orders list now always displays in the WordPress site timezone, regardless of the browser’s timezone setting.

2.0.19

  • Fix: 5-cent rounding now applies to the final cart total after coupon discounts, not to the pre-discount subtotal.
  • Fix: Statistics page now correctly shows orders for the current day instead of always showing zero.
  • Improvement: Order creation time is now displayed below the date in the WooCommerce orders list.

2.0.18

  • Fix: Sound notification settings — Free users no longer see the media library picker, which is a Pro-only feature. Free users see a preview of the default sound instead. The built-in notification sound is now always used for Free installations, regardless of any previously saved empty value.

2.0.17

  • Fix: Duplicate AJAX handler for lbite_pos_get_products removed from the admin class. The admin handler was registered first and took precedence over the POS module handler, causing location-based product filtering to be bypassed entirely.
  • Security: Added a honeypot field to the public reservation form to block automated spam submissions.

2.0.16

  • Improvement: Sound Notifications is now a free feature — no Pro subscription required to hear new order alerts in the Order Overview.
  • Improvement: Roles & Menus settings — added a tip to assign a location to each Libre Bite Staff user so they only see orders relevant to their location.

2.0.15

  • Fix: Fatal error on every admin page in the free version caused by an unguarded premium-only method registration on the admin_init hook. The backend was completely inaccessible after installing the free version.

2.0.14

  • Fix: Cart total now stays the same for the customer regardless of which tax class is applied (takeaway vs. dine-in). WooCommerce’s internal ‘unfiltered’ tax class lookup was bypassing the rate switch and recalculating a different gross price.
  • Fix: Email field in optimized checkout now correctly appears and stays visible after WooCommerce refreshes the payment section.

2.0.13

  • Fix: Product pages no longer show a recalculated price when Multiple Tax Rates is active — the tax class filter now only applies in cart/checkout/AJAX contexts.
  • Improvement: Optimized checkout — email field now appears after the payment method selection, not before. Customers only see it when their chosen payment method requires an email.
  • Improvement: Optimized checkout — which payment methods require an email address is now configurable in Settings Checkout (instead of being hardcoded).
  • Fix: Location selector — location image is now correctly shown after selecting a location (tiles layout).
  • Improvement: Thank-you page — detail boxes are now white with a colored left border instead of gray fill.
  • Improvement: Thank-you page — for dine-in orders the pickup box is replaced by a service/table box showing the table name.

2.0.12

  • Improvement: Order dashboard — table badge now shows actual table name (e.g. «Tisch 3») instead of generic «Tisch».
  • Improvement: Order dashboard — card footer now shows order creation time alongside order number and customer name.
  • Fix: When a table QR code is scanned, the session service type is now explicitly set to «dine_in» so VAT and checkout defaults are correct from the start.
  • Fix: Table QR code box moved to the sidebar in the table edit screen for better overview.

2.0.11

  • Fix: Optimized checkout — order type (takeaway / eat here) no longer pre-selected; customer must make an explicit choice. JS and server-side validation added.
  • Fix: Optimized checkout — radio buttons now have proper spacing and separator from the location block above.
  • Fix: Optimized checkout — table dropdown now fully visible and correctly styled.
  • Improvement: Table dropdown in checkout now uses natural number sorting by default (Tisch 1, 2, 10, 11 instead of 1, 10, 11, 2).
  • Improvement: New setting in Tables tab: control table sort order (natural or menu order).
  • Improvement: «Please select a location and pickup time» replaced with more neutral wording.
  • Translations: All 5 locales updated (1399 strings).

2.0.10

  • Fix: Optimized checkout — Order Type selector is now rendered inside the «Location & Pickup Time» box instead of a separate second box below it.
  • Improvement: «Swiss VAT Switching» feature renamed to «Multiple Tax Rates» for better clarity and international applicability; tax class descriptions no longer reference Swiss-specific rates.
  • Translations: All 5 locales updated.

2.0.9

  • Improvement: Optimized checkout — Order Type selector («To take away» / «Eat here») is now integrated into the location info box at the top of the form.
  • Improvement: Optimized checkout — Table field replaced by a dropdown of configured tables; falls back to text input if no tables are set up for the location.
  • Improvement: Pickup time in info box is hidden for dine-in orders (not applicable).
  • Improvement: POS settings — «Default Order Type» is now visible when Table Management is active, not only when Swiss VAT Switching is enabled. Added link to Prices & Taxes settings when relevant.
  • Translations: All 5 locales updated to 1395 translated strings (0 untranslated).

2.0.8

  • Security: Removed developer override constant that bypassed license verification for premium features.
  • Fix: Settings — premium feature toggles can now be saved without erroneously being reset; license enforcement happens exclusively at runtime.

2.0.7

  • Fix: Settings — premium features (e.g. Order Type Selection) can now be saved correctly when using the developer override constant.
  • Fix: POS — Table selector is now hidden for Takeaway orders and only appears when Dine-in is selected; automatically resets to «No table» after each order.
  • Improvement: POS — Order Type selector (Takeaway / Dine-in) now appears whenever Table Management or Swiss VAT Switching is active, not only when Swiss VAT is enabled.

2.0.6

  • Fix: Statistics — CSV export no longer contains HTML; output buffers are now cleared before headers are sent.
  • Fix: Statistics — translation strings for new columns (Top Products, By Quantity, By Revenue, etc.) now correctly loaded in all locales.
  • Fix: Optimized checkout — Order Type selector (Takeaway / Dine-in) is now visible; rendered directly in the checkout form with a summary in the info box.

2.0.5

  • Feature: Statistics — extended reporting with top products by quantity and revenue, add-on breakdown with product combos, payment method share bars, and CSV export.
  • UI: Table Plan and Reservations pages now show a Beta badge in the page title.
  • Roadmap: fr_CH and it_CH translation entries added; Barcode-Scanning removed.

2.0.4

  • Feature: Order Type Selection — customers can now choose Takeaway or Dine-in directly in the checkout form (Pro). When Swiss VAT Switching is active, the selection also controls which tax rate applies. With the Table module enabled, Dine-in reveals an optional table number field.
  • Feature: POS — order type indicator (Takeaway / Dine-in) is now shown in the cart box below the total.
  • Feature: POS settings — new option to configure the default order type (Takeaway or Dine-in) pre-selected on page load; selection persists across automatic page refreshes via localStorage.
  • Fix: GitHub README — logo path corrected.

2.0.3

  • Fix: Swiss VAT — tax class is now explicitly set on the order line item during checkout, ensuring calculate_totals() uses the correct rate (e.g. 2.6%) and the order tax breakdown displays the right rate instead of the original standard rate.
  • Fix: Swiss VAT now also applies to product variations (woocommerce_product_variation_get_tax_class hook added).
  • Fix: Statistics tile on the overview page now links to the correct URL (/wp-admin/admin.php?page=lbite-statistics).
  • Fix: Completed orders loaded via «Load more» now remain visible during automatic dashboard refresh instead of disappearing.
  • Feature: Statistics page — added location selector dropdown; admin can filter by location; default period changed from «Today» to «Last 7 Days».
  • Feature: Order cards in the Kanban board now show a «Takeaway» badge for non-table orders alongside the existing «Sofort/Vorbestellung» and payment method chips.

2.0.2

  • Fix: Swiss VAT switching now correctly preserves the gross price for the customer; previously, wc_get_price_excluding_tax() bypassed the tax-class filter and stored the net at the base rate, causing a price discrepancy after calculate_totals() applied the target rate. Affects POS orders, frontend checkout, and add-on fee items.

2.0.1

  • Fix: Add-ons now appear as separate line items in WooCommerce orders (POS and frontend); the product price is no longer inflated by the add-on amount.
  • Fix: POS orders no longer inherit scheduled pickup times from previous frontend test sessions; the pickup time meta is explicitly cleared on every POS order.
  • Fix: Payment method selected in POS is now visible in the Kanban board and in the statistics breakdown.
  • Feature: New «Prices & Taxes» settings tab — price rounding and Swiss VAT switching settings moved from the Checkout tab; added a direct link to WooCommerce Tax Settings.

Older versions

  • For the full changelog of versions before 2.0.0, see the release history: https://github.com/simurech/libre-bite/releases