opensourcepos / opensourcepos

Open Source Point of Sale is a web based point of sale application written in PHP using CodeIgniter framework. It uses MySQL as the data back end and has a Bootstrap 3 based user interface.
http://www.opensourcepos.org
Other
3.41k stars 2.17k forks source link

block the sale of items below the wholesale price or require manager approval #3214

Open CMR237 opened 3 years ago

CMR237 commented 3 years ago

Background information

IMPORTANT: If you choose to ignore this issue report template, your issue will be closed as we cannot help without the requested information.

Please make sure you tick (add an x between the square brackets with no spaces) the following check boxes:

Installation information

Issue / Bug / Question / New Feature

Please write your issue here. If a bug, please make sure to provide as much information as possible including configuration settings (e.g. Decimals set, Tax mode), language and steps to reproduce the bug. //////////////////////////////////////////////

hello to you and Thank you for this wonderful program its helps us a lot and since we started using it we have encountered a problem and I hope to find a resolution here. we would like as a product to have a wholesale price and a retail price. we would like us to never sell a product below its wholesale price. can someone help us STP this is urgent. We have encountered after-sales situations that the cashier can change the price or make reductions, often going below the purchase price, which is the retail price.

CMR237 commented 3 years ago

someone knows how to solve this problem please we have already been working for more than a year with ospos and it is now that we see that most often the cashier sold products with negative margins and even we even by inattention we noticed that if someone even enters 10 € or even 1 € while the item costs 56 € and we have the wholesale price as 58 € and the retail price at 65 € its valid and we no longer want its. we want that if we enter a product price (-58 €) for example which is the wholesale price that its send us a message "price of the article not good" but if it is above 65 € as in the For example, he did not deny any problem that his validating the transaction. Please we really need help

jekkos commented 3 years ago

Hi for now a quick fix is to disallow a user to change price. go to employees and untick the box for the cashier.

CMR237 commented 3 years ago

hello thank you already for your suggestion yes I understand you but the problem is that our mode of operation is a little complicated our customers sometimes like to offer a price on an item and to face the competition seen that we know our margin we accept if we find the price reasonable. and if the price remains on file the cashier will have trouble entering this price. I even blocked to allow him to only make reductions but even on this side the reductions von sometimes up to 100% and his always made negative margins. not to mention that he complains of taking a long time either to assess the percentage of reduction to be made on the price which is there to reach the price given by the customer or to try to make a reduction to enter the price to be removed from the price existing product. we need the wholesale price and the retail price to help the cashier to accept a price that the customer gives in that range or more but never less. but it often happens that he enters a sum much lower than this interval and validates the transaction. and we find that the best if possible is to block the sale of items below the wholesale price, we know that we will no longer have this kind of inconvenience

CMR237 commented 3 years ago

seeing that its really important to us we are ready to really get along with someone so that it gives us a hand since we do not want to change software we love it and we have been using it for more than 'one years old and we want to solve it as soon as possible thanks in advance

molomixx commented 3 years ago

buen punto con este problema... tiene razon debe ver una validacion para ese tipo de problema, tambien acoto cuando hay devoluciones de productos vendidos o comprados es engorroso ya que solo deberias ingresar la operacion a devolver y deberia obtener los productos a detalle a devolver y no ingresarlo uno a uno eso generaria errores si no es detallista o no se tiene el ticket de venta o compra

CMR237 commented 3 years ago

hello there is really no one here to help me orient me. and i have yet another problem not allowing the sale of 3n products out of stock

ekardian commented 3 years ago

hello there is really no one here to help me orient me. and i have yet another problem not allowing the sale of 3n products out of stock

wait , the devs are maybe bussy, but good point

CMR237 commented 3 years ago

oui merci je reste en attente ... j'imagine qu'ils sont vraiment occupés. c'est deux modifications vont nous sauver la Vie et j'imagine pleins d'autres.

CMR237 commented 3 years ago

good evening everyone, I'm really stuck with my problem, is there really no way someone can help me? even if it's 3n m3 saying what to do and in which file to intervene or telling me what to pay for these modifications. because we have stopped everything since we want to solve this problem before restarting the sale or really choose another but its would be complicated since it is necessary to start all over imported products etc. please i need help

odiea commented 3 years ago

Train or replace your cashiers.

CMR237 commented 3 years ago

good evening everyone, I'm really stuck with my problem, is there really no way someone can help me? even if it's en me saying what to do and in which file to intervene or telling me what to pay for these modifications. because we have stopped everything since we want to solve this problem before restarting the sale or really choose another but its would be complicated since it is necessary to start all over imported products etc. please i need help

CMR237 commented 3 years ago

Hello @odie @jekkos @objecttothis I understand but we always say that we do not trust a user we lock everything possible at the code level. We have already told them how to operate but as the error is human we therefore do how we ourselves we had to make this type of error. reason why we want blocked to be sure. I don't know what are the implications of my request on this project because I would like some explanation and if it is possible since we are keen on these changes. than allowing people to make mistakes the better it is blocked and everyone is safe. we are ready have discussed with people ready to help us. since we have been using more applications for two weeks now

jekkos commented 3 years ago

This last commit has a patch that would disallow selling negative stock.. The price rule is a bit more work to implement alas.

jekkos commented 3 years ago

For the latter i would suggest to disable the price change permission for the cashier.

daN4cat commented 3 years ago

I'm not sure the disabling of negative stock selling will be accepted by everyone. There are cases where the stock is packed in the shop and not reloaded yet in ospos but to please a customer you sell it straight away. Another case is that ospos is not correctly reflecting what's in stock.

daN4cat commented 3 years ago

I never touched this part for that reason and also have vague memories of past conversations about this point.

objecttothis commented 3 years ago

This last commit has a patch that would disallow selling negative stock.. The price rule is a bit more work to implement alas.

Yes, this needs to be optional to prevent negative inventory sales. Incorrect inventory happens enough in our store that the current warning message is enough. I can see how wanting to prevent or require manager approval would be wanted by some though.

objecttothis commented 3 years ago

For the latter i would suggest to disable the price change permission for the cashier.

This could also be done by disabling but giving the option for manager password approval.

daN4cat commented 3 years ago

I vote to make it optional, sorry for yet again another checkbox story.

CMR237 commented 3 years ago

thank you very much to all i will be looking at the negative stock update. and in relation to the sale for the entered price which must never be lower than the wholesale price. if it is possible and someone can help me i am ready to handle those working hours. since our mode of operation obliges us to be sure that the seller will never enter an amount lower than the wholesale price of each product, thank you very much for your interest in my problem

CMR237 commented 3 years ago

Je vote pour le rendre facultatif, désolé pour encore une autre histoire de case à cocher.

yes I agree if at the configuration level if we can put a box Checked to authorize the sale of negative stock it would be cool

CMR237 commented 3 years ago

Ce dernier commit a un patch qui interdirait la vente de stock négatif. La règle de prix est un peu plus de travail à mettre en œuvre hélas.

Hi @jekkos yes I understand and I imagine but currently it is a requirement due to our mode of operation we want to be sure that even without checking the sales sheet day by day that the application never allows a sale of products 3n below the price wholesale.

CMR237 commented 3 years ago

Pour ce dernier, je suggérerais de désactiver l'autorisation de changement de prix pour le caissier.

Hi @jekkos we had first put everything on a standstill since we were doing the half-yearly inventory very late. but the cashier complains since we have blocked the permission to change the price. that the price given by the customer no longer arrives as entered and that it takes a long time to calculate the reduction he must apply to reach the customer's price. and he says that the customers who he will produce a high price compared to the retail price no longer pay as his since now he no longer went beyond of the retail price since it is blocked. and he really has to be able to change the prices since we operate as its we just want the application to no longer allow the sale below the wholesale price. Thanks in advance for more

CMR237 commented 3 years ago

For the latter i would suggest to disable the price change permission for the cashier.

@jekkos hi and have a good Sunday thank you very much for your interest in my problem. we had already stopped everything for a whole month to do the half-yearly inventory. but before that we had blocked the price change and the cashier complained that he could no longer easily make reductions to reach the price given by the customer. and that these commissions had lowered since there are customers who buy the products beyond the retail price and he cannot enter this anymore since it is just restricted to making discounts. its disturbing us and its disturbing a little our way of functioning. reason we just wanted a condition that no product is sold below the wholesale price. make a condition to see if the price entered or the reduction made regardless of the user is greater than or equal to the wholesale price if yes we validate Otherwise we reset the unit price or we delete the product line until it respect the instructions

CMR237 commented 3 years ago

we stick to this wholesale price condition before business resumes by this week. since since the resumption of activities from the Corona we have returned to the old version we invoice with a biller by hand and record the sales in a register it was a question for us to update ospo since we were using an old version to do the migration from the old database thing to add two machines to the local network and all these went well. in short this week we are going to destock in the machine and hand over to the stock manager and the cashier so that he continues with ospos if possible we will be grateful if we already had part of the solutions for the price condition

daN4cat commented 3 years ago

With regards to lock sale price to cost or wholesale price, if you run a clearance you could sell below cost price to clear stock and avoid paying corporate taxes over that capital not worth the cost price anymore. Quite true for fashion world like my wife's case.

CMR237 commented 3 years ago

With regards to lock sale price to cost or wholesale price, if you run a clearance you could sell below cost price to clear stock and avoid paying corporate taxes over that capital not worth the cost price anymore. Quite true for fashion world like my wife's case.

@daN4cat yes yes I understand perfectly and I recognize that asked me is not valid for any activities as in your case. with us we often do two things During the liquidation as we do in the perfumes and cosmetic products we change the prices in advance in the machine. or we decide to sell with a biller as currently. I tell myself that if we solve my particular problem now everyone is not obliged to make this update and that during the official release that it enters the parameters so that at any time we change the options of shops. for example we have a checkbox which allows to say whether or not we want to sell below the wholesale price if yes we want to sell below we do not check and otherwise the check of the wholesale price comes into play. to be sure that at no time can we sell at a loss

CMR237 commented 3 years ago

short what I want to say is that for the moment one can seek to make modifications relating to this problem and if there are other people who also want to make this condition of sale. take this part of code and do it while waiting for an official version that will allow you to Configure your store. and I know that there will be many people who leave their business to someone else who would like this condition since in normal times its loss limits. or sales at a loss since when we put the wholesale price most often for us it is the price with which we bought the product and if unfortunately we sell the products below the price we generate losses and the can be everyone the seller as the responsible. if it is the period of sales or liquidation it may not have a problem but in normal times or the activity is at its peak or the products still have a good expiration date, it is Fatal. imagine that we end up with at least 100 items sold at a loss at one time. since we sell hundreds a day. yes we are going to reprimand the seller we are going to kick him out or throw him in prison but it will not change anything the next one could also make this type of error since it is possible we find that really if possible we block on the application and we are sure that this kind of error will not happen again.

kta007 commented 3 years ago

Ce dernier commit a un patch qui interdirait la vente de stock négatif. La règle de prix est un peu plus de travail à mettre en œuvre hélas.

good evening to all me too I would like to have the condition on the price @jekkos which you say is impossible. whereas I myself want this type of restriction on the prices and I hope to find a solution. me for example I develop a little in php and I already do a lot of test but I did not succeed and I say to myself that on the forum someone would have already found how to do it

CMR237 commented 3 years ago

@jekkos there are at least three people waiting for the resolution of this problem thank you really for thinking of us even if it is a temporary solution if its blocking in any way a sale of products below its wholesale price I am a buyer even if it is necessary to improve afterwards if its blocked already known

jekkos commented 3 years ago

@CMR237 Please stop speaking as if I owe you a solution. I actually don't.

And did you even read my reply? I said I pushed a fix to a branch and that a zip is available for download. It's not ready as a mainstream solution but it would already unblock you.

CMR237 commented 3 years ago

Ce dernier commit a un patch qui interdirait la vente de stock négatif. La règle de prix est un peu plus de travail à mettre en œuvre hélas.

good evening to all me too I would like to have the condition on the price @jekkos which you say is impossible. whereas I myself want this type of restriction on the prices and I hope to find a solution. me for example I develop a little in php and I already do a lot of test but I did not succeed and I say to myself that on the forum someone would have already found how to do it

sorry very sorry to have given you the impression that I was particularly accelerating you Mr jekkos for my problems and I will be careful soon. for the resolution of the negative Stock its already working thanks to the corrective that you posted really thank you it is the part of the price control which always disturbs. and I admit I should have said a big thank you here for its and to say that its Marchais already. I'm just a fool please apologize really once again sorry

CMR237 commented 3 years ago

@ CMR237 S'il vous plaît, arrêtez de parler comme si je vous devais une solution. En fait, je ne le fais pas.

Et as-tu même lu ma réponse ? J'ai dit que j'avais poussé un correctif sur une branche et qu'un zip est disponible en téléchargement. Ce n'est pas prêt en tant que solution grand public mais cela vous débloquerait déjà.

@jekkos just that I had a little pressure on the price control I felt frustrated and I saw in you someone who was able to give me a hand since since then I did not move forward on this work that keeps me going to heart . sorry for carrying the frustration of my inability to disturb you and thank you already for what you have done

objecttothis commented 3 years ago

With regards to lock sale price to cost or wholesale price, if you run a clearance you could sell below cost price to clear stock and avoid paying corporate taxes over that capital not worth the cost price anymore. Quite true for fashion world like my wife's case.

In the industry this is called a "loss leader" It is used most heavily to get customers to buy other things along with the item, so that even though you are losing money on that item, you are gaining on higher profit margin items. For this reason, the setting should be made optional. In many cases you don't want to sell below wholesale, but some will want this... perhaps a warning toast notification when a sale percent causes the retail price to dip below wholesale? We do this same thing with inventory quantities currently when someone tries to sell something without sufficient inventory.

jekkos commented 3 years ago

Agree it should be optional. I pushed this fix initially to help our good friend @CRM237. So not ready for merge unless we have a config option.

CMR237 commented 3 years ago

hello everyone @jekkos m'y good freind i think @objecttothis is talking about price checks and telling you about negative stocks which have been perfectly resolved by you. And I'm still stuck on prices I've already looked for a tired solution I've tried everything but nothing so far please help me

objecttothis commented 3 years ago

@CMR237 please see my response above. Some people will want their items to be able to be sold retail for less than wholesale. That's what a "loss leader" is. What this means is that the setting you are asking for "stop retail sales prices from being below the wholesale price" must be an optional checkbox that can be enabled, but is disabled by default.

The setting you are asking for can be useful and I may implement a variation of it down the road (requiring manager approval to make the retail price below the wholesale), but it will be a little while before I can get to it. If @jekkos or someone else would like to implement the checkbox before, then that is fine too.

objecttothis commented 3 years ago

https://en.wikipedia.org/wiki/Loss_leader

CMR237 commented 3 years ago

@CMR237 please see my response above. Some people will want their items to be able to be sold retail for less than wholesale. That's what a "loss leader" is. What this means is that the setting you are asking for "stop retail sales prices from being below the wholesale price" must be an optional checkbox that can be enabled, but is disabled by default.

The setting you are asking for can be useful and I may implement a variation of it down the road (requiring manager approval to make the retail price below the wholesale), but it will be a little while before I can get to it. If @jekkos or someone else would like to implement the checkbox before, then that is fine too.

@Objecttothis ok thank you I understand you better and you are right and I validate the proposal to put a box checked. if you can then help me to do this check as you say i would be grateful i just want a committee that will help me and after if we put it in ospos i just update for a clean version but currently I'm really stuck since

CMR237 commented 3 years ago

https://en.wikipedia.org/wiki/Loss_leader

Hello and Thank you for this really clear article myself I agree with his and when we want to do it at home we return to the application we change the prices by putting new lower prices. I do not dispute what you are saying and I agree. but now in our case we have a cashier who is an employee even if it is someone of trust we gave him the rights to modify the prices of products in the sale seen that some customers propose their price and if it is reasonable we take; but now where there is the hick it is that he has the possibility of entering even 1 € its valid while the article costs 25 € and it is his that we do not want any more since before seeing that he has already sold and its no use cutting his pay all the time. but now we find it reasonable to control the wholesale price and be flexible when entering this amount. and if it happens that we want liquid like at the end of the year or the sales period we just change the wholesale prices it is a bit tedious but we are sure that we can never be in the losses again involuntary. and if you can help us to do this check even if it's just for us before the community validates we will be grateful to you thank you very much

CMR237 commented 3 years ago

hello hello here all i hope you are doing well nobody could find a solution to my problem to help me? I'm really stuck

objecttothis commented 3 years ago

@CMR237 sorry, but I have too much work. If no one wants to make the change then you may need to hire a developer to do the change. If you want to merge it into the master then they will need to submit a Pull Request and we will do a code review. The change has 4 components.

This change is not an incredibly involved change but would take likely a few hours for a dev to make then test. If you look for a dev to hire they should be familiar with MVC, PHP and ideally CodeIgniter.

CMR237 commented 3 years ago

okay if you have someone currently on hand i would like to have them write to us here adrienkamenikmario@gmail.com the sooner the better

objecttothis commented 3 years ago

@CMR237 you might go here https://www.upwork.com/hire/php-developers/ or another remote developer platform. You can send them the link for this issue and they can ask questions here before giving you a quote. They need to understand that this is an opensource project and their code will have to pass code review to be merged.

objecttothis commented 3 years ago

Here is another site. https://www.toptal.com/codeigniter

CMR237 commented 3 years ago

Thank you so much. and I also found a little problem I don't know where it's coming from. I have a local network of two machines connected by a tplink manually configured in ipv4 and a database of at least 12,000,000 different articles and for 3 days the application has been slow whether on the server machine or on the Client machine. chose that we didn't have since when we started with ospos. the only configuration I made on xampp this time if it is to put the ip address of the server machine to allow local access. I don't know if it is this configuration that is causing the problem. still it is loaned even on the local server

CMR237 commented 3 years ago

it is the whole application that is slow to access information or to the hard module. artist page sales page loading articles Pourmets du temps

daN4cat commented 3 years ago

By the way, guys, to run stuff of Windows with all the attacks and hacks it's crazy. Switch to Linux to reduce the problem.

ekardian commented 3 years ago

By the way, guys, to run stuff of Windows with all the attacks and hacks it's crazy. Switch to Linux to reduce the problem.

for the love of God, i dont know how a good friends tries with windows, but i thing in 70 years windows gonna be free too XD bless

stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.