Batchwise Inventory with FIFO/LIFO

Batchwise Inventory with FIFO/LIFO

We have introduced Batchwise Inventory in the Petpooja Inventory module to help you manage raw materials more accurately across purchases, production, transfers, sales, and wastage.

🔹 What is Batchwise Inventory?

Batchwise Inventory allows you to track raw materials by their batch numbers. For example, if you purchase items batch-wise, consume them in production, transfer them, sell them, or record wastage, all movements can now be linked to a batch.

🔹 New Setting in Inventory

We have added a new setting:
“Would you like to include the batch code in all relevant inventory modules?”

  • If you select Yes, you can choose how batches will be generated:

    1. System Generated – The system automatically generates batch codes sequentially (starting from 01).

    2. Manual Entry – The user manually enters batch codes.

Additionally, you can add a prefix to batch codes:

  • Prefix Limit: Up to 5 characters

  • Code Limit: Up to 10 digits

  • Example: AP-0000000001

🔹 Impact on FIFO/LIFO

  • If you want to maintain only Batchwise Inventory (without FIFO/LIFO), you can use this option independently.

  • If you enable FIFO/LIFO, then Batchwise Inventory becomes mandatory. You must select whether batch codes are System Generated or Manual.

⚠️ Important Notes

  • Users can change the mode (from System Generated to Manual or vice versa) only once in a month.

  • Frequent toggling between these settings is not allowed to maintain data accuracy.

  • If you switch the method, you must also update the prefix for new batch codes.



🔹 How to Start Using This Flow

  1. Go to Raw Material Master.

  2. Add a new raw material or modify an existing one.

  3. In the form, you will see the option:
    “Are you purchasing this on a batch-wise basis?”

    • If you select Yes, that raw material will be managed batch-wise.

    • All other raw materials will continue to work as they do currently.

If the client is using FIFO or LIFO, an additional field will appear:
“Stock Keeping Method: FIFO / LIFO”

  • Selection of Are you purchasing this on a batch-wise basis? becomes compulsory in this case.


🔹 Expiry Management (New)

We have also introduced a feature to track expiry and manufacturing dates more effectively.

  • If a raw material has an expiry, you can now mark it and define its Best Before Days.

  • This option is available for all users (whether they are using Batchwise, FIFO/LIFO, or normal inventory).

  • Data will be shown in the new Expiry Report, now available to all users.

Example:

  • Raw Material: Malai Cake

  • Expiry Applicable: Yes

  • Best Before: 10 Days

If a purchase is entered with an expiry date of 10th Sept, the system will auto-calculate the manufacturing date as 1st Sept.
Similarly, if production is done on 1st Sept, the expiry will be set to 10th Sept automatically.

✅ This feature helps clients track expiry dates, manufacturing dates, and raw materials that are nearing expiry.



🔹 Supported Combinations

The system now supports the following configurations:

  1. Expiry Date + Mfg Date only (without Batchwise / FIFO / LIFO).

  2. Batchwise + Expiry Date + Mfg Date.

  3. Batchwise only.

  4. FIFO or LIFO + Batchwise + Expiry + Mfg Date.

  5. If FIFO/LIFO is selected, then Batchwise Inventory is compulsory.


Info

⚠️ Important Operational Notes for Implementation

When enabling Batchwise Inventory with FIFO/LIFO, there are some important points that the operations team must understand and communicate to clients.

1) If the client is already using FIFO/LIFO

  • The setting “Would you like to include the batch code in all relevant inventory modules?” will be turned ON automatically.

  • In the Raw Material Master, the Stock Keeping Method (FIFO/LIFO) will already be selected.

  • Action Required:

    • The client must update raw materials via Excel and set “Are you purchasing this on a batch-wise basis?” = Yes.

    • This step is mandatory because this option is new in the database. Without it, batchwise tracking will not activate.

  • Why this is needed:

    • If the client already has stock (e.g., Malai Cake), that available stock must be converted into a batch.

    • The system will automatically create an opening batch for existing stock using the prefix OP.


2) If the client is not using FIFO/LIFO but now wants to enable it

  • Batchwise Inventory becomes compulsory.

  • In the Raw Material Master, the client must select:

    • Stock Keeping Method = FIFO / LIFO

    • Are you purchasing this on a batch-wise basis? = Yes

  • System Behavior:

    • The available stock will automatically be placed under an opening batch with prefix OP.


3) If the client wants only Batchwise Inventory (without FIFO/LIFO)

  • In the Raw Material Master, the client must set:

    • Are you purchasing this on a batch-wise basis? = Yes

  • System Behavior:

    • The available stock will be converted into an opening batch with prefix OP.


🔑 Why these steps are important

  • For new users (fresh setup), there is no issue — stock will directly be created batchwise.

  • For existing/ongoing restaurants, these steps are critical to migrate their current stock into batchwise tracking.

  • Without this conversion, stock data will not align properly with the new batchwise system.

🔹 Adding Opening Stock for Batchwise Raw Materials

For users who want to add opening stock before any purchase or production, follow these steps after enabling:
“Are you purchasing this on a batch-wise basis?” = Yes

  1. Go to:
    Manage Stock → Available Stock → Add Stock

  2. Select the raw material for which you want to add opening stock.

  3. Enter the quantity for the available stock.

  4. Add the Batch Number:

    • System Generated – The system will automatically assign the next batch number.

    • Manual Entry – Enter a batch number manually if required.

  5. Save the stock.

✅ This ensures that opening stock is properly linked to a batch, so all future production, sales, or wastage will follow batchwise tracking.



Alert

⚠️ Important Stock Adjustment Guidelines for Batchwise / FIFO-LIFO Raw Materials

  1. No Backdated Closing Stock Modification:

    • If a raw material is maintained batchwise or under FIFO/LIFO, you cannot modify backdated closing stock.

    • Stock adjustments are only allowed for the current date.

  2. Manual Quantity Adjustments:

    • You can increase or decrease stock quantities manually, but only for the current date.

    • Adjustment of stock via Excel upload for batchwise/FIFO-LIFO raw materials is not allowed.

  3. Other Raw Materials:

    • For raw materials not maintained batchwise, backdated stock adjustments via Excel are still allowed.

✅ This ensures data integrity for batchwise and FIFO/LIFO inventory, while allowing flexibility for non-batchwise raw materials.

Manual adjutment backdated not allowed


manual adjustment in available stock 


Info

🔹 Where Batch Creation is Possible

Batch creation for raw materials can be done from the following three places:

  1. Purchase – When purchasing a batchwise raw material, a batch must be added.

  2. Available Stock (Opening Stock) – If no opening stock has been added yet, batches can be created here.

  3. Production of Raw Material – During production, if a new batch is required, it can be created at that stage.

✅ These are the only three entry points where batches can be created in the system.


🔹 Batchwise Purchase Rules and Limitations

Once a raw material is set as batchwise and purchased accordingly, the following rules apply:

  1. Batchwise Purchase is Mandatory:

    • For raw materials marked as batchwise, every purchase must include a batch number.

    • Without adding a batch number, the purchase cannot be processed.

  2. Editing Purchased Raw Material:

    • After the purchase is recorded, editing any details of a batchwise raw material is not allowed.

    • Editing of other raw materials (non-batchwise) is still allowed.

  3. Cancelling a Purchase:

    • Cancellation of a purchase containing a batchwise raw material is only allowed if no stock from that batch has been used.

    • If any stock from the batch has been consumed in production, sales, or transfer, cancellation is not allowed.

✅ These rules ensure data integrity and proper tracking of batchwise stock across purchase, production, and other inventory movements.



📊 Batch Stock Handling



Legend

  • Automatic → System reduces stock automatically:

    • Case 1: according to FIFO or LIFO selected

    • Case 2: according to FIFO only

  • 📝 Manual → User must select the batch


🔹 How to Select Batch Manually

Example: Selling Malai Cake from a particular batch

  1. Go to Sales.

  2. Select the raw material / product (e.g., Malai Cake).

  3. Enter the quantity you want to sell.

  4. Click on the Batch Icon next to the item.

  5. Select the batch from which you want to transfer the goods.

  6. Complete the sale as usual.

✅ This ensures the correct batch is used, maintaining accurate batchwise stock tracking.

In sales page and transfer page

In wastage page




In sales return page




In purchase return page



In Production, if a raw material is maintained batchwise, the user must select a batch. If no batch is added, the system will display an error and the production entry cannot be completed.



Warning

⛔ Limitations on Batch Selection

  • Sales, Transfer, Wastage, Purchase Return, Sales Return → You can increase or decrease stock only for batches created in the last 60 days.

  • Available Stock → You can increase or decrease stock only for batches created in the last 30 days.

Reason:

  • Sales, Transfer, Wastage, Purchase Return, and Sales Return entries are allowed only up to 60 days backdated, so stock adjustments are limited to batches from the same period.

  • In Available Stock, adjustments are allowed only for 30 days backdated, so changes can be made only to batches created within that timeframe.


POS Consumption

  • Stock is consumed automatically as per the selected method.

  • If FIFO/LIFO is enabled, consumption follows the chosen method.

  • If only Batchwise is enabled, the system consumes stock on a FIFO basis to decide from which batch the stock is reduced.

Edit Restrictions for Batchwise Materials

  • Once a batchwise raw material is purchased, it cannot be edited in Purchase or any other respective modules.

  • For non-batchwise raw materials, you can still add, edit, or delete entries during edit.

  • Important: In Edit mode, you cannot add a new batchwise raw material.

Reason: Since consumption is tracked as per FIFO/LIFO, allowing edits on batchwise raw materials would break stock accuracy and make it impossible to track consumption properly.


Cancellation Rules

  • Purchase Bills → Can be cancelled only if no stock has been reduced from the related batch.

  • Sales, Transfer, Wastage, and Purchase Return entries → Cancellation is allowed.

  • Sales Return and Manual Adjustment entries → Cancellation is not allowed.


📑 Report Update – Batch-wise Raw Material Report

  • The earlier FIFO/LIFO Report has now been updated and renamed to Batch-wise Raw Material Report.

  • This report shows all stock entries in detail, along with their respective batches.

  • In the Closing Stock popup, users can now see which batches hold the available stock.






📊 Expiry & Batchwise Insight Report

This report allows you to track raw materials that are purchased or produced, along with their shelf life status.

Shelf Life Status Definitions:

  • Good → Raw material has a shelf life of more than 3 days.

  • Expiring Soon → Raw material has a shelf life of less than 3 days.

  • Expired → Raw material’s shelf life has ended; it can be recorded as wastage.

Report Views:

  1. Expire & Batchwise View → Shows the expiry status of raw materials along with batch details.

    • Users can directly record wastage for expired raw materials from this view.

  2. Batchwise Only View → Shows which batch contains which raw material and available quantity, without expiry status.

✅ This report helps users track both stock availability by batch and raw material shelf life, enabling better planning and wastage management.





Idea

⚠️ Important Note for user who already using FIFO/LIFO in old method.

If users is using FIFO or LIFO method current/old method, there may be a difference between current stock and batchwise stock.

To maintain data consistency, we have introduced this process:

  • If the setting “Would you like to include the batch code in all relevant inventory modules?” is enabled,

  • Then all existing stock will automatically be added as a batchwise opening stock.(example op-6549495)

Displaying image.png

✅ This ensures that current stock and batchwise stock remain aligned and the report reflects accurate data.



Quote

🔄 Updating Average Purchase Price (Batchwise / FIFO-LIFO Enabled)

  • When a raw material is maintained Batchwise or under FIFO/LIFO, users are not allowed to update stock or average purchase price via Excel.

  • To update the Average Purchase Price in such cases:

    1. Download excel sheet from the available stock.

    2. Identify the required raw material.

    3. Update the Average Purchase Price manually from there.and upload

    4. note that qty upload not allowed.

✅ This ensures stock accuracy and prevents inconsistencies in batchwise or FIFO/LIFO tracking.



    • Related Articles

    • Introducing Simplified Inventory Management

      What’s New? With this update, you can now choose from three inventory management options, Single Outlet: For standalone restaurants managing inventory at an individual outlet level. Multi-Outlet: Perfect for businesses operating across multiple ...
    • Inventory Notifications Are Here!

      We’re excited to introduce Inventory Notifications to help you better manage your stock levels and avoid shortages or expired raw materials. This feature brings three types of notifications to keep you informed: Key Features At Par Level Notification ...
    • Inventory Dashboard Updates

      What's New? We've made some changes to the Inventory Dashboard to enhance usability and provide more insightful data. Removed Widgets: Raw Material Pending purchase and approval Widget Key Statistics New Additions: Pending Tasks: This now includes ...
    • Barcode Generation Feature in inventory

      We are pleased to announce the launch of the Barcode Generation feature, developed to enhance the labeling and tracking of raw materials with flexibility and precision. What is Barcode Generation? This feature enables users to generate barcodes for ...
    • Customization Option for Inventory Dashboard Widgets

      1. Overview The purpose of this feature is to enhance user control and customization within the inventory dashboard by introducing the ability to enable or disable specific widgets. 2. Requirement As a user, I want to be able to choose which widgets ...