A hazardous materials inventory statement (HMIS) for a cannabis extraction lab is a line-by-line list of every solvent, gas, and chemical on the premises, by control area, with the maximum quantity in storage and in use, the hazard class under IFC Chapter 50, the physical state, and the storage condition. The fire code official asks for it with the Chapter 39 extraction permit the moment any material approaches its maximum allowable quantity (MAQ): 120 gallons of a Class IB flammable liquid such as 190-proof ethanol in an unsprinklered control area (240 gallons sprinklered, 480 gallons sprinklered and cabineted), 1,000 cubic feet of flammable gas (2,000 sprinklered), and no limit at all for inert gases such as nitrogen and carbon dioxide. The companion document, the hazardous materials management plan (HMMP), is the narrative: where it is stored, who handles it, what happens when it spills, how the detection is tested, and who gets called. Most extraction permits that stall at plan review stall on these two documents, not on the extractor.
This guide builds both from a working two-column hydrocarbon lab with an ethanol winterization step, shows the MAQ math the statement has to prove, lists the HMMP sections the common AHJ templates require, and walks the plan-review failures that send the package back.
What the HMIS and HMMP Are, and Which Code Section Asks for Them
Both documents live in IFC Chapter 50 (Hazardous Materials, General Provisions), not in Chapter 39. Section 5001.5 lets the fire code official require them for any permit involving hazardous materials, and the Chapter 39 extraction permit under Section 105.6 (plant extraction systems) is exactly that permit. Section 5001.5.1 describes the hazardous materials management plan; Section 5001.5.2 describes the hazardous materials inventory statement. Jurisdictions that run their own submittal guides, San Francisco’s Administrative Bulletin 2.18 for cannabis and plant extraction facilities among them, require both with every plan set and say so in the first paragraph.
The two documents answer different questions:
- HMIS (the table): what is on site, how much, in what form, where, and under which hazard class. It is a quantity proof. The reviewer compares every row against IFC Table 5003.1.1(1) to decide whether each control area stays in its base occupancy or crosses into Group H.
- HMMP (the narrative): how the site handles, stores, dispenses, monitors, and cleans up those materials, with a site plan, a floor plan showing each control area and storage location, and the emergency response sequence. It is a management proof.
A permit package with a clean HMIS and no HMMP tells the reviewer you counted your drums and never thought about what happens when one leaks. A package with a long HMMP and a thin HMIS tells the reviewer you wrote procedures for quantities you never added up. Both come back.
The HMIS Row: Every Field and the Mistake Made in Each
The statement is a table, and every AHJ form carries the same core columns even when the layout differs. For each material, in each control area:
| HMIS field | What goes in it | Where extraction labs get it wrong |
|---|---|---|
| Product name and components | Trade name plus the chemical names and CAS numbers of each hazardous component (n-butane 106-97-8; propane 74-98-6; ethanol 64-17-5; isopropanol 67-63-0) | A 70/30 butane-propane blend listed as “extraction solvent” with no components. The reviewer cannot classify a trade name. |
| Hazard classification | The IFC Chapter 50 class, not the GHS pictogram: flammable gas; flammable liquid Class IA, IB, IC; combustible Class II, IIIA; inert gas; cryogenic flammable or inert; oxidizer; corrosive | 190-proof ethanol entered as Class IC. Its flash point is about 17C (63F) with a boiling point of 78C, which is Class IB. The MAQ is the same 120 gallons, but the reviewer stops trusting the rest of the table. |
| Physical state | Solid, liquid, or gas at the storage condition. Liquefied gases under pressure are gases for MAQ purposes. | Butane cylinders listed as liquid by the gallon. The flammable-gas MAQ is written in cubic feet of gas at normal temperature and pressure. |
| Maximum quantity in storage | The most of that material ever present in closed containers in that control area, counting full cylinders, drums, and the recovery tank contents | Listing the delivery-day quantity instead of the maximum, or leaving the solvent in the recovery tank off the sheet because “it is in the machine.” |
| Maximum quantity in use (closed systems and open systems) | Material inside process equipment, split into closed-use (the extractor, the recovery tank, the rotovap) and open-use (an open pour, a vacuum oven slab, a winterization bucket) | Everything booked as closed-use. The ethanol in an open winterization vessel and the butane off-gassing from an open vacuum oven are open-use, and open-use MAQs are a quarter of the storage figure. |
| Storage condition | Container type, pressure, temperature; cabinet or not; indoor or outdoor; above or below grade | Claiming the sprinkler and cabinet increases with no listed flammable-liquid cabinet on the floor plan. The increase is only real if the cabinet is. |
| Location | The control area number and the room, keyed to the floor plan in the HMMP | One total for the building. The MAQ applies per control area; a building total is unreviewable. |
The MAQ Math the Statement Has to Prove
IFC Table 5003.1.1(1) sets the maximum allowable quantity of each hazard class per control area. Stay under every line and the room keeps its base occupancy, which for plant oil extraction is Factory Industrial Group F-1 under IBC Section 306.2. Cross any line and the control area becomes a Group H occupancy with rated separations, spill control, explosion control for flammable gas, and a different set of drawings. The numbers that decide most extraction labs:
| Material (hazard class) | Base MAQ per control area (storage) | With sprinklers (+100%) | With sprinklers and approved cabinets or listed containers (+100% again) | In use, open systems |
|---|---|---|---|---|
| Ethanol 190 proof, isopropanol 99% (flammable liquid, Class IB) | 120 gal (Class IA, IB and IC combined: 120 gal with no more than 30 gal of IA) | 240 gal | 480 gal | 30 gal (open use is a quarter of the storage figure) |
| Butane, propane, blends (flammable gas; LP-gas rules in Chapter 61 also apply) | 1,000 ft³ at NTP (about 150 lb of n-butane, about 110 lb of propane, by vapor volume) | 2,000 ft³ | 4,000 ft³ (the second increase needs listed gas cabinets or exhausted enclosures, which almost no LP-gas cylinder bank has; plan on 2,000) | Not permitted in open systems; closed-use equals the storage figure |
| Heptane, pentane (flammable liquid, Class IB / IA) | Counted inside the same 120 gal Class I total as the ethanol; pentane is Class IA and capped at 30 gal within it | 240 gal (60 gal IA) | 480 gal (120 gal IA) | 30 gal (10 gal IA) |
| Nitrogen, carbon dioxide, argon (inert gas, compressed) | Not limited (NL) in Table 5003.1.1(1) | NL | NL | NL; the hazard is asphyxiation, handled by Chapter 53 ventilation and gas detection, not by MAQ |
| Liquid nitrogen, liquid CO2 (cryogenic inert) | NL | NL | NL | NL; Chapter 55 governs the dewar, the relief venting, and the oxygen monitoring |
| Hydrogen peroxide 35%, nitric or sulfuric cleaning acids (oxidizer Class 2 to 3, corrosive) | Oxidizer Class 2: 250 lb; Class 3: 10 lb; corrosive liquid: 500 gal | Doubled | Doubled again | A 5-gallon jug of 35% peroxide next to the ethanol drums is the item reviewers circle first: oxidizer and flammable storage must be separated under Section 5003.9.8 |
Two rules sit on top of the table. Control areas are limited by floor: on the first floor above grade a building may have four control areas, each at 100% of the MAQ, with one-hour fire barriers between them; the second floor drops to three areas at 75%; the third to two at 50%; and basements are held to one area at 75% in most editions. And the increases are conditional: the sprinkler increase needs an NFPA 13 system covering the control area, the cabinet increase needs listed flammable-liquid storage cabinets with the containers actually inside them, and a reviewer will walk the floor plan looking for both.
Convert gas quantities before you write them down. A 100 lb butane cylinder holds about 100 lb of liquid that becomes roughly 650 cubic feet of vapor at NTP (n-butane, about 6.5 ft³/lb). Two cylinders connected to the extractor plus four in storage in the same control area is about 3,900 ft³, nearly four times the base MAQ and twice the sprinklered MAQ. That inventory is the single most common reason a hydrocarbon lab lands in Group H-2, and the fix is either an exterior storage enclosure for the reserve cylinders (Chapter 61 outdoor LP-gas storage) or a second control area with its own fire barrier.
Worked Example: the HMIS for a Two-Column Hydrocarbon Lab With Ethanol Winterization
The lab: one extraction room with two 10 lb closed-loop columns and a 100 lb recovery tank, one post-processing room with a rotovap and two vacuum ovens, and a storage room. Sprinklered throughout, with two listed flammable-liquid cabinets in the storage room. Three control areas on one floor: CA-1 extraction, CA-2 post-processing, CA-3 storage.
| Control area | Material (class) | Max in storage | Max in use (closed / open) | MAQ applied (sprinklered) | Result |
|---|---|---|---|---|---|
| CA-1 extraction | Butane-propane 70/30 (flammable gas) | 1 spare cylinder, 100 lb = 650 ft³ | Closed: 1 connected cylinder + recovery tank at 80% fill, 180 lb = 1,170 ft³ / Open: 0 | 2,000 ft³ storage; 2,000 ft³ closed-use (aggregate counted) | 1,820 ft³ aggregate: under MAQ, F-1 holds. Zero margin for a second spare. |
| CA-1 extraction | Nitrogen (inert gas) | 2 × 300 ft³ cylinders | Closed: 1 × 300 ft³ | NL | Listed for the asphyxiation review, not for MAQ |
| CA-2 post-processing | Ethanol 190 proof (Class IB) | 1 × 55 gal drum in a listed cabinet | Closed: rotovap 20 L (5.3 gal) / Open: winterization vessel 40 L (10.6 gal) | 240 gal storage (480 with the cabinet); open-use 30 gal | Under on every line; the 10.6 gal open-use figure is the one the reviewer checks |
| CA-2 post-processing | Residual butane in vacuum ovens (flammable gas, open use) | 0 | Open: up to 5% of a 2 kg slab load = 0.1 kg = 1.4 ft³ | Open-use flammable gas not permitted as a listed quantity; handled as an exhausted process under Chapter 39 | Noted in the HMMP as a purge process with exhaust and LEL detection, not booked as inventory |
| CA-3 storage | Ethanol 190 proof (Class IB) | 3 × 55 gal drums = 165 gal, in listed cabinets | 0 | 480 gal (sprinklered + cabinets) | Under; without the cabinets the limit is 240 gal and a fourth drum crosses it |
| CA-3 storage | Isopropanol 99% (Class IB) and butane-propane spare cylinders | 2 × 5 gal IPA; 4 × 100 lb cylinders = 2,600 ft³ | 0 | IPA counts inside the Class I liquid total (175 gal, under 480); gas 2,000 ft³ | 2,600 ft³ of gas exceeds 2,000: CA-3 is Group H-2 as drawn. Fix: move the cylinder reserve to an exterior Chapter 61 enclosure, or hold two cylinders inside (1,300 ft³) and two outside. |
Read the last row again, because it is the whole lesson. Every room passed on liquids. The building failed on four spare gas cylinders in a storage room, a quantity nobody thought of as part of the lab. The HMIS exists to make that arithmetic visible before the reviewer does it for you, and it is why the statement is organized by control area rather than by material.
If you want to walk a permit package like this one with the drawings open, that is the kind of session we run in the extraction training course at extractiontraining.com, alongside the chemistry.
The HMMP: Sections Every Template Shares
The management plan is a narrative keyed to the HMIS, and the AHJ templates (San Francisco’s 2.18 guideline, the ICC’s model Appendix H, county fire marshal forms in Colorado, Oregon, and Washington) all converge on the same sections. Write them in this order and the reviewer finds what they are looking for:
- Facility description and site plan: property lines, building footprint, access roads, hydrants, exterior storage (the LP-gas enclosure), and the location of the fire department connection and the emergency shutoffs.
- Floor plan with control areas: every control area numbered and bounded by its rated construction; every storage location, cabinet, cylinder rack, and process vessel keyed to an HMIS row; exits, extinguishers, eyewash, and spill kits marked.
- Storage and handling procedures: how cylinders are received, secured, connected, and changed; how drums are grounded and bonded for dispensing; who is allowed in each control area; what the maximum quantities are and how they are counted (the HMIS numbers, restated).
- Dispensing, use, and process description: the extraction cycle, the recovery cycle, the winterization and purge steps, with the open-use steps named and their exhaust called out.
- Monitoring, detection, and alarms: LEL detection locations and setpoints (a common AHJ expectation is alarm at 10% LEL and process shutdown with exhaust to high speed at 25% LEL, confirmed against the local amendment), oxygen monitoring in rooms with inert or cryogenic gas, the test and calibration schedule, and who receives the alarm.
- Spill and release response: the sequence for a liquid spill (isolate ignition sources, exhaust, absorb, segregate the waste) and a gas release (shut the cylinder valve, leave, call, no re-entry until the detector clears), with quantities that trigger a 911 call rather than an in-house cleanup.
- Inspection, maintenance, and recordkeeping: the monthly walk-through checklist, the detector calibration log, the relief-valve and hose inspection intervals, and where the records live for the inspector.
- Training: who is trained on what, how often, and the records that prove it; new-employee sign-off before unescorted access to a control area.
- Waste: how spent solvent, contaminated absorbent, and biomass are classified, stored, and removed, cross-referenced to the facility’s RCRA generator status.
- Emergency contacts and plan maintenance: the responsible person, after-hours numbers, and the rule that the HMIS and HMMP are updated before any new material or quantity arrives, not after.
Keep the HMMP to the facility in front of the reviewer. A plan copied from a larger site, with sections about rail cars and bulk tanks that your building does not have, reads as a template and gets a line-by-line comment set.
Jurisdiction Variants Worth Knowing Before You Write
- San Francisco (AB 2.18): HMMP and HMIS with every cannabis extraction plan set under SFFC 5001.5; the bulletin also wants the extraction equipment listing or the Section 3904.2.2.2 technical report in the same package.
- Colorado (Division of Fire Prevention and Control): the state runs a marijuana extraction permit program with its own application forms; the local fire authority still reviews the hazardous materials documents, and several front-range districts publish their own HMIS form.
- Oregon and Washington: Oregon’s fire code adopts Chapter 39 with amendments and Oregon OSHA layers worker-exposure rules on top; Washington counties issue a fire construction permit for marijuana extraction systems (Grant County’s FMO-34 form is typical) that requires the inventory statement up front.
- NFPA jurisdictions: where NFPA 1 is adopted instead of the IFC, Chapter 38 covers cannabis growing, processing, and extraction and Chapter 60 carries the MAQ tables; the HMIS and HMMP concepts carry over under the same names, and the forthcoming NFPA 420 (first edition targeted for 2027) is expected to consolidate the cannabis-specific requirements.
Ask the AHJ for their form before you build one. Most will send a spreadsheet; some will accept the ICC template; a few want a stamped document from the engineer who wrote the technical report.
Common Failures at Plan Review and How to Diagnose Them
Symptom: the package comes back with “provide hazardous materials inventory by control area.”
Root cause: quantities were totaled for the building, or listed by container with no location.
Diagnostic test: can a reviewer reproduce your MAQ check for each control area from the table alone, without the drawings? If not, the table is incomplete.
Fix: rebuild the HMIS with one block per control area, storage and in-use split, and a control-area key that matches the floor plan.
Symptom: the reviewer reclassifies a room to Group H that you drew as F-1.
Root cause: gas cylinders counted by the pound, recovery-tank contents omitted, or the sprinkler and cabinet increases claimed without the hardware on the plans.
Diagnostic test: convert every flammable gas quantity to cubic feet at NTP (n-butane about 6.5 ft³/lb, propane about 8.6 ft³/lb) and add the recovery tank at its maximum fill; compare to 1,000 or 2,000 ft³.
Fix: move the reserve cylinders to an exterior enclosure, split the control area with a one-hour barrier, or accept the H-2 design and its separations.
Symptom: “clarify open-use quantities” on the ethanol line.
Root cause: the winterization vessel, the open filter funnel, and the vacuum-oven purge were booked as closed systems.
Diagnostic test: list every step where solvent vapor can reach the room. Each one is open use.
Fix: restate open-use quantities against the 30 gal (sprinklered 60 gal) open-use ceiling for Class IB liquids and describe the exhaust for each open step in the HMMP.
Symptom: the oxidizer or acid row draws a separation comment.
Root cause: cleaning chemicals (35% peroxide, nitric acid for stainless passivation) stored in the same cabinet or on the same shelf as flammable liquids.
Diagnostic test: walk the storage room with the HMIS and look for any oxidizer within the same cabinet or within the separation distance the local amendment sets for incompatible materials.
Fix: a separate cabinet for oxidizers and corrosives, shown on the floor plan, with the HMIS location column updated.
Symptom: the HMMP is returned as “not site specific.”
Root cause: a borrowed plan with the wrong materials, wrong quantities, or sections for equipment the facility does not have.
Diagnostic test: every material named in the HMMP appears in the HMIS and every HMIS row has a procedure in the HMMP; anything that fails that cross-check is template residue.
Fix: rewrite from the HMIS outward, one section per material family, and delete every paragraph that does not describe this building.
Symptom: the permit is issued and the first inspection finds a quantity over the statement.
Root cause: a solvent delivery arrived, nobody updated the HMIS, and the inspector counts drums.
Diagnostic test: compare the receiving log against the HMIS maximums monthly.
Fix: a standing rule in the HMMP that the statement is revised and resubmitted before any material or quantity change, and a receiving checklist that stops a delivery that would exceed a control-area maximum.
The Order to Do This In
- List every material in the building, including the ones in the machines and the cleaning closet, with CAS numbers and IFC hazard classes.
- Draw the control areas on the floor plan and decide where each material lives.
- Convert every quantity to the units of Table 5003.1.1(1) and run the MAQ check per control area, with and without the increases you can prove.
- Move what has to move (reserve cylinders outside, oxidizers to their own cabinet) until every control area passes, or decide on purpose that one area will be Group H.
- Write the HMIS from that layout, then the HMMP from the HMIS, then hand both to the engineer writing the Chapter 39 technical report so the three documents agree on quantities.
- Submit all three with the plan set, and build the receiving checklist that keeps the statement true after the permit is issued.
Frequently Asked Questions
What is a hazardous materials inventory statement for a cannabis extraction facility?
It is the table required under IFC Section 5001.5.2 that lists every hazardous material on site by control area, with the hazard class, physical state, maximum quantity in storage, maximum quantity in closed and open use, storage condition, and location. The fire code official uses it to check each control area against the maximum allowable quantities in Table 5003.1.1(1), which for an extraction lab means 120 gallons of Class IB liquids and 1,000 cubic feet of flammable gas before the sprinkler and cabinet increases.
What is the difference between an HMIS and an HMMP?
The HMIS is the inventory table: what, how much, in what form, where. The HMMP under Section 5001.5.1 is the management narrative: site and floor plans with control areas, storage and handling procedures, process description, detection and alarms, spill response, inspection and training records, waste, and emergency contacts. Permits that ask for one almost always ask for both, and the HMMP is written from the HMIS, not the other way around.
How much ethanol can an extraction lab store before it becomes a Group H occupancy?
120 gallons of Class IB flammable liquid per control area in an unsprinklered building, 240 gallons with an NFPA 13 sprinkler system, and 480 gallons when the containers are also kept in listed flammable-liquid storage cabinets. The limit covers Class IA, IB and IC liquids combined, so isopropanol and heptane count against the same figure, and open-use quantities are capped at a quarter of the storage number.
How is butane counted on the HMIS?
As a flammable gas in cubic feet at normal temperature and pressure, not as liquid gallons or pounds. One 100 lb cylinder of n-butane is roughly 650 cubic feet of vapor, so the 1,000 cubic foot base MAQ is about one and a half cylinders per control area and the sprinklered 2,000 cubic feet is about three. The recovery tank contents count as closed-use inventory in the same control area as the extractor.
Does the HMIS have to be stamped by an engineer?
The model code does not require a stamp on the inventory statement itself; it requires the information. Many AHJs want the HMIS and HMMP submitted with, and consistent with, the Chapter 39 technical report that a registered design professional does stamp, and a growing number of jurisdictions want the same engineer to prepare all three so the quantities agree. Ask the fire code official for their form and their expectation before you draft.
Do nitrogen and CO2 cylinders go on the HMIS?
Yes. Inert gases have no maximum allowable quantity in Table 5003.1.1(1), so they never push a room toward Group H, but they are hazardous materials with an asphyxiation hazard and the reviewer wants them listed with their locations so the Chapter 53 ventilation and oxygen-monitoring review can be done against the actual inventory.
What happens if the inventory changes after the permit is issued?
The statement has to be updated and resubmitted before the new material or quantity arrives. An inspector who counts more drums than the HMIS lists treats the facility as operating outside its permit, and in a control area that crosses an MAQ line that is an occupancy violation, not a paperwork one.
Ready to level up your extraction game? Contact WKU Consulting for personalized guidance on building your extraction lab.
For more deep dives into cannabis chemistry, extraction SOPs, and lab design, subscribe to the WKU Consulting YouTube channel.
Watch a related video: