Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
3 Odpowiedzi
577 Widoki

Hello!


I'm using Odoo V18.3. Currently, I'm only using POS and Inventory.


Is there a way to prevent a sale from being made at the POS if I don't have enough stock?


I have a store, and sometimes it's good to know at the counter if I actually have what I'm selling.


I can't find that option. I defined my stock, and it lets me sell above that.


(I understand this is for a different model, but perhaps it can be adjusted.)


Regards!

Awatar
Odrzuć
Autor

Oh, okay, it's useful.

 

But doesn't it have any warnings or restrictions? It can still be done.

I still have the basic, free version, but it's good to know the code.

 

I'm getting to know the system well and adapting it to my business to get it up and running. Then I'll scale it with a more comprehensive version. THANK YOU!

There's not restriction by default. Partly due to the point outlined by Ray in his post. Also POS mostly is a 'take item from shelf and walk to count' kind of scenario. Regardless of the stock level, if the customer holds it in hand, you will want to sell it. No point in blocking this behavior. Else we're talking about a situation in which you'd usually rather create a Sales Order for easier future handling and tracking.

Autor

Very clear!

Najlepsza odpowiedź

About 'I have a store, and sometimes it's good to know at the counter if I actually have what I'm selling':

Add the Product to a Sale, then select it, click the 3-vertical-ellipsis, then Info to 'know [...] if [you] actually have what [you're] selling':




About preventing negative stock, have a read at https://www.odoo.com/forum/1/272531. This post of Ray is about (a none-suggested modification to prevent negative stock by) creating an Automation Rule with this code:

accuracy = env["decimal.precision"].precision_get("Product Unit of Measure")
for record in records:
    diff = round(record.quantity, accuracy)
    if (diff < 0 and record.product_id.is_storable and
            record.location_id.usage in ["internal", "transit"]):
        raise UserError(f'You need {-diff} more {record.product_id.name}(s) to complete this Transfer!')
Awatar
Odrzuć
Najlepsza odpowiedź

Hello,

Please Try this module :

Restrict Out-of-Stock Products in POS

Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
3
wrz 25
350
3
wrz 25
431
4
sie 25
1572
2
sie 25
654
0
sie 25
414