diff --git a/docs/docs.user.stock.accounting_for_stock.md b/docs/docs.user.stock.accounting_for_stock.md index 22fa7bde7b..bf91fe5ce2 100644 --- a/docs/docs.user.stock.accounting_for_stock.md +++ b/docs/docs.user.stock.accounting_for_stock.md @@ -10,33 +10,33 @@ There are generally two different methods of accounting for inventory: ### **Auto / Perpetual Inventory** -In this process, for each stock transactions system posts relevant accounting entries to sync stock balance and accounting balance. This is the default settings in ERPNext for new accounts. +In this process, for each stock transactions, the system posts relevant accounting entries to sync stock balance and accounting balance. This is the default setting in ERPNext for new accounts. -When you buy and receive items, those items are booked as the company’s assets (stock-in-hand / fixed-assets). When you sell and deliver those items, an expense (cost-of-goods-sold) equal to the buying cost of the items is booked. General Ledger entries are made after every stock transaction. This improves accuracy of Balance Sheet and Profit and Loss statement. And the value as per Stock Ledger always remains same with the relevant account balance. +When you buy and receive items, those items are booked as the company’s assets (stock-in-hand / fixed-assets). When you sell and deliver those items, an expense (cost-of-goods-sold) equal to the buying cost of the items is booked. General Ledger entries are made after every stock transaction. As a result, the value as per Stock Ledger always remains same with the relevant account balance. This improves accuracy of Balance Sheet and Profit and Loss statement. To check accounting entries for a particular stock transaction, please check [**examples**](docs.user.stock.perpetual_inventory.html) #### **Advantages** -It will make it easier for you to maintain accuracy of company's stock-in-hand, fixed-assets and cost-of-goods-sold. Stock balances will always be synced with relevant account balances, so no more periodic manual entry to balance them. +Perpetual Inventory system will make it easier for you to maintain accuracy of company's asset and expense values. Stock balances will always be synced with relevant account balances, so no more periodic manual entry has to be done to balance them. -In case of new back-dated stock transactions or cancellation/amendment of an existing one, all the future Stock Ledger entries and GL Entries will recalculated for all related items. -The same is applicable if any cost is added to submitted Purchase Receipt later through Landed Cost Wizard. +In case of new back-dated stock transactions or cancellation/amendment of an existing transaction, all the future Stock Ledger entries and GL Entries will be recalculated for all items of that transaction. +The same is applicable if any cost is added to the submitted Purchase Receipt, later through the Landed Cost Wizard. ->Note: Perpetual Inventory totally depends upon the item valuation rate. Hence, you have to be more careful entering valuation rate while making any incoming stock transaction like Purchase Receipt, Material Receipt or Manufacturing / Repack +>Note: Perpetual Inventory totally depends upon the item valuation rate. Hence, you have to be more careful entering valuation rate while making any incoming stock transactions like Purchase Receipt, Material Receipt, or Manufacturing / Repack. - ### **Periodic Inventory** -In this method, accounting entries are manually created periodically to sync stock balance and relevant account balance. The system does not create accounting entries automatically for assets, at the time of material purchases or sales. +In this method, accounting entries are manually created periodically, to sync stock balance and relevant account balance. The system does not create accounting entries automatically for assets, at the time of material purchases or sales. -In an accounting period, when you buy and receive items, an expense is booked in your accounting books. You sell and deliver some of these items. +In an accounting period, when you buy and receive items, an expense is booked in your accounting system. You sell and deliver some of these items. -At the end of an accounting period, the total value of items, that remain to be sold, need to be booked as the company’s assets, often known as stock-in-hand. +At the end of an accounting period, the total value of items to be sold, need to be booked as the company’s assets, often known as stock-in-hand. -The difference between the value of the items remaining to be sold and the previous period’s stock-in-hand can be positive or negative. If positive, this value is removed from expenses (cost-of-goods-sold) and is added to assets (stock-in-hand / fixed-assets). If negative, a reverse entry is passed. +The difference between the value of the items remaining to be sold and the previous period’s stock-in-hand value can be positive or negative. If positive, this value is removed from expenses (cost-of-goods-sold) and is added to assets (stock-in-hand / fixed-assets). If negative, a reverse entry is passed. This complete process is called Periodic Inventory. -If you are an existing user using Periodic Inventory and want to use Perpetual Inventory, check [**Migration From Periodic Inventory**](docs.user.stock.perpetual_inventory.html) +If you are an existing user using Periodic Inventory and want to use Perpetual Inventory, you have to follow some steps to migrate. For details, check [**Migration From Periodic Inventory**](docs.user.stock.perpetual_inventory.html) diff --git a/docs/docs.user.stock.perpetual_inventory.md b/docs/docs.user.stock.perpetual_inventory.md index 2b6adc45d5..eb10326ecb 100644 --- a/docs/docs.user.stock.perpetual_inventory.md +++ b/docs/docs.user.stock.perpetual_inventory.md @@ -4,7 +4,10 @@ } --- -In perpetual accounting, system creates accounting entries for each stock transactions. Hence, stock balance will always remains same as relevant account balance. +In perpetual inventory, system creates accounting entries for each stock transactions, so that stock and account balance will always remain same. The account balance will be posted against their respective account heads for each Warehouse. On saving of a Warehouse, the system will automatically create an account head with the same name as warehouse. As account balance is maintained for each Warehouse, you should create Warehouses, based on the type of items (Current / Fixed Assets) it stores. + +At the time of items received in a particular warehouse, the balance of asset account (linked to that warehouse) will be increased. Similarly when you deliver some items from that warehouse, an expense will be booked and the asset account will be reduced, based on the valuation amount of those items. + ## **Activation** @@ -14,25 +17,12 @@ In perpetual accounting, system creates accounting entries for each stock transa - Expenses Included In Valuation - Cost Center -2. The system will create an account head for each warehouse. Enter "Create Account Under" (account group under which account will be created) in warehouse master, based on type of items it stores (Stores, Fixed Asset Warehouse, etc). +2. In perpetual inventory, the system will maintain seperate account balance for each warehouse under separate account head. To create that account head, enter "Create Account Under" in Warehouse master. -3. Go to Setup > Accounts Settings > check "Make Accounting Entry For Every Stock Movement" -![Activation](img/accounting-for-stock-1.png) +3. Activate Perpetual Inventory +> Setup > Accounts Settings > Make Accounting Entry For Every Stock Movement -## **Migration from Periodic Inventory** - -Migration from Periodic Inventory is not a one click settings, it involves some special steps. As Perpetual Inventory always maintain a sync between stock and account balance, it is not possible to enable it with existing Warehouse setup. You have to create a whole new set of Warehouses, each linked to relevant account. - -Steps to be followed: - -- Nullify current stock-in-hand / fixed-asset account balance through Journal Voucher. -- Create new warehouse for each existing warehouse -- Follow Activation Step 1, 2 & 3 -- Create Stock Entry (Material Transfer) to transfer available stock from existing warehouse to new warehouse - ->Note: System will not post any accounting entries for existing stock transactions submitted prior to the activation of Perpetual Inventory as those old warehouses will not be linked to account. - - ## **Example** @@ -41,82 +31,82 @@ Consider following Chart of Accounts and Warehouse setup for your company: #### Chart of Accounts ->- Assets (Dr) -> - Current Assets -> - Accounts Receivable -> - Jane Doe -> - Stock Assets -> - Stores -> - Finished Goods -> - Work In Progress -> - Tax Assets -> - VAT -> - Fixed Assets -> - Fixed Asset Warehouse ->- Liabilities (Cr) -> - Current Liabilities -> - Accounts Payable -> - East Wind Inc. -> - Stock Liabilities -> - Stock Received But Not Billed -> - Tax Liabilities -> - Service Tax ->- Income (Cr) -> - Direct Income -> - Sales Account ->- Expenses (Dr) -> - Direct Expenses -> - Stock Expenses -> - Cost of Goods Sold -> - Expenses Included In Valuation -> - Stock Adjustment -> - Shipping Charges -> - Customs Duty +- Assets (Dr) + - Current Assets + - Accounts Receivable + - Jane Doe + - Stock Assets + - Stores + - Finished Goods + - Work In Progress + - Tax Assets + - VAT + - Fixed Assets + - Fixed Asset Warehouse +- Liabilities (Cr) + - Current Liabilities + - Accounts Payable + - East Wind Inc. + - Stock Liabilities + - Stock Received But Not Billed + - Tax Liabilities + - Service Tax +- Income (Cr) + - Direct Income + - Sales Account +- Expenses (Dr) + - Direct Expenses + - Stock Expenses + - Cost of Goods Sold + - Expenses Included In Valuation + - Stock Adjustment + - Shipping Charges + - Customs Duty #### Warehouse - Account Configuration ->- Stores ->- Work In Progress ->- Finished Goods ->- Fixed Asset Warehouse +- Stores +- Work In Progress +- Finished Goods +- Fixed Asset Warehouse ### **Purchase Receipt** ->Suppose you have purchased *10 quantity* of item "RM0001" at *$200* and *5 quantity* of item "Desktop" at **$100** from supplier "East Wind Inc". Following are the details of Purchase Receipt: +Suppose you have purchased *10 nos* of item "RM0001" at *$200* and *5 nos* of item "Desktop" at **$100** from supplier "East Wind Inc". Following are the details of Purchase Receipt: ->Supplier: East Wind Inc. +Supplier: East Wind Inc. ->Items: -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> ->
ItemWarehouseQtyRateAmountValuation Amount
RM0001Stores1020020002200
DesktopFixed Asset Warehouse5100500550
+Items: + + + + + + + + + + + + + + + + +
ItemWarehouseQtyRateAmountValuation Amount
RM0001Stores1020020002200
DesktopFixed Asset Warehouse5100500550
->**Taxes:** +**Taxes:** -> -> -> -> -> -> -> -> -> ->
AccountAmountCategory
Shipping Charges100Total and Valuation
VAT120Total
Customs Duty150Valuation
+ + + + + + + + + +
AccountAmountCategory
Shipping Charges100Total and Valuation
VAT120Total
Customs Duty150Valuation
**Stock Ledger** @@ -126,51 +116,51 @@ Consider following Chart of Accounts and Warehouse setup for your company: ![pr_general_ledger](img/accounting-for-stock-3.png) -As stock balance increases through Purchase Receipt, "Store" and "Fixed Asset Warehouse" accounts have been debited and a temporary account "Stock Receipt But Not Billed" account has been credited, to maintain double entry accounting system. +As stock balance increases through Purchase Receipt, "Store" and "Fixed Asset Warehouse" accounts are debited and a temporary account "Stock Receipt But Not Billed" account is credited, to maintain double entry accounting system. -- ### **Purchase Invoice** ->On receiving Bill from supplier, for the above Purchase Receipt, you will make Purchase Invoice for the same. The general ledger entries are as follows: +On receiving Bill from supplier, for the above Purchase Receipt, you will make Purchase Invoice for the same. The general ledger entries are as follows: **General Ledger** ![pi_general_ledger](img/accounting-for-stock-4.png) -Here "Stock Received But Not Billed" account has been debited and nullified the effect of Purchase Receipt. "Expenses Included In Valuation" account has been credited which ensures the valuation expense accounts are not booked (debited) twice (in Purchase Invoice and Delivery Note). +Here "Stock Received But Not Billed" account is debited and nullified the effect of Purchase Receipt. "Expenses Included In Valuation" account has been credited which ensures the valuation expense accounts are not booked (debited) twice (in Purchase Invoice and Delivery Note). -- ### **Delivery Note** ->Lets say, you have an order from "Jane Doe" to deliver 5 qty of item "RM0001" at $300. Following is the details of Delivery Note: +Lets say, you have an order from "Jane Doe" to deliver 5 nos of item "RM0001" at $300. Following are the details of Delivery Note: ->**Customer:** Jane Doe +**Customer:** Jane Doe ->**Items:** -> -> -> -> -> -> -> ->
ItemWarehouseQtyRateAmount
RM0001Stores53001500
+**Items:** + + + + + + + +
ItemWarehouseQtyRateAmount
RM0001Stores53001500
->**Taxes:** +**Taxes:** -> -> -> -> -> -> -> -> ->
AccountAmount
Service Tax150
VAT100
+ + + + + + + + +
AccountAmount
Service Tax150
VAT100
**Stock Ledger** @@ -181,15 +171,23 @@ Here "Stock Received But Not Billed" account has been debited and nullified the ![dn_general_ledger](img/accounting-for-stock-6.png) -As item has delivered from "Stores" warehouse, "Stores" account has been credited and equal amount will be debited to the expense account "Cost of Goods Sold". The debit/credit amount is equal to the total buying cost of the selling items. And buying cost is calculated based on valuation method (FIFO / Moving Average) or serial no cost for serialized items. - -In this eample, Buying cost of RM0001 = (2200/10)*5 = 1100 +As item is delivered from "Stores" warehouse, "Stores" account is credited and equal amount is debited to the expense account "Cost of Goods Sold". The debit/credit amount is equal to the total valuation amount (buying cost) of the selling items. And valuation amount is calculated based on your prefferred valuation method (FIFO / Moving Average) or actual cost of serialized items. +
+	
+In this example, we have considered valuation method as FIFO. 
+Valuation Rate 	= Purchase Rate + Charges Included in Valuation 
+				= 200 + (250 * (2000 / 2500) / 10) 
+				= 220
+Total Valuation Amount 	= 220 * 5 
+						= 1100
+	
+
-- ### **Sales Invoice with Update Stock** -> Suppose you do not want to make Delivery Note against the above order, you can make Sales Invoice directly with "Update Stock" options. The details of the Sales Invoice are same as above Delivery Note. +Lets say, you did not make Delivery Note against the above order and instead you have made Sales Invoice directly, with "Update Stock" options. The details of the Sales Invoice are same as the above Delivery Note. **Stock Ledger** @@ -199,21 +197,21 @@ In this eample, Buying cost of RM0001 = (2200/10)*5 = 1100 ![si_general_ledger](img/accounting-for-stock-8.png) -Here apart from normal account entries for invoice, "Stores" and "Cost of Goods Sold" accounts are also affected based on buying cost. +Here, apart from normal account entries for invoice, "Stores" and "Cost of Goods Sold" accounts are also affected based on the valuation amount. -- ### **Stock Entry (Material Receipt)** ->**Items:** -> -> -> -> -> -> -> ->
ItemTarget WarehouseQtyRateAmount
RM0001Stores5022011000
+**Items:** + + + + + + + +
ItemTarget WarehouseQtyRateAmount
RM0001Stores5022011000
**Stock Ledger** @@ -227,15 +225,15 @@ Here apart from normal account entries for invoice, "Stores" and "Cost of Goods ### **Stock Entry (Material Issue)** ->**Items:** -> -> -> -> -> -> -> ->
ItemSource WarehouseQtyRateAmount
RM0001Stores102202200
+**Items:** + + + + + + + +
ItemSource WarehouseQtyRateAmount
RM0001Stores102202200
**Stock Ledger** @@ -249,17 +247,17 @@ Here apart from normal account entries for invoice, "Stores" and "Cost of Goods ### **Stock Entry (Material Transfer)** ->**Items:** -> -> -> -> -> -> -> -> -> ->
ItemSource WarehouseTarget WarehouseQtyRateAmount
RM0001StoresWork In Progress102202200
+**Items:** + + + + + + + + + +
ItemSource WarehouseTarget WarehouseQtyRateAmount
RM0001StoresWork In Progress102202200
**Stock Ledger** @@ -267,49 +265,49 @@ Here apart from normal account entries for invoice, "Stores" and "Cost of Goods **General Ledger** -No General Ledger Entry +![mtn_general_ledger](img/accounting-for-stock-14.png) -- ### **Stock Entry (Sales Return - Sales Invoice booked)** ->**Items:** -> -> -> -> -> -> -> ->
ItemTarget WarehouseQtyRateAmount
RM0001Stores2200400
+**Items:** + + + + + + + +
ItemTarget WarehouseQtyRateAmount
RM0001Stores2200400
**Stock Ledger** -![sret_stock_ledger](img/accounting-for-stock-14.png) +![sret_stock_ledger](img/accounting-for-stock-15.png) **General Ledger** -![sret_general_ledger](img/accounting-for-stock-15.png) +![sret_general_ledger](img/accounting-for-stock-16.png) -- ### **Stock Entry (Purchase Return)** ->**Items:** -> -> -> -> -> -> -> ->
ItemSource WarehouseQtyRateAmount
RM0001Stores4220880
+**Items:** + + + + + + + +
ItemSource WarehouseQtyRateAmount
RM0001Stores4220880
**Stock Ledger** -![pret_stock_ledger](img/accounting-for-stock-16.png) +![pret_stock_ledger](img/accounting-for-stock-17.png) **General Ledger** -![pret_general_ledger](img/accounting-for-stock-17.png) +![pret_general_ledger](img/accounting-for-stock-18.png) diff --git a/docs/user/stock/docs.user.stock.periodic_to_perpetual.md b/docs/user/stock/docs.user.stock.periodic_to_perpetual.md new file mode 100644 index 0000000000..258b4dbdfc --- /dev/null +++ b/docs/user/stock/docs.user.stock.periodic_to_perpetual.md @@ -0,0 +1,31 @@ +--- +{ + "_label": "Migration from Periodic Inventory" +} +--- + +Migration from Periodic Inventory is not a one click setting, it involves some special steps. As Perpetual Inventory always maintains a sync between stock and account balance, it is not possible to enable it with existing Warehouse setup. You have to create a whole new set of Warehouses, each linked to relevant account. + +Steps: + +- Nullify the balance of account heads (stock-in-hand / fixed-asset) which you are using to maintain available stock value, through a Journal Voucher. + +- As existing warehouses are linked to stock transactions which does not have corresponding accounting entries, those warehouses can not be used for perpetual inventory. You have to create new warehouses for the future stock transactions which will be linked to their respective accounts. While creating new warehouses, select an account group under which the child account for the warehouse will be created. + +- Setup the following default accounts for each Company + - Stock Received But Not Billed + - Stock Adjustment Account + - Expenses Included In Valuation + - Cost Center + +- Activate Perpetual Inventory +> Setup > Accounts Settings > Make Accounting Entry For Every Stock Movement + +![Activation](img/accounting-for-stock-1.png) +

+ +- Create Stock Entry (Material Transfer) to transfer available stock from existing warehouse to new warehouse. As stock will be available in the new warehouse, you should select the new warehouse for all the future transactions. + +System will not post any accounting entries for existing stock transactions submitted prior to the activation of Perpetual Inventory as those old warehouses will not be linked to any account. If you create any new transaction or modify/amend existing transactions, with old warehouse, there will be no corresponding accounting entries. You have to manually sync stock and account balance through Journal Voucher. + +> Note: If you are already using old Perpetual Inventory system, it will be deactivated automatically. You need to follow the above steps to reactivate it. \ No newline at end of file diff --git a/docs/user/stock/docs.user.stock.warehouse.md b/docs/user/stock/docs.user.stock.warehouse.md index dd8273ab4d..38a559e29c 100644 --- a/docs/user/stock/docs.user.stock.warehouse.md +++ b/docs/user/stock/docs.user.stock.warehouse.md @@ -18,13 +18,12 @@ To go to Warehouse, click on Stock and go to Warehouse under Masters. -In ERPNext, every different company can have a separate Warehouse. Every Warehouse will belong to a specific company. User can get company wise accurate stock balance. The Warehouses are saved with their respective company’s abbreviations. This facilitates in identifying which Warehouse belongs to which company, at a glance. +In ERPNext, every Warehouse must belong to a specific company, to maintain company wise stock balance. The Warehouses are saved with their respective company’s abbreviations. This facilitates in identifying which Warehouse belongs to which company, at a glance. You can include user restrictions for these Warehouses. In case you do not wish a particular user to operate on a particular Warehouse, you can refrain the user from accessing that Warehouse. ### Merge Warehouse -In day to day transactions, if duplicate entries are done by mistake resulting in duplicate Warehouse, these mistakes can be rectified. Duplicate records can be merged into a single Warehouse. Enter the place where you want to keep all the warehouse records. Click on the Merge button. Once this transaction is done, delete the empty Warehouse. - -ERPNext system maintains stock balance for every distinct combination of Item and Warehouse. Thus you can get stock balance for any specific Item in a particular Warehouse on any particular date. +In day to day transactions, duplicate entries are done by mistake, resulting in duplicate Warehouses. Duplicate records can be merged into a single Warehouse. Enter the correct Warehouse and click on the Merge button. The system will replace all the links of wrong Warehouse with the correct Warehouse, in all transactions. Also, the available quantity (actual qty, reserved qty, ordered qty etc) of all items in the duplicate warehouse will be transferred to the correct warehouse. Once merging is done, delete the duplicate Warehouse. +> Note: ERPNext system maintains stock balance for every distinct combination of Item and Warehouse. Thus you can get stock balance for any specific Item in a particular Warehouse on any particular date. \ No newline at end of file