CODEerts POS Zero Price Block | Odoo POS Restrict Zero and Negative Price | Point of Sale Price Control | Stop Free Items at Checkout
by CODEerts https://www.codeerts.com$ย 19.00
In-App PurchasesPOS Zero Price Block
Stop free items leaving the till by mistake.
Blocks point of sale lines priced at zero or below, in the browser and again on the server, so orders taken offline cannot slip through.
|
2
Independent Rules
|
2
Layers Of Defence
|
Offline
Orders Covered
|
Per POS
Set Per Register
|
0
Setup Steps
|
The leak nobody notices until the day is reconciled
A product with no price on its record sells for nothing, and the point of sale lets it
A new product saved before anyone set a price. A mistyped discount that sends a line negative. Neither stops the sale, neither warns the cashier, and neither shows up until somebody reconciles the till and finds revenue missing with no way to tell which sale caused it.
What this module does
It refuses the sale at the till and checks again on the server, so an order created while the point of sale was offline is covered too. Combo and loyalty lines, which are legitimately zero or negative, are left alone.
|
๐
Blocked At The Till
The offending line is highlighted the moment it is added and payment is refused, naming the products at fault. |
๐ก
Checked On The Server
A browser side check cannot see an offline order. This one inspects the server sync path as well, so nothing slips past. |
๐ฉ
Offline Sales Flagged
The goods already left the shop, so the sale is recorded and marked rather than destroyed, and a filter shows managers what got through. |
๐
Combo & Loyalty Safe
Combo parents sit at zero by design and rewards are negative by construction. Both are exempt, so nothing legitimate is blocked. |
|
๐ข Two Independent Switches
Block zero priced lines, block negative priced lines, or both. A till that hands out zero priced samples can still refuse negative lines. |
๐ช Set Per Point Of Sale
Both rules live on the point of sale configuration, so different registers can behave differently without any code. |
|
๐ Named In The Warning
The message lists the products at fault rather than just refusing, so the cashier knows what to fix instead of guessing. |
๐ Blocked Price Line Filter
A filter on the point of sale orders list surfaces every flagged order, so a manager can review what came in from offline tills. |
|
๐ No New Access Rights
The rules ride the existing point of sale configuration. Cashiers need no extra permissions and no new groups are created. |
๐งฎ Currency Aware
Prices are compared against the currency rounding of the point of sale, not a raw float, so tiny rounding artefacts do not trigger it. |
How it works
|
1
Switch the rules on
Point of Sale, then Settings, then Price Control. Tick zero, negative or both for that register and save. |
2
The cashier is stopped
An offending line is highlighted as soon as it enters the cart, and payment is refused with the products named. |
3
Offline orders are flagged
Anything that synced from an offline session is saved and marked, and appears under the Blocked Price Line filter. |
Screenshot walkthrough
A zero priced line is highlighted in the cart the moment it is added, before the cashier reaches payment.
Payment is refused while a blocked line is on the order, and the cashier is told exactly which line to correct.
Zero prices and negative prices are blocked independently, and the setting belongs to each point of sale.
Orders that arrived from an offline session carrying a blocked price are kept, flagged and filterable.
Technical information
|
Version
Odoo 19 and 18
|
License
OPL-1
|
Editions
Community & Enterprise
|
Dependencies
point_of_sale
|
Frequently asked questions
No. Loyalty rewards and discount lines are negative by construction and are exempt, so your loyalty programme keeps working with both rules switched on.
It is saved and flagged, never refused. The sale already happened, so rejecting it would only strand the order in the till. Managers find them with the Blocked Price Line filter on the orders list.
No. Odoo puts the price on the combo children and leaves the parent line at zero on purpose. Combo lines are exempt from both rules.
Yes. The two rules are independent switches, set per point of sale, so a till that hands out zero priced samples can still refuse negative lines.
Only the ones you switch it on for. Both rules live on the point of sale configuration, so different registers can behave differently.
Odoo 19 and 18, Community and Enterprise. It requires Point of Sale and works alongside Restaurant, Loyalty and Discount.
No. The rules ride the existing point of sale configuration and need no new access rights.
The team behind this module
About CODEerts
We build and support Odoo apps used by teams running real operations. Every module is tested against each supported version before release.
info@codeerts.com
More from CODEerts
Other apps we build to make Odoo do more. Tap any card to open it on the Odoo Apps Store.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 207 |
| Technical Name |
codeerts_pos_zero_price |
| License | OPL-1 |
| Website | https://www.codeerts.com |
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