For makers and crafters

Updated October 31, 2026

Inventory and cost of goods sold for Canadian makers

NorthOS tracks the materials you buy, the products you make from them and each production batch, then works out your cost of goods sold for T2125 Part 3D: opening inventory (Line 8300) plus purchases (Line 8320) minus closing inventory (Line 8500) gives your cost of goods sold (Line 8518).

How it works

  1. Step 1

    Log your materials

    Add each material with its quantity and unit cost, or link it to the receipt or bank purchase already in your books, so the purchase counts once on Line 8320.

  2. Step 2

    Define products and run batches

    Say which materials go into each product. Running a batch draws those materials out of your Workshop stock and turns them into finished goods.

  3. Step 3

    Close the year

    At year end NorthOS values what is left on hand, raw materials and finished goods, as your closing inventory and saves that snapshot for your return.

Why makers need Part 3D, not just an expense list

If you make goods for sale, the CRA has you claim the cost of those goods in the year you sell them, not the year you buy the materials (T4002, p.29). That is what T2125 Part 3D does: it takes your inventory at the start of the year, adds what you bought, and subtracts what is still on hand at the end.

Inventory here means raw materials, goods in process and finished goods (T4002, p.29). A spreadsheet of purchases cannot tell you the closing number. A record of what each batch used can.

Workshop, Products and Batches

Workshop holds your materials: what you bought, what is on hand and what it cost. Products lists what you make and the materials each one uses. Batches records a production run, moving material value into finished goods.

Closing inventory is valued at cost: materials on hand at their unit cost, and finished goods at the material cost per unit. Your own time is not added to the inventory value, because there is no cost paid for it.

Your dashboard values your stock as you go, so your net profit and your tax set-aside follow the same numbers your T2125 will report.

No double counting

Adding a material to Workshop records stock only and never books an expense. The purchase is counted once, from the receipt, bank row or entry already in your ledger, and you can link the material to it.

What the CRA requires

  • Claim the cost of the goods you buy or make for sale in the fiscal period in which you sell them.

    Source: CRA T4002 (2025), p.29

  • Opening inventory (Line 8300) and closing inventory (Line 8500) must include raw materials, goods in process and finished goods.

    Source: CRA T4002 (2025), p.29

  • Purchases (Line 8320) are the cost of goods you buy to resell or to use in making other goods, including delivery and freight, net of returns and discounts.

    Source: CRA T4002 (2025), p.30

Frequently asked questions

How do I calculate cost of goods sold as a sole proprietor in Canada?

On T2125 Part 3D, cost of goods sold (Line 8518) is your opening inventory (Line 8300) plus purchases during the year (Line 8320) minus your closing inventory (Line 8500). NorthOS builds each of those from your Workshop materials, products and batches.

Do I deduct materials when I buy them or when I sell the product?

When you sell it. The CRA has you claim the cost of goods you buy or make for sale in the fiscal period you sell them (T4002, p.29). Materials and finished goods still on hand at year end are closing inventory and carry into next year as opening inventory.

Is my own labour part of my inventory value?

No. NorthOS values finished goods at the cost of the materials in them. As a sole proprietor you do not pay yourself a wage, so there is no labour cost to include.

Can I send invoices to customers as a maker?

Yes. Maker businesses have Customer invoices on the dashboard, with the same invoicing tools service businesses use: the tax for your client's province, a PDF, email to the client and a Stripe card payment link.

Try Maker inventory and cost of goods sold in NorthOS