top of page
Writer's pictureCraig W. Smalley, E.A.

What You Need to Know About Record Keeping for the Cannabis Industry


If you are in the cannabis industry, chances are you’ll be audited by the IRS. So, record keeping is extremely important. Even though marijuana-related businesses generally choose to do business in cash because of the lack of payment processing options available to them, they still must create and maintain accurate reports of cash transactions, including sales, employee wages, and vendor payments.


In addition, businesses receiving more than $10,000 in cash from a single buyer as a result of one transaction or two or more related transactions, must report these earnings via Form 8300, Report of Cash Payments Over $10,000 Received in a Trade or Business. Copies of these filed forms should be maintained for 5 years. The IRS also requires that you deliver a statement to the customer who made the payment by January 31st of the following fiscal year, which details the total amount of cash your business received within a 12-month period.


To make things easier for your business, set up a system now to keep an electronic or paper copy of every receipt. Make sure to include a detailed description with every expense record so that you can validate your tax filings to the IRS.


For our cannabis clients, we like to set up a cloud-based accounting system. All transactions are automatically fed into the program and we sort the transactions. For some cannabis businesses, we offer a Virtual CFO Service that takes record keeping out of the hands of the business owner. That way, they can focus on running their business.


A special word on cash is needed here. As in all cash-heavy industries, you should have a mechanism in place to protect your business from internal theft. Cameras and armed security guards are effective deterrents if someone comes into your establishment demanding money. But most businesses that deal with a lot of cash don’t have a system in place to check their employees.


I can’t tell you how many times a business that deals with cash has called our office and asked us to audit their cash system because of large “discrepancies”. If you don’t have a mechanism in place, we can design one for you and even show you how to implement it to help you avoid this mess.


A basic system is to have a cash drawer start with a certain amount of money. Perhaps $500 in different denominations of $1, $5, $10, $20, and change. You need some sort of point of sale (POS) system, whereby you tag and scan inventory. When the bar code is scanned, the amount of money that the item cost should be in the drawer. If you have more than one person working the registers at one time, you need more than one register. One employee should be assigned to one cash register. Periodically throughout the shift, a manager should pull cash out of the register and place it in a locked safe.


At the end of the shift, your POS should be able to run a Z-Tape. This will show you, among other things, what your sales are and how much tax you collected. For the purpose of this article, we want to look at how much money should be in the drawer. Because of human error, you should always give the cashier a $20 difference either over or short. Anything more than that, then it’s likely something fishy is going on.


Marijuana-related businesses that are legal in different states in the U.S. are currently operating in a legal grey area. Despite the passage of laws legalizing certain marijuana-related activities in 28 states and the District of Columbia, the production, distribution and sale of marijuana is still illegal under federal law. However, every marijuana-related business is still required to pay federal income tax on its taxable income per IRC § 61(a).


In addition, the IRS Office of Chief Counsel issued Chief Counsel Advice (CCA) 201504011, was issued in 2015 and confirmed that the IRS has broad authority to challenge the accounting method and deductions claimed for any marijuana-related business. Without proper record keeping, marijuana-related businesses put themselves at a much greater risk of losing an IRS tax investigation. Subsequently, proper record keeping is essential for businesses in an industry that has been only partially legitimized.


In light of the risks of operating a cannabis-related business, every business owner should be aware of the records that need to be maintained. Accurate records are required to prove the existence of a serious and legitimate business to the eyes of the IRS.


Here are the proper record keeping requirements for canna-business owners:

  • Under U.S. Code § 280E, marijuana-related businesses are prohibited from taking deductions and credits for trafficking marijuana. However, the law does not disallow deductions for costs of goods sold (COGS) related to the legal parts of their businesses. To maintain this distinction, marijuana resellers should physically separate the square footage in their retail locations so that they can maintain clear and direct records with regards to COGS deductions. Although we specialize in ways around § 280E, this is still an important part of record keeping.

  • A good POS system will allow you to scan inventory, and it will keep track of what you bought it for, and what you sold it for. It will help you monitor how much inventory you have so that you can reorder accordingly. Even with all this technology, you still need to physically count your inventory at least once a month. Further, you need to have checks in place because employees in cash-based industries often steal inventory as well.

Along with the cloud based accounting program, we offer a service where we implement all the actions mentioned in this article. No matter where you are in the country, we can be there to set this system up and monitor it remotely.


It is important to keep good records and safeguards in place for your cannabis business. With the gray area between legal and illegal still present, cannabis business owners will do well to set methods of tracking in place now, before the IRS comes knocking.

bottom of page