Distribution business - customized Items and revision vs kit vs new item vs ???
I operate a distribution business where we customize our products (stock inventory that is essentially blank) with labels that are printed for each customer. I'm trying to figure out how best to track these "semi-custom" parts in our system. All B2B so the custom label is created prior to order and shipment. Basically need a simple way for customer to order and ops team to pick item, print and affix label, then ship.
Some options we are considering (Stock item is "ABC" and Label is "1," Customer is "X"):
1) Make each customer's configuration a kit, so an ABC with Label 1 for X, is a kit called "ABC-1-X". Go through the extra step of creating the kitted item for each order. Customer portal would always show 0 available since these are made to order.
2) Customer orders an ABC as well as 1...two line items. Not preferred.
3) Add revisions to the Stock item, so would be an ABC rev X which inherently would include Label 1.
4) New item number for each one (not preferred) like ABC-X which is a mini bill of materials of an ABC and a 1.
Any other methods I am missing? Trying to keep this as simple as possible so that scaling this process is not an absolute nightmare!
So you're fighting visibility in your kit specs based on ITEM / CUSTOMER / LABEL right? If so, revisions are likely your easiest out. Set the Stock Item you're making as a kit, now you have 1 o three key parts for your identifier. At this point, I would make the revision something like X1 (my system does not allow dashes).
When you need to isolate these values for a report, simple string mods should get you your unique keys, especially if you ensure some form of consistency. Have 10 labels? run 0-9 and set it as the first digit of the revision, so you only need to string check slot one of the string. Have over 10, ensure you use 2 digit codes, such as 00-99, now you always have your code in the first 2 slots for your labels. This means you can run left(<string name>,2) for your labels and right(<String name>, Len(<string name>)-2) to get your customer's name from the Revision ID. Now you have the Kit ID (Item), Label ID, and Customer for search fields. Just slap in parameters for each of those and you can spit out some fun data sets.
Please note that in my system, we have a 10 char limit on revisions, so you'd have to code your customers as 8 or 9 chars in your system for easy searching without complicating the data manipulation (although it's not rocket science to use "contains" conditions).
Hopefully, I didn't mis-read your request.
Data Analyst - SilkCraft
Are you advocating for #3? I confess that I'm not quite clear on the difference between #1 and #3. I agree with your points though. One note about you not being able to use the dash in your system. If you want to use the dash, you just need to change the Separator value on the Segmented Keys (CS202000) screen pictured below to something other than a dash (like maybe an underscore).
Also, I like your idea to create fixed-width segments to make reporting easier. Hopefully the Customer ID lengths are already fixed-width.
Will it be too much of a pain to have the ops team assemble a kit in addition to picking the item?
Piggy-backing on Michael's suggestions, you might also consider adding a Dashboard Widget that checks for problems with the values, ensuring that the Customer ID portion of the Kit Inventory ID matches a real Customer ID in Acumatica, ensuring that the Inventory ID portion of the Kit Inventory ID matches the Inventory ID on the Stock Components tab of the Kit Specifications (IN209500) screen, and ensuring that the Revision field of the Kit Specifications (IN209500) screen is a 2-digit or 3-digit number. The Dashboard Widget would be red if there is a problem or green if everything is ok. For more about what I mean by this, click here for an article about Things That Should Never Happen. Alternatively, you could do a customization that checks this stuff up-front.
I was indeed discussing option #3. Option #1 would create kit bloat. I like having the smallest selection set possible and I feel revisions add a layer of abstraction that simplifies the process.
Say you make 3 dolls, for 3 customers, with 3 labels types:
Option #1: You get 27 kits in your list
Option #2: You only have 3 kits with 9 revisions each.
It's really personal preference and whether your kits are "Unique" or "Similar" items. If no two customers order the same doll, you may as well have Option #1, but if you're just swapping labels and customers on the same items, Option #3 has advantages.
P.S.: I've never fought with my separators, I have a unrelated use for that screen, Thanks Tim!
Data Analyst - SilkCraft