Bulk and group buying - wishlist

tomorrow better, if possible, I’ll email you - my brain also fully loaded acting as Luke for the school holidays. I’m just trying to put all these little thoughts down in the discourse whilst I think of them :smiley:

cool, tomorrow also good :slight_smile: again, afternoon better . .

Rightio, I’ve finally had a moment to attempt to re-read this complex article one more time, and here’s a couple of comments/questions:

  • I think the separate order cycle option (option 1) is the way to go - for timing/stock levels/most everything else. Not sure how much more difficult this is in terms of back end. One of the main problems with our current retail system is that we can’t change the cut off time, I can see that this would be frustrating for buyer’s clubs to get their customers to work to an earlier cut off time with no help from the system (e.g. the order cycle stays open until noon Thursdays but buyer’s club has to communicate that it’s 10pm Wednesdays for their customers - better if each group/hub/producer’s actual cut off is real and true.)

  • How’s the magical csv order import dreams going? Is it even a possibility? I think it would open up the ordering to people using any external system, not just LettuceShare. In this case, would it mean that the buyer’s club can obtain all of their orders, adjust amounts with bulk order management, pull a report of their totals, then import it into Food Connect’s Order Cycle - hey presto, super simple ordering!

  • In terms of the visibility of variants, I think we would be happy to see all the little variants, as we may offer them from time to time - AND if we end up using the system for retail then we will need all of those little variants ourselves :smile: However, we will need to look at who’s editing them, and how much freedom there is for this editing, as I noticed this morning that the name of one of our master products had been edited. It would be great if the master products can be locked from editing, and only variants can be added and edited. Possible? Also, presuming at this stage that it’s only products can that be edited by others, not producers?

@timrwtaylor FYI all this in addition to the email I just sent you :smiley:

Pricing thoughts:

We sell 6 x Jar of something at a retail price. Presuming Buyers Clubs would generally offer 1 x jar of that product at a price which is FC’s price divided by 6 plus a markup (or however they choose to do it). However, sometimes we offer a single option as well. If the FC single variant is already in the system (therefore a Buyer’s Club doesn’t need to create it) then how would the Buyer’s Club adjust their pricing to relfect the true cost to their customers?

Following that thought through, if @timrwtaylor is adding single variants to the FC product list, presumably they are going in at the Buyer’s Club price. If FC chose to offer that same variant, how would we then reflect our true price? I know that this is going to go back into the True Pricing discussion, fees and mark ups, and might already be where it starts to come back to bite us…

Hi @lisahill,

This will be my first community post :D.

Yes I was just wrestling with this same potential problem:

@Kirsten, this is exactly the conceptual difference in variants that I brought up yesterday. ie The three categories of variant might need to have different behaviour:

  1. A buyer’s group “consumer” variant of a product
  2. VS a FC wholesale variant
  3. VS a FC retail variant.

But that all depends on whether pricing, and other attributes, are flexible enough to accommodate 1 single variant being handled in a multitude of ways.

For example if there is a variant of 1x jar, currently it would be possible to add this variant to a FC retail order cycle AND/OR a BG’s order cycle.

I think the “base” price (set up in Bulk Edit Product, probably by FC) should be FC’s wholesale price divided by 6.

But in my BG’s order cycle I would want to apply our x%, say 15%, markup to that base price.

  • @Kirsten Is adding that 15% markup done by using the fees dropdown in the order cycle?
  • If yes, then another BG (or FC retail) would safely be able to add a 20% markup to that same “base” price. Which gives us the functionality we’re looking for I believe. @lisahill - does that work?
  • Again if yes, the complication in my eyes is that the prices shown on the “Bulk Edit Products” screen for BGs would not be the prices that the BG offers the products at. So there would be no “master inventory list” of variants that my BG offers, with details (price) correct from the perspective of my BG.

Apologies if there’s something in the workflow that I’ve missed or if I’m misunderstanding what the different screens are used for. I admit that I haven’t had time to read any of the documentation and I’m trying to learn by doing, to save time.

You’ll probably get an idea of whether or not OFN is intuitive to use for a BG admin if I continue following this “suck-it-and-see” approach!

Tim

@lisahill, @kirsten, I’ve started the below topic for our progress on entering FC products/variants into OFN.

Hi @Kirsten,

As I mentioned in my email to you today, my current preference is to create a 0.1kg variant of products sold FC wholesale by the kg. This means that our co-op members would need to enter 23 qty so that they have ordered 2.3kg.

I don’t really want to do it this way because it will look strange to our members on our co-op OFN shopfront but I don’t see another option while OFN restricts quantity to be an integer not a decimal.

I would prefer to show a variant of 1 kg/1 item/1 bottle for every product. It would be far simpler for us to manage.

In the ideal world OFN would just calculate the per 1 kg/item price for me; ie BGs would not need to set up their own 1 item variant. Instead in the Order Cycle setup GUI I’d select the FC wholesale variant (eg 6 bottles of milk) and check a box called “display as 1 unit”. This would mean our shopfront would show 1 bottle of milk, whose price is the FC pack price divided by 6.

But the first most important step towards that goal would be allowing our members to add decimal amounts in the quantity field.

That would be the #1 enhancement to make OFN work for BGs that operate the way we do.

Tim

Hi @Kirsten,

I’ve now tried out some of our hub’s workflow in OFN. I concentrated on the three most time-consuming steps in our current spreadsheet based way of working:

  1. Making substitutions. The co-op administrator will update existing rows, deletes existing rows and add new rows to member orders. This is because we don’t place an FC order that contains every single product requested by any/all of our members.
  2. Managing unallocated stock - ie the products we ordered from FC but have not allocated out to members.
  3. Creating the packing list, ie each member’s quantity of each item.

OFN does step 3 automatically for us, creating the packing list, but OFN does not appear to have functionality to deal with steps 1 and 2.

Below I’ve outlined the workflows I would have to follow to execute steps 1 and 2. All three of these workflow steps come after the co-op members have made their “Initial Request” (ie placed an order in the Deagon Coop shopfront" and the order cycle is closed.

@Kirsten please would you let me know if OFN has functionality I haven’t found yet that gives hub admins the ability to do steps 1 and 2 without the convoluted workflows that I’ve described below.


Making Substitutions

As a co-op admin the Bulk Order Management screen is useful but I cannot create a new item in a member’s order from here.

If for example 7 members ordered 8kg total of green apples and another 3 members ordered 4kg total of red apples the co-op admin may have decided to only order 1 pack of 12kg of green apples from FC.

We know that the 3 members that ordered red apples are happy with us allocating them green apples instead. But Bulk Order Management does not allow me to enter new products into members’ orders. I can update or modify the existing items in a members’ order, but I can’t add a new product of “green apples”.

I realise that I can go into Orders instead, open each member’s order and manually add green apples to each of those orders. But this workflow is more labour intensive than our current spreadsheet-based system.

Am I missing anything?


Managing Unallocated Stock

To do this in OFN I think I would need to do:

  1. Open our order with FC in one browser tab.
  2. View the “Order Cycle Supplier Totals” report in a second browser tab.
  3. Compare the two tabs to work out the unallocated quantities of each product.
  4. Enter the unallocated quantities as the “on hand” amounts of the variants on the Deagon Coop Products screen.
  5. Open up a secondary order cycle to our members which would only include products which were unallocated. Tell the members to go in and select products from the unallocated inventory.

The secondary order cycle is only necessary because I believe members cannot go in and amend their initial order. Am I correct?

And a follow up question on this secondary order cycle…
Our “Initial Request” order cycle goes from Tuesday 8pm to Wednesday 9pm.
Our “Unallocated” order cycle goes from Wed 9pm to the following Wednesday, say 9am.

But the next week’s “Initial Request” cycle opens while this week’s “Unallocated” order cycle has not yet closed. Does that cause problems? Would members be able to tell which order cycle they’re in at the Deagon co-op shopfront?

Obviously I can avoid the complexity of the secondary order cycle if I (co-op admin) manage unallocated stock myself “manually”. ie Send out the unallocated list to all my members and then enter their requests into their orders. But again this is more work for the co-op admin than our current spreadsheet-based system.

Just working through all this and will respond to all your questions @timrwtaylor, but just want to clarify something about your process (checking I understand right) . .

Once you have your initial orders in, you make some ‘calls’ about what you’re going to order - and generally this means dropping some products and rounding up for others, so that your ‘unallocated’ order cycle is the amounts remaining on the products you have decided to over-order?

The reason I’m asking is because I’m working with another buying group here in Melbourne to update / fix the Bulk Coop/Supplier Totals report, which basically uses the bulk amounts and the total amount ordered to calculate how many to order, and how many are ‘short’ e.g. she has orders for but don’t make up a bulk pack.

She has suggested it would be more useful if it ‘rounded up’ and told her how many she had ‘unallocated’ or ‘left’ . . .which sounds like it might be the same thing you’re asking for, in which case getting this report right is going to simplify a step for you too . .

Starting a page to outline proposed changes to this report and would be great if you could weigh in - Report: update/fix Bulk Coop - Totals by Supplier

Pricing:

I think no problem. I have tried to explain in attached file.

  • Underlying Variant has price set by FC (post set-up in which Tim is helping)
  • once set-up is complete, and Tim’s permission to manage those producers is removed, the products won’t actually appear in Tim’s product list at all
  • BG can add it to order cycles, add fees to it etc
  • If BG want to set different price, stock level etc, it can do so through use of Variant Overrides. This is where you will manage your own ‘master inventory list’ for your buying group. and you can see the proposed improvements to this interface here

Pricing Options.pptx (140.7 KB)

Quantities:

We have looked into allowing non-integer quantities a couple of times and it’s really tricky, so very unlikely to happen unless someone coughs up lots of money.

It seems to me to be very kind of you to allow people to order in whatever fractional increment they like. I am a bit unconvinced as to how critical this is as it seems like for most items (e.g. the 1 item / 1 bottle etc) they can only order ‘1’, as 1.5 is meaningless. If you allow them to just order in 1kg or 2kg, but then you have the ability to adjust those into fractional amounts once you’re trying to balance things up (which you can do from bulk order management, and have the prices recalculate, see here). Is it that important on that many items that people can specify 2.3 as opposed to 2.4kg? and how likely is it that you would adjust it anyway to get the total amounts to work?

If it really is that critical then we might need to turn it into a feature request and scope out / cost it

ok, now on to the workflow issues

Workflow 1: making substitutions

Don’t think you’re missing anything. Sounds like this would be a requested new feature request to add the ability to add a variant to an order from bulk order management. We can create a wishlist page for it if you like and see how much other interest there is in it?

Workflow 2: Managing Unallocated Stock

See my query above and link to discussion on bulk coop - supplier totals report, which might make this one step easier (by working out the unallocated quantities of each product for you)

You are correct that members cannot currently edit their own completed orders, so yes it seems like another order cycle would be the best way to do this

  1. I suspect you’d be best to use variant overrides to manage the unallocated stock - so you’d just go through and update the on hand levels for this hub

The order cycle cross-over shouldn’t be too much of a problem as they would both just appear in the dropdown at the top of the shopfront page and customer would need to select which one they want.

But we might have an inventory management problem, as both order cycles would read from the variant overrides. I’m going to spend tomorrow morning doing detailed spec on the variant override upgrade so I’ll work out how to manage this. Other option would be to actually just use a 2nd hub for ‘unallocated’ which would keep the inventory separate. You could still just pull off your reports for both and they’d combine nicely for your final packing sheets etc

I suspect that’s more than enough for you to chew on for tonight :smile:

Hi @Kirsten. Yes that’s exactly the workflow for our ‘unallocated’ order cycle, so yes if the report ‘rounded up’ it probably would be more useful for us.

I’ll try and take a look at the other page you reference.

Cheers,
Tim

Thanks for your great reply Kirsten.

Pricing

Thanks for the Powerpoint. That would all work for us - as long as FC-Retail manage their markup over the FC-Wholesale price using fees, as you suggest at the bottom of the first page.

If however FC-W entered a base price of $36 for 6x jars but FC-R entered a base price of $7.80 for 1x jar, then BGs would be forced to use variant overrides.

This is just a matter of process - are you expecting FC-R to always enter a base price of $6 (not $7.80) for 1x jar, in the example you gave?

Quantities

I see where you’re coming from. Maybe this is something we as a BG have to just workaround for now.
One good example in our case garlic. FC-W sell it in a unit size of 1kg for $29/kg, but we want to offer it in multiples of 100g at $2.90+15% = $3.34 per 100g.

It’s necessary for us to have the 100g variant, because otherwise anyone that wanted any garlic would need to order 1kg, then let us know (outside of OFN) that they actually only want 100g.

It’s easy enough for us to create our own 100g variant (in Bulk Edit Products) and add it to our order cycle. But we would have the following problems:

  1. When creating the variant for the first time I have to manually divide the FC-W by 10. I could get that wrong.
  2. If FC-W update the price of the 1kg price, that won’t affect my variant. ie in Bulk Edit Product the base price would remain at $2.90 for 100g even if FC-W increase their 1kg price to $30 my variant will still have a base price of $2.90.
  3. If I do notice that FC-W have updated their wholesale 1kg price, and then I go and edit the base price of my 100g variant in Bulk Edit Product, that affects the shopfront straight away. This could cause a problem for my last week’s unallocated order cycle that’s still open…

The above aren’t huge issues. But I could see a potential OFN enhancement - automatically generate a “consumer”, unit-level variant into the Bulk Edit Products list. This would save a lot of effort on the BG side. In this case OFN would create a “100g” variant that has a price that is the FC-W price divided by 10.

Workflow 1: making substitutions

OK, will do if I get a chance, thanks.

Workflow 2: Managing Unallocated Stock

Thanks for the info, I’ll wait to hear back from you. But based on the below bug I’ve just found I imagine the 2nd hub option would be the cleanest solution for my needs.

I just tested out two overlapping order cycles. There’s a bug:

  • If I add 1 Barambah yoghurt in my “Week 1 excess” order cycle.
  • Then switch to my “Week 2 normal ordering” order cycle.
  • The “Week 2 normal ordering” order cycle now shows 1x Barambah yoghurt.
  • If I do not add any extra products and I go to Edit Cart it will refresh the shopfront and the cart will be empty.
  • If I I leave the 1x Barambah yoghurt in “Week 2 normal ordering” and add 1x Barambah feta then Edit Cart works, but it does show both these items against “Week 2 normal ordering”.

So currently overlapping order cycles can’t work on the shopfront. I imagine if I completed my “Week 1 excess” order before starting with “Week 2 normal” ordering it would work fine, but I’m sure our BG members would get very confused.

Is there a standard place for me to raise bug reports like this? Should I use the “Send Feedback” link at bottom RHS of my shopfront? I will do that now…

Thanks,
Tim

HI @Kirsten,

Any news on my last post, #20? I appreciate you’re very busy, so no worries if you can’t get back to me for a while.

To summarise post #20, I’m especially interested in:

  1. Are you expecting FC-R to always enter a base price of $6 (not $7.80) for 1x jar, in the example you gave?
  2. Yes, I would like a wishlist page for “add the ability to add a variant to an order from bulk order management.” It would be make the substitutions workflow a lot simpler for us, and hopefully other BGs.
  3. Does using a second hub for “unallocated” work out fine for you? It’s definitely my preferred option (the other option does not work at all currently due to the bug).

Thanks,
Tim

Hi Gang,

@timrwtaylor probably best I answer the question regarding FC pricing, and i have to admit it’s not an easy one to answer. We’ve had many discussions regarding fees, cost price, retail price and wholesale price. At this point, we intend to list all items at wholesale price, and if and when we alter to retail price, we will deal with that with fees & overrides.

However, please note that our wholesale mark up from cost is not always a pure percentage. For instance, some items simply would not sell if we put our normal mark up on them, so we reduce that mark up to make the product more affordable for our customers. This makes using the fees system in OFN difficult for us, and at this stage we have opted not to use it. But having read your description regarding individual items, i think that we will need to use it for those cases in order to make it easier for our Buyer’s Clubs.

So, my proposal is that if we are offering a bulk purchase of an item, as well as an individual or smaller variant, then we will utilise the OFN fees system to bring it up to the correct price for wholesale. Retail will be an entirely different beast and we will just have to deal with that later.

Examples
x = master variant wholesale price
y = packing fee/mark up for non-bulk

Box of Kale - 20 units = $x
Box of Kale - 10 units = $x/2 +$y

Buchi Kombucha x 12 bottles - $x
Buchi Kimbucha x 1 bottle = $x/12 + $y

This will mean that the price we set for a single item usually sold in bulk will be an exact divisional price for that unit, we can then apply our ‘mark up’ or ‘packing fee’ as a fee.

Meaning that based on your example: if we sold 6 x jars for $36 then the single jar would be $6, and we would add the $1.80 as our fee.

I hope that that will make your job a little easier. And, if we are all happy with this, then please feel free to create single items as additional variants to existing products with the price as per the example above.

@timrwtaylor if you see any single variants in there with the wrong price (based on the above) please feel free to alter them :smile: I have very limited time allocated to OFN each week so i might not have a chance to find them/enter them today.

@timrwtaylor - sorry about the delay in response, the pre-holiday to do list just seems to get longer rather than shorter!!

quick responses to your 3 questions above:

  1. I think / hope @lisahill has covered - thanks!!
  2. have created page here for feature request - highly unlikely we will be able to do this unless / until someone pays for it, or we have a bunch more subscribed buying groups asking for it. Perhaps go and hit the little heart thing and we can start using that as a ‘vote’, and let us know if you want a quote :smile:
  3. Yep no problem to have a 2nd hub
  • It would be ideal if @lisahill could do the ‘new enterprise’ bit for you as they own the producers, so the E2E links will be automatically in place for new hubs created by Food Connect. If you do it, we’ll have to do them manually again
  • Lisa if you put @timrwtaylor as the contact email it should make him a manager and we can swap him to owner later -
  • Also, good pick up on the Order Cycle issue, and fixing it fitted quite nicely with something else Rohan has been working on this week, so it should be ok by later next week
  • so when someone changes order cycles it will prompt and clear the cart if they select ok. This is not the ‘ultimate’ fix (would be ideal to have people able to manage multiple carts, or have it check and prompt for items that can’t transfer) but that’s quite a way away
  1. That reminds me of something you mentioned in an email a while back about your cart being cleared when you logged out and in - that shouldn’t happen, e.g. your cart should be saved when you log out. when I checked it it was working ok, so could you perhaps check again and send some more info if you’re really sure it’s not? (either create an issue under ‘bug’ here, or create an issue on github - https://github.com/openfoodfoundation/openfoodnetwork)

Hopefully you and @lisahill have enough to keep you going until I’m back from holiday on the 20th August (yay holiday!!), but if you have any other things to check I will be able to respond until about midday monday and will try very hard to do so!

I’ve had a similar complaint from a customer in Tasmania (through Susie’s hub). The customer is not aware that she cannot put a decimal in, and when she does she doesn’t get an alert, but the item is removed from her cart. Have created a Github for this…#659

as discussed in git #659 (and previously with Tim) this is far from a trivial thing to change (to allow partial units), and also actually not ideal for a lot of reasons. Implementing a warning so that people realise what’s happening is scheduled, https://github.com/openfoodfoundation/openfoodnetwork/issues/542

@FoodConnectWholesale

I’m a bit confused because you can set prices per weight - and then the consumer orders however many units of whatever weight you set - like if i set a price per 1g, they could order 100 of them, or if I set a price per 100 g, they could order 1 of them. And then of course when you actually weight out the cheese, or whatever you go in and adjust the order and it re-calculates. Am I missing something? I don’t see why this doesn’t work - it is exactly like in a farmers’ market - no?

I agree that a problem we have is when a hub buys something from a wholesaler in bulk and needs to divide it down into smaller units - would be good to find a solution to this (taken from discussion at:
Bulk and group buying - wishlist)

One good example in our case garlic. FC-W sell it in a unit size of 1kg for $29/kg, but we want to offer it in multiples of 100g at $2.90+15% = $3.34 per 100g.

It’s necessary for us to have the 100g variant, because otherwise anyone that wanted any garlic would need to order 1kg, then let us know (outside of OFN) that they actually only want 100g.

It’s easy enough for us to create our own 100g variant (in Bulk Edit Products) and add it to our order cycle. But we would have the following problems:

  1. When creating the variant for the first time I have to manually divide the FC-W by 10. I could get that wrong.
  2. If FC-W update the price of the 1kg price, that won’t affect my variant. ie in Bulk Edit Product the base price would remain at $2.90 for 100g even if FC-W increase their 1kg price to $30 my variant will still have a base price of $2.90.
  3. If I do notice that FC-W have updated their wholesale 1kg price, and then I go and edit the base price of my 100g variant in Bulk Edit Product, that affects the shopfront straight away. This could cause a problem for my last week’s unallocated order cycle that’s still open…