Hub can easily generate accurate packing slips

Happy to help @tschumilas. Just yell out if you need anything. We’re also writing up the process in gitbooks so you can have a read of that (first draft is in process).

I need some help to get me started - so I should be creating a space (presumably on google docs) where people can write out their process? I can kick start the discussion with processes from the hubs I’m working with, and then invite others. If people prefer, they can also send me or upload here on this thread a diagram. Am I making sense and is this how to start? (Sorry for my delay - I will get to this on the weekend when my flower orders are all out.)

I think the process is creating a new folder for the feature in OFN Global > 09 Technical > Brainstorm solutions and incept feature candidates and put everything in there; design docs, diagrams, scanned drawings etc.

@MyriamBoure or @Rachel can confirm

I’ve put together something of a ‘sort of’ solution for our purposes.

This takes the ‘pack by customer’ report from our hub, as a csv (example) from OFN, user uploads it through the form, selects the OC date from the date picker field, and clicks import.

The script uploads the data, imports it to a mySQL database, then pulls the data, sifts through it all, and spits out a display like this. When the user prints, it turns into something like Generate Labels_CLFC-TEST_1.pdf (78.3 KB), with labels for each producer separated into separate pages, and each page has the variants broke down by customer. So if Bob bought 300g of tomatoes, and Sally bought 500g of tomatoes, there will be a label for each, showing the number of 100g of tomatoes each purchased.

The final page is kind of a packing checklist - just the products/variants and how many in total of each item are needed to fulfill all the orders. So if a producer needs 16 heads of Romaine lettuce to fill all of their orders, it just says Lettuce - Romaine - 16, and there’s a space on the left they can check off when they’ve harvested the 16 heads.

If anyone wants to try it with their own files, it’s the pack by customer report you need (other reports will give unexpected results, since the DB is set up for this report specifically), and the script is here. I’ve removed the CLFC logo from the script.

My ideal situation here is that we get the OFN producer pack by customer report able to display the customer names instead of “HIDDEN” … then they could run the script to have their own labels/packing sheets made, instead of having it at the hub level, as this is.

this is great @CLFC - but see my trial below - it is putting BOTH the last name of the buyer/customer and the name of the supplier in the ‘sold to’ column.
Second - would there be a way to do this same thing but with the option of printing a packing sheet for each customer? So something that a hub that packs orders would use - for example, they’d pick up a sheet for Theresa’s order and then put all the correct products and varients in it. So - a different paLabels test - R&T Food Hub.pdf (101.4 KB)
ge for each customer/buyer (versus a different page for each producer). ??

1 Like

I think there’s something different about the csv file you’re uploading. Could be a slightly different report than I have it set up for. Can you upload/link a copy of the csv for me to compare to what I’m getting out of my report? It looks like maybe you exported the packing list by supplier instead of by customer?

I based the packing list on something I discussed with one of our producers, who thought it would be great if he had a list of what products and how much of each he needed when he went to the greenhouse to harvest it, so he didn’t come back in to package things and find himself short. But realistically, there’s no technical reason it couldn’t be set up to do the same thing by customer instead of producer.

I actually have plans to allow the output to be customized before it’s displayed … so you can skip the code/member # field I have there, if that’s not something a hub uses. If there is only one hub or pick-up location, the hub field isn’t really needed and could be skipped. Stuff like that. I just wanted to make sure I had the basics working before I make things complicated! :slight_smile:

I’ll add these to my list, and maybe do a variant for packing reports by supplier instead of by customer. Shouldn’t require a huge change … can probably just add a checkbox/dropdown option for which version of the report is being imported.

@tschumilas - I think that’s exactly what happened. The order of the data in the pack by customer report is different than in the pack by supplier report. So instead of being imported in this order:
Hub[0], Supplier[1], Code[2], First Name[3], Last Name[4], Product[5], Variant[6], Quantity[7], TempControlled[8]
your data imported in this order:
Hub[0], Code[1], First Name [2], Last Name[3], Supplier[4], Product[5], Variant[6], Quantity[7], TempControlled[8]

So when it imported, the code went into the supplier field, first name into the code field, last name into first name, supplier into first name. The hub, product, variant, quantity, and tempcontrolled fields all still lined up.

I tested it with my own report, switching to by customer instead of by supplier and got the same results … last name stuck to the front of the supplier name in the sold to field. Verified!

It shouldn’t be much work to make the incoming report type selectable before uploading, and just have the data re-mapped as it’s imported. It’s just a few fields that get swapped around, the fields themselves are still the same either way.

@tschumilas - try it again. I’ve added the option to use either by supplier OR by customer. I did a quick test, and both are mapping correctly now. Getting a bit late to start working on changes to the packing list displays, but I’ll work on that this week for you.

Am I missing something - here is the same hub, the same order cycle - first is the pack by customers report, second is the pack by suppliers. BUT both print outs are structured the same - they have a different page for each supplier, and are ordered by supplier alphabetically. the only difference is that the pack by customer report lists the customers names - for each producer - in alphabetical order. But what I’m looking for, is a report where the customer name appears at the top of the page - where the supplier name appears now. and every customer starts a new page. Then within each customer, there is a list by supplier of the products ordered. See what I mean? I know that you have suppliers do packing - so these reports work in your model. But, I wonder if it is possible for you to modify what you’ve done (which is fantastic) so that a hub that packs orders by customer can get the labels so that each customer starts a new page???

Generate Labels _ pack by customer.pdf (115.2 KB)
Generate Labels _ pack by supplier.pdf (120.5 KB)

I haven’t made it that far yet. I had just corrected the import, so the right values were going into the right fields. The pack by customer list will take some extra work. Hopefully will have that going this weekend. It’s next on my list. :slight_smile:

No rush - we are making do at the Bailey’s hub and satellites for now. But its taking me hours to pack orders with the current OFN packing slips, plus I keep making lots of errors. So I’m going to work up an icebox proposal for improvements. (It took me 1.5 hrs to pack 8 orders yesterday - can’t imagine how this will work once we start getting more customers.)

So you don’t really need the section for individual product labels at all, right? Just the split out pages per customer with what they purchased, and from which supplier?

Can you take a look at this setup and tell me if this is basically what you’re looking for? I used one of the OCs you imported as my test data.
https://31eagledrive.com/ofn/create_labels.php?oc=2018-08-17-1534520281&rpt=c

I’m going to stop making any changes until I hear back from you regarding if I’m getting close to what you’re looking for.
(Looks like this … Generate Labels_CustomerPackingList_TEST_1.pdf (50.5 KB)

This is almost (:grinning:) perfect. It is what I need to pack orders. We would actually use both kinds of reports to back - the first one - by supplier - we’d use as orders arrive to assemble/aggregate the goods for different drop spots. then we’d use the by customer report to pack each individual order. Ideally - the packing slip would also have the customer contact info - at least phone number. Because our process (I think) would be: print 2 copies of each packing slip. As they are packed, note by hand on each sheet any modifications necessary based on the product that is actually supplied. (It takes WAY to much time to do this electronically and not enough of our volunteers are familiar enough with OFN to do make modifications right to the orders on-line.) One copy of the packing sheet goes into the bag with the order. the other stays with the coordinator (me at this point) to make e-modifications and reconcilliations in the platform and email the customers their official receipts. So - at the pick-up spot - if contact info is on the packing sheet - the volunteer has a number to call if someone is late picking up their food. If its not possible to pull the contact info for the packing slip - we will print off their unofficial invoice too - since that has their contact info. But it would be nice to avoid that duplication.

If the customer contact information was available in the packing reports, it wouldn’t be difficult to include it. But since that data isn’t available, it makes it nearly impossible. The only place that appears to show up in reports is the customer mailing list report…which seems to include the same customer data multiple times. At least on the report I’m looking at on one of my test OCs.

To smoosh the two together, I’d also have to develop a separate database of customer data, then match the names from the order to the names in the database. Which can be done if you are doing a members/registered customer only shop … but if it allows guests or anyone with an OFN account set up to shop, that information wouldn’t even exist.

Looking ahead into how this would work for CLFC, it wouldn’t be an issue. I’m working right now on a way to do membership management/tracking and tying it in with OFN customer lists. So there will definitely be duplication, maintaining two lists essentially, but because we would be using the code field to house membership numbers, it will be relatively simple to tie the databases together on that field. The only downside will be if a customer updates their details in OFN, there’s no way we would a) know or b) have that automatically update our separate member database. Not IDEAL, but I should be able to make that work.

What would be amazing if OFN had a remote data API, where the data could be pulled right from OFN through a web request directly … without having to export the existing data to csv, and re-import it to another site. But I don’t think that’s going to be an option any time in the near future. I’m very curious to see where we end up with the next generation of reports being worked on. Maybe that will take care of some of these little issues for us.

In the meantime, if this little script is going to save you hours of manually putting the data together, I’ll call it a victory … and work in progress. :slight_smile: Let me know if there is anything else I can try to do with it for your next delivery day!

So lets not worry about consumer contact info for now - I see these packing slips as temporary until we can work on revised ones in the platform that suit multiple business models. So for now - we’ll print out the packing sheets by customer you’ve done (thanks very much) as well as a customer list with contact info.

FYI we are working on managing mailing lists for each hub and satellite in mailchimp. In OFN the customer list is only a list of people who have actually ordered (unless its a members only shop and they are added in). But for building sales, we really need a mailing list for the hub of ‘interested’ people who might have or might not have ordered, to send promotions and reminders… notes of new products… So we’ve created a landing page to build that list in mailchimp and then the link to that will appear in the ‘about us’ part of the hub or satellite. Best we’ve come up with so farm.

The script is fantastic - big thanks for that.

1 Like

We are now starting to brainstorm about OFN packing slips. i’ve created a doc where we can pull our ideas together. It would be most helpful if people could document how they are currently doing packing using OFN reports/data… Once we have a range of processes documented, we can start to work on what we want the packing slips to look like, and how these integrate with the delivery note inception. (because they are very related)

@CLFC @rbarreca @MyriamBoure @robert @Rachel - and others - can you contribute processes to this file?

https://drive.google.com/drive/folders/1-B74howu84l1ypOdzkzz1vM4mSe32ta1?usp=sharing

1 Like

I’ve added CLFC’s process to the document, using your Bailey’s example as a template. Let me know if there is anything in there that I should clarify further. Thanks.

Hey @tschumilas, we’ve put a call out for feedback with our users and just waiting on responses. Hope to have something for you next week.

@tschumilas I have done some investigation work about the different “logistic processes” used by hubs and producers in France. I have not detailed all the cases as I find it super hard to read, I summed up the 5 use cases in your document, that from what I read (I didn’t read every cases but went through some) cover most of the cases, maybe even all (you can check and see if yes or no, and if we miss some, describe the general use case missing).
From all the material I gathered from hubs (home made packing slips from reports) I built 5 “templates” for each use case, with both a report and a printable version. This is a base I use for discussion with users now to get feedback and understand if that fit their needs, or not, what is missing, what is useless, etc. That’s how I’m moving forward for French case on this. i shared the link to those “templates” in your document.

I think packing slips are somehow a paper version of delivery note. Maybe goes a little bit forward in term of support to organize logistics, but I think that will come in further iterations of delivery note feature. So both goes hand in hand and we need to envision them together.

One thing not clear yet to me: I think there is still a confusion between “packing step” and “delivery step”.

  • packing step: need to capture gap with what was ordered, specify real weight for variable weight products, maybe need to stick a label on the box identifying the customer, but doesn’t need customer phone, neither price to pay by the customer on delivery, etc.
  • delivery step: don’t need the details of what is in the basket, they need info of the customer in case she doesn’t come, they need price to pay if paid on collection, and to be able to identify the basket to deliver.
    In real life, a “delivery note” is actually used by the person who delivers in that purpose, there is the phone number of the client on it, and sometimes (not always) the price to pay as transporters sometimes collect money. So maybe that’s only one feature, but we need to see when we need the price and phone info for instance, at which step in the process. Ping @Rachel

It might be interesting to get real life example on delivery notes, we might get inspired :wink: