Build customer accounts interface (for enterprise user)

Hub or Shop Customer Account

Each Hub and Shop needs to be able to handle their own Customers. They may have distinct information relating to that Customer e.g.:

  • Customer / member numbers (e.g. a User has different Customer numbers with different Hubs): numbers should be able to be customised and easily set by the Hub
  • Preferences: e.g. preferred Shipping and Payment method
  • Hub might set other characteristics e.g. “Delivery Run” or
  • Hub may grant different payment options to different customers (30 days for good customers, 7 for bad).
  • A ‘Balance’ total e.g. the sum of payments owing or overpaid at that Hub
  • Standing orders
  • View of address and contact info for that Customer

In the first instance this Customer should just be connected to an email (not a User) because the system currently allows checking out as guest (therefore a User isn’t actually created for everyone).

Phase 1:

  1. Build Basic interface to manage customers and their number (and other info to be added later) - particularly useful for other Enterprises who want to use this but don’t have existing data to migrate (see sketch below). NB. Can draw lots of what’s required to build from Bulk Order Management page

done and ok

[OK] - if User has >1 Enterprise that is ‘own’ or ‘any’, then option to select Enterprise before loading page.
[OK] - load list of Customers for that Enterprise
[OK] - default display fields - customer code, tags
[OK?] - angular search looks in customer name; email; customer code (there is no customer name field yet, so need to recheck search when there is)
[OK] - Code is an editable text field
[OK] - enable bulk update of Customer code
[OK] - Tags gem and column
[OK] - Link orders to Customers

  • Link existing orders to new Customers
  • When new email creates an Order, auto-generate new Customer and link the Order
  • When existing email creates an Order, auto-link to Customer

can’t see / not done

  • new tab ‘Customers’ at top menu level
  • Include option for ‘all’ enterprises (that are ‘own’ or ‘any’)
  • default display fields: Name (separate into first and last name?); Last Order date
  • all Columns are sortable
  • Columns selector and enable additional columns for: Balance; Phone Number; email; Enterprise (Shop/Hub) of the order
  • if Enterprises is selected to ‘All’, include Enterprise field by default

Phase 2:

  • Selection boxes and actions dropdown: which actions do we actually need right now?

  • Modal or Customer edit page for more detailed Customer Management

  • Some kind of interface with past and future orders

  • Bulk actions e.g. message / email

@serenity @lynne @RohanM @robert_owen_harringt

Likely to handle delivery run with 3 letter tag. (high priority for Food Connect)

  • If the Hub can set the payment terms, would this mean only that
    payment term would be available for that customer to select? E.g. they are usually on a 7 day account & we’ve selected that for them, but this week they want to pay via credit card - will they have that option?

  • Is there the possibility of having other data collected, searchable
    and stored - e.g. sales history of customer / sales history based on
    type of product / history of adjustments & refunds, etc, etc

  • Possibility of a comments section for hub admins only (e.g. notes on
    the customer which internal staff can read and edit)?

  • Opportunity to have a ‘company/group’ title in the customer
    information (e.g. our wholesale operations are all via company or
    group name, but currently the system only allows an individuals name.

1st round of testing complete. I’m going to push what we have through into master and onto Aus production for inclusion in v1.0. There is quite a bit still to do, but let’s get it out there for you to start putting data in and we can determine priorities from there.

@lisahill @NickWeir @lin_d_hop @oeoeaio
there are a number of related issues in github already so please check there before creating issues, titles all begin with Customers:

I am not sure if or how the introduction of this will interact with the UK migration stuff that’s happening so recommend @Aidan and @pmackay have a close look when you bring this in

I have a potential hub asking about the ‘member only’ shopfront feature. Does anyone know where this sits in the pipeline? Thanks!

Did you manage to find out about the member only timeline? I’m super interested!

Backlog for now I’m afraid - we’re doing lots of issue / feature organisation at the moment so if enough people tell us is critical it may move up (especially if someone willing to contribute funds for it) - @sstead can you let me know offline who’s asking?

Hello @openfoodnetwork @Kirsten et al… In our first round of testing we’ve come up against a small problem in terms of Customer Codes. I wasn’t sure where to fit it into the conversations, and this seemed like the most related page.

We have one customer who runs two cafes. The first time he ordered, he checked out as a guest and used two seperate emails. In our second round he’s used the same logon for both orders and simply left a comment saying which customer he is ordering for. This means when we pull reports, which seem to be primarily attached to either the customer name or email, his orders are combined. I went to see if i could assign a customer code to the order itself, but obviously can’t… so not sure how to differentiate between the two orders for our packing & delivery sheets?

Guessing for the moment i need to ask him to create two different log ins and type his name slightly differently??? :smile:

Hi there! It’s been a long time since this conversation have moved forward, I was wondering if there were any plan to move forward on the “bulk email”, we have a user who would like an automatic email to be sent to the customer list when a new order cycle is launched. I guess if it’s not automatic but it’s just two button to clic it would be ok as well…

@danielle or @sstead any idea on that?


No plans to work on bulk emailing @MyriamBoure, it’s not on our roadmap at present.

Our priorities at the moment are focused on standing orders and the spree upgrade and introducing a new concept around managing inventory. If this is something you’re wanting then maybe we should talk about setting up something along the same lines as what the UK are doing with the AU dev team?

Hi @MyriamBoure, this may be going down a slightly different path, but could this problem be better solved by an integration with something like Mailchimp? I have recently built a feature into our food hub’s website that automatically adds new customers’ emails addresses to our Mailchimp list using the Mailchimp API. If we had something like a “sync customers with mailchimp”, would that help solve your problem? Then your user could send out emails to their customer list whenever they like.

In a side note, I am planning on building email notifications around order cycle opening times as a part of the work on Standing Orders, but these will only be for customers that have an existing standing order, in order to notify them that their order is waiting for them to edit/cancel if they would like.

Thank you @oeoeaio, I asked Simon, our beta tester, and he said it would be a good temporary solution :slight_smile: Would be great to have this feature!
And let’s see later if we can extend the OC opens/closes reminder not only to stanging orders but to all Cusomters of a hub (maybe tagged with some special tag like “active”, so that you don’t bother those who said they don’t want to receive emails…)

@oeoeaio @MyriamBoure
Did this conversation continue elsewhere? Would love to deploy such featured for the OFN USA instance @CynthiaReynolds