New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce backorder stock status + automatic assignments #11259

Closed
mikejolley opened this Issue Jun 27, 2016 · 15 comments

Comments

@mikejolley
Member

mikejolley commented Jun 27, 2016

Right now backorders are a bit weak. We add meta data to orders when a backorder is made, and we keep the item 'in stock'.

I propose having a new 'on-backorder' status.

This would mean you could for one thing, filter products by backorder status to see what is currently on backorder.

It would also simplify the availability class code.

And to keep the stock status easier to use and to reduce likelihood of status/stock level conflict, I suggest we hide the stock status field if stock management is enabled and set it automatically.

  • Stock level < Out of stock threshold (no backorders) - set out of stock
  • Stock level < Out of stock threshold (with backorders) - set on backorder
  • Stock level > Out of stock threshold - set in stock

TODOS:

  • Register new stock status named on-backorder
  • Update data stores to accept backorder status
  • Set on-backorder status based on stock and backorder setting criteria as outlined above
  • Update product displays to use the new status
  • Update routines to set correct status after the update

@mikejolley mikejolley added this to the 2.7 milestone Jun 27, 2016

@jameskoster

This comment has been minimized.

Show comment
Hide comment
@jameskoster

jameskoster Jun 27, 2016

Member

And to keep the stock status easier to use and to reduce likelihood of status/stock level conflict, I suggest we hide the stock status field if stock management is enabled and set it automatically.

Big +1!

Member

jameskoster commented Jun 27, 2016

And to keep the stock status easier to use and to reduce likelihood of status/stock level conflict, I suggest we hide the stock status field if stock management is enabled and set it automatically.

Big +1!

@franticpsyx

This comment has been minimized.

Show comment
Hide comment
@franticpsyx

franticpsyx Jun 27, 2016

Member

@mikejolley +1. Always felt that a on-backorder status would make more sense. Also this will resolve various quirks / confusion, for instance:

  • Setting a positive stock when a product stock status is Out Of Stock switches the status to In Stock (?!). Makes sense but creates confusion in some cases.
  • When a product status is Out Of Stock but backorders are allowed, the status is ignored.

And to keep the stock status easier to use and to reduce likelihood of status/stock level conflict, I suggest we hide the stock status field if stock management is enabled and set it automatically.

The only issue I see with this is that we won't be able to set a product as Out Of Stock without changing the inventory count. In some cases, this is a very welcome feature. After the change, shop managers will need to remember (or re-check with inventory dpt) the remaining stock count in order to change back the stock status to In Stock.

Member

franticpsyx commented Jun 27, 2016

@mikejolley +1. Always felt that a on-backorder status would make more sense. Also this will resolve various quirks / confusion, for instance:

  • Setting a positive stock when a product stock status is Out Of Stock switches the status to In Stock (?!). Makes sense but creates confusion in some cases.
  • When a product status is Out Of Stock but backorders are allowed, the status is ignored.

And to keep the stock status easier to use and to reduce likelihood of status/stock level conflict, I suggest we hide the stock status field if stock management is enabled and set it automatically.

The only issue I see with this is that we won't be able to set a product as Out Of Stock without changing the inventory count. In some cases, this is a very welcome feature. After the change, shop managers will need to remember (or re-check with inventory dpt) the remaining stock count in order to change back the stock status to In Stock.

@claudiosanches

This comment has been minimized.

Show comment
Hide comment
@claudiosanches

claudiosanches Jun 28, 2016

Member

I suggest we hide the stock status field if stock management is enabled and set it automatically.

And how about when you have a product in stock, but you need set the stock as "Out of Stock", for some reason like, to hold the items for a customer that you are selling by phone or wherever?
Since if you set as "Out of Stock" will stop people to buy from the frontend, but you can still create an order in the admin and reduce the stock... I saw a few people doing it.

I'm not against of remove it, just saying something we can consider... But I like the idea 😄

EDIT: I just read @franticpsyx comment 👍, that's is my point xD

Member

claudiosanches commented Jun 28, 2016

I suggest we hide the stock status field if stock management is enabled and set it automatically.

And how about when you have a product in stock, but you need set the stock as "Out of Stock", for some reason like, to hold the items for a customer that you are selling by phone or wherever?
Since if you set as "Out of Stock" will stop people to buy from the frontend, but you can still create an order in the admin and reduce the stock... I saw a few people doing it.

I'm not against of remove it, just saying something we can consider... But I like the idea 😄

EDIT: I just read @franticpsyx comment 👍, that's is my point xD

@mikejolley mikejolley modified the milestones: 2.8, 2.7 Jul 11, 2016

@Osimiso

This comment has been minimized.

Show comment
Hide comment
@Osimiso

Osimiso Oct 24, 2016

I agree with Mike. Backorders are like half done to me.
In my shop I sell most of the goods with backorder allowed(hundreds of products). To be able to manage it I added some new meta data fields fields and created a small plugin. Here I'm listing how many goods needs to be ordered, and how many are already on the road.
So have a new stock status 'on-backorder' is a step to right direction for me. It doesn't have to be complex solution at the beginning. But I would prefer to have it as a core functionality.

@claudiosanches I would say that products with backorder enabled could never trigger "Out of Stock" message. They are virtually On Stock always. If you want to hide product just change visibility.

Osimiso commented Oct 24, 2016

I agree with Mike. Backorders are like half done to me.
In my shop I sell most of the goods with backorder allowed(hundreds of products). To be able to manage it I added some new meta data fields fields and created a small plugin. Here I'm listing how many goods needs to be ordered, and how many are already on the road.
So have a new stock status 'on-backorder' is a step to right direction for me. It doesn't have to be complex solution at the beginning. But I would prefer to have it as a core functionality.

@claudiosanches I would say that products with backorder enabled could never trigger "Out of Stock" message. They are virtually On Stock always. If you want to hide product just change visibility.

@svenm73

This comment has been minimized.

Show comment
Hide comment
@svenm73

svenm73 Nov 25, 2016

first thanks to Mike for pointing me to this threat.

just to give me 2 cents - I totally agree - the current backorder handling is not correct and does not work when you have an ERP System in the background. When a product is physically out of stock but available on backorder, the user needs to be able to add it to the cart - but still needs to see on the frontend that the product is only available on backorder.

kind regards
Sven

svenm73 commented Nov 25, 2016

first thanks to Mike for pointing me to this threat.

just to give me 2 cents - I totally agree - the current backorder handling is not correct and does not work when you have an ERP System in the background. When a product is physically out of stock but available on backorder, the user needs to be able to add it to the cart - but still needs to see on the frontend that the product is only available on backorder.

kind regards
Sven

@aurora

This comment has been minimized.

Show comment
Hide comment
@aurora

aurora Jan 1, 2017

I totally agree with Sven on this.

aurora commented Jan 1, 2017

I totally agree with Sven on this.

@puregraphx

This comment has been minimized.

Show comment
Hide comment
@puregraphx

puregraphx Jan 30, 2017

+1 @svenm73
We have a different message next to the add to cart button for in stock and out of stock status indicating the delivery time (2 days vs 2 weeks for backorders). So, when we have to set a product to In Stock in order for the Backorders to work, people are misinformed by the In Stock message.

To sum up: Out of Stock + Allow Backorder should allow customer to place an order.

puregraphx commented Jan 30, 2017

+1 @svenm73
We have a different message next to the add to cart button for in stock and out of stock status indicating the delivery time (2 days vs 2 weeks for backorders). So, when we have to set a product to In Stock in order for the Backorders to work, people are misinformed by the In Stock message.

To sum up: Out of Stock + Allow Backorder should allow customer to place an order.

@mickand

This comment has been minimized.

Show comment
Hide comment
@mickand

mickand Jan 30, 2017

Totally agree with puregraphx

Out of Stock + Allow Backorder should allow customer to place an order.

mickand commented Jan 30, 2017

Totally agree with puregraphx

Out of Stock + Allow Backorder should allow customer to place an order.

@mikejolley mikejolley added this to the 3.0 milestone Feb 6, 2017

@thomasmery

This comment has been minimized.

Show comment
Hide comment
@thomasmery

thomasmery Feb 28, 2017

FWIW

seconding: Out of Stock + Allow Backorder should allow customer to place an order

at the moment it's, imho, really counter-intuitive to have to set a Product as 'In stock' just to allow backorders

I have the feeling that some might argue that 'In Stock' means either actual 'In Stock' or 'Can be ordered' (if Allow Backorder is true)

but is it not more straight fwd to consider 'In stock' as 'We have the product ... In Stock ... and thus don't need to order it for you'

but maybe I'm just confused :)

and hoping Mike's proposal goes fwd as it seems a good solution to clear the confusion

thomasmery commented Feb 28, 2017

FWIW

seconding: Out of Stock + Allow Backorder should allow customer to place an order

at the moment it's, imho, really counter-intuitive to have to set a Product as 'In stock' just to allow backorders

I have the feeling that some might argue that 'In Stock' means either actual 'In Stock' or 'Can be ordered' (if Allow Backorder is true)

but is it not more straight fwd to consider 'In stock' as 'We have the product ... In Stock ... and thus don't need to order it for you'

but maybe I'm just confused :)

and hoping Mike's proposal goes fwd as it seems a good solution to clear the confusion

@mikejolley mikejolley modified the milestone: 4.0.0 Mar 17, 2017

@UserName011

This comment has been minimized.

Show comment
Hide comment
@UserName011

UserName011 Mar 29, 2017

I think this can be a bit wider.
If we also consider this:
#12596

Item could be not in stock but still get orders which will be fulfilled when stock is available (if store owner allow this).
It is possible to give a more flexible approach to handle this.

UserName011 commented Mar 29, 2017

I think this can be a bit wider.
If we also consider this:
#12596

Item could be not in stock but still get orders which will be fulfilled when stock is available (if store owner allow this).
It is possible to give a more flexible approach to handle this.

@tquadra

This comment has been minimized.

Show comment
Hide comment
@tquadra

tquadra Apr 28, 2017

I asked about that in woocommerce.com support ticket 487434 and got an answer that the current behavior was intended for "broader convenience". I don't understand why the more logic approach suggested here would have negative effects, but I accepted the answer.

I am glad to see the improvement is been handled and I support the request to allow Out of Stock + Allow Backorder should allow customer to place an order. A 3rd status 'in backorder' would work as well.

Is there anything we can do to have that change in a minor release or anyone interested in crowfunding a custom development to change that behavior while we wait for the next major release?

tquadra commented Apr 28, 2017

I asked about that in woocommerce.com support ticket 487434 and got an answer that the current behavior was intended for "broader convenience". I don't understand why the more logic approach suggested here would have negative effects, but I accepted the answer.

I am glad to see the improvement is been handled and I support the request to allow Out of Stock + Allow Backorder should allow customer to place an order. A 3rd status 'in backorder' would work as well.

Is there anything we can do to have that change in a minor release or anyone interested in crowfunding a custom development to change that behavior while we wait for the next major release?

@mikejolley

This comment has been minimized.

Show comment
Hide comment
Member

mikejolley commented Jul 15, 2017

@bjonespro

This comment has been minimized.

Show comment
Hide comment
@bjonespro

bjonespro Aug 19, 2017

I would like to see verbiage added in the cart stating the number of items that are being back ordered. For instance: a customer orders 7 of an item when only 5 are currently in stock and the other 2 can be delivered shortly after. This is allowed but not shown in the cart. The cart makes it appear that all 7 are being shipped immediately. Is this something that could be addressed?

bjonespro commented Aug 19, 2017

I would like to see verbiage added in the cart stating the number of items that are being back ordered. For instance: a customer orders 7 of an item when only 5 are currently in stock and the other 2 can be delivered shortly after. This is allowed but not shown in the cart. The cart makes it appear that all 7 are being shipped immediately. Is this something that could be addressed?

@surferking

This comment has been minimized.

Show comment
Hide comment
@surferking

surferking Oct 17, 2017

@bjonespro we use these plugins to address the use-case you describe:

This one creates a Custom Post Type called 'Order Shipments' to show below Orders on the My Account page:
https://woocommerce.com/products/shipping-multiple-addresses/

And this creates the connections between Shipment & Order Lines:
https://wordpress.org/plugins/packages-configuration-for-woocommerce/

That gives you the data structure you need - but you'll need to do your own theme custom stuff to display that data.

Googling "Woocommerce Partial Orders" may yield a plugin option for you to communicate that too. (not sure if I am allowed to link to non-WooTheme commercial plugs?)

I'd have posted on the #13097 but it's closed. I'll sign-up to the forum and add the same there.

HTHs

surferking commented Oct 17, 2017

@bjonespro we use these plugins to address the use-case you describe:

This one creates a Custom Post Type called 'Order Shipments' to show below Orders on the My Account page:
https://woocommerce.com/products/shipping-multiple-addresses/

And this creates the connections between Shipment & Order Lines:
https://wordpress.org/plugins/packages-configuration-for-woocommerce/

That gives you the data structure you need - but you'll need to do your own theme custom stuff to display that data.

Googling "Woocommerce Partial Orders" may yield a plugin option for you to communicate that too. (not sure if I am allowed to link to non-WooTheme commercial plugs?)

I'd have posted on the #13097 but it's closed. I'll sign-up to the forum and add the same there.

HTHs

@claudiulodro

This comment has been minimized.

Show comment
Hide comment
@claudiulodro

claudiulodro Nov 22, 2017

Contributor

The ability to set 'onbackorder' stock status through the API for products that don't have stock management enabled is going to be in API v3. See: woocommerce/wc-api-dev#75

Contributor

claudiulodro commented Nov 22, 2017

The ability to set 'onbackorder' stock status through the API for products that don't have stock management enabled is going to be in API v3. See: woocommerce/wc-api-dev#75

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment