Ir al contenido
Menú
Se marcó esta pregunta
3 Respuestas
424 Vistas

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!

Avatar
Descartar
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!

Mejor respuesta

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!')
Avatar
Descartar
Mejor respuesta

Hello,

Please Try this module :

Restrict Out-of-Stock Products in POS

Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
2
ago 25
185
4
ago 25
1429
2
ago 25
515
0
ago 25
233
1
ago 25
573