Order Management - wishlist

Priority actions completed

Priority actions TO DO

Managing Orders

  • When editing an order, you can adjust the QTYs in the order, but if you then add a new product (without saving first) the changes to qtys of existing line items are lost. See G#693
  • Order Admin - summarise distribution costs (flip-down?)
  • payments update when changes made? so that you don’t have to go in, add payment etc
    • and/or ability to ‘add’ ‘update’ payment from the order edit ‘action dropdown’
  • ability to edit, delete and add adjustments from the main Order Edit page
  • Can we ship before payment? We ALWAYS ship the product before payment is arranged, but we have no way of marking the order as ‘shipped’ until it’s been paid. [FC]
  • Dashboard could have orders summary

Order Index Page

Do all of the following from a single interface without having to reload the page

  • Phase 1 [Doing]: see Multiple Order Management Interface
  • enable select multiple and apply bulk action e.g. payment; ship; resend order confirmation emails; send general email

Phase 2:

  • Toggle a “mini-POS view” which allows the user to quickly add variants from a list of those commonly used by clicking on them

  • Easily edit the quantity of a particular line item once added to the order

  • Easily Adjust the price of a line item by a) scaling the price with the unit_value (like in BOM), or b) applying a percentage discount on the listed price, or c) editing the price directly

  • Associate the order to a customer, which in turn sets the shipping address

  • Apply a payment

  • Add notes

  • “Save without processing” to record the current state of an order, without having to place it

  • Some level of fluidity between the orders index page and the order edit page, to enable very fast switching between the two, maybe even try to load both interfaces into the same page and update any saved orders with AJAX requests?

  • transition to full angular like bulk order management, possibly incorporate in same interface

1 Like

Would @Kirsten @oeoeaio @RohanM @everyone be happy if I started looking at this? Would be nice to get to understand angular a bit better… though lots of the features wished for here sound like they’re perhaps a little complex for an introduction to angular…

I think it would be great if you were to have a look at this! reckon it would be worth lining up a skype chat with @oeoeaio and me before starting and we can turn this page into a really clear agreed spec to work with? Rob is 2 hours behind us at the moment, so probably our evening / Rob’s afternoon / your morning would be best - perhaps Friday this week?

hi @kirsten @oeoeaio, just picked this up. Is it too late to schedule in a skype this morning my time?

I think my brain would explode if I attempted that right now! @oeoeaio might be up for it - he wanted you to wait till he’d pushed stuff he was working on because he’s built / rebuilt stuff you could use - but that’s all just gone into production here so should be available for you to work with. Probably best to check with him via Skype whether he’s around for a bit more this afternoon?

@lin_d_hop @Kirsten I’m here. Happy to have a chat about orders index angularisation if you like. We might have to see how my internet connection goes - has been a bit rubbish the past couple of days.

i’m not going to be able to join, key things from my perspective are

  • quick angular search by customer name etc
  • select multiple and do bulk order level actions: collect payments; print invoices; resend order conf email; send blank email
  • if re-sending email, add a message at the top e.g. “This is your final confirmed order, please pay now” or “We’re sorry, XX annoying farmer has not turned up and there will be no lettuces this week”
  • be good to have an optional column for date amended, sortable, so we can quickly identify orders that have been updated (e.g. in bulk order management) in the last day or whatever

What does “send blank email” mean?

Anyway, as per discussion with @lin_d_hop today, here is my first crack at a possible setup for a new and improved order index page. Sorry the pictures are a bit crappy.

Basic Layout:

Things to note:

  • I suspect there is going to be a lot of contention around exactly what columns should be displayed here by default, so perhaps this will be the catalyst for us having a go at building database-persisted column visibility preferences per user, per index (ie, orders, products, customer, enterprises, etc, etc.)
  • This is probably my ideal setup - very minimalist at the top level (no distributor, no order number, order status squashed into a single column, short format human-readable date, use of icons, etc), but I can see why people would want more information.
  • I think the distributor and order cycle filters at the top should be live filters linked to an ajax request that refreshes the data. That way we can do the bulk of the work of hacking down the list at the start, and then filter by date, customer, email, order number etc, etc using angular filters which will be nice and zippy with a small data set
  • Search textbox should be limited to searching a subset of properties of the order, maybe just: order number, customer name, customer email?
  • Bulk actions can be anything that we can create a controller collection action for, building invoices, emailing invoices, sending conformation emails, voiding orders, applying discounts, etc.
  • Columns work as on existing index pages. Suggested hidden columns: distributor, order number, customer email, date modified, anything else?
  • Note that each row has a “view” toggle for opening a panel below top-level row (in the same way as the recently refreshed enterprise index page), see below.


  • I added some filters to the top of this one as an afterthought: payment method, shipping method, and from and to dates. Perhaps these could be hidden somewhere at the top and opened up if required? Kind of like a set of advanced filters that can be shown if necessary. The more I think about it the more I want to switch the ‘status’ filter into the advanced view and have from and two dates as standard filters.
  • The only other difference in this view is that the panel for the first order is open, its pretty basic, just a list of line items, the quantity of each and the price paid with a subtotal, and adjustments and the total at the bottom.
  • I added some adjustment buttons next to the quantity but the more I think about it the more I think this should just be reserved for an overhaul of the full create/edit order page, so ignore those.
  • On the right is a list of actions which is basically just the list of bulk actions, but as applied to this particular order.

hey @lin_d_hop - if/when you are working on this, could we perhaps move it, or some of it, or start new page in development/backlog or doing? Just so we can separate out the broader wishlist stuff at the top from the more specific stuff we’re actually working on. Just linking to this from Enterprise User Accounts and is probably a bit confusing / buried what the connection is!

moving relevant notes here from a general food connect document - a lot of these are covered above, but more detail might provide clarity?

Critical - ‘New Order’ creation page:
NB we use this section if someone misses the cut-off, can’t get to/use a computer, or is a first time customer. We currently use it a lot.

  • Fix search for customer drop down - currently doesn’t seem to do
    anything. Would be mighty helpful to be able to select existing
    customers from the pre-selected hub (see below) so as not having to
    check them out as guests, and potentially get details wrong. Sort
    alphabetically, order, fix, do something about the way order cycles
    are displayed for selection.

Ideal - New Order Creation Page:

  • Move drop downs for Hub & Order Cycle selection to the top of the
    page - as there is no point starting the order process without
    entering those two details first. If you do, it seems as though you
    can enter any product from any hub or producer on OFN. If they were
    at the top, and maybe locked in someone to ensure they are the first
    two things you set before moving forward with creating the order.

Critical - Listing Orders Page

  • display either the first & last names, or the customer code or even
    both somewhere in this main table. really hard to easily see which
    customer by only their email address. Some buyer’s clubs have a
    different person ordering each week, and some customers just love to
    use three or four email addresses! if there were a second or third
    way to identify them visually, that would be great!

Ideal - Listing Orders Page

  • Show Order Cycle in table. Easy to filter with it, but could be
    helpful for it to be visibly attached to each order. Not high on the
    list, and i can be easily convinced this is not necessary.