Cost of goods sold (COGS) refers to the direct costs of producing the goods sold by a company. This amount includes the cost of the materials and labor directly used to create the good. It excludes indirect expenses, such as distribution costs and sales force costs.

Correctly calculating the COGS for your inventory is an essential part of working out your margins and profit. 

Table of Contents

How COGS are calculated

[back to top]

All COGS calculations are done using accounting costing methods such as FIFO or FEFO and are based on the actual purchase cost of a picked item. This is taken from the authorised purchase invoice of that item. Additional costs, manual journals and landed costs can optionally be allocated to a product's cost or instead allocated to an  expense account. 

You can change the costing method of an item, and thus how COGS are picked up, from the product detail screen.(Inventory →  Products → [select product].) See Changing the Costing Method for more information. 

On some screens, you will see the average cost of an item. This is based on all historical purchase costs of that item and is used for estimating/reference purposes only. Average cost is not used to calculate COGS or in any other Profit and Loss calculations or in reports. 


Consider an SKU with Costing Method FIFO. 

If the purchase was done as follows:




If you created a sales order for 15 pieces of the SKU, they will be selected as follows:

1-10 each @250.00=2,500.00

11-15 each @245.00=1,225.00

So the total COGS will be = 3,725.00

Additional Costs and Landed Costs

[back to top]

DEAR allows you to choose whether or not you allocate additional costs to a product's COGS during a purchase. These costs will increase the stock on hand value of your inventory. 

To allocate additional costs to products on a purchase order, make sure that the additional cost account is the same as the inventory account for the products. 

NOTE: Costs are distributed according to the product value. To distribute costs according to weight, volume, quantity or independently, see Landed Cost Expense Distribution for how to do this using a Manual Journal. 

Additional Costs:

To exclude additional costs from a product's cost, simply set the account for those lines to an expense account that is separate from the account used for the products. 

You may have additional large costs that are not part of a purchase order, but which still need to be allocated to your products in order for your COGS to be reflected correctly.  You may also wish to allocate your costs differently, such as according to weight, volume, or independently rather than allocating in proportion to costs. You can follow our Landed Cost Expense Distribution guide to allocate these costs correctly. 

Manual Journals

[back to top]

Manual journals can be used to allocate expenses to products during Purchases, Stock Transfers, and Assemblies. Allocated expenses will increase the stock on hand value of your inventory. 

To capitalise a manual journal expense, the debit account should be set to the inventory account.


Journals are distributed according to the product cost. A planned DEAR update will expand the available options for cost distribution.

Stock Transfer:

Journals can be distributed according to the product cost, quantity, weight and volume. 

When are COGS transactions created

[back to top]

Costs are assigned to a product when a purchase invoice is authorised. 

COGS are assigned to a sale when the ship tab is authorised. If ship has not been authorised for a sale, COGS will still show as 0. 

The shipment date on the ship tab will be used as the COGS date. 

Additional COGS transactions can be created due to manual journal entries and landed costs. If the transactions are created before an item is sold/shipped, the COGS date will be the ship date. If the transactions are created after the ship date, it will use the journal transaction effective date.

NOTE: Costs are pulled from purchase invoices. It is possible for a product to be received into your inventory, and thus be available for picking, without the purchase invoice being authorised. If such a product is picked and shipped, COGS may show 0 at ship date. COGS will update on the date the purchase invoice is authorised using the purchase invoice date. 

Dropshipping and COGS

[back to top]

Dropship products do not have a ship tab. For dropship products, COGS transactions are generated when the purchase invoice is authorised. Purchase order authorisation will not generate COGS transactions for dropship products. The purchase invoice date will be used as the COGS date. 

Ship date and COGS

[back to top]

By default, the ship date is set to Today (or the date the ship tab is authorised). You can change this setting so ship date is set to sale invoice authorisation date. In this way, sale invoice date and COGS date will match up. 

This can be changed in Settings General Settings Sale process customisation. You will still need to authorise the ship tab for the COGS to be generated. COGS transaction will be generated with the effective date the same as the sale invoice date.

You can also manually enter a different shipment date, including a date in the past. 

NOTE: DEAR does not allow for transactions to be generated in closed accounting periods.


A company's account period runs from the 7th December 2018 to the 6th of December 2019. The company accountant sets a new lock date on the 6th December 2019. 

A sale invoice is authorised on the 28th of November 2019. The item is not shipped until  the 11th of December 2019, 2 weeks later. The company has their default shipment date set to the same as the invoice date. 

By the time shipment takes place, the accounting period covering the invoice date is locked. If the user attempts to authorise the shipment with default date 28th of November, they will receive an error. User will have to enter a new shipment date after the locked date in order to authorise the ship tab. This date will be the effective date of COGS transaction. 

Multiple COGS entries

[back to top]

DEAR avoids altering historical COGS transactions. If there are cost events that are dated after the COGS is generated, DEAR instead creates an additional transaction instead of updating an existing one. 

Assembly/Finished Goods and COGS

[back to top]

Costs for finished goods are calculated from the the costs of the component products plus any additional labour costs. 

Actual costs associates with an assembly can be seen using the Finished Goods Analysis Report or the Unit Cost per production run can be seen from the Assembly List. 

NOTE: The BOM for the finished product estimates a cost using either Average Cost, Latest Purchase Cost, or Fixed Purchase Cost. This is for your reference only. The actual cost of finished goods will be calculated using the costing method of each individual component allocated to an assembly and can vary from "Total" cost displayed in the BOM.


This is a Bill of Materials for Finished Good X. It yields 10 units of Finished Good X. 

Component A10
Component B5
Component C20
Additional Costs
Labour4 (hours)

Component A has a fixed supplier price of $20. 

Component B has a fixed supplier price of $50.

Labour is charged at $25 per hour.

Component C has a variable supplier price. The purchase history is as follows:


Let's take a look at how costs would be calculated for this finished good. 

Component A1020200.00
Component B550250.00
Component C2010 (15), 15 (5)225.00
Additional Costs

Labour4 (hours)25100.00



When a unit of Finished Good X is sold, a COGS transaction of 77.5 will be generated when the ship tab is authorised for the sale. 

Disassembly and COGS

[back to top]

When an item is disassembled, costs are allocated either:

  • Distributed evenly between product lines (default) 
  • According to Disassembly Cost % specified in the BOM

By default (when Disassembly Cost % is left blank on the Bill of Materials), DEAR splits the cost of the disassembled item equally between the component lines, as shown below. 

NOTE: Disassembly cost is split amongst component LINES and ignores QUANTITY PER LINE. 

You can change this by editing the Disassembly Cost % on the Bill of Materials for the assembled product, as shown below. The Cost per Unit and Total Cost (per line) is estimated using either Average Cost, Latest Purchase Cost or Fixed Purchase Cost, and cannot be edited manually. You can use the Total Cost per line/Total Cost to set the appropriate Disassembly Cost % for the components. 

Any service costs of the disassembly will be split according to the disassembly cost % (or if left blank, equally between lines) and assigned to the cost of the components. 

You can use Disassembly Analysis Report to to analyse disassembled quantity, cost of disassembled item and any costs from services during the operation. 

See Disassembly Costs for a detailed explanation of how to correctly allocate costs to disassembled products. 

Reports filters 'only COGS within range' and 'All COGS'

[back to top]

Many DEAR financial reports allow you to filter either by transaction dates ('only COGS within range') or invoice/order date 'All COGS'. This will affect which entries are shown in the report. 

Transaction dates include invoice authorisation, ship tab authorisation (COGS) and payments. For dropshipped products, COGS transactions are triggered when dropship purchase invoice is authorised. If you need COGS to have same date as the invoice, you need to change delivery date same as the invoice date (you can undo the ship tab to do this.)

If only COGS within date range is selected, a) you may see invoice dates from before the reporting period (with COGS transactions within the reporting period) and b) may see some 0 COGS values (if the ship date is out of the reporting period).

If All COGS is selected, the report will pull entries by invoice date, but COGS will be shown regardless of when the ship tab was authorised. If the ship tab has NOT yet been authorised, COGS will be 0. 

The following reports have this filtering option:

Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.