Job Receipt to Inventory Set Bin Programmatically?

Is there a way to set the Job Receipt to inventory auto receive bin programmatically?

By default it goes to a primary bin. What would be very nice is that if we can specify a job auto receipt bin, instead of primary bin.

For us the primary bin is in a warehouse far from the production floor. Right after something is made it goes to a special staging area which isn’t its permanent home. The item may go to shipping or it may go back to the primary bin and will be adjusted correctly later on. But we don’t want to lose the fact that it’s in the staging area by receiving to the primary bin.

We have other reports and such that look at the true primary bin for other purposes and it would be foolish for us to change all our items’ primary bin to the staging area bin, then we lose the ability to differentiate and do other interesting things with the primary bin.

Is there some BPM that we could create or a setting somewhere that says, put the job auto-receipt items in a specific bin, not primary bin?

Does the output bin on the resource group override this?

@smason I tried for a couple of days last month but ended up just setting the primary bin to the staging area. According to KB0049324 primary bin is number 1. I reset the OutputBin on the labordtl clock out record and the auto receive parameter still had the original bin. I tried to change that parameter, but it did not take.

Today I tested on preprocessing of the auto receive operation I set the primary bin and put the current primary bin into a callcontext variable and then on post processing set it back and the auto receipt went to the temporary primary bin.

That sounds promising.

Today I tested on preprocessing of the auto receive operation

What business object / method directive did you use to do that? Was it C# code that did it or did you use the built-in set field thingy?

We ended up using an in-transaction data directive on PartTran looking for MFG-STK transactions with “Auto Receipt” in the reference field. For these transactions, we set the WarehouseCode and BinNum fields to WarehouseCode2 and BinNum2, respectively. We found that the “2” fields were correctly calculated to be the resource’s output warehouse and bin.

I was doing my test in labor update since I already had a routine to set auto receive on, but I like how @tsmith did this without setting and unsetting the part.

We tried using the labor update directives but couldn’t get it to trigger at the right time for updating which bin the parts were received to. It seemed like the bin was either set too early and reset by an internal process or set too late and the transaction was already created. I don’t like having directives on PartTran since it’s such high volume, but this directive has worked well so far.

This seems promising in early testing. Do you know what happens if a resource does not have an output bin associated with it? Does it fall back to Primary Bin?

As far as I know, all resources marked as a Location require an Output Bin and Warehouse. We don’t have any resources where that is blank.

We’re going to go with the solution you found and shared! We’ve struggled with Epicor’s auto receive bin behavior for a while but what you’ve found fixes it. Thank you very much!

1 Like