One of the most controversial questions when running workshops with clients surrounds which costing method will be used for inventory. For users in the finance department, the inventory valuation comprises a large portion of their balance sheet reporting; and if salesperson bonuses are based on sales profitability, it’s very important to them as well.
Microsoft Dynamics 365 Business Central offers five different Costing Methods, four of which are variously useful depending on the type of inventory, and the fifth, LIFO (Last In First Out), is prohibited under International Financial Reporting Standards (IFRS).
FIFO stands for First In, First Out and it means that the oldest stock is sold first. This is appropriate for purchased items that have a stable cost.
LIFO stands for Last In, First Out and it means the newest stock is sold first. While it could be used to more accurately reflect current purchasing costs, there are some drawbacks. The first is that it deflates profit. Under the assumption that prices generally rise with inflation, the units with higher cost will be sold first, reducing profit and tax liabilities. Further to this, if inventory is liquidated using LIFO, profits soar because old stock is being sold at current prices. The reason LIFO is prohibited by the IFRS is because it can be manipulated in these ways.
Average costing absorbs cost differences across the entire inventory and is primarily useful in either of two situations: inventory with volatile cost changes, such as bananas or other produce affected by weather events, or where the inventory is stored all together, such as a vat of chemicals.
Specific costing is most appropriately used for high value items, where the individual cost of each unit is independent from all others. This requires serial tracking of the items.
Standard costing is vital for manufactured goods. The cost of an item is predetermined by the best estimate of an administrator. This cost must be periodically maintained and updated to ensure that the Standard Cost always reflects the best estimate. If the actual manufacturing cost differs from the Standard Cost, that difference will be posted as a material or capacity variance.
From my experience, FIFO should be used unless there is good reason to use another Costing Method. For example, manufactured items should always use Standard costing, serial tracked items should always use Specific costing, and items with widely fluctuating costs should use Average costing. LIFO should never be used.
It’s important to note that once an item has been transacted, it’s very difficult to change the Costing Method. Due to the high impact of the Costing Method decision, it is imperative to understand the ramifications and be able to defend the numbers, either to an external auditor or a sales representative. Choose wisely and carefully.
D 365 Business Central Costing Methods: The costing method determines if an actual or a budgeted value is capitalized and used in the cost calculation. Together with the posting date and sequence, the costing method also influences how the cost flow is recorded. The following methods are supported in Microsoft Dynamics 365 Business Central:
FIFO: An items unit cost is the value of any receipt of item, selected by the FIFO rule. In inventory valuation, it is assumed that first items placed in inventory are sold first.
When to use: In business environment product cost is stable. (When prices are rising, the balance sheet shows greater value. This means that tax liability increase, but credit score and the ability borrow cash improve.) For item with limited shelf life, because the oldest goods need to be sold before they pass by their sell-by date.
LIFO: An items unit cost is the value of any receipt of item, selected by the LIFO rule. In inventory valuation, it is assumed that Last items placed in inventory are sold first.
When to use: Disallowed in many countries, as it can be used to depress profit. (When prices are rising, The value on the income statement decreases. This means the tax liability decrease, but the ability to borrow cash deteriorates.
Average: An item’s unit cost is the exact cost at which the particular unit was received.
In business environments where product cost is unstable.
When inventories are piled or mixed together and cannot be differentiated, such as chemical.
Specific: An Item Unit cost is calculated as the average unit cost at each point in time after purchase. For inventory valuation, it assumes that all inventories are sold simultaneously.
In production or trade of easily identifiable items with fairly high unit cost.
For items that are subject to regulation.
For items with Serial Numbers.
Standard: An item’s unit cost is pre-set based on estimated. When the actual cost is realized later, the standard cost must be adjusted to the actual cost through variance values.
Where cost is critical. In repetitive manufacturing, to value the cost of direct material, direct labour, and manufacturing overhead. Where there is discipline and staff to maintain standards.
Inventory Setup: Inventory setup includes the all costing related important setup, which user can understand & implement as per client requirement.
Expected Cost Posting to G/L: Expected cost represents the estimation of, for example, a purchased item’s cost that you record before you receive the invoice for the item.
You can post expected cost to inventory and to the general ledger. When you post quantity that is only received or shipped but not invoiced, then value entry is created with expected cost. This expected cost affects the inventory value, but is not posted general ledger unless you setup system up to do so.
If only the quantity part of an inventory increase has been posted, then the inventory value in the general ledger does not change unless you have selected the Expected Cost Posting to G/L check box in the Inventory Setup window. In that case, the expected cost is posted to interim accounts at the time of receipt. After the receipt has been fully invoiced, the interim accounts are then balanced and the actual cost is posted to the inventory account.
To support reconciliation and traceability work, the invoiced value entry shows the expected cost amount that has been posted to balance the interim accounts.
Automatic Cost Posting: To setup up cost posting to the general ledger to run automatically when you post an Inventory Transaction, Select the ‘Automatic Cost Posting” check box in the inventory setup. The posting date of the General ledger entry is the same as the posting date of the item ledger entry.
Automatic Cost Adjustment: To setup cost adjustment to run automatically when you post an inventory transaction, use the “Automatic Cost Adjustment” field in the Inventory Setup window. This field enables you to select how far back in time from the current work date that you want automatic cost adjustment to be performed. The following options exists.
- Never: Cost are not adjusted when you post.
- Day: Cost are adjusted if posting occurs within one day from the work date.
- Week: Cost are adjusted if posting occurs within one week from the work date.
- Month: Cost are adjusted if posting occurs within one month from the work date.
- Quarter: Cost are adjusted if posting occurs within one quarter from the work date.
- Year: Cost are adjusted if posting occurs within one Year from the work date.
- Always: Cost are always adjusted when you post, regardless of the posting date.
The selection that you make in the Automatic Cost Adjustment field is important for performance and the accuracy of your costs. Shorter time periods, such as Day or Week, affect system performance less, because they provide the stricter requirement that only costs posted in the last day or week can be automatically adjusted. This means that the automatic cost adjustment does not run as frequently and therefore affects system performance less. However, it also means that unit costs may be less accurate.
The following example shows an automatic cost adjustment scenario:
On January 10, you post a purchased item as received and invoiced.
On January 15, you post a sales order for the item as shipped and invoiced.
On February 5, you receive an invoice for a freight charge on the original purchase. You post this freight charge, applying it to the original purchase invoice, which increases the cost of the original purchase.
If you have set up the automatic cost adjustment to apply to postings that occur within a month or a quarter from the current work date, then the automatic cost adjustment runs and forwards the cost of the purchase to the sale.
If you have set up the automatic cost adjustment to apply to postings that occur within a day or a week from the current work date, then the automatic cost adjustment does not run, and the cost of the purchase is not forwarded to the sale until you run the Adjust Cost – Item Entries batch job.
Average Cost Calc. Type: The Average cost of an item is calculated with periodic weighted average, based on the average cost period that is set up in NAV. The valuation date is set automatically.
Specifies how the Average cost is calculated. The following options exists.
- Item, Variant, and Location
With this option, the average cost is calculated for each item, for each location, and for each variant of the item. This means that average cost of this item depends on where it is stored and which variant of the item that you have selected, such as color.
Average Cost Period: Specifies which period the average cost is calculated in. The following option exists.
- Accounting Period
All inventory decreases that are posted in the average cost period receive the average cost calculated for that period.
Note You can only use one average cost period and one average cost calculation type in a fiscal year.
The Accounting Periods window shows which average cost period and which average cost calculation type is in effect during that period, for each accounting period.
Calculating Average Cost: When you post a transaction for an item that uses the Average costing method, an entry is created in the Avg. Cost Adjmt. Entry Point table. This entry contains the transaction’s item number, variant code, and location code. The entry also contains the Valuation Date field, which specifies the last date of the average cost period in which the transaction was posted.
Note This field should not be confused with the Valuation Date field in the Value Entry table, which shows the date when the value takes effect and is used to determine the average cost period in which the value entry belongs.
The average cost of a transaction is calculated when the item’s cost is adjusted. For more information, see Cost Adjustment. A cost adjustment uses the entries in the Avg. Cost Adjmt. Entry Point table to identify which items (or items, locations, and variants) to calculate average costs for. For each entry with a cost that has not been adjusted, the cost adjustment uses the following to determine the average cost:
Determines the cost of the item at the start of the average cost period.
Adds the sum of the inbound costs that were posted during the average cost period. These include purchases, sales returns, positive adjustments, and production and assembly outputs.
Subtracts the sum of the costs of any outbound transactions that were fixed-applied to receipts in the average cost period. These typically include purchase returns and negative outputs.
Divides by the total inventory quantity for the end of the average cost period, excluding inventory decreases that are being valued.
The calculated average cost is then applied to the inventory decreases for the item (or item, location, and variant) with posting dates in the average cost period. If any inventory increases exist that were fixed applied to inventory decreases in the average cost period, then the calculated average cost is forwarded from the increase to the decrease
Cost Adjustment: The main purpose of cost adjustment is to forward cost changes from cost sources to cost recipients, according to an item’s costing method, to provide correct inventory valuation.
An item can be sales invoiced before it has been purchase invoiced, so that the recorded inventory value of the sale does not match the actual purchase cost. Cost adjustment updates the cost of goods sold (COGS) for historic sales entries to ensure that they match the costs of the inbound transactions to which they are applied. For more information, see Item Application.
The following are secondary purposes, or functions, of cost adjustment:
- Invoice finished production orders:
- Change the status of value entries from Expected to Actual.
- Clear WIP accounts. For more information, see Production Order Costing.
- Post variance. For more information, see Variance.
- Update the unit cost on the item card
Inventory costs must be adjusted before the related value entries can be reconciled with the general ledger. For more information, see Reconciliation with the General Ledger.
The task of detecting if cost adjustment should occur is primarily performed by the Item Jnl.-Post Line routine, while the task of calculating and generating cost adjustment entries is performed by the Adjust Cost – Item Entries batch job.
To be able to forward costs, the detection mechanism determines which sources have changed in costs and to which destination these costs should be forwarded. The following three detection functions exist in Microsoft Dynamics NAV:
Item Application Entry
Average cost Adjustment Entry Point
Item Application Entry:
This detection function is used for items that use FIFO, LIFO, Standard, and Specific costing methods and for fixed applications scenarios. The function works as follows:
Cost adjustment is detected by marking the source item ledger entries as Applied Entry to Adjust whenever an item ledger entry or value entry is posted.
Cost is forwarded according to the cost chains that are recorded in the Item Application Entry table.
Average Cost Adjustment Entry Point:
This detection function is used for items that use the Average costing method. The function works as follows:
Cost adjustment is detected by marking a record in the Avg. Cost Adjmt. Entry Point table whenever a value entry is posted.
Cost is forwarded by applying the costs to value entries with a later valuation date.
This detection function is used in conversion scenarios, production and assembly. The function works as follows:
Cost adjustment is detected by marking the order whenever a material/resource is posted as consumed/used.
Cost is forwarding by applying the costs from material/resource to the output entries associated with the same order.
The Order Level function is used to detect adjustments in assembly posting. The following graphic shows the adjustment entry structure
Manual Versus Automatic Cost Adjustment:
Cost adjustment can be performed in two ways:
Manually, by running the Adjust Cost – Item Entries batch job. You can run this batch job either for all items or for only certain items or item categories. This batch job runs a cost adjustment for the items in inventory for which an inbound transaction has been made, such as a purchase. For items that use the average costing method, the batch job also makes an adjustment if any outbound transactions are created.
Automatically, by adjusting costs every time that you post an inventory transaction, and when you finish a production order. The cost adjustment is only run for the specific item or items affected by the posting. This is set up when you select the Automatic Cost Adjustment check box in the Inventory Setup window.
It is good practice to run the cost adjustment automatically when you post because unit costs are more frequently updated and therefore more accurate. The disadvantage is that the performance of the database can be affected by running the cost adjustment so often.
Because it is important to keep the unit cost of an item up to date, it is recommending that you run the Adjust Cost – Item Entries batch job as often as possible, during nonworking hours. Alternatively, use automatic cost adjustment. This ensures that the unit cost is updated for items daily.
Regardless if you run the cost adjustment manually or automatically, the adjustment process and its consequences are the same. Microsoft Dynamics NAV calculates the value of the inbound transaction and forwards that cost to any outbound transactions, such as sales or consumptions, which have been applied to the inbound transaction. The cost adjustment creates value entries that contain adjustment amounts and amounts that compensate for rounding.
The new adjustment and rounding value entries have the posting date of the related invoice. Exceptions are if the value entries fall in a closed accounting period or inventory period or if the posting date is earlier than the date in the Allow Posting from field in the General Ledger Setup window. If this occurs, the batch job assigns the posting date as the first date of the next open period.
Adjust Cost Item Entries Batch Job:
When you run the Adjust Cost – Item Entries batch job, you have the option to run the batch job for all items or for only certain items or categories.
We recommend that you always run the batch job for all items and only use the filtering option to reduce the runtime of the batch job, or to fix the cost of a certain item.
The following example shows if you post a purchased item as received and invoiced on 01-01-20. You later post the sold item as shipped and invoiced on 01-15-20. Then, you run the Adjust Cost – Item Entries and Post Inventory Cost to G/L batch jobs. The following entries are created.
Variance is defined as the difference between the actual cost and the standard cost, as described in the following formula
actual cost – standard cost = variance
If the actual cost changes, for example, because you post an item charge on a later date, then the variance is updated accordingly.
Revaluation does not affect the variance calculation, because revaluation only changes the inventory value
The following example illustrates how variance is calculated for purchased items. It is based on the following scenario:
1. The user purchases an item at LCY 90.00, but the standard cost is LCY 100.00. Accordingly, the purchase variance is LCY –10.00.
2. LCY 10.00 is credited to the purchase variance account.
3. The user posts an item charge of LCY 20.00. Accordingly, the actual cost is increased to LCY 110.00, and the value of the purchase variance becomes LCY 10.00.
4. LCY 20.00 is debited to the purchase variance account. Accordingly, the net purchase variance becomes LCY 10.00. 5. The user revalues the item from LCY 100.00 to LCY 70.00. This does not affect the variance calculation, only the inventory value.
The following table shows the resulting value entries
Rounding residuals can occur when you value the cost of an inventory decrease that is measured in a different quantity than the corresponding inventory increase. Rounding residuals are calculated for all costing methods when you run the Adjust Cost – Item Entries batch job.
When you use the average costing method, the rounding residual is calculated and recorded on a cumulative, entry-by-entry basis.
When you use a costing method other than Average, the rounding residual is calculated when the inventory increase has been fully applied, that is when the remaining quantity for the inventory increase is equal to zero. A separate entry is then created for the rounding residual, and the posting date on this rounding entry is the posting date of the last invoiced value entry of the inventory increase.
Cost components are different types of costs that make up the value of an inventory increase or decrease. The following table shows the different cost components and any subordinate cost components that they consist of.
Backdated transactions or cost adjustments often affect balances and stock valuations for accounting periods that may be considered closed. This can have adverse effects on accurate reporting, especially within global corporations. The Inventory Periods feature can be used to avoid such problems by opening or closing inventory periods to limit posting in a set period of time.
An inventory period is a period of time, defined by an ending date, in which you post inventory transactions. When you close an inventory period, no value changes can be posted in the closed period. This includes new value postings, expected or invoiced postings, changes to existing values, and cost adjustments. However, you can still apply to an open item ledger entry that falls in the closed period. For more information, see Item Application. To make sure that all transaction entries in a closed period are final, the following conditions must be met before an inventory period can close.
All outbound item ledger entries in the period must be closed (no negative inventory).
All item costs in the period must be adjusted.
All released and finished production orders in the period must be cost adjusted.
When you close an inventory period, an inventory period entry is created by using the number of the last item register that falls in the inventory period. In addition, the time, date, and user code of the user closing the period are recorded in the inventory period entry. By using this information with the last item register for the previous period, you can see which inventory transactions were posted in the inventory period. It is also possible to reopen inventory periods if you need to post in a closed period. When you reopen an inventory period, an inventory period entry is created.
You can revalue the inventory based on the valuation base that most accurately reflects the inventory value. You can also backdate a revaluation, so that the cost of goods sold (COGS) is correctly updated for items that have already been sold. Items using the Standard costing method that have not been completely invoiced can also be revalued. In Microsoft Dynamics NAV, the following flexibility is supported regarding revaluation: · The revaluable quantity can be calculated for any date, also back in time.
· For items using Standard costing method, expected cost entries are included in revaluation.
· Inventory decreases affected by revaluation are detected.
CALCULATING THE REVALUABLE QUANTITY
The revaluable quantity is the remaining quantity on inventory that is available for revaluation on a given date. It is calculated as the sum total of the quantities of completely invoiced item ledger entries that have a posting date equal to or earlier than the revaluation posting date.
Items using the Standard costing method are treated differently when calculating the revaluable quantity per item, location, and variant. The quantities and values of item ledger entries that are not completely invoiced are included in the revaluable quantity.
After a revaluation has been posted, you can post an inventory increase or decrease with a posting date that comes before the revaluation posting date. However, this quantity will not be affected by the revaluation. To balance the inventory, only the original revaluable quantity is considered. Because revaluation can be made on any date, you must have conventions for when an item is considered part of inventory from a financial point of view. For example, when the item is on inventory and when the item is work in process (WIP)