Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
3 Ответы
548 Представления

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!

Аватар
Отменить
Автор

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.

Автор

Very clear!

Лучший ответ

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!')
Аватар
Отменить
Лучший ответ

Hello,

Please Try this module :

Restrict Out-of-Stock Products in POS

Аватар
Отменить
Related Posts Ответы Просмотры Активность
3
сент. 25
308
3
сент. 25
406
4
авг. 25
1563
2
авг. 25
642
0
авг. 25
408