Table of Contents
- What is Costing in Canix?
- How can I add costs onto my items in Canix?
- How Do Costs Carry Over to New Inventory?
- Rules of Costs in Canix (and Edge Cases)
What is Costing in Canix?
The purpose of costing in Canix is to allow you to calculate how much your business spent on non-cannabis items, cannabis items, and labor to directly produce your good. Typically, customers utilize Canix costs to calculate their direct “Cost of Goods Sold.”
Cost Types Tracked in Canix
- Non-Cannabis Costs - this is the price of a non-cannabis item or ingredient used to produce or package the cannabis item. Some examples are fertilizer, cartridges, and labels, though there are far too many to name. Costs are calculated based on the unit cost when adding a “lot” to the non-cannabis product section, and the quantity used when creating the packaged inventory, plants or harvests.
- Labor Costs - this is based on the hourly wage of a user in Canix. Hourly wage is set per user in the User Management section in Canix and is calculated per labor hour applied to plants, harvests, or packaged inventory.
- Cannabis Costs - this is the cost of a cannabis item purchased/transferred from a vendor. This is set on packaged inventory in multiple ways, as explained in the section below.
-
Standard Costs - this is the total, all-in “cost” of an item. It includes cannabis, labor, and non-cannabis costs.
- At this time, Standard Costs are only used in reporting in Canix. It compares the actual cost against the expected cost of an item. We will not focus on standard costs in this primer.
How can I add costs onto my items in Canix?
There are a few ways to add costs to your items in Canix:
Non-Cannabis Cost
Cost can be added automatically through bills of materials, or manually.
-
Bills of Materials (BOMs) - BOMs are applied automatically to packaged inventory in certain cases, and used to prefill areas for deduction at the time of submission. See more details in the Bills of Materials section below.
-
Ad hoc assignment of NCI - Non-cannabis materials can be applied to plant batches, plants, harvests or packages from the inventory tables. Select 1 or more rows, and navigate to Assign Non-Cannabis Inventory in the Actions menu to proportionally apply the specified quantity and cost across the selected inventory.
-
Plant batches - Receive proportional inventory based on the count of immature plants in each batch
-
Plants - Receive proportional inventory based on count of plants selected
-
Harvests - Receive proportional inventory based on the count of harvested plants per harvest
-
Packages - Receive proportional inventory based on the quantity of each package. Only packages of the same weight type (weight based, count based, or volume based) can have costs applied to them at a time
i.e. if Package A has 100 ea and Package B has 3,000 g in quantity, they cannot have NCI cost applied proportionally in the same workflow
i.e. if Package A has 100 ea and Package B has 200 ea, NCI COGS of $300 will have $100 applied to package A, and $200 applied to package B
-
-
Assignment of NCI through task management - Non-Cannabis costs are applied proportionally to cannabis inventory on tasks in task management with the same proportional rules as ad hoc assignment of NCI when a task is Confirmed.
-
Application of NCI in Manufacturing Runs - NCI is applied to manufacturing runs, either added ad hoc as Inputs, or prefilled from a BOM. By default, NCI in manufacturing is proportionally applied to packaged inventory based on the packaged weight, but also can be overwritten and customized manually by editing the output package individually. Costs are allocated based on the inventory applied per output package. Note - this only applies proportionally if the output packaged units are the same weight type, all count based, weight based or volume based. Otherwise, the cost may be split inconsistently.
-
Receive from Sources -
- Plant Batch, Plant and Harvest inventory receive cost automatically as growth stages change from immature, vegetative, flowering and to harvest.
- Packages receive non-cannabis COGS from their parent package. This is displayed on the package details page as a single entry in the non-cannabis cost card as “Package Creation Adjustment”.
Cannabis Cost
Cannabis Cost can be applied automatically in certain workflows, or applied manually when specified by the user.
- Incoming Transfer Price - Packages on Wholesale incoming transfer types in Metrc only, or the incoming transferred price on standalone transfers, will receive cannabis COGS automatically with the price from the transfer.
- Purchase Orders - Packages received as inventory on a Canix Purchase Order will receive Cannabis COGS as the unit cost multiplied by the package quantity, provided that the item on the Purchase Order is the same cannabis package item. Select Receive Inventory on a PO, and select Add Packages per line item to apply Cannabis COGS to the selected packages. Note - the cost from POs will take precedence and completely overwrite any Cannabis COGS on a package prior to Receiving Products on the PO.
-
Receive from Source Packages - Packages receive cannabis COGS automatically from the parent package they are created from in split and combine package workflows, and in manufacturing, based on the amount of source weight being pulled from the parent package. i.e. Package A has $100 in Cannabis COGS and 100g in current quantity. When 10g is pulled from the source package A into a new child package B, that is 10% of the current weight, and 10% of the $100 Cannabis COGS is applied to the child package.
- Additionally, users can manually specify the amount of cannabis COGS per new package when selecting the new package information on the right in split or combine package actions. Enter a value in the Cannabis COGS field to overwrite any automated cannabis cost, or to add new cannabis cost. Note - the package will not receive additional proportional Cannabis COGS from the source package if entering a value in this field.
- Create Harvest Package - Cannabis COGS can be added manually to any packages created from a harvest based on the amount specified by the user in the Create Package workflow. The harvest’s labor and NCI COGS can be proportionally applied to the new child packages based on the packaged weight if this option is selected in the Create Package workflow. Note - the harvest COGS will not decrease as a result of applying COGS to packages in this workflow.
Labor Cost
Labor Cost is calculated based on the labor user’s hourly rate multiplied by the number of hours specified for that user in the following workflows.
-
Ad hoc assignment of Labor - Labor can be applied plant batches, plants, harvests or packages from the inventory tables. Select 1 or more rows, and navigate to Assign Labor COGS in the Actions menu to proportionally apply the specified quantity and cost across the selected inventory.
-
Plant batches - Receive proportional labor based on the count of immatures in each batch.
-
Plants - Receive proportional labor based on the count of plants selected.
-
Harvests - Receive proportional labor based on the count of harvested plants per harvest
-
Packages - Receive proportional labor based on each package’s current quantity. Only packages of the same weight type (weight based, count based, or volume based) can have costs applied to them at a time
i.e. if Package A has 100 ea and Package B has 3,000 g in quantity, they cannot have labor cost applied proportionally in the same workflow
i.e. if Package A has 100 ea and Package B has 200 ea, Labor COGS of $300 will have $100 applied to package A, and $200 applied to package B
-
-
Task Management - Labor cost is applied to cannabis inventory on tasks proportionally based on the rules stated in the ad hoc assignment section. Cost is calculated based on the hourly rate of the assigned user on the task, and the task time recorded. Cost is applied once the task is Confirmed.
-
Manufacturing Runs - Labor cost is applied proportionally to output packages in manufacturing runs based on the packaged weight. Cost is calculated based on the user’s hourly rate and the labor hours specified on the labor entry in the run. (Note - this only applies proportionally if the output packaged units are the same weight type, all count based, weight based or volume based. Otherwise, the cost may be split inconsistently.)
-
Receive from Source Packages - Packages receive labor COGS automatically from the parent package they are created from in split and combine package workflows, and in manufacturing, based on the amount of source weight being pulled from the parent package. This shows in the Original COGS value in the Labor Cost Card of the package details page, but does not show a separate employee line for the inherited cost like NCI does. i.e. Package A has $100 in COGS and 100g in current quantity. When 10g is pulled from the source package A into a new child package B, that is 10% of the current weight, and 10% of the $100 Cannabis COGS is applied to the child package.
Bill of Materials
Bills of Materials defines the “recipe” for an ingredient. It defines when items will be added, and in what quantity, to a new packaged item being created. These are available for use in all facility types - Standalone, BioTrack and Metrc.
BOMs can be automatically applied to packaged inventory in some cases, and manually applied in others.
- Split Packages - the new package must have a different item name than the source package item name in order for the BOM to automatically apply. Note - the same output item may be listed on multiple BOMs, and will apply all BOMs at that time.
- Combine Packages - the new package must have a different item name than the source package item name in order for the BOM to automatically apply. Note - the same output item may be listed on multiple BOMs, and will apply all BOMs at that time.
- Create Package from Harvest - Packages created from a harvest will have a BOM automatically applied if the new package item matches the output item on a BOM.
- Manufacturing Runs - BOMs prefill manufacturing run inputs when a BOM is specified at the point of creating a new run, when editing the run details at the top of a run, or when adding non-cannabis inputs using the Add Inputs button.
- Task Templates - NCI is automatically applied to tasks created from task templates when a BOM is saved on the template.
In a BOM, you may designate a cannabis “source” on the ingredient. However, this is only for the purposes of prefilling inputs from the BOM on Manufacturing runs. In other workflows, a package can be created from any source item, regardless of what is specified on the BOM.
When Do BOMs Not Automatically Apply?
If there is not enough quantity of a non-cannabis item in a BOM that will be utilized in the Split, Combine, and Create From Harvest workflows:
- Currently, Canix will loop through the ingredients on the BOM as it applies to the packages on the flow. All non-cannabis products are applied to the package if there is enough quantity to deduct the full required amount. If a product does not have enough quantity for the BOM required amount, that product will not be applied, but all others will.
- The ingredients automatically applying to packages are not currently visible when taking action through the Split or Combine Package actions, but can be troubleshot by checking what non-cannabis ingredients have been applied on the package’s details page.
How Do Costs Carry Over to New Inventory?
In Canix, cost will carry over from source packages to new packages, and as plants change growth phases and are harvested. Cost on harvests will pass onto package when manually specified in the Create Harvest Package actions. Costs carry over in the same cost category when passing on from one package to another package: non-cannabis cost remains as non-cannabis cost on subsequent inventory, and labor cost remains as labor cost on subsequent inventory.
Packages
For packaged inventory, automated costs applied to subsequent inventory are associated with the quantity of the starting package, and move in proportion with the weight or count passed onto the new package(s). Examples of how this works is below.
Example 1:
Start with Package A.
- Package A = 10 grams, $5 of NCI, $10 of labor, $7 of cannabis cost
Split Package using 10 grams of Package A to turn into 10 grams of Package B.
- Package B = 10 grams, $5 of NCI, $10 of labor, $7 of cannabis cost
- New Package A = 0 grams, $0 of NCI, $0 of labor, $0 of cannabis cost
Example 2:
Start with Package A.
- Package A = 10 grams, $5 of NCI, $10 of labor, $7 of cannabis cost
Split Package using 5 grams of Package A to turn into 5 grams of Package B.
- Package B = 5 grams, $2.50 of NCI, $5 of labor, $3.50 of cannabis cost
- New Package A = 5 grams, $2.50 of NCI, $5 of labor, $3.50 of cannabis cost
Example 3:
Start with Package A.
- Package A = 10 grams, $5 of NCI, $10 of labor, $7 of cannabis cost
Split Package using 10 grams of Package A to turn into 5 grams of Package B.
- Package B = 5 grams, $5 of NCI, $10 of labor, $7 of cannabis cost
- New Package A = 0 grams, $0 of NCI, $0 of labor, $0 of cannabis cost
Even though Package B only has 5 grams, b/c the entirety of the weight of Package A was pulled into Package B, the entirety of the costs from Package A are also sent to Package B.
Plant Batches
For plant batch inventory, the labor and non-cannabis cost applied to plant batches are applied to new tagged plants as the immature plants in the batch change growth phases to vegetative (or flowering in California facilities). The tagged plant receives the proportion of cost based on the number of immatures in the batch at the time of changing the growth phase. Examples of how this works is below.
Example 1:
Start with Plant Batch A
- Plant Batch A - 100 immatures, $50 of NCI, $100 of labor
Turn 30 Plants into Vegetative Plants from Plant Batch A. Each Vegetative Plant receives 1/100th of the NCI cost and Labor cost.
- 1 Vegetative Plant = 1 plant, $0.50 of NCI, $1 of labor
- New Plant Batch A = 70 immatures, $35 of NCI, $70 of labor
Give the remaining 70 Immature plants from Plant Batch A another $100 of NCI, $100 of labor.
- New Plant Batch A = 70 immatures, $135 of NCI, $170 of labor
Turn 70 plants into Vegetative Plants from Plant Batch A. Each Vegetative Plant receives 1/70th of the NCI cost and Labor cost.
- 1 Vegetative Plant = 1 Plant, $1.93 of NCI, $2.43 of Labor
- Plant Batch A = 0 immatures, $0 of NCI, $0 of Labor
Plants
As plant inventory changes growth phases (i.e., Vegetative -> Flowering), it retains the labor and NCI cost associated with it throughout the cultivation cycle.
Harvests
As flowering plants are harvested, the Current NCI and Labor cost are automatically passed onto the harvest. Costs do not pass on to a manicure from a flowering plant.
As harvests are packaged, packages receive cannabis cost as specified by the user in the Create Package workflow. This is not automated, unless the option to proportionally apply cost to packages is selected. Note - cost does not deduct from the harvest COGS as they are applied to packages.
Rules of Costs in Canix (and Edge Cases)
Editing Costs in Canix
Typically, when you edit costs in Canix, it only applies to future inventory. This applies as a general rule across the product
- For example, if you have a package from which you have already created child packages, and you edit the NCI, labor, or cannabis cost of this package, the child package will not have any costs changed
- The same applies for plants, plant batches, and harvests
- Additionally, if you have a plant, plant batch, harvest, or package that has had NCI or Labor added to it, and you edit the unit price of a lot or the hourly wage of an employee, the costs already applied will not change.
There are no exceptions to this rule - in every area of Canix, editing the cost of a parent item, an NCI ingredient, or labor will not impact inventory that has already been created.
How You Edit Costs Already Applied
You are able to edit the costs on inventory already created as laid out below.
-
Packages and Harvests
- NCI - you can remove or edit the quantity of NCI applied to change the cost on packages and harvests
- Labor - you may remove the labor entry on a package or harvest to update the labor cost applied
- Cannabis Cost - this cannot be edited or removed from a package. It can only be overwritten by adding to adding to a purchase order when Receiving Products on the PO.
-
Plants and Plant Batches
- NCI - cannot be edited or changed at this time
- Labor - cannot be edited or changed at this time
- Cannabis Cost - cannot be edited or changed at this time
When BOMs do not apply
Typically, BOMs are applied automatically to Split, Combine, and Harvest Package functions. In the below edge cases, the BOM will not be applied, but the action will still go through:
Combine Package and Split Package
- When the new Package being created has the exact same item name as at least one of the source package(s)
- This is intentional, as the assumption is that this action only represents a quantity adjustment, rather than re-packaging (which would utilize the BOM)
For Combine Package, Split Package, and Harvest Package
- When BOM does not have enough quantity for NCI contained on the BOM.
- In this case, the BOM will apply the NCI with sufficient quantity to apply the required amount from the BOM
- Any NCI without enough quantity to fulfill the required BOM amount will not be applied to the package. An error will be displayed in the packages table for Missing NCI.
- If the NCI Lot’s received date is after the package date, it will not apply to the package.
- The package date and received date can be the same date, and the ingredients will apply to the package if the Lot existed before the packaging action.
- Note: A lot is active if the received date is before the package date or usage date specified in the submission, and there is more than 0 quantity available on the lot still.
- If the BOM expiration date is after the package created date, the BOM will not apply
When costs do not follow inventory quantity
Typically, NCI, Labor, and Cannabis Costs will change as the quantity of a package changes based on actions taken in Canix. The cost will change in proportion to the quantity that is being removed from the package.
This does not apply for actions taken directly in Metrc / BioTrack (addressed in the section below).
The exception is in the case of Adjusting Packages. Canix does not change the cost as packages are adjusted.
COGS in Package and Harvest Activity History
The Canix Activity History is intended to show all actions that are undertaken on a package. However, there are several exceptions to this rule:
- Non-cannabis inventory applied to, removed from, or edited on packages does not display updates in the package activity history table.
- New labor applied directly to the package through task management or manufacturing will not show as a row in the package’s activity history.
- NCI will be displayed on the package detail page in the NCI cost card with 0 quantity and $0 in cost when there are active lots on the NCI product that no longer have quantity. This displays as the BOM cycles through all lots with received date earliest to latest until it reaches a lot with quantity.
- If NCI cost is received from a source package, it is displayed in the NCI cost card of the package details page as “Package Creation Adjustment”. The NCI applied to the source package will not reappear on the child package as individual NCI passed from the source to child package
- NCI Cost assigned to a package at the time of creation, from a source package, a BOM and/or a manufacturing run, will be displayed as Original Cost on the NCI cost card in the package details page. Any subsequent NCI cost will be added to this value to get to the Current Cost value
- This is the same display for Labor Cost on the package and harvest details page.
How COGS Apply when Actions are taken in Metrc/BioTrack Directly
In general, costs adjust with package actions taken directly in Canix. Any actions not taken in Canix will not have an effect on cost. Information provided by Metrc currently does not provide information necessary to reliably associate costs from actions taken in Metrc.
- Syncing with Metrc - The cost is tied to the package tag, and any updates to the tag in Metrc do not affect the COGS in Canix. Including if the Metrc sync adjusts the quantity of the package.
- Deactivating Packages in Metrc - The cost follows the inactive/finished package so the cost is “lost” in Canix. A package should be reduced to 0 quantity by splitting or combining the package to pass the cost to a new package.
- Splitting Packages in Metrc - The cost will remain on the source package and is not currently editable to adjust the COGS on the child package.
- Adjust Packages in Metrc The cost will remain on the package. Adjustments on packages in general do not reflect a change in COGS. This is because this could be moisture loss, for example, which would not have a physical product to assign COGS to.