I finally wrote this up and I’ll submit it to support. Wish me luck.
So, if you have ever seen something like this, where the starting balance is not zero, naturally you conclude Epicor is stupid.
In fact, there is a perfectly logical reason for this. If a part spends some amount of its life as non-quantity-bearing and some of it as quantity-bearing, Part Transaction History Tracker (PTHT) simply cannot discern what transactions took place during the non-qty-bearing period and which were from the qty-bearing time, since PartTran does not record this.
And FYI, all of these in this picture are from a non-qty-bearing experiment. Even the STK-MTL. There is no such transaction as UKN-MTL. Same is true for STK-CUS; there is no UKN-CUS.
After doing all of these transactions, I switched the part to be qty-bearing, and it thinks I started with 20 on hand.
Support’s recommendation is that clearly something went wrong, and you must run Refresh PartBin QOH From PartTran to “fix” it.
This is what it looks like after being “fixed.” Now I’ve lost 20, and with no GL activity, which really, really irks me.
Oddly, I actually don’t hate the implementation as is - except for one critical problem: Support doesn’t even understand this (see KBs referenced in the PDF). They tell you to fix what is not an error.
So I am putting this out there for general awareness. Don’t use the Refresh PartBin QOH From PartTran process, and try to educate people that a nonzero starting balance isn’t a deep-seeded flaw in the production database; it’s just a flaw of Part Transaction History Tracker.
The Effect of Quantity-Bearing on PTHT and Refresh PartBin.pdf (1.2 MB)