Skip to main content

Understanding Cost of Goods (COGS) in Digitail

Learn how COGS is tracked at the batch level, how it differs from your sales price, and why it cannot be changed once stock has been used or adjusted.

Cost of Goods Sold (COGS) is what you paid for a product when you received it into stock. Digitail uses this to calculate your profit margin on every sale - the difference between what you charged the client and what the product cost you.

COGS is tracked per batch, not per product. That means if you received the same product at different prices at different times, each receipt is tracked separately with its own cost. This keeps your financials accurate even when supplier prices change.


How This Helps Your Daily Work

  • Practice managers - See true profit margins per product and per sale, not just revenue.

  • Inventory managers - Each stock receipt is costed independently, so price changes don't overwrite historical data.

  • Finance / billing - COGS flows into your Sales Analysis and Stock Movement reports automatically - no manual entry needed.


Where COGS lives in Digitail

COGS (cost price) - set at the batch level:
Go to Inventory - Orders - Order List, open a purchase order, and the cost per unit is captured here when you receive stock. Each receipt creates a new batch with its own unit cost.

cost captured on purchase order

Sales price - set at the product level:
Go to Inventory - Directory - Products, open a product, then go to Pricing. This is what clients are charged, and it is managed independently from cost.

sales price product setup

How COGS flows through the system

When a product is dispensed or sold, Digitail links that transaction to the specific batch the stock came from - and uses that batch's cost to calculate your margin.

Here's the full flow:

  1. You create a Purchase Order and receive stock into Digitail.

  2. Digitail creates a batch for that receipt and stores the unit cost against it.

  3. When a product is sold or dispensed, Digitail draws from the relevant batch (using FIFO - first in, first out).

  4. The COGS from that batch is used in your sales margin calculation.

  5. This data appears in the Sales Analysis Report and the Stock Movement Report.

stock movement report batch cogs


COGS in your reports

Stock Movement Report

Go to Reports - Inventory - Stock Movement. This report shows every movement of a product - receipts, sales, adjustments - alongside the batch cost at the time of movement. Use this to audit stock value changes and verify that costs were captured correctly on receipt.

A product may appear more than once in the report, as the movement of each batch is reported separately. This is expected behaviour.

Sales Analysis Report

Go to Reports - Finance - Sales Analysis. This report shows revenue vs COGS per product over a selected period, giving you your gross margin. Because COGS is pulled from the batch at point of sale, the margin figures reflect actual costs - not an estimated or average price.


Tips and best practices

  • Always confirm the unit cost when receiving a purchase order - this is the only point at which COGS is set for that batch.

  • If a supplier invoice arrives after you've already received stock, check that the cost entered at receipt matches. Flag any discrepancy to your practice manager before the batch is used.

  • Sales price and cost price are independent - updating a product's sales price does not affect the COGS stored on existing batches.

  • If you're seeing unexpected margin figures in reports, the first place to check is the cost entered on the relevant purchase order receipt.


Common Questions

Why can't I edit the COGS on a batch after stock has been used or adjusted?

Once stock from a batch has been sold, dispensed, or adjusted, Digitail locks the cost on that batch. This is intentional.

If COGS could be changed retroactively, it would alter the margin on every past transaction that drew from that batch - changing your historical Sales Analysis report figures, your stock valuation, and potentially your financial records. The lock protects the integrity of your data. If you received stock at the wrong cost, the correct fix is to raise a purchase order correction or contact support - not to edit the batch cost directly.


Why does the same product show different COGS in different periods?

Because cost is tracked per batch, the same product can have different COGS values across time if supplier prices changed between orders. This is expected and correct - it means your reports reflect what you actually paid, not an average or estimate.


Where do I find the cost that was captured for a specific batch?

Go to Inventory - Purchase Orders, find the relevant order, and open the receipt. The unit cost recorded at the time of receipt is shown per line item. You can also see batch-level cost in the Stock Movement Report.

Did this answer your question?