Magento for janitorial and cleaning supplies: EPA numbers, SDS sheets, case packs and freight
I build Magento for janitorial and cleaning supplies sellers, and the tricky part sits in the product data. A disinfectant has an EPA registration number and a label you are not allowed to add claims to. Concentrates need safety data sheets, and some of them cannot ship by air. A facility buyer wants the case price, the unit price and an invoice at month end. None of it is exotic, but it has to be planned before the catalog import rather than patched in after launch.
- EPA registration number, contact time and label organisms stored per disinfectant
- SDS and spec sheet PDFs a buyer can open from the product or the order email
- Each, box and case pricing using quantity increments and tier prices
Why cleaning supplies are harder to sell online than they look
A mop bucket is easy to list. The chemicals, the paperwork and the way facility buyers order are where most of the setup time goes.
-
EPA reg. no. A disinfectant is a pesticide in US law
Disinfectants and surface sanitizers are registered with the EPA, carry a registration number and may only claim what the approved label says. If a product page promises to kill something the label does not list, that is a problem for whoever sells it as well as for the brand. So the label, not the marketing sheet, is where the product copy comes from.
-
SDS Paperwork travels with the chemical
Under OSHA’s Hazard Communication Standard a safety data sheet has to reach the buyer with the first shipment of a hazardous chemical, and again after it is revised. Facility managers also keep them on file for their own cleaning staff. Magento Open Source has nowhere to attach a PDF to a product, so this is always a decision to make early.
-
Each / case One item, three ways to buy it
A school buys can liners by the case, a small office wants one roll of them, and a cleaning contractor asks for a pallet price. It is the same item in different units, and buyers compare the price per unit. When the unit is unclear you get wrong orders and emails asking what a quantity of one actually means.
-
Ground only Some products cannot fly
Plenty of concentrates, acids and aerosols are hazardous materials in transport. They usually go by ground, often as Limited Quantity, and not on air services. Paper towels and liners are the opposite problem: light but bulky, so dimensional weight sets the price. One flat shipping rate gets both wrong.
Six parts of a cleaning supply store I spend the most time on
Some of these are settings you only have to switch on. Others need an extension or code from me. I mark which is which, so nothing here turns into a surprise invoice later.
-
Disinfectant data taken from the label
I add attributes for the EPA registration number, contact time and dilution rate, plus a multi-select for the organisms the label lists. Those become filters, so an infection control buyer can find products on the EPA’s List K for C. difficile without opening every page. The values are entered from the label or your supplier feed, and the product description does not add claims the label leaves out.
-
SDS and spec sheets where buyers look
Because Open Source has no product attachments, I either install an attachments extension or write a small module that keeps one PDF per product and per language. The SDS link appears on the product page, in the order confirmation email and next to the order in the customer account. When a manufacturer sends a new revision, you swap one file and every page and email uses it from then on.
-
Each, box and case pricing
For most cleaning supplies I set up the case and the single unit as separate simple products and add a price-per-unit line, so the cheaper option is obvious. Where an item ships only in full cases, the quantity increments setting stops an order for 7 of a case-of-6 product. Tier prices cover breaks like 10 cases or more, and they can be different for each customer group.
-
Hazmat and freight rules per product
Each chemical gets attributes for its UN number, hazard class and whether it ships as Limited Quantity. Out of the box, Open Source has no way to switch off a shipping method for particular products, so I use a rules extension such as ShipperHQ, or a short plugin, to drop air services when a regulated item is in the cart. Big orders of paper and liners move to a pallet rate or a freight quote instead of parcel.
-
Green certifications as filters
Schools, offices and public buyers often ask for certified products. Green Seal, UL ECOLOGO and EPA Safer Choice go into one multi-select attribute, shown as a filter on category pages and as a small badge on the product. I store the certification listing with it, because the buyer writing a sustainability report will be asked for proof, not a logo.
-
Accounts for facilities and contract cleaners
Schools, clinics and cleaning contractors are split into separate customer groups, so each one sees its own price list. Tax-exempt buyers are assigned a tax class that is never charged sales tax, once you hold their certificate. The built-in Purchase Order method covers buyers who pay on invoice, and the Reorder button repeats last month’s order in one click. Adobe Commerce adds requisition lists, quick order and approval rules; scheduled auto-ship needs a subscription extension on Open Source.
Your quote
Get a fixed quote for your project
Send your store URL and describe what you want to change. We can review the requirements and agree a written scope, quote and timeline before work starts.
- Free first call
- Written scope, price and timeline
- You approve every change
Five steps from audit to optimised distributor store
Audit → plan → build → deploy → stabilise. Tuned for jan/san’s compliance cadence: every EPA registration and SDS is cross-checked, every hazmat-class SKU is freight-validated, every B2B account migration preserves credit limits. Optional ongoing retainer for continuous catalog growth.
-
01
Audit
EPA registration audit per chemical SKU (List N/K/M/G/H/L), SDS coverage per SKU, freight-class + UN number + packaging-group data quality, B2B account segmentation (hospital / school / hotel / office / restaurant / jan-san service co), current ABM/Aramark/Cintas competitive overlap, subscription opportunity scan. 1 week.
Compliance + gap map -
02
Plan
EPA kill-claim schema, customer-segment pricing tiers (GPO contracts, state bids, hospitality), LTL carrier mix + hazmat routing rules, subscription cadence catalog (daily / weekly / monthly), vending integration scope (CribMaster / AutoCrib / SupplyPro), Net-30 financing partner (Apruve / Resolve / TreviPay). Written spec + Gantt.
Locked scope -
03
Build
EPA + SDS attribute model + kill-claim filter + LTL freight ruleset + customer-segment B2B catalogs + subscription engine + vending API + cert-flag faceting + multi-buyer role workflows + Hyvä storefront. 6-14 weeks depending on vending scope and number of B2B segments. Test fixtures for 50,000+ SKUs with full hazmat data.
Build + UAT -
04
Deploy
EPA data migration QA (every registration number cross-checked against epa.gov), SDS PDFs uploaded + checksum-verified, freight-class data validated against carrier APIs, B2B account migration with credit-limit + AP-contact preserved, parallel-run with legacy ERP for 30 days, hazmat shipping smoke test with 1 real drum shipment. Go-live checklist + war room.
Live + verified -
05
Stabilise
Monitor subscription churn, vending dispense logs, LTL freight cost variance, EPA-attribute coverage as new SKUs onboard, GPO contract compliance per order. Quarterly EPA + Green Seal cert re-audit (registrations expire). Optional ongoing retainer, quoted on request, for continuous catalog growth + new B2B account onboarding.
Optimised + iterating
Free extensions that fit a cleaning supplies store
Open source under MIT. Hyvä and Luma, Magento 2.4.4 to 2.4.9.
-
Lets buyers attach files to an order, such as a PO or artwork.Order File Attachments for Magento 2
Free -
Downloadable files on the product page: manuals, data sheets, certificates.Product Attachments for Magento 2
Free -
Low stock warnings and back in stock emails.Low Stock & Back-in-Stock Alerts for Magento 2
Free -
Extra options on a product, such as size, engraving or a custom text.Custom Product Options for Magento 2 (Hyva + Luma)
Free
Feedback from clients on Upwork
Public reviews on Upwork. Same person, same written quotes, same playbook for every distributor.
Magento work and feedback View Upwork profile
-
Sports footwear and hockey shop, Netherlands -
Photo printing supplies wholesaler, Netherlands -
Educational toys and books shop
-
Kishan has done an excellent job in a timely manner. He is very knowledgeable, has a very positive attitude, easy to communicate.
Z. K.Magento 2 client -
He is technically strong, approaches problems thoughtfully, and focuses on stable, long-term solutions.
E. H.Magento 2 client -
Kishan was a pleasure to work with! He is highly skilled, professional, and delivered outstanding results on time.
M.Magento 2 client
- Working with cleaning supply sellers in
- United States
- United Kingdom
- Canada
- Australia
- Germany
- France
- Netherlands
- India
Twelve questions jan/san distribution leaders actually ask
Book a free 30-min jan/san-Magento consultation
Tell me your SKU count, primary category mix (chemicals / paper / equipment / PPE), compliance focus (EPA / Green Seal / OSHA), and account types served. I’ll send a written platform-fit recommendation within 24 hours and include a 30-min calendar link if a call would help. No upsell.
Message me on WhatsApp
No form to fill. Send me a quick message. I reply during 10 AM to 7 PM IST, Monday to Saturday.
Helpful to mention
- Current platform
- Store URL
- Annual revenue (USD)
- SKU count
- B2B share of revenue
- Primary category mix
These are already in the message for you. Just add your answers.
Message me on WhatsAppOr save my number: +91 84012 70422