Introduction to Stock Entries
Hi everyone, welcome back to Frappe School. This is the fifth chapter of our inventory management course.
In this chapter, we will be discussing stock entries. By the end of this chapter, you will be able to understand the various use cases where stock entries can be used and how to transfer stock in ERPNext.
Understanding Stock Transfer Scenarios
Once you receive the inventory at the central location, you may want to transfer it internally for various reasons.
You may need to transfer inventory in two different ways. The first being intra-company transfer, that is, within the company. This would include transfers between two warehouses of the same company, from warehouse to retail location, from stores to manufacturing location, or from warehouse to a project location.
The second type would be inter-company transfer, that is, from one company to another company.
A stock entry lets you record item movement between warehouses. Now let's see these entries in action in ERPNext.
Exploring Stock Entry Types
A stock entry is a transaction that lets you record the movement of item stock between warehouses. These can serve multiple purposes, including material transfers. Let's see how we can use stock entries for material transfers in ERPNext.
Before we create a stock entry, let's explore the various stock entry types. We can access this list by searching for it in the awesome bar. Here we can see various types already listed in the system. Let's see what purposes they serve.
Material Issue: Material issue is used to issue material from a warehouse for internal or external use. This purpose of stock entry is used to account for the consumption of certain low value stock like consumables and stationery, etc.
Material Receipt: Material receipts are used to record inward or receipt of inventory in a warehouse. It is useful when adding opening stock of serialized and batched items or to inward items received without a purchase order.
Material Transfer for a manufacturing company: It is used to transfer material for manufacturing and is created from a work order in the manufacturing module.
Manufacture: This type is used to record the manufacturing of items produced and the consumption of raw materials. This is also created using work orders.
Sent to Contractor/Sent to Subcontractor: This type is used to send materials to subcontractors where the inventory is transferred from our warehouse to the subcontractor's virtual warehouse for our record.
Repack: This type of stock entry is used to repack items purchased in bulk into smaller packing units. This purpose of stock entry can be used to repack an item into a different form.
Alternatively, we can even create a custom stock entry type by clicking on 'Add Stock Entry Type'. Here we can specify a name and select a purpose from the drop-down list. This drop-down list shows all the types that are pre-created in the system.
Creating a Material Transfer Stock Entry
We can navigate to the stock entry list from the stock module or by searching for it in the awesome bar. Here we can see a list of all previously created stock entries and create a new one by clicking on the 'Add Stock Entry' button.
The posting date and time is automatically fetched. We will first have to define a stock entry type. We can select from the list. Let's select 'Material Transfer'.
Next, we can use these check boxes. If we want to add to transit, we can select this check box. We can even edit the posting date and time and select the 'Inspection Required' check box if an inspection is required for these items. If this is a manufacturing entry, we can even tag a BOM here using this checkbox.
Next, we can add a default source warehouse and a default target warehouse. Let's add them. These will define the source and target warehouses in each row of the items table.
Now we have the items table. Here we can add each item with the quantity that we want to transfer. We can either manually add each item or we can fetch items from different documents using the 'Get Items From' button on the top. We can fetch items from a purchase invoice, a material request, or even a bill of material. Once we select the correct document, we can click on the 'Get Items' button and the items will appear in the table below. According to the items, the total outgoing and incoming value will be calculated along with a difference if present based on any additional costs added per item. We can even add these additional costs in the additional cost table below.
Then we can add accounting dimensions and tag the branch or cost center. We can add the print settings as well. Once we've added all our details, we can save and permanently submit this document.
We can then navigate to the stock entry report using the awesome bar and we can see that our stock entry is recorded along with its status, type, and the warehouse details.
Advanced Transfer Methods and Configuration
Usually, material transfers are done using the stock entry transaction, but sometimes the transfer needs to be presented as a delivery note or a purchase receipt. If transfer of a material is done from our store to the project site or when there are statutory requirements where taxes are to be applied on each transfer of material, it is easier to manage in a transaction like delivery note than in the stock entry.
Let's see how we can go about a material transfer from a delivery note or a purchase receipt. Let's note that the selected customer should represent the same company. For this, enable the 'Is Internal Customer' option in the customer form and select your company in the 'Represents Company' field.
Let's start with delivery note. In the case we need to present a material transfer as a delivery note, we will first need to enable it in the stock settings. When we navigate to stock settings, we can see the 'Allow transfer of material from Delivery Notes to Sales Invoice' checkbox. This will enable the target warehouse. We can also select the 'Allow material transfer from Purchase Receipt' checkbox, which we will use later. Let's save these settings.
Transferring Stock with a Delivery Note
Now we can create a delivery note. Here, select the internal customer which represents one and the company present in the system now. We will add the items and add warehouses for the items.
We will see two fields in the warehouse and reference section. We can select the source and target warehouses here in the 'Warehouse' and 'Target Warehouse' sections respectively. We add all other details and submit this delivery note. The item stock will be transferred from the source warehouse to the target warehouse quantity accordingly.
Transferring Stock with a Purchase Receipt
Now let's see how we can go about a material transfer using a purchase receipt. We have already configured the stock settings to enable a supplier warehouse.
Please note that the selected supplier should represent the same company. For this, enable the 'Is Internal Supplier' option in the supplier form and select your company in the 'Represents Company' field.
We can navigate to the purchase receipt list and create an internal purchase receipt. This is how you create an internal purchase receipt from an internal delivery note.
Next, in the 'Accepted Warehouse' field, let us add our target warehouse, and in the item 'Supplier Warehouse' field, we can add the source warehouse. Once we have added all the other details, we can save and permanently submit this purchase receipt. Once submitted, the stock will be transferred from the supplier warehouse and to the accepted warehouse via this transaction.
Inter-Company Transfer Using Sales Invoice
In transactions where taxes have to be applied to each item in the material transfer, it sometimes becomes easier to use documents like sales invoices to record these transactions rather than standard stock entries.
Let's see how we can create them. First, we will have to configure a few things. We need to add an in-transit warehouse in the company master and add an unrealized profit and loss account as well.
First, let's open the company master. In the default values section, we can scroll down to the 'Default In-Transit Warehouse' field and tag the warehouse here. Next, we will go to the account settings section and add the inter-warehouse transfer account in the 'Unrealized Profit or Loss Account' field.
Next, we need to make sure we have an internal customer and supplier added to our system who belong to the same company and can transact with each other. We can do this in the supplier and customer masters respectively. As we can see here, the 'Is Internal Customer' checkbox is selected and in the 'Allow to transact with' table, the internal supplier is tagged. Now on the supplier master, here the 'Is Internal Supplier' checkbox is selected and the internal customer is tagged in the 'Allow to transact with' table.
Now we can create the sales invoice. We can select the internal customer first. Next, we can select the 'Update Stock' checkbox. In the items table, we can select the items that we want along with their source and target warehouses. The in-transit warehouse will be tagged as a target warehouse.
Once we've added all these details, we can save and permanently submit the sales invoice. Let's open the stock ledger and see how this transaction has been recorded.
Completing the Transfer with a Purchase Invoice
If we want to create a purchase invoice from this sales invoice to record that the stock has been received, we can navigate to the 'Create' button at the top of the sales invoice we just created and click on 'Internal Purchase Invoice'.
Here we can tag the warehouse where the stock has been received in the 'Accepted Warehouse' field and save and submit the purchase invoice. Again, we can see these transactions in the stock and accounting ledgers.
Conclusion
This brings us to the end of the fifth chapter of the inventory management course. I hope this helped you understand how stock transfer and other stock entries work in ERPNext.
You can learn more about ERPNext on docs.erpnex.com.
In the next chapter, we will discuss delivery note and packing slip.
Thank you.