What are the conventions for item batch identifiers in inventory management systems?

For example:

A retail supermarket can order 'Item X' from either 'Supplier A' or 'Supplier B'. When it completes an order for the item from either supplier, it needs to store the record of the receipt. Inventory quantity for the item is increased upon receipt of the order.

However it is also required to store some record of the supplier. Thus some sort of batch identifier is required. This batch identifier will uniquely identify the item received and the supplier from whom it is received. A new batch is created each time items are received in stock (for example, after an order).

Hence, for purposes of accounting / auditing, information available to identify an item after it was sold comprises of ITEM_CODE, ITEM_NAME, BATCH_CODE. The BATCH_CODE is unique and is associated with DATE_RECEIVED, SUPPLIER_CODE, QTY_RECEIVED.

Is this a complete system specification for the above scenario or has anything significant been left out?

  • 6
    Customers not developers should provide the answer based on requirements. How do you plan to get the batch_code? How can you identify it when you sell an item? How do you assign it when you store an item? All are business questions, the customer could answer. Auto-generating the code sounds useless to me. What would uniquely identify an item is SKU id, serial number, or the likes.
    – NoChance
    Commented Aug 25, 2012 at 23:41

3 Answers 3


There are a number of potential gaps in this analysis that may or may not pose a problem in a particular implementation. I would argue that some of them lie way outside of the topic of the site (accounting and supply chain management).

However, there is one gap that you will definitely need to close based on the facts mentioned in the question.

You will need to split the term "Item X" into at least two concepts already at the configuration side; inventory item from your site's perspective, and a supplier's item. For example, stock levels or the link to a corresponding retail item are attributes of the former. Order code is an attribute of the latter. The mapping between these two concepts will likely evolve as suppliers pop into and out of business relations with you.


What you are stating is completely false. POS systems scans the UPCs only, that is the only level of detail kept for sales.

Receiving of the same item by different suppliers go into the same inventory pool, costing is done by LIFO or FIFO or cost averaging specifically because they don't track sales back to specific receiving.

Serial number ranges may be kept at the time of receiving for use in the case you need to track a specific item back to a supplier,but again it is not recorded at the time of sale.

Note: Everything above is for cheap supermarket type items. For larger more expensive item Serial numbers are recorded at the time of sale to prevent return fraud, or for legal reasons.

  • How do you handle rebates from distributors (tobacco and soda in the U.S.) if you don't track them at the POS?
    – JeffO
    Commented Aug 26, 2012 at 15:21
  • Most likely they would simply assume everything that sold (up until the amount that was received) was from the vendor offering the rebate... Basically to there own advantage.
    – Morons
    Commented Aug 27, 2012 at 12:40

Inventory management is an intrinsic factor of any company that organizes goods to meet the needs of their high-end customers. Any organization that conducts an inventory of products has a need to maintain accurate information on the movement of all these products to better serve its customers and run a profitable business.

As per my view, you should hire proper programmers for the solution.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.