Who we are

About IT Horizon

A boutique technology house engineering enterprise systems with the precision of a luxury maison.

Our story
Odoo Partner

Comprehensive Odoo

End-to-end Odoo 20 Enterprise, implemented, customized, integrated and supported by our own senior team.

Become a client
Odoo apps

Every app, configured for the Gulf

Finance, sales, supply chain, HR, marketing and services apps implemented with the local tax, payroll and language rules each country needs.

All Odoo apps
What we do

Beyond ERP

Strategy, product engineering and customer-experience work that turns systems into advantage.

Talk to us
Sectors

Industry depth

Domain fluency across the sectors that define the GCC economy, and the regulations behind them.

Discuss your sector
Learn · grow · succeed

Insights

Real-world ideas, case studies and sessions to help your business work smarter with Odoo.

Browse the blog
Contact usالعربيةBook a consultation
Home/Blog/Odoo in Kuwait · Guide
Odoo in Kuwait · Guide · 7 min read

Odoo Point of Sale for retail in Kuwait: KNET, Arabic receipts and multi-branch stock

What Odoo Point of Sale does for a Kuwaiti retailer and what has to be set up around it: KNET terminals, Arabic receipts, stock per branch and the daily cash count. For owners and finance managers choosing a POS for one shop or twenty.

Odoo Point of Sale runs a shop counter in Kuwait from a browser on a tablet or PC, takes KNET and card payments on the terminal your bank supplies, and prints receipts with Arabic next to English. Each branch is its own warehouse, so every sale reduces that branch’s stock, and closing the register posts the day to Accounting. The parts that need care are the KNET terminal, the receipt layout and how branches are restocked.

KNET and card payments

KNET is Kuwait’s shared banking network for debit cards, set up with the local banks. In a shop, KNET cards are taken on a terminal from your bank, which settles the takings to your account. Odoo’s integrated terminals (Adyen, Stripe, Viva.com, Worldline and others) do not include the terminals Kuwaiti banks issue, so there are two ways to work with them.

  • Integrated terminal. Where the bank offers an interface, the amount goes from the Odoo payment screen to the terminal and the approval returns to the order. This is a custom integration, built per bank.
  • Standalone terminal. The cashier keys the amount into the terminal and selects the KNET payment method in Odoo. The session still totals KNET separately.

Set up one payment method for each way customers pay: cash, KNET, credit card, and customer account if you sell on credit. Give each card method its own bank journal, so a session’s KNET total can be matched to the KNET settlement on the bank statement.

Arabic receipts and what the Ministry of Commerce checks

Kuwait’s Consumer Protection Law No. 39 of 2014 requires the seller to give the consumer an invoice written at least in Arabic, showing the price and quantity of what was sold. Other languages may appear next to the Arabic, and the Ministry of Commerce and Industry, which enforces the law, has reminded shops that Arabic must be the main language of their invoices. Its inspectors check this.

In Odoo, the Gulf localization adds Arabic as a second language on POS receipts and on invoices, and the Kuwait accounting package installs it with the Kuwaiti chart of accounts. Three things still need a decision before go-live:

  1. Arabic names for every product, because the receipt prints what is in the product record.
  2. The header and footer: trade name, branch, phone and return policy, in both languages.
  3. Which language leads. The standard layout prints Arabic second; for Arabic first, the template is adjusted once for all branches.

Amounts are in Kuwaiti dinars with three decimals (fils), standard in Odoo. Kuwait has no VAT, so Kuwaiti registers carry no sales tax. A customer who needs a full invoice gets one from the same order, at the counter or by scanning the QR code on the receipt.

Branches, stock transfers and central purchasing

Each shop is its own warehouse and each register is linked to it, so a sale in the Salmiya branch reduces Salmiya’s stock only. The usual layout is a central warehouse that buys, and shops resupplied from it with inter-warehouse transfers.

  • Central purchasing. Buyers order from head office into the central warehouse, so supplier prices, terms and bills stay in one place.
  • Replenishment. Reordering rules set a minimum and maximum per product and branch. Below the minimum, Odoo proposes a transfer from the central warehouse.
  • Transfers between branches. A shop that runs out can be supplied from another shop, and both managers see the transfer until it is received.

Stock counts are done in the Inventory app with a barcode scanner, and items tracked by lot or serial number, such as electronics or cosmetics with expiry dates, are tracked at the counter too. Retailers that also sell wholesale run both from the same stock; see trading and distribution.

Loyalty, gift cards and returns

Loyalty programs, coupons, promotions, gift cards and eWallet balances are part of Odoo Point of Sale. Rewards apply automatically or are added by the cashier, and a customer’s points sit on their contact record, the same in every branch.

Returns are processed from the original order or, without a receipt, as a standalone return. The refund goes back by the payment method you choose or as a gift card, and Odoo creates a credit note that references the original receipt. Cashiers log in with a PIN or badge, and their rights (minimal, basic or advanced) decide who may refund.

Selling when the internet drops

If the connection fails, the register switches to offline mode and keeps selling. Products and customers load into the browser when the session opens, orders are stored on the device, and they sync when the connection returns. Printers and scales on the shop network keep working.

Full invoices, new customers, live stock figures and integrated card terminals wait for the connection. A standalone KNET terminal with its own SIM keeps working, a good reason to keep one as a backup. Do not close or reload the browser while offline: the unsynced orders are in its cache.

What a day’s closing looks like

  1. The cashier opens Close Register: number of orders, total, and expected amount per payment method.
  2. The drawer is counted by coins and notes. Cash taken out during the day was already recorded with a reason through Cash In/Out.
  3. Any difference is shown. With a maximum difference set, the cashier cannot close beyond it without a manager.
  4. Closing posts the session to Accounting: sales, the takings of each payment method in its own journal, and any cash difference separately.
  5. The next morning, finance matches KNET and card totals to the bank settlement in Odoo Accounting, and the cash deposit to the bank statement.

Odoo recommends closing every register daily. The session report shows who opened the register and who handled each order, which is what an owner asks for when the cash is short.

Hardware

DeviceWhat works with OdooNote
RegisterTablet, PC or touch terminal with a current browserNothing to install on the device
Receipt printerEpson ePOS on the network, or USB and ESC/POS printers through an IoT boxOdoo recommends Epson; Bluetooth printers do not work
Cash drawerConnected to the receipt printer with an RJ25 cableNo separate connection to the register
Barcode scannerUSB or wireless scanner that ends each scan with EnterMost scanners do this by default
Card terminalKNET terminal from your bank, integrated or standaloneIntegrated terminals need the internet

Buy from a supplier who keeps spares in Kuwait. Keep a spare printer at head office: it costs less than a closed counter.

What to check before choosing a POS

  • Which banks issue your KNET terminals, and whether each offers an integration.
  • A sample Arabic and English receipt, printed on the printer you will use.
  • How stock moves from the central warehouse to branches, and who approves a transfer.
  • What happens offline, tested by unplugging the router during the demo.
  • Who approves a cash difference, and how finance reconciles KNET settlements.
  • Whether POS, stock, purchasing and accounting share one database.

How we set up Odoo Point of Sale

We are an Odoo partner in Salmiya. For a retail rollout we start with a workshop on how your branches sell, buy and close the day, then fix the scope in writing: branches, registers, payment methods, receipt layout and replenishment. We configure Odoo Point of Sale with Inventory and Accounting on a copy of your data, connect the KNET terminals your bank supports, and train cashiers in Arabic and English.

We usually open one branch first and roll out the others once its daily close and KNET reconciliation run without help. After go-live, branch questions go to our support team under an Odoo support agreement.

What to do next

  1. List your branches, the registers in each branch and the bank behind each KNET terminal.
  2. Collect one current receipt from each branch and the end-of-day report your finance team uses today.
  3. Book a consultation and we will run a test register with your products, in Arabic and English.
FAQ

Common questions

Yes. KNET cards are taken on the terminal your bank supplies. Where the bank offers an interface, the terminal is integrated with the Odoo payment screen; otherwise it runs standalone and the cashier records the payment under a KNET payment method.

Yes. Odoo’s Gulf localization adds Arabic as a second language on POS receipts and invoices. Products need Arabic names, and the layout can be changed to put Arabic first, in line with the Ministry of Commerce and Industry’s rule that Arabic is the main language of the invoice.

The register keeps selling in offline mode and syncs the orders when the connection returns. Integrated card terminals need the connection, so keep a standalone KNET terminal as a backup.

Yes. Each branch is a warehouse in the same database, so stock per branch, transfers in progress and the central warehouse appear in one report.

No. Kuwait has no VAT as of October 2026, so Kuwaiti registers carry no sales tax. Branches in Saudi Arabia or the UAE run in their own company with that country’s VAT rules.

Need help with your Odoo project?

Tell us what you are working on. A senior consultant will reply with how we would approach it.

Phone
+965 5015 3388
WhatsApp
Message us
Email
[email protected]
Office
Salem Al Mubarak Street, Salmiya, Kuwait
Hours
Sunday to Thursday, 8:00 to 19:00