We ran out stock status report and saw several parts that are negative. After reviewing, i noticed that several of them have the Part Class Negative Action set to stop, yet they still went negative. Has anyone else had similar and knows why this is happening?
Is the net sum of inventory positive? Don’t know if this is still a thing, but you used to be able to go negative in a bin as long as the net of all the bins was positive.
Also, if you use material backflushing, that process ignores the Warn/Stop actions when going negative. Epicor will happily backflush your material negative.
I didn’t see the material as back flushed. Had to run a bag to see it as I couldn’t find it in the revision. Still getting used to kinetic screens.
Net inventory is positive. I’m guessing the only way to stop a negative from any bin is a bpm.
Or have the employees pay attention to what they are doing.
I don’t think you solved it.
In 10.2.4 going negative in a bin will throw the exception, even if you will still be net positive.
e: to expand, as @tsmith said backflush ignores the part class setting, and there may be other situations that I am not aware of. I don’t suppose you use kanban receipts?
Yup. We started prohibiting ALL negatives in July (with a BPM) and have committed to it.
(Why a bin shows zero is a mystery, but that’s another day.)
It’s not just the setting of backflush. I think backflushing from Job Closing will bypass the negative setting of the class also.
Also, fun fact: If you created an Epicor Function that does inventory transfers via REST and you did not incorporate the check for negatives into your EFx, it will allow a bin to go negative, too.
So the BPM I made is on PartTran. Yes, I know, but it sure is effective.
I think Cycle Counts will also drive a bin negative. I’m not certain, since my BPM blocks everything, but our counting team couldn’t understand why it wasn’t posting certain parts. I found that the count was going to make the bin negative, so it was blocked - somehow. Was it the part class or my BPM? Not sure.
Thank you for the info. Can you share the BPM that you created or some screenshots?
Here you go. It’s a little more complicated than I had recalled.
You might notice the name of it is “No Negative backflushing NOR bin transfers.”
I am still relying on Part Class to block all other drivers of negatives. So… I guess the part class is what stopped the cycle count after all.
NoNegatives2.bpm (64.7 KB)
OK… I will jump onto my “Allow Negative Inventory” soapbox for a moment to offer a counter-argument.
I have been a proponent to ALLOW negatives for a very long time. My joking statement is “If you disagree, you are wrong!” (at least mathematically).
Consider this scenario (it is real… it really happened).
- A RUSH PURCHASE ORDER arrives at the dock. JIM, the receiver recognizes it, and tells the planner FUGI, Notifies the Stockroom person CLAUDIA to grab the parts and issue them to the hot job.
- before grabbing, a paper copy of the receiver is duplicated to keep track of all incoming transactions, but, THE RECEIPT is NOT done in the system (at this point, there are zero on hand, zero on the shelf).
- Claudia attempts to issue the material to the job… but when she tries to, the system will not let her because we don’t allow negatives. Claudia shrugs her shoulders and gives the parts to the shop floor (AT THIS POINT, there is still ZERO on hand, zero on the shelf)
- Later, Jim processes the receipt and receives the parts to the default bin. (at this point, we now have 1000 on hand in the CPU, but ZERO on the shelf).
- nobody notices this… until the next cycle count/physical inventory, OR WORSE YET, until the next time we need some, and Claudia goes to try to issue them, and we find out we don’t really have 1000 on the shelf.
BUT CONSIDER… if we ALLOWED negatives (assuming same steps above:
- Step 1: same outcome
- Step 2: same outcome
- Step 3: when claudia issued, she would have gone negative 1000 on the CPU, but zero on the shelf.
- Step 4: When Jim receives, the stock would go back to zero, and still zero on the shelf.
EVERYTHING is in balance, the world is at peace.
The moral of the story is that IN SOME INSTANCES, not all transactions happen in real time. they are SUPPOSED to, but there are times when it doesn’t. The fact that Claudia could not “do her job” because the system said she couldn’t: This was the problem…
MY PREFERRED METHOD, is to have a dashboard/report that shows all negative parts… have this reviewed daily, investigate WHY it happened, and take corrective actions.
ALSO… Backflushing WILL cause issues with negatives… but as I always say… if you make a bike, you MUST have consumed a frame, a handlebar, and two wheels… you WANT it to go negative, otherwise you don’t have the proper costs… you NEED to find out why you went negative, not just assume that the person pushing it negative is doing something bad.
(OK… I will jump off my soapbox and calm down again.)
I’ve worked at this job for 11 years (8 as Epicor admin), and I never had any faith in this project of blocking negatives until this year.
For the most part, yes I fully agree, blocking negatives just stops honest people from doing their jobs.
And yes, catching it on the backside in a dashboard is a completely viable mitigation method.
But I have to testify: after a decade of similar programs here where managers promise they’ll monitor it and that lasts for a day or two at most, I am on board the dictator train.
Maybe you all have employees like the ones on LinkedIn where you empower them with the tools they need to succeed and all that jazz, but I’ll tell you: we do not have that here. Our employees are good and honest people, sure, but if there is a slight crack in the door to laziness, they kick it wide open and rip it off the hinges. (My metaphors are all over the place today.)
Your example of some urgent package is a very relatable one here. I feel that pain. But the mindset here is that all issues are urgent - all issues are justification to set aside law and order and to go rogue.
- “Why don’t you ever clean up at the end of the shift?”
- “We have to build trucks”
- “Why didn’t you report that damaged part?”
- “We had to build trucks”
- “Why didn’t you do those 317 inventory transfers?”
- “We had to build trucks”
- “Why didn’t you tell anyone we were out of that part?”
- “We had to build trucks”
- “Why is this work order for the service center still not done after 4 months?”
- “We had to build trucks”
We have an awesome CEO here who does not let any of that fly. But I guarantee: the day he leaves, it will go right back to this again. It always does. So I’m on board with hard stops in Kinetic. It’s the only thing that will outlast the management.
(Off my sopabox now.)
To expand on that: if you want any shred of hope in prohibiting negatives, your GM/CEO/big dog has to be REALLY relentless about it. Ours is. It was THE topic of conversation at the 8am meeting every day for weeks. Everyone in the building knew that this was the law for ever and ever, period.
My point is, if you have anything short of that 170% support, it will not succeed.
Preventing a part from going negative means you don’t have to worry about that really awkward conversation with your auditors.
Every. Year.
Ha, we have a knack for hiring new plant controllers immediately before or during the audit, so explaining negatives to the new controller is also a joy.
Our accounting team doesn’t like negatives…and our auditors REALLY don’t like them. It can make things difficult in emergencies (like the rush PO scenario Tim put forth) in enforcing on-the-fly discipline. We locked down quantity adjustments for that very reason - if something’s off, it better be documented as to why it’s getting changed…not just for the sake of allowing some other process (ship, manufacture) to continue unabated.
Don’t try to use PCID’s it is impossible to keep those f***ers positive
(Mind you that by design PCID’s aren’t allowed to be negative… but boy oh boy do they ever!)
@Banderson loves them
Here’s my favorite NOT A BUG (working as designed)
PO Receive 100 → into PCID
Use Split Merge to Move 50 out of the PCID into PCID #2
UnReceive the Original PO
Watch your entire PartBin / PckHeader and PCHDtl table melt into a puddle
Yes, we’ve done the PartBin PCID Datafix dance here a few times. Looks something like this…
we had the same issue and it tooks time to understand why we have negatives, we created a ticket on that as well. As if you do a setup on the part class, you do not want the system has negatives. So as i see a lot of companies have the same problem, instead all of us building a bpm why not to have it in standard.