Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

There is no way to make the discussion on how we cost transactions simple or easy to understand. But I will do my best. All the ways of costing are difficult or stuff up some of the time. We had to pick one, so we picked the one that works best most of the time. We have to live with the fact that our chosen costing method is not the best choice for some transactions.

...

Nobody has time to individually specify how cost is calculated one transaction at a time. As a result ERP (Accounting) systems use a costing rule to work out costs. All of those rules are not ideal for some transactions. But you can't use a different rule on every transaction, as you would end up totally confused.

Note

Readysell uses the following rules to cost stock movements. Know as First in First Out or FIFO costing. In simple terms. Readysell uses:

  • The cost of previous receipts to cost anything that REDUCES stock on hand. Examples being sales or stock adjustments that reduce stock.
  • The cost on the product supplier to cost almost any INCREASES stock on hand. Examples being sale credits or stock adjustments that increase stock.
  • Purchase invoices are a special case of costing INCREASES. Readysell uses the cost on the supplier invoice to value all INCREASES of stock on hand caused by purchase receipts/purchase invoices.

...

Because FIFO is a real pain some of the time, but works great most of the time. It works out overall to be better for our customers than the alternatives:

...


...

Readysell uses the following rules to cost stock movements. Know as First in First Out or FIFO costing. In simple terms. Readysell uses:

  • The cost of previous receipts to cost anything that REDUCES stock on hand. Examples being sales or stock adjustments that reduce stock.
  • The cost on the product supplier to cost almost any INCREASES stock on hand. Examples being sale credits or stock adjustments that increase stock.
  • Purchase invoices are a special case of costing INCREASES. Readysell uses the cost on the supplier invoice to value all INCREASES of stock on hand caused by purchase receipts/purchase invoices.


Why do we work this way?

Because FIFO is a real pain some of the time, but works great most of the time. It works out overall to be better for our customers than the alternatives:

  • FIFO is very good for most of the transactions dealers do. Other costing systems like Average cost are way better for stock adjustments, but way worse for day to day transactions like sales. We have to decide which is better, so picked the one that works best in most cases.
  • Dealers often sell products with serial numbers. Our understanding is legally we are required to use FIFO costing for product movements that involve serial numbers
  • Given that we are forced to use FIFO for serial numbers, it makes sense to have only one way of costing stock. So FIFO is used for all products
  • FIFO costing puts a trace between every transaction that adds stock to your system and every transaction that removes stock from your system. This complete audit trail is useful if you ever need to know precisely why a particular cost was used on any transaction
  • Accountants agree that none of the may ways of costing stock are ideal for every transaction. Average cost is often used in Australia instead of FIFO. But average cost has some weaknesses as well. For example you can't prove how any particular cost was calculated.So if you get a cost error, thats it, you can't check why you got a particular cost on a particular transaction. You can't dig into any stock variances using logs in the system. There are no links between sources and uses of stock. Average cost is not allowed for serial number products. Average cost is better than FIFO in some cases. For example when doing stock adjustments, it will use the same cost for an adjustment in and an adjustment out.
  • If we made exceptions for reversals etc, we would  break FIFO:

    • For many reasons including the original transaction may no longer be available to be allocated to the reversal. As it may have been allocated and consumed by other posted transactions such as sales. This is of critical importance. There are a lot of stock allocation transactions that happen in background to support FIFO. We allocate every stock movement. The net of movements that build about around transactions is very complex, we could not reverse the whole network of related transactions out and relink them again in order to free up the original transaction. The complexity and risk of any such set of transaction would be impractical.
    • Result in stock on hand going out of balance. If we forced the reversal to be the same as the original. Given the original was already used by other transactions. The net change to stock on hand would not add up.
    • Allocating the original against the current transaction may be a last in first out (LIFO) costing system.  The reverse button can be thought of as a convenient way of doing a stock credit. What it actually does is make a backwards purchase receipt. The backward receipt produced by the reverse purchase receipt button MUST be a CONSUMER of stock. That is anything that uses stock on hand must consume stock costs created by other transactions. As a result, it has to get the first source of cost it can, as we use FIFO. The first source of stock on hand available by date may not be the original transaction.
    • We would otherwise be at risk of not using a recognised costing system. We stick to the FIFO standard. Otherwise we would have to say we don't use a recognised costing standard, which we are required to do. We would be using the Readysell costing system. We can't just make up our own costing method, we have to stick to a standard.
    • FIFO costing has to work the same for all transactions. To do this it works as a "black box". We feed the transaction into it and it decides what to do each time. This increases consistency and removes risks of errors. But results in reversals of purchase receipts being handled like any other transaction that is using up stock.

...

Why is the cost on my sale order different to the cost on the invoice that was created from that order?

The cost on the sale order should not necessarily carry through to the invoice:

  • The cost on the sale order is based on current cost at the time the order was placed:
    •  As at the time the order is placed, we don't know what the FIFO cost will be. 
    • FIFO cost will vary depending on exactly which purchase receipts have not been allocated at the time the invoice is posted.
  • The cost on the invoice is based on FIFO cost at the time the invoice was posted:
    •  When the invoice is posted, we can pick which receipts to link to the invoice lines. So we know the FIFO cost for the first time when the invoice is posted.

Example:

Product A, nil in stock.
Customer Orders 1 x Product A = 1 x Product A on back order.
Product A primary supplier cost = $10.
Prodcut A sell price on Sales Order = $20.
Dollar margin on this salline = $10.

Purchase Receipt completed for 1x Product A at $5 (not $10).
Stock in x 1 at $5.00
SALLINE margin based on FIFO is now $15 (not $10).

Why one of the strengths of FIFO costing is it lets me I trace where my costs come from?

...

  • Reversing a transaction does not delete the original transaction. The product movement (source transaction) is still there and will still reflect on all reports
  • Reversals for sales are as noted above, are costed at current cost not at the cost of the source transaction being reversed
  • If you create a reversal of a transaction in error, that reversal will always be on file and cannot be removed. You can only do transactions to balance out the reversal.
    As a result of the above, reversing a sale that has an incorrect gp wont necessarily cause the sales report to show the Gp you expect.

A purchase invoice had the wrong price. So the supplier gave us a financial credit. Why can't we make this credit apply to the cost of the product?

This issue can be handled in one of two ways, both approaches have strengths and weaknesses:

  • Reverse the purchase invoice (and/or the purchase receipt. You only HAVE to reverse the purchase invoice). Then reenter the purchase invoice and adjust the value of the purchase invoice to reflect the cost price you SHOULD have paid. Put a note in the supplier reference saying this invoice includes the effect of the financial adjustment:
    • Strength: the price on the product received will be correct
    • Weakness: the supplier open items will show only one open item for the purchase invoice. There will be no seperate entry for the financial adjustment
    • Weakness: you can only do this if the financial period of the purchase receipt has not yet closed.
  • Enter the financial credit as a supplier credit transaction and dissect the general ledger effect to supplier rebates received
    • Strength: two supplier open items will appear on the supplier account. One for the origional invoice and one for the financial credit
    • Weakness: the cost on the product will permanently stay as per the incorrect cost specified on the origional purchase invoice

A contract price setup with markup from cost of zero can result in a sale with negative margin. Why can the sell be less than the cost when the contract says to sell at cost?

  • The normal approach is to use markup from cost. This creates a sell price that is based on the current replacement cost of the product. But the cost price is still based on FIFO cost for all sales. Given the cost basis used to calculate the sell price is different to the cost basis used to calculate the actual cost of the sale. The sell price from standard cost can be less than the fifo cost from past receipts. See the first line in the example below. This shows a contract price from cost price 1 on the top line. The first line in this contract will not change the sell price when sale shipments are posted. But the FIFO costing will change the cost on the line. So the cost can end up more than the sell price. But sell price stays the same.
Expand
titleShow me..

Image Removed

  • To get around the problem above, you can make a contract be based on markup from FIFO cost. But if you do this. When the sale shipment is posted. The FIFO cost will be calculated and the SELL PRICE WILL CHANGE. Resulting in the sell changing to be different to that sell price that showed on the sale order. We normally just use this for staff. See the second line in the example below. This shows a contract price from FIFO on the second line. This contract price will never be less than cost. But since FIFO cost changes the cost of the shipment when the shipment is posted, the sell price of any shipments will probably change when the shipment is posted. The sales will not sell for less than cost, but the sell price will change when the shipment is posted.

...

titleShow me..

...

  • be removed. You can only do transactions to balance out the reversal.

    As a result of the above, reversing a sale that has an incorrect gp wont necessarily cause the sales report to show the Gp you expect.

A purchase invoice had the wrong price. So the supplier gave us a financial credit. Why can't we make this credit apply to the cost of the product?

This issue can be handled in one of two ways, both approaches have strengths and weaknesses:

  • Reverse the purchase invoice (and/or the purchase receipt. You only HAVE to reverse the purchase invoice). Then reenter the purchase invoice and adjust the value of the purchase invoice to reflect the cost price you SHOULD have paid. Put a note in the supplier reference saying this invoice includes the effect of the financial adjustment:
    • Strength: the price on the product received will be correct
    • Weakness: the supplier open items will show only one open item for the purchase invoice. There will be no seperate entry for the financial adjustment
    • Weakness: you can only do this if the financial period of the purchase receipt has not yet closed.
  • Enter the financial credit as a supplier credit transaction and dissect the general ledger effect to supplier rebates received
    • Strength: two supplier open items will appear on the supplier account. One for the origional invoice and one for the financial credit
    • Weakness: the cost on the product will permanently stay as per the incorrect cost specified on the origional purchase invoice

A contract price setup with markup from cost of zero can result in a sale with negative margin. Why can the sell be less than the cost when the contract says to sell at cost?

  • The normal approach is to use markup from cost. This creates a sell price that is based on the current replacement cost of the product. But the cost price is still based on FIFO cost for all sales. Given the cost basis used to calculate the sell price is different to the cost basis used to calculate the actual cost of the sale. The sell price from standard cost can be less than the fifo cost from past receipts. See the first line in the example below. This shows a contract price from cost price 1 on the top line. The first line in this contract will not change the sell price when sale shipments are posted. But the FIFO costing will change the cost on the line. So the cost can end up more than the sell price. But sell price stays the same.


Expand
titleShow me..

Image Added


  • To get around the problem above, you can make a contract be based on markup from FIFO cost. But if you do this. When the sale shipment is posted. The FIFO cost will be calculated and the SELL PRICE WILL CHANGE. Resulting in the sell changing to be different to that sell price that showed on the sale order. We normally just use this for staff. See the second line in the example below. This shows a contract price from FIFO on the second line. This contract price will never be less than cost. But since FIFO cost changes the cost of the shipment when the shipment is posted, the sell price of any shipments will probably change when the shipment is posted. The sales will not sell for less than cost, but the sell price will change when the shipment is posted.


Expand
titleShow me..

Image Added


Costing of stock moved between two product codes with different product units

  • Stock adjust out all the stock that is going to be changed to the other product code from the existing product. FIFO costing will cost the stock adjustment as it is consuming stock on hand
  • Make sure the cost price 1 on the product you are moving the stock too has the right each cost in it. As stock adjustments use the cost price 1 of the primary product supplier to set the cost of stock increases from stock adjustments. If necessary adjust the cost price 1 on the second product to get what ever cost you want.

See Also:

Correcting Shipments that have been receipted with incorrect costing.
Reversing a receipt when QOH is insufficient

...