BambooForge Labs

POS Keyboard Shortcuts

Reusable keyboard-shortcut profiles for the Point of Sale, shared across registers, with per-payment-method keys and an on-screen cheat sheet.

Buy on the Odoo Apps StoreOpen the live demoPoint of Sale€49Community & Enterprise

Available for Odoo 17.0, Odoo 18.0, Odoo 19.0, Odoo 20.0. Technical name bambooforge_pos_hotkeys.

Odoo 17.0Odoo 18.0Odoo 19.0Odoo 20.0
Screens and walkthrough for
Transcript of the walkthrough (Odoo 20)

POS Keyboard Shortcuts. Reusable keyboard-shortcut profiles for the Point of Sale, shared across registers, with per-payment-method keys and an on-screen cheat sheet. BambooForge POS Hotkeys lets cashiers drive the Odoo Point of Sale from the keyboard. You define a shortcut profile once and reuse it on every register, assign a key to each payment method, and press-and-hold a modifier to see an on-screen cheat-sheet of every shortcut available on the current screen.

In the next few minutes: enable the feature per register, then reuse a profile on several registers, then assign keys to payment methods, then using the shortcuts, then questions people ask. Then what this app deliberately does not do, so you can tell before you buy whether it fits. Everything lives under Hotkey Profiles. Enable the feature per register.

1. Go to Point of Sale → Configuration → Settings. 2. Pick the register at the top of the page.

3. Turn on Keyboard Shortcuts and choose a Shortcut Profile (the shipped Default Shortcuts is selected by default). 4. Save.

Reuse a profile on several registers. Open the same profile on each register's settings, or select it in Point of Sale → Configuration → Hotkey Profiles and see every register that uses it in the Used by registers field. Editing the profile updates all of them at once. Assign keys to payment methods.

1. Go to Point of Sale → Configuration → Payment Methods. 2. Open a method and set POS Shortcut Key (e.g.

C for Cash, B for Bank). 3. Give a different key to every method used on the same register. Use letters for payment keys — digits are reserved for typing the amount on the payment screen.

Using the shortcuts On each screen, press the configured key to run its action (go to payment, select customer, search, quantity/discount/price mode, print, …). Hold Ctrl at any time to show the cheat-sheet of shortcuts for the current screen; release to hide it. On the payment screen, press a payment method's key to add that payment line. Questions people ask.

Which Odoo versions does it run on? Odoo 17.0, 18.0, 19.0, 20.0, on the series you buy it for; each series is its own listing. Community or Enterprise? Both.

It needs no Enterprise app. Shortcuts do nothing. Check that Keyboard Shortcuts is enabled for this register and a profile is selected, then close and reopen the POS session so the new configuration is loaded. A key does nothing on one screen but works on another.

Shortcuts are per screen. Make sure the action you expect exists on that screen (for example, Print Receipt only applies to the receipt screen). Two actions share a key. The profile refuses to save two identical keys on the same screen and tells you which two fields clash.

Give one of them another key. Two payment methods share a key. Saving the register raises an error naming the two methods. Give each method a distinct key.

Digits do not select a payment method. That is by design: on the payment screen digits type the tendered amount. Use a letter as the payment method's key. Now the part most videos leave out: what this does not do.

Shortcuts apply to the product, payment, receipt and customer screens. Function keys reserved by the browser cannot be captured. The cheat-sheet lists shortcuts for the current screen only. The complete manual is at docs dot bambooforge dot dev, the demo database is linked from the store page, and support answers within twenty-four hours.

Links are in the description.

Shot cheatsheet - bambooforge_pos_hotkeys
Shot cheatsheet
Shot payment keys - bambooforge_pos_hotkeys
Shot payment keys
Shot profile - bambooforge_pos_hotkeys
Shot profile
Video poster - bambooforge_pos_hotkeys
Video poster

Key facts

What it is
Reusable keyboard-shortcut profiles for the Point of Sale, shared across registers, with per-payment-method keys and an on-screen cheat sheet.
For
Point of Sale
Odoo versions
17.0, 18.0, 19.0, 20.0 - Community and Enterprise
Runs on
Odoo.sh or Odoo you host yourself - not Odoo Online, which accepts no third-party apps
Price
49 EUR, one-time, on the Odoo Apps Store
Technical name
bambooforge_pos_hotkeys
Not for
Shortcuts apply to the product, payment, receipt and customer screens.; Function keys reserved by the browser cannot be captured.; The cheat-sheet lists shortcuts for the current screen only.
Manual
https://docs.bambooforge.dev/bambooforge_pos_hotkeys/
Live demo
https://demo20.bambooforge.dev/odoo/action-bambooforge_pos_hotkeys.action_bf_pos_hotkey_profile
Store page
https://apps.odoo.com/apps/modules/20.0/bambooforge_pos_hotkeys
Manual last updated
2026-10-15

POS Keyboard Shortcuts

Overview

BambooForge POS Hotkeys lets cashiers drive the Odoo Point of Sale from the keyboard. You define a shortcut profile once and reuse it on every register, assign a key to each payment method, and press-and-hold a modifier to see an on-screen cheat-sheet of every shortcut available on the current screen.

It solves two things the built-in POS and older shortcut add-ons do not:

  • Reuse. One profile can be shared by any number of registers. Change it once and every register that uses it follows — no more re-typing the same keys shop by shop.

  • Duplicate payment methods. The shortcut key lives on the payment method itself, so a register with several cash methods or several bank methods gives each one its own key. Older solutions only bound the first method of a kind.

The dispatcher is written with the native POS component API (OWL), not DOM tricks, so it keeps working when you reskin or extend the Point of Sale.

Requirements

  • Odoo 20.0.

  • The Point of Sale application (point_of_sale). No other dependency.

Installation

  1. Copy bambooforge_pos_hotkeys into your addons path.

  2. Update the apps list (Apps → Update Apps List).

  3. Search for BambooForge POS Hotkeys and click Install.

A ready-to-use profile named Default Shortcuts is created on install.

Configuration

Enable the feature per register

  1. Go to Point of Sale → Configuration → Settings.

  2. Pick the register at the top of the page.

  3. Turn on Keyboard Shortcuts and choose a Shortcut Profile (the shipped Default Shortcuts is selected by default).

  4. Save.

Reuse a profile on several registers

Open the same profile on each register's settings, or select it in Point of Sale → Configuration → Hotkey Profiles and see every register that uses it in the Used by registers field. Editing the profile updates all of them at once.

Assign keys to payment methods

  1. Go to Point of Sale → Configuration → Payment Methods.

  2. Open a method and set POS Shortcut Key (e.g. C for Cash, B for Bank).

  3. Give a different key to every method used on the same register.

Use letters for payment keys — digits are reserved for typing the amount on the payment screen.

Using the shortcuts

  • On each screen, press the configured key to run its action (go to payment, select customer, search, quantity/discount/price mode, print, …).

  • Hold Ctrl at any time to show the cheat-sheet of shortcuts for the current screen; release to hide it.

  • On the payment screen, press a payment method's key to add that payment line.

Questions people ask

Which Odoo versions does it run on?

Odoo 17.0, 18.0, 19.0, 20.0, on the series you buy it for; each series is its own listing.

Community or Enterprise?

Both. It needs no Enterprise app.

What does it need?

The standard Point of Sale app. No extra Python package.

Where does it show up?

Under the Hotkey Profiles menu.

Does anything leave my server?

No. It makes no call outside your Odoo server: no telemetry, no licence check, no third-party service.

What happens if I uninstall it?

Odoo drops the app's own tables and fields; the standard records it worked on (contacts, orders, products) stay as they are.

Troubleshooting

Shortcuts do nothing

Check that Keyboard Shortcuts is enabled for this register and a profile is selected, then close and reopen the POS session so the new configuration is loaded.

A key does nothing on one screen but works on another

Shortcuts are per screen. Make sure the action you expect exists on that screen (for example, Print Receipt only applies to the receipt screen).

Two actions share a key

The profile refuses to save two identical keys on the same screen and tells you which two fields clash. Give one of them another key.

Two payment methods share a key

Saving the register raises an error naming the two methods. Give each method a distinct key.

Digits do not select a payment method

That is by design: on the payment screen digits type the tendered amount. Use a letter as the payment method's key.

A shortcut clashes with the browser (F5, F11, F12, …)

The browser reserves some function keys. Avoid F1, F5, F11 and F12; the defaults use safe keys only.

Typing in a search box triggers a shortcut

It should not — shortcuts are ignored while the focus is in a text field. If you still see it, click once outside the field and retry.

The cheat-sheet does not appear

Hold the Ctrl key (do not tap it). It only shows while the key is held and only when the register has shortcuts enabled.

After changing the profile nothing changed in the POS

The POS loads its configuration when a session opens. Close the session and reopen it, or reload the POS tab.

Frequently asked questions

Can several registers share one profile? Yes — that is the point. Select the same profile on each register.

Can I have per-register keys too? Payment-method keys are per method (shared through the method). Screen action keys come from the profile; make a second profile if a register needs different action keys.

Does it work with two cash or two bank methods? Yes. Each method carries its own key, so every method on a register is reachable.

Will it survive a POS theme or another POS add-on? Yes. It calls the POS component API rather than clicking DOM elements, so a reskin does not break it.

Limits

  • Shortcuts apply to the product, payment, receipt and customer screens.

  • Function keys reserved by the browser cannot be captured.

  • The cheat-sheet lists shortcuts for the current screen only.

How we make sure it works

Before every release, 14 automated checks run against this app on Odoo 17, 18, 19 and 20. Among them:

  • Multiple same type methods keep own keys.

  • Till loads no profile when disabled.

  • Duplicate key same screen raises.

  • Same key different screen ok.

  • Default profile assigned to new config.

The complete list is in the source you receive.

Support

This app is designed to run without vendor support: the steps above cover setup, daily use and every common issue. For licensing questions contact support@bambooforge.dev.

Upgrading & version compatibility

This build targets Odoo 20.0. Each Odoo major series (17.0, 18.0, 19.0, 20.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. 20.0.1.0.0 → later)

  1. Back up your database and filestore first.

  2. Replace the module folder with the newer build.

  3. Restart Odoo with the module updated:

    ./odoo-bin -c your.conf -u bambooforge_pos_hotkeys -d your_db
  4. Odoo applies any schema/data changes automatically. Your existing records and configuration are preserved.

Cross-version migration (moving to a newer Odoo)

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 module's own tables and every record in them (1 model, prefixed bf.*) — this is the data this module created.

  • 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

20.0.1.1.1

  • Built for Odoo 20: record rules and access rights rewritten onto Odoo 20's single ir.access model, the screens rebuilt on Owl 3, and every icon moved to the icon set Odoo 20 ships.

20.0.1.0.0

Current release for Odoo 20.0. This build includes:

  • Reusable keyboard-shortcut profiles for Odoo POS. Share one profile across every register, per-payment-method keys (works with multiple cash/bank methods), and an on-screen cheat-sheet. OWL-native, no jQuery.

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).