A faster, cleaner Point of Sale your cashiers will love
A KiotViet-style layout: prominent search, a tidy cart table with inline quantity steppers, big totals and a bold Pay button — and it follows your theme's colours.
Ring up orders in fewer taps
A quick walkthrough of the layout, the cart table and the quantity stepper.
What you get
Search front-and-centre
A bold search / barcode bar so scanning and finding items is the first thing cashiers see.
Cart as a table
Line number, product, price and total in clean columns — easy to scan at a glance.
Inline quantity stepper
Tap – / + on any line to change quantity; drop to zero to remove. No numpad detour.
Big, unmissable totals
A large running total and a bold, full-width Pay button keep checkout fast and clear.
Follows your theme
Every colour comes from your existing Odoo/Bootstrap variables. Install any theme and the POS adopts its colours — nothing hard-coded.
Multi-order tabs
Hold several customers at once. Tabs under the top bar let you start, switch and close orders in one tap — no digging through the orders list.
Quick-cash & change
On the payment screen, tap the exact or a rounded-up amount and the change due shows in big, clear type. Fewer taps, fewer mistakes.
Add-on friendly
Additive styling that plays well with Restaurant, Loyalty and HR (via the companion bridge).
A closer look
Questions
Does it change how orders or payments work?
No — it is a visual layout only. All POS behaviour, taxes and reports are unchanged.
Will it follow my dark or branded theme?
Yes. Colours come from your theme's variables, including dark themes.
Can different shops use different looks?
Yes, the layout is toggled per register.
Community or Enterprise?
Both. It only depends on the Point of Sale app.
BambooForge Labs · OPL-1 · bambooforge.labs@gmail.com
BambooForge POS UI — Fast, KiotViet-style Point of Sale
Overview
BambooForge POS UI gives the Odoo Point of Sale a faster, calmer cashier layout inspired by the retail POS screens staff already know:
- a prominent product search / barcode bar,
- the cart shown as a tidy table with an inline ± quantity stepper on every line,
- big, bold totals and a clear, full-width Pay button,
- multi-order tabs to hold several customers at once and switch between them in one tap,
- quick-cash buttons on the payment screen (exact + rounded-up amounts) with a big change-due readout.
It is theme-friendly by design: every colour is read from your existing Odoo/Bootstrap variables, so if you install another backend or POS theme, this layout adopts its colours automatically. Nothing is hard-coded.
Requirements
- Odoo 17.0.
- The Point of Sale application (point_of_sale). No other dependency.
Installation
- Copy bambooforge_pos_ui into your addons path.
- Update the apps list (Apps → Update Apps List).
- Search for BambooForge POS UI and click Install.
The layout is enabled on every register by default.
Configuration
The layout is applied per register so you can mix styles across shops.
- Go to Point of Sale → Configuration → Settings.
- Pick the register at the top of the page.
- Toggle BambooForge Layout on or off.
- Save, then open (or reopen) the register.
Using it
- Search or scan at the top; tap a product card to add it.
- On each cart line, use the – and + buttons to change the quantity; decreasing to zero removes the line.
- The running total is always visible; press Pay to move to payment.
Serve several customers at once
The tab bar under the top navbar shows every open order. Tap + to start a new order (hold one customer while you serve another), tap a tab to switch, and tap the × on a tab to close it (you are asked to confirm if it still has items).
Take cash fast
On the payment screen the Quick cash panel offers the exact amount and a few rounded-up amounts. One tap tenders the cash and the Change due is shown in large type. It uses the register's cash method, so it appears whenever the register accepts cash.
The layout pairs naturally with BambooForge POS Hotkeys for a fully keyboard-driven register.
Troubleshooting
The layout does not appear
Check that BambooForge Layout is enabled for this register, then close and reopen the POS session so the setting is loaded.
The quantity stepper is missing on a line
The stepper shows on the product (order) screen only. On the payment or receipt screens the order is read-only by design.
Colours do not match my brand
The layout follows your active theme's variables. Set your brand colour in your backend/POS theme and the POS adopts it — there is nothing to configure here.
The look is different after installing another POS add-on
The layout uses additive styling and is safe with common add-ons. If you use Restaurant, Loyalty or Multi-employee (HR), install the companion BambooForge POS UI Bridge so the three fit together cleanly.
A register should keep the standard Odoo look
Turn BambooForge Layout off for that register (see Configuration). Other registers are unaffected.
The stepper changed a quantity I did not expect
Each tap changes the selected line by one unit. For large quantities, select the line and type the amount on the numpad as usual.
After toggling the setting nothing changed
The POS loads its configuration when a session opens. Close the session and reopen it, or reload the POS tab.
Frequently asked questions
Does it change how orders or payments work? No. It is a visual layout only; all POS behaviour, taxes and reports are unchanged.
Will it follow my dark theme? Yes. Colours come from your theme's variables, including dark themes.
Can different shops use different looks? Yes — the layout is toggled per register.
Limits
- The inline quantity stepper acts on the product screen only.
- Very large custom POS forks may need minor CSS adjustments.
Support
This app is designed to run without vendor support: the steps above cover setup, daily use and common issues. For licensing questions contact bambooforge.labs@gmail.com.
Upgrading & version compatibility
This build targets Odoo 17.0. Each Odoo major series (17.0, 18.0, 19.0) has its own dedicated build of this module — always install the build that matches your Odoo version. Mixing a build with a different Odoo series is not supported.
Patch upgrades (same series, e.g. 17.0.1.0.0 → later)
Back up your database and filestore first.
Replace the module folder with the newer build.
Restart Odoo with the module updated:
./odoo-bin -c your.conf -u bambooforge_pos_ui -d your_db
Odoo applies any schema/data changes automatically. Your existing records and configuration are preserved.
Cross-version migration (e.g. Odoo 17 → 18)
Upgrading Odoo itself is a database migration handled by Odoo's standard upgrade tooling. When you migrate the database to the next Odoo series, install the matching build of this module for that series. Data created by this module carries over with the database migration.
Uninstallation
You can remove this module at any time from Apps → (this module) → Uninstall, or from the command line. Uninstalling is clean and reversible by reinstalling — but note what is and is not deleted.
What is removed
- The fields, views and analysis definitions this module added.
- The menus, actions, views and reports this module installed.
What is preserved
- Your standard Odoo data (partners, products, sales, invoices, inventory moves) is not deleted — this module only reads and annotates it; the underlying records stay.
- Attachments and chatter messages on standard records are kept.
As always, take a database backup before uninstalling in production.
Changelog
17.0.1.1.0
Current release for Odoo 17.0. This build includes:
- A faster, cleaner POS layout inspired by popular retail cashier screens: prominent search, a tidy cart table with inline quantity steppers, big totals and a bold Pay button. Follows your installed theme's colours.
- No hard-coded palette.
Feature additions and fixes ship as new builds on the Odoo Apps store; this page and the module's version reflect the current published release. Always keep the build matched to your Odoo series (see Upgrading & version compatibility).
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module