Hi. How can we help?

Cost of Goods Sold in Retail POS (X-Series)

Cost of Goods Sold

Before getting started:

  • Take the value of your stock and make a manual inventory asset value journal entry of this in Xero. You will need to enter the total value of your current stock to this journal entry. To find this information in Retail POS, run an inventory -> all inventory levels report and navigate to the total stock value column.

  • Check your products and ensure that your supply prices are all correct.

  • For this feature to work well, we recommend performing partial inventory counts on a regular basis using Retail POS's inventory count feature. This is to ensure that your average cost and inventory levels are accurate and up to date. We also recommend using stock orders and stock transfers for all stock management going forward.

  • When performing stock orders, make sure you post them to Xero. This is so your inventory asset will be increased/decreased based on stock movements.


If you don't track supply prices or inventory don't use this feature. COGS are only calculated on products with a supply price and inventory.

What are COGS?

Cost-of-goods-sold (or “COGS”) are the direct costs involved in purchasing or making the products you sell. This could be the purchase price of things you buy or the production costs of the things you make.

Once enabled, your COGS will automatically sync from Retail POS to Xero when you close your register and will be recognised when the goods are sold. This means when you sell a product the costs for the product (COGS) and the revenue from its sale will be recognised in the same accounting period.

It's easy to calculate your gross profit, but more importantly, Retail POS's COGS feature will give you visibility into your business's true financial performance in real-time. Gain visibility in Xero by viewing how your profit relates to your rent, wages, marketing and other business expenses.

How do they work?

When you make a sale in Retail POS with COGS enabled we will take the cost associated with the products sold and add these values up as part of the register closure. We will post these as a bill invoice. It will also appear as a sum on the register closure summary report.

When COGS is enabled, you now have two invoices that are sent to Xero when you close your register. One of them will be the register closure sales invoice, and one of them will be the COGS bill invoice that contains your costs-of-good-sold and inventory assets.

COGS calculated on open 'On Account' sales will also post to Xero at the time the sale is made, irrespective of whether payment has been taken.


  • This COGS bill invoice will always be a zero dollar invoice. As your inventory asset decreases by 'x' amount, Retail POS increases your cost-of-goods-sold by the same amount which will result in a zero dollar balance invoice.

  • COGS will not be calculated on any saved/unclosed sales. Parked and Layby Sales will post to Xero once these sales are closed.

  • If you have voided a sale after you've closed the register, you will need to contact support to have them recalculate and resend your register closure to Xero.

Enable Posting COGS to Xero

To enable posting COGS to Xero from your store:

1. Navigate Setup -> Add-ons -> Xero.

2. Scroll to Expenses and click Asset under the How do you want to record your inventory purchase? header.


3. Two fields will appear:

  • On-hand inventory: You will need to map an asset account.
  • Costs of Goods Sold (COGS): You will need to map an expense account.

If you do not have accounts set up in Xero already, you can create these in Retail POS and they will be synced to Xero for you.


You can then review and edit the account in Xero to ensure correct tax rates are applied, or you can create the account in Xero first


You may have different requirements for the expense account depending on how you currently manage your Xero account. Because of this, we strongly recommend you get in touch with your bookkeeper or accountant to help add this account to Xero.

4. Once you've selected the accounts in the On-hand inventory and Costs of Goods Sold (COGS) fields, click Save.

When the register closure is posted over to Xero, Retail POS will take the COGS for all sales made during that register closure period and send over a COGS invoice.

Within the COGS invoice, there will be two line entries: 1. Crediting the assigned stock on hand account made in Retail POS/Xero settings. 2. Debiting the COGS account that's assigned in the Retail POS/Xero settings.

On stock orders once received, Xero will debit the purchase account that's been assigned on the product page. If there is no purchase account code assigned to the product's page, Retail POS will post to the default purchase account assigned in Xero settings page.

Was this article helpful?