Skip to content
ArumSoft Learning
KO
    Excel templateOperations

    Chemical SDS and Hazmat Inventory Log for Excel

    A chemical inventory has two jobs: proving you have a current Safety Data Sheet for every hazardous product, and knowing how much of what is stored where. This workbook keeps one row per product per cabinet, converts containers into liters or kilograms so areas can be totalled, compares flammable liquids in each cabinet with the limit you set, warns when an oxidizer shares space with a flammable, and flags missing SDSs, reviews due and expiring stock.

    Sheets:
    6
    Works with:
    Excel for Microsoft 365, Excel 2016 or later, Excel for Mac and Excel for the web
    Updated:

    SDS Chemical Inventory Log.xlsx

    Excel workbook (.xlsx) · 59 KB · 6 sheets

    Download template

    Free to download. No sign-up needed.

    What you can do with it

    • One row per product per storage area with CAS number, GHS hazard class, signal word and SDS link
    • Quantity converted from mL, gal, g or lb into liters or kilograms for totals
    • Flammable liquids per cabinet against your limit, and oxidizer-with-flammable storage warnings
    • Missing SDS, SDS review due, expired and expiring flags, with a location × hazard matrix
    Start Here sheet of the SDS chemical inventory Excel template showing the as-of date, SDS review cycle, expiry warning, products on the inventory, missing SDSs, reviews due, expired or expiring products, storage areas over their flammable limit, incompatible storage, flammable liquids on site, Danger products and a chart of flammable liquids against limit by area
    The Start Here sheet with 31 sample products in seven storage areas.

    What's inside

    The workbook has 6 sheets. You only type on a few of them; the rest calculate.

    SheetWhat it's forYou enterCalculated for you
    Start HereSettings and resultsAs-of date (today), SDS review cycle in years, expiry warning daysProducts, missing SDS, reviews due, expired or expiring, areas over limit, incompatible storage, flammable liters on site, Danger products
    ChemicalsOne row per product per area (200)Product, manufacturer, CAS, location, cabinet, primary hazard, signal word, container size, unit, containers, SDS on file, SDS revision date, expiry, SDS linkReview due, days to expiry, quantity in base unit, area status, status
    LocationsCabinets and areas (20)Location, cabinet, flammable limit in litersProducts, flammable liters, share of limit, limit status, oxidizer + flammable check
    Hazard MatrixQuantity by location and hazardNothingLiters or kilograms per hazard class per location
    ListsDropdowns and unit factorsHazard classes, signal words, units with conversion factorsNothing
    ChecksSix data checksNothingOK or Review

    Before you start

    • Walk every room and cabinet; list each product with its container size and count.
    • Pull the current SDS for each product from the manufacturer's site and note its revision date (Section 16 or the header).
    • Ask your fire marshal or EHS lead for the flammable-liquid limit for each cabinet and area.

    Step-by-step guide

    1. Set the policy

      Start Here B7 and B8: how often you re-check each SDS, and how far ahead to warn about expiry.

    2. List the storage areas

      Locations tab: location, cabinet or area, and the flammable-liquid limit in liters (0 where none applies).

    3. Enter the inventory

      Chemicals tab: one row per product per area, with hazard class, signal word, container size, unit and count.

    4. Record the SDS

      SDS on file Yes/No, revision date and the file name or link.

    5. Fix the flags

      Status column: Missing SDS, Expired, Expiring soon, SDS review due, Area over limit, Incompatible storage.

    6. Report

      Start Here and the Hazard Matrix show totals by area for inspections and emergency planning.

    Formula map

    Every formula in the workbook, grouped by the sheet and column it lives in. A column of copied formulas counts once; the range it covers is shown.

    SheetCellsFunctionsWhat it computesReadsFeeds
    ChemicalsQ5 copied down to row 204IF, IFERROR, INDEX, MATCHQuantity in the base unitH5, J5, I5Every location total adds this column.
    ChemicalsO5 copied down to row 204IF, OR, EDATESDS review dueL5Past this date the status says SDS review due.
    ChemicalsU5 copied down to row 204IF, AND, LEFT, ISNUMBER, SEARCHStatusK5, P5, O5, T5Counted on Start Here; colored by severity.
    LocationsE5 copied down to row 24IF, SUMIFSFlammable liquids in the area—Compared with the limit for Over limit / Near limit.
    LocationsH5 copied down to row 24IF, AND, COUNTIFSOxidizer stored with flammable—Feeds the product status as "Incompatible storage".
    Hazard MatrixA5 copied down to row 12IFERROR, INDEX, MATCH, COUNTIFUnique location list—Columns B–I then SUMIFS the quantity by location and hazard class.

    Every formula, explained

    Each formula below is copied straight from the file, so what you read here is exactly what the cell contains. Click any cell in Excel to see it in the formula bar.

    Quantity in the base unitChemicals!Q5 · copied down to row 204
    =IF(A5="", "", H5*J5*IFERROR(INDEX(Lists!$E$5:$E$34, MATCH(I5, Lists!$D$5:$D$34, 0)),
        0))

    Container size × number of containers × the conversion factor for the unit (mL → L, gal → L, g → kg, lb → kg).

    Piece by piece

    H5*J5
    Size × containers.
    MATCH(I5, Lists!$D$5:$D$34, 0)
    Row of the unit.
    INDEX(Lists!$E$5:$E$34, …)
    Its factor (gal = 3.785).
    IFERROR(…, 0)
    0 for an unknown unit (the check flags it).

    With the sample data: H5 = 4, J5 = 6, I5 = L → Q5 result 24

    How it is used: Every location total adds this column.

    How to change it: Add units on the Lists tab with their factor and base unit.

    Learn this: How to Use INDEX and MATCH in Excel →
    SDS review dueChemicals!O5 · copied down to row 204
    =IF(OR(A5="", L5=""), "", EDATE(L5, 12*'Start Here'!$B$7))

    Revision date plus your review cycle in years.

    Piece by piece

    EDATE(L5, 12*'Start Here'!$B$7)
    3 years × 12 months after the revision date.

    With the sample data: L5 = Aug 6, 2023 → O5 result Aug 6, 2026

    How it is used: Past this date the status says SDS review due.

    How to change it: Change the cycle on Start Here B7.

    Learn this: Text and Date Functions in Excel →
    StatusChemicals!U5 · copied down to row 204
    =IF(A5="", "", IF(K5<>"Yes",
        "Missing SDS", IF(AND(P5<>"", P5<0), "Expired", IF(AND(P5<>"", P5<='Start Here'!$B$8), "Expiring soon", IF(AND(O5<>"", O5<'Start Here'!$B$6), "SDS review due", IF(LEFT(T5, 4)="Over", "Area over limit", IF(ISNUMBER(SEARCH("mixed", T5)), "Incompatible storage", "OK")))))))

    The most important problem first: no SDS, expired, expiring, review due, area over its limit, incompatible storage.

    Piece by piece

    K5<>"Yes"
    Missing SDS.
    P5<0
    Expired.
    P5<='Start Here'!$B$8
    Expiring soon.
    O5<'Start Here'!$B$6
    SDS review due.
    LEFT(T5, 4)="Over"
    Area over limit.
    SEARCH("mixed", T5)
    Incompatible storage.

    With the sample data: K5 = Yes, P5 = 111, O5 = Aug 6, 2026, T5 = Over limit → U5 result SDS review due

    How it is used: Counted on Start Here; colored by severity.

    How to change it: Nothing to change.

    Learn this: How to Use the IF Function in Excel →
    Flammable liquids in the areaLocations!E5 · copied down to row 24
    =IF(A5="", "", SUMIFS(Chemicals!$Q$5:$Q$204,
        Chemicals!$S$5:$S$204, I5,
        Chemicals!$F$5:$F$204, "Flammable",
        Chemicals!$R$5:$R$204, "L"))

    Adds liters of products whose primary hazard is Flammable in this cabinet.

    Piece by piece

    Chemicals!$Q$5:$Q$204
    Quantity in base units.
    Chemicals!$S$5:$S$204, I5
    Same location and cabinet (a combined key).
    Chemicals!$F$5:$F$204, "Flammable"
    Flammable products.
    Chemicals!$R$5:$R$204, "L"
    Liquids only (liters).

    With the sample data: E5 result 68

    How it is used: Compared with the limit for Over limit / Near limit.

    How to change it: Nothing to change.

    Learn this: How to Use SUMIF and SUMIFS in Excel →
    Oxidizer stored with flammableLocations!H5 · copied down to row 24
    =IF(A5="", "", IF(AND(COUNTIFS(Chemicals!$S$5:$S$204, I5, Chemicals!$F$5:$F$204, "Oxidizer")>0, COUNTIFS(Chemicals!$S$5:$S$204, I5, Chemicals!$F$5:$F$204, "Flammable")>0),
        "Incompatible", "OK"))

    Incompatible when the same area holds at least one oxidizer and at least one flammable.

    Piece by piece

    COUNTIFS(…, I5, Chemicals!$F$5:$F$204, "Oxidizer")>0
    An oxidizer is here.
    COUNTIFS(…, "Flammable")>0
    A flammable is here.
    AND(…)
    Both.

    With the sample data: H5 result OK

    How it is used: Feeds the product status as "Incompatible storage".

    How to change it: Add more pairs (acid with base, for example) with the same pattern.

    Learn this: How to Use AND and OR in Excel →
    Unique location listHazard Matrix!A5 · copied down to row 12
    =IFERROR(INDEX(Locations!$A$5:$A$24,
             MATCH(0, INDEX(COUNTIF($A$4:A4, Locations!$A$5:$A$24)+(Locations!$A$5:$A$24=""), 0), 0)),
             "")

    Pulls each location from the Locations tab once, in order.

    Piece by piece

    COUNTIF($A$4:A4, Locations!$A$5:$A$24)
    Locations already listed above (expanding range).
    +(Locations!$A$5:$A$24="")
    Blanks count as listed so they are skipped.
    MATCH(0, INDEX(…, 0), 0)
    First location not yet listed.
    INDEX(Locations!$A$5:$A$24, …)
    Its name.

    With the sample data: A5 result Lab 101

    How it is used: Columns B–I then SUMIFS the quantity by location and hazard class.

    How to change it: Nothing to change.

    Learn this: How to Use INDEX and MATCH in Excel →

    Tips and limits

    • Capacity: 200 product rows and 20 storage areas.
    • Primary hazard drives the totals. Methanol, for example, is both flammable and toxic; if you file it as Acute toxicity, it is not counted in the flammable total, so pick the hazard that matters for storage limits.
    • Limits on the Locations tab are yours to set; typical flammable cabinets are rated for 60 or 120 gallons, but allowable quantities per area depend on the fire code and building.
    • OSHA requires an SDS for each hazardous chemical and access for workers; it does not set an expiry for SDSs. The review cycle here is a good-practice check that you have the latest version.
    • This log supports, and does not replace, your Hazard Communication program, the SDS itself and EHS advice.

    Learn the skills behind this template

    Was this guide helpful? Spot a mistake? Send feedback · admin@arumsoft.com