Here is the challenge we are having with Sales Kits and need a work around to be able to ship partial and invoice the customer still by their Sales Kit part number.
Sales Kit has been built and entered on a sales order
Children of kit explode on sales order
Shipping only have 4 of 5 children available to ship
Need to be able to still ship the kit and bill the customer
Do not want to turn off Kits Ship Complete as this causes an issue when trying to bill the order
Do not want to turn on Updateable kits for control reasons (we need to enforce the structure)
We are looking for a way in the system to be able to ship the line 99% and still invoice the customer and then ship the last 1% at a later date (could be next day).
If this cannot be done then I am going to write up an enhancement to allow a child of a kit to be demoted back to a regular order line without impacting the kit. Only someone with access to order entry can perform this demotion action. This can also be used for situations where we need to substitute one parts off a kit for another.
Has anyone run into this issue/limitation/need before and knows of an Epicor out of the box way, before we customize?
Jumping ahead of me. I have a task to review Sales Kits. I will be following this post to see what comes up as I suspect we will run into similar hiccups for shipping short of complete.
Iāve been fighting a production issue all morning. A circuit for sonar based measurements isnāt working. Only 4 of about 50 PCBās passed testing.
Could you ship the Sales Kit as complete (even though only 4 of the 5 components left), and add the missing component to the Order as a no charge item?
The one thing that jumps out at me is that the Pack Slip would imply that all 5 components should be in the box.
Another option is to tell them, āNo. you must ship it complete. Tell Purchasing to get their act together, so youāre not missing it.ā Then duck the flying coffee cups.
That is exactly what we are trying to do here, but we need to keep the kit setup a structured and not updatable on the sales order. We do not want our sales people making custom kits on the sales orders but we do want to allow them to demote a component out of a existing kit on the SO and make it its own line item. This way we can ship the kit ācompleteā and invoice while at the same time ship the missing part at a later date. This missing part would need to be setup without a sell price as it was technically already accounted for in the price of the kit.
Sales kits are implented as individual line items on the order. Trying to add the lines of the components to a packer yields:
I tried making a BPM, to intercept the check if the line is a kit component, but I canāt seem to figure out where that happens. Only 2 BOās get called
Erp.Proxy.BO.CustShip.CheckPrePartInfo
Erp.Proxy.BO.CustShip.GetOrderLineInfo
The detail in the error says it is in BO.CustShip.GetOrderLineInfo, yet a Pre-proc BPM that does nothing but display a message, doesnāt fire.
This is still stupid, eh? I ran into this last week for the first time.
One of our kits has 150 items, so it makes sense to want to only enter the one number on an order and have Epicor do the rest.
But, like @hkeric.wci, we donāt usually have all 150 parts in stock at any given time.
And as others have said, if you turn off āmust ship complete,ā it says āOh, well then obviously you donāt want to bill this as a kit anymore.ā OF COURSE I STILL DO! What sense does that make, that component shipping = component pricing? No! I want to bill it as a single kit!
So what we do now is set the kit as a dummy non-qty-bearing part (std cost is 0.01) and paste in the 150 components as separate line items in the order but manually override them to zero price (since they are all also real parts that we sell, too).
But that sure takes all the efficiency out of it!
Not to mention, the invoice went from 2 lines to 151.
I always considered kits to be like assemblies with no labor, and that a kit consists of all its components. An example would be a hook-up kit that contains a washer, an o-ring and a couple of screws. Ideally we put these in a baggie, so that baggie is the item in the shipment that matches the packing list. One line on the packing list and one baggie of parts in the shipping box. So āShip Completeā should be selected.
Sounds like the rest of you are using sales kits as a shortcut to add lines of commonly grouped parts. These parts arenāt grouped in a box or bag, but end up as individual items in the shipment and on the packer.
I totally get that some parts of a kit might be needed before others. But if you want to consider the kit as a single item for Packers and Invoices, then you should abide by the controls that go along with āShip Completeā.
And arenāt there quite a variety configurations for sales kits? I mean settings like: pricing based on the Kit# vs the components, allowing qty changes to components, Showing components on Customer documents (Packers and invoices?). etcā¦ Thereās no combo that works for the OPās original issue?
I think I am in the same boat, so Iāll answer - and itās a no.
The limit is pretty simple. I donāt want to ship complete. If I uncheck that setting I am forced to use component pricing. But that is stupid - itās a kit, and we want to price the kit, not the components.
Iām not an accountant but I do use budget software at home. There is actually an accounting reason for this. If you ship and donāt invoice that shipment in the same period, you may be running afoul of the most recent revenue recognition rules (ASC605 and IFR15) where you should recognize revenue and cost in the same period within a contract (PO in our case).
Well, I dislike that you are proving me wrong, but that does make sense.
But to be fair, we violate that rule every day. Job takes three months and incurs labor every day in that range, but we only invoice at the end, for example.
As a hack of a solution (seems like most my solutions are hacks) ā¦
When you enter a Sales Kit P/N on an order, it creates a OrderDtl line for each component too. One of the fields or OrderDtl is KitParentLine. For non-Kit lines the KitParentLine = OrderLine.
If you enable seeing that field, try setting the KitParentLine field of the component you want to break out of the kit, from the Kitās order line to the OrderLine this component is on.
Maybe something will balk at you when you try to save or update, but worth experimenting with.
As an electrical engineer, it is strange how math like Calculus, Differential Equations, Fourier Transforms, Llinear Algebra, Complex Vector Analysis, etc ā¦, seem easier than accounting - which only requires a four-banger calculator (+, -, x, /)
Yeah, it does make me think about the need for something like that with jobs that span a month (period) or more. I know in the past there has been grumbling in accounting about the GL making no sense because of that lag. I donāt recall specifics, but I know the lag was the core issue.