David E Jones wrote:

I think this change is fine. It would throw a little kink in the special handling of the financial impact for this sort of thing. However we do this we just need to make sure it's very clear that the change is due to inventory lost/found/damaged/etc. That would be in the reasonEnumId.


About the financial aspect: what if we always fill the InventoryItemDetail.reasonEnumId? Not only for manual variances lost/found etc... but always to categorize the detail ("sales order shipment issuance", "purchase order shipment receipt", "manufacturing order..." etc...); then we could use this field to post the accounting transactions (related to inventory) to the proper account; we could catch mostly all of the inventory accounting events with one ECA on the InventoryItemDetail.
Maybe reasonEnumId could become inventoryItemDetailType...
Apart from this aspect: in the meantime, is it ok if I commit a very simple patch to populate the reasonEnumId and description fields of the InventoryItemDetail with the values set in the InventoryItemVariance entity? It will be very very easy to drop (or deprecate) that entity later (together with the VarianceReason entity?).

My thoughts on the inventory variance going back a ways is that it's really weird to have the variance associated with a single inventory item. It seems like something related to Product, Facility and perhaps FacilityLocation would make more sense. Based on the record for that an InventoryItem would generally be created.


I agree: however I'd say that we should also maintain the ability to define a variance for a specific inventory item (as is now) but I totally agree with you that it is very common to count items by location/facility. The data model is probably correct as is now (even without the InventoryItemVariance), we just have to implement new screens (and processes) to find all the inventory items in a given location/facility that must be adjusted (similar to the reservation routine) to complete a physical inventory variance. In the data model the end result will be:

PhysicalInventory.physicalInventoryId --> list of InventoryItemDetails

Hmmm... thinking more about this: maybe the meaning of PhysicalInventory was not that of "a single variance entered by a user for a product/location/facility" but instead that of "counting all the products in a facility". But maybe we could adopt the former concept and add a new field (parentPhysicalInventoryId?) to group together the variances happening during an inventory counting.

Jacopo

In other words I'm saying that instead of having a variance entity that points to the InventoryItem entity, the pointing would go in the other direction (probably to the InventoryItemDetail entity rather than InventoryItem).

I thought I should bring this up before we make any decisions about the direction to go, or any changes to make, with InventoryItemVariance.

-David


On Nov 7, 2007, at 7:40 AM, Jacopo Cappellato wrote:

What about deprecating the InventoryItemVariance entity?
It seems duplicated by the newer InventoryItemDetail entity: we could use the latter with the following mapping:

InventoryItemVariance.varianceReasonId --> InventoryItemDetail.reasonEnumId

and

InventoryItemVariance.comments --> InventoryItemDetail.description

What do you think?

Jacopo



Reply via email to