Frustration with trying to sell items by weight

As a retail store that sells a lot of our stuff by weight its been pretty frustrating trying to adapt the POS to try and sell anything by weight.

I’ve tried all the apps for selling by weight, and while some of them work they are all unacceptably slow. With a busy retail store when we are backed up I can’t have the cashiers waiting 2-3 seconds for the app to do something in the backend and actually add an item to the cart- it needs to be near instant.

I got so frustrated by the slowness of all the apps that I built my own POS extension to find out what the limitation actually was. It turns out that I could magically transform an added cart item to a fractional amount and the interaction appears near instant- but it requires having Shopify Plus.

Maybe someday I’ll be able to afford $2300/month for Shopify Plus, but not at this moment. When speaking with customer support on the issue, they said that I can always just ring these items up as a custom sale. And of course I can do that, but that collects about as much data as a 1950’s cash register, maybe even less.

It is just so incredibly frustrating. Selling an item by weight / in fractional amounts is something that happens probably a billion times each day on this planet, and yet this platform does not support it.

I don’t really see how Shopify can make a serious case for itself as a retail POS solution without this ability. Other than this one issue it is a great platform, and I’m super happy with how well everything works. Until this is fixed though I’ll be using the old POS hoping this is addressed.

If the bulk of products are sold by weight, I think I would look into integrating another pos system like square. Square supports weighted products natively.

Hey @reginascandies

There’s a native workaround that avoids both the app slowness and the data loss of custom sales, and it’s worth trying before you write off the new POS. Instead of fractional quantities, define the product itself in a small unit and let quantity do the work. So set your bulk candy up priced per gram, then the cashier weighs it and enters the weight as the quantity, 250 grams is just quantity 250. It’s plain quantity entry, so it’s instant with no app call in between, and because it’s a real product you keep full product-level reporting and inventory, which is the exact thing custom sales strips away. Inventory even tracks in grams, which is more accurate than what most weight apps give you. If per gram feels too granular for your prices, per 10 grams works the same way with a bit less precision.

On the other side, this board is merchants and partners though, so it won’t reach the team, worth posting on community.shopify.dev where Shopify’s POS and dev people actually engage.


Hope that helps! If it did, a Like and Marking it as Solution goes a long way and helps others find the fix faster too.

Best,
Moeed

Shopify Plus: Rewriting a cart line’s price needs a Cart Transform function, and

Some math on per gram idea above: A Shopify price only stores 2 decimal places. I tested it: type 0.0507 and it saves as 0.05.

At candy prices that breaks:

  • $18.99/lb is $0.0419 per gram.
  • You can only enter $0.04, which is $18.14/lb and loses you 85 cents a pound.
  • Or $0.05, which is $22.68/lb and overcharges by $3.69 a pound.

Price per 0.01 lb instead.

  • The unit price is your per pound price divided by 100. $18.99/lb becomes $0.19.
  • That lands on $19.00/lb, so you are one cent a pound out instead of dollars.
  • Your scale already reads 0.65 lb. The cashier types 65. No conversion at the counter.
  • If your scale is set to pounds and ounces, switch it to decimal pounds.
  • Metric version of the same trick is per 10 g.

Set up

  • Put the unit in the product title so the receipt reads right.
  • Track inventory in the same unit. 100 lb in the case is 10,000.
  • Sales reports show quantity in hundredths of a pound, so divide by 100.
  • It is plain quantity entry, nothing calls out to an app, so it rings up as fast as anything else in the cart.
  • There is no low ceiling on line quantity. I pushed 2,500 onto a single line and it went through.

Regards,
Ploqo

I’ve thought about this solution but it is a hack and it is not how products are sold. Products are sold by the pound- that’s how my employees work and that’s how the customers buy it. Having something by the 100th of pound would just confuse every one.

Have you ever bought chocolate by the 1/100th of a pound? No? Ok then you should never sell it that way.

No serious retail store that does millions in business each year is going to use something like that.

Hey @reginascandies, the POS cart quantity field is an integer by design, which is why every weight app has to round-trip through the backend to fake a fraction and why they all feel sluggish. Honestly I’d stop fighting that and re-unit the products instead: price each item per its smallest sold unit (per 10 g, per 100 g, per ounce) and put that unit in the product title so the cashier sees what they’re punching. The weight then goes straight into the native quantity field, no app call, so it lands instantly and you keep full product-level reporting. Ring one up and confirm the line total equals unit price times the units entered.