Ebraheem Hashem How to Hide Product Variants on an Odoo 19 Website Odoo shows every variant on the product page, and the obvious fix does not work: the publish flag lives on product.template, not product.product. Here is why, what the workarounds cost, and the module that curates the storefront without touching the backend. Aug 18, 2026
Ebraheem Hashem Stop POS Staff Deleting Kitchen-Sent Lines in Odoo 19 In stock Odoo POS, a waiter can clear a line already sent to the kitchen in two taps. Removing delete rights does not help, because the POS syncs an edited order — the ORM sees a write, not an unlink. Here is the mechanism, and the server-verified control that closes it. Aug 18, 2026
Ebraheem Hashem Odoo 19 Trial Balance: Get Debit and Credit Columns Back In Odoo 17 and 18 the Trial Balance showed Debit and Credit for both the opening and closing position. Odoo 19 shows a single net Balance for each. Here is what changed, why a single column is the wrong shape for a proof, and how to restore the classic layout. Aug 18, 2026
Ebraheem Hashem How to Generate a Saudi WPS File from Odoo The HRSD specification lets each bank agree its own wage-file layout, which is why a hard-coded exporter never survives a change of bank. Here is what WPS actually requires, and how to build the file from Odoo with only the base HR app installed. Aug 18, 2026
Ebraheem Hashem One Odoo Digest Email for All Your Companies Odoo's digest email covers a single company, and on Odoo 19 per-company KPI computation silently returns zeros — an open issue since 2021. Here is the exact mechanism, and a module that gives you one email with a block per company and a combined total. Aug 18, 2026
Ebraheem Hashem Split Odoo's Merged General Ledger Cell Into 3 Columns Odoo's General Ledger concatenates the entry number, the reference and the label into one cell — and truncates it. In an audit report that is missing data, and it stays missing in the export. Here is the fix that does not rewrite the report. Aug 18, 2026