Fire safety compliance fails quietly. A fire door that missed its last inspection, a certificate that lapsed four weeks ago, an extinguisher 149 days past its refill date – none of them announce themselves until an insurer, a regulator or an incident finds them for you. The fire safety audit management system described here is a Google Apps Script web app that keeps all of it in one register: 22 screens, 6 roles, 21 database tables and 12,606 seeded rows covering 26 clients, 46 sites, 1,677 fire protection assets, 271 scored audits, 1,193 non-conformances, 255 certificates and 274 invoices. Everything below comes from the deployed build, which you can sign into yourself before reading another word.

Try the Live Demo – No Download, No Sign-Up
This is the real deployed system with all 12,606 seeded rows in place. Sign in as the most restricted role first and watch the sidebar shrink – the permission map is the product.
Demo Sign-In Details – Every Role
| Role | Username | Password | What this role can reach |
|---|---|---|---|
| Administrator | admin | Admin@2025 | All 22 screens, users, lists, settings and the database archive |
| Compliance Manager | compliance | Comply@2025 | 21 screens – clients through reports and the audit log; views settings but cannot change them |
| Lead Auditor | dprane | Audit@2025 | 16 screens – conducts audits, raises and closes findings, issues certificates |
| Lead Auditor | psathe | Audit@2025 | Second auditor account, same permission set |
| Safety Technician | isheikh | Tech@2025 | 13 screens – assets, equipment servicing and drills, read-only elsewhere |
| Accounts | nbansal | Money@2025 | 10 screens – invoicing, receipts, clients and reports |
| Client Liaison | aprakash | Liaise@2025 | Read-only across every client-facing screen |
These credentials are public by design. They are the seeded logins of a shared demo instance that resets – not a customer deployment. Your own copy gets its own Google Sheet database, its own accounts and its own passwords.
Key Features of the Fire & Safety Audit Management System
Weighted scoring that ignores what does not apply
The single rule behind every audit is Score = passed weight / applicable weight. Weight 10 is reserved for critical life safety clauses – escape routes, detection health, extinguisher currency, pump operation, flammable storage and the fire NOC. Weight 8 covers major clauses such as travel distance, sounder audibility, signage sightlines, thermographic survey and drill currency. Weight 5 is standard (call point height, refuge areas, warden lists) and weight 3 is housekeeping and record keeping. Any item marked Not Applicable is removed from both sides of the fraction, so a warehouse with no fixed suppression is not scored against a section it never had. Grades land at A 90%+, B 80%+, C 70%+, D 60%+ and E below.
Site risk that is derived, never typed
Each site carries a risk score assembled from eight weighted contributors: an open critical finding adds 25 points, a major 10, a minor 3, an asset overdue for service 6, an expired certificate 20, a certificate expiring soon 8, an audit past its due date 15, and a latest score below 70% adds 0.6 per point below that line. The bands are Low under 20, Medium 20-49, High 50-89 and Critical 90+. In the seeded data, Statewide Cooperative Bank – North Wing sits at Critical 122 with one open critical finding, eight other open findings, two overdue assets and one expired certificate – and the system explains that number in the “Why” column rather than leaving you to reconstruct it.
A 1,677-asset register with its own clock
Every extinguisher, hose reel, sprinkler zone, detector, emergency light, fire door, alarm panel, pump and hydrant is on the register with a make, model, rating, location and service interval. Last service date plus interval gives the next due date; past that the asset is Overdue, and inside the due-soon window it is Due Soon. The seed shows 1,418 in service, 141 due soon, 78 overdue and 40 faulty or condemned across 13 categories – 448 fire extinguishers, 211 smoke detectors, 181 emergency lights, 149 exit signs, 120 fire doors, 106 hose reels, 106 fire pumps and down from there.
Non-conformances with real ageing
1,193 findings have been raised in the seeded history, 1,066 of them closed or verified – an 89.4% closure rate. The 127 still open break down as 20 critical, 47 major, 52 minor and 8 observations, with 53 past their target date and an estimated Rs 3,021,400 cost to close. The ageing buckets (0-7 days 64, 8-30 days 11, 31-60 days 22, 61-90 days 13, over 90 days 17) are the number that actually matters in a client review: it is not how many findings you have, it is how long the old ones have been sitting.
Certificates, drills, incidents and training in the same system
255 certificates across five types (Fire Warden Training, NOC Renewal, Equipment Servicing, Fire Safety Compliance, Evacuation Drill) with status derived from the expiry date and your alert window – 210 valid, 28 expiring within 45 days, 17 expired. 134 evacuation drills where evacuation time is computed from the alarm and last-out times rather than typed, averaging 8.8 minutes at 79.7% turnout with 61 rated below satisfactory. 60 incidents including 11 actual fires, 10 injuries and Rs 6,934,300 of reported damage. And 116 fire warden training sessions covering 1,241 people, of whom 1,140 passed, with certificates that lapse two years after the session.
Every Screen, Explained
Dashboard
Ten KPI cards across two rows: average compliance 81.8% (the latest audit of each of the 46 sites), 127 open non-conformances, 78 assets overdue, 28 certificates expiring, 14 audits this month, Rs 10,301,754 billed to date, Rs 9,217,456 received, Rs 1,084,298 outstanding, Rs 449,108 billed this month and 12 drills in the last 90 days. Below them sit the twelve-month average compliance trend (Sep 25 to Sep 26), latest grade per site as a doughnut (A 3, B 25, C 18, D 0, E 0), derived site risk (Low 7, Medium 22, High 13, Critical 4), open findings by severity, finding ageing, a ranked highest-risk-sites table and an overdue corrective actions table with the days-late count in red.
Clients and Sites & Premises
The client register holds 26 accounts with contact, city, account manager, site count, audit count, open findings, last audit, contract end date, billed total, balance and status. The site register holds 46 buildings sorted highest risk first, each with occupancy class, floor count, area in square metres, occupant load, last audit score with a coloured bar and letter grade, open findings, asset count, derived risk, next audit due and a days-late badge when it has slipped. A Rebuild risk button recomputes every rating on demand.
Assets & Equipment and Equipment Servicing
The asset register is ordered by next service due date so the work queue is the default view, with an “Assets by category” bar chart beside it. Equipment Servicing holds 900 services, tests and refills – 774 first-time passes, 55 failures where the unit was withdrawn or repaired – broken down by type: 302 routine services, 142 functional tests, 137 replacements, 96 repairs, 88 pressure tests, 68 refills and 67 hydro tests, totalling Rs 1,988,830 of servicing spend.
Checklist Templates and Audits & Inspections
Four active templates cover every occupancy class: General Business & Mercantile (29 items, 17 critical, total weight 237), Industrial/Storage/High Hazard (33 items, 18 critical, 263), Assembly/Institutional/Educational (29 items, 17 critical, 229) and Residential High-Rise (24 items, 16 critical, 203). Each is versioned with an effective-from date and shows how many audits used it. The items themselves carry a clause reference and a weight, grouped into nine sections – Means of Escape 36, Detection & Alarm 33, Portable Extinguishers 31, Housekeeping & Storage 26, Electrical Safety 26, Documentation & Training 26, Emergency Lighting 21, Fixed Suppression 20 and Signage 18. The audit register then holds 271 audits (229 completed, 30 scheduled, 12 in progress) at an average 77.9% and Rs 2,333,800 of job value.
Reports and Audit Log
Fifteen filterable reports, each printable and CSV-exportable, filtered by client, site, date range, severity and status: Site Compliance Summary, Audit Register, Certificate Expiry Schedule, Open Non-Conformances, Overdue Corrective Actions, Finding Ageing Analysis, Equipment Due & Overdue, Equipment Servicing History, Asset Register by Site, Evacuation Drill Performance, Incident Log Summary and Fire Warden Training Status among them. The audit log records every create, update, delete, approval and email with the user, their role, the table, the record and the channel – 195 rows in the seed, most commonly Verify Finding (66), Complete Audit (60), Receipt (35) and Sign In (26).
Users, Lists, Settings and Database Archive
Seven accounts across six roles, with the permission count shown per role – Administrator 42 permissions over 22 screens, Compliance Manager 36 over 21, Lead Auditor 26 over 16, Safety Technician 15 over 13, Accounts 13 over 10 and Client Liaison 12. Passwords are salted and hashed with SHA-256. Lists holds 179 values across 30 dropdown lists so you can re-point the system at a new market without touching code. Settings groups organisation details, compliance rules, money, email digests, print size (3-inch, 4-inch or A4), display and archive behaviour. The Database Archive copies the entire database to Drive, registers the copy, and only then removes eligible closed rows from the 10,502 transaction rows – master data and open transactions are never touched.
Fire Safety Audit Management System vs. Spreadsheets vs. Paid EHS SaaS – Feature Comparison
| This Web App | Google Sheets / Excel workbook | Paid EHS SaaS | |
|---|---|---|---|
| Cost | $39.99 one-off, source included | Free to $30 | $20-$60 per user per month |
| Platform | Google Apps Script web app on your own account | Spreadsheet file | Vendor-hosted cloud |
| Setup time | ~15 minutes plus one staged setup run | Minutes | Days to weeks, often paid onboarding |
| Real-time team collaboration | Yes – concurrent multi-user, 12-hour sessions | Yes, but everyone sees every row | Yes |
| Mobile access | Yes – responsive browser app, no app store | Clumsy on phones | Yes, native apps |
| Customisable fields | Yes – 179 list values plus full source | Yes | Only what the vendor exposes |
| Share with link | Yes – one /exec URL for the team | Yes | Login required |
| Year-1 cost at 5 users | $39.99 | $0-$30 | $1,200-$3,600 |
| Role-based server-side guards | Yes – one map guards UI and server | No – sheet protection only | Yes |
| Weighted scoring with N/A exclusion | Built in | Formula work you maintain | Usually on higher tiers |
| Derived site risk from live data | Yes – eight weighted contributors | No | Sometimes, as a paid module |
| You own the data and the code | Yes – one Sheet in your Drive | Yes | No |
Who Should Use This Template
- Independent fire safety consultancies running scheduled audits across a client portfolio and invoicing for the work.
- Facilities and estates teams with multi-site portfolios who need one asset register with service dates that chase themselves.
- Fire equipment servicing companies who want servicing history, dockets and certificates alongside the audit findings.
- Compliance managers in hospitality, healthcare, education and manufacturing who have to show an insurer or regulator evidence, not assertions.
- Anyone currently running this on four spreadsheets – an asset list, an audit tracker, a certificate calendar and an invoice book that do not talk to each other.
Real-World Use Cases
Monday morning at a 14-person consultancy
The compliance manager opens the dashboard, reads “127 open non-conformances, 53 past target date”, and works the Overdue Corrective Actions panel top-down. FN-0382 at Lifeline Multispeciality Hospital – Head Office is critical and 122 days late; FN-1087 at Prestige Auto Distributors – Unit 2 is major and 111 days late. She emails each action owner from the findings row, extends the targets she genuinely cannot hit, and exports Open Non-Conformances to CSV for the client review.
A lead auditor on site
The auditor opens the audit sheet on a phone in the lobby. The Industrial, Storage & High Hazard template loads its 33 items grouped by section. Sprinkler zone items are marked Not Applicable because the building has none, and the score is not penalised. Two escape-route failures become findings with owners and target dates before he leaves – and the site’s derived risk rating moves before he reaches the car park.
Month end in Accounts
Filtering Invoicing to overdue returns 24 invoices worth Rs 763,394. Each links back to the audit that produced it, so a query about SFS/2026/1212 can be answered with audit AD-0212, its score, its findings and the day rate behind the Rs 51,566 total. Recording the receipt moves the balance and updates the dashboard’s 89.5% collected figure.
Advantages of the Fire & Safety Audit Management System
- One payment, no seats. $39.99 buys the source. There is no per-user fee and no renewal, which is the whole reason a five-person consultancy can justify a system at all.
- Your data stays yours. The setup routine creates one Google Sheet in your own Drive. The web app runs as you, so the Sheet stays private and your team reaches it only through the screens their role allows.
- Populated from minute one. 12,606 seeded rows across 21 tables mean every chart, register and report has something in it while you learn the system – and the seed is dated relative to the day you run setup, so nothing looks stale.
- Derived numbers, not typed ones. Compliance scores, site risk ratings, asset due dates, certificate statuses and evacuation times are all computed. There is no field where somebody’s optimism can quietly become the record.
- Permissions that actually hold. The same map drives the sidebar and every server-side guard, so hiding a screen genuinely blocks the function behind it.
- Resumable setup. Apps Script caps execution at six minutes. Setup is staged: if it stops, it queues a continuation trigger and finishes by itself in about a minute, and
setupStatus()tells you where it got to.
Opportunities for Improvement
Five things worth knowing before you deploy, all observed in the shipped build:
- The seeded checklist items cite Indian codes. The 115 items reference NBC Part 4 and IS 2189 clauses, and the money is seeded in Rupees. Currency symbol, tax percent and every dropdown are settings you change in minutes; the clause references are text on the items, so re-pointing them to NFPA 10/25/72, BS 5839 or your local code is an afternoon of editing.
- Some seeded narrative text repeats. Drill observations are drawn from a small phrase pool – “Roll call incomplete and several occupants used the lift lobby as a route” appears on DR-0012, DR-0001 and DR-0075 – and incident descriptions follow the pattern “Reported at the [location] and investigated the same day.” The numbers are varied and internally consistent; the free-text commentary is templated. It is demo data, and you will replace it.
- An expired contract does not deactivate a client. Northgate Business Park’s contract ended 2025-09-03 and the register flags it with a red “expired” badge, but the client status stays Active until somebody changes it. The flag is there; the automation is not.
- The archive register starts empty by design. “Archives created 0” is correct on a fresh install – there is nothing to archive until you have a couple of years of closed transactions. Do not read it as a broken feature.
- Authentication is username and password. Salted SHA-256 hashes and 12-hour sessions, with no SSO or two-factor option. Appropriate for a small team, not an enterprise identity requirement.
Best Practices
- Change every seeded password on day one. They are publicly documented in the manual. An administrator can reset anyone from the Users screen; the key icon in the top bar changes your own.
- Set your compliance rules before your first real audit – audit frequency, re-inspection threshold and interval, certificate alert window, equipment due-soon window, default corrective action target and grade bands. Changing them later re-bands historical work.
- Use Not Applicable properly. It is the difference between a fair score and a punitive one. Marking an absent system as a failure drags the site into a risk band it does not deserve.
- Remember that edits need a new version. Editing Code.gs or Index does not change what your users see. Deploy > Manage deployments > pencil icon > Version: New version > Deploy. This trips up almost everyone once.
- Record servicing through the service action, not by editing the asset. That is what rolls the next due date forward and refreshes the status; editing the asset directly leaves it showing Overdue.
- Take a dated backup before any bulk import – the Backup now button on Settings, or
backupDatabase_('manual')from the editor. - Run Recompute scores after changing weights, and Rebuild risk after a batch of finding closures, so the dashboard reflects the work you just did.
Explore Relevant Templates
- Fire & Safety Audit Management System Web App – the system described in this article.
- Alarm Monitoring Service Management System Web App – the detection and monitoring side of life safety.
- Auditing Firm Management System Web App – the same engagement shape for financial audit practices.
- Incident Tracker and Report Web App – a lighter standalone incident register.
- Workplace Safety KPI Dashboard in Google Sheets – a board-level scorecard to sit above the system.
- Public Safety Dashboard in Google Sheets – response and coverage analytics for public sector teams.
- Fire Safety Equipment Checklist in Excel – the $3.99 paper replacement if a full system is more than you need.
Related reading on this site: Office Safety Inspection Tracker in Google Sheets, Office Fire Drill Log Tracker in Google Sheets, Fire Safety Equipment Checklist in Google Sheets, Warehouse Safety KPI Dashboard in Google Sheets and Office Emergency Preparedness Dashboard in Google Sheets.
Frequently Asked Questions
Can I try the fire safety audit management system before buying?
Yes – the live demo above is the real deployed build with all 12,606 seeded rows, and every one of the six roles has a published login. Sign in as the Client Liaison for the read-only view, then as the Administrator for all 22 screens. Nothing is held back behind the purchase.
Where does the data live?
In a single Google Sheet created inside your own Google Drive by the setup routine. The web app is deployed to execute as you, so the spreadsheet stays private and your team only ever reaches it through the app. Use showDatabaseUrl() from the editor to find it.
Do I need to know Google Apps Script?
No. Create a project, paste two files, deploy as a web app, authorise, press setup. The included manual walks through each step. You will want Apps Script only if you decide to change the code – which you can, because the download includes all of it. See the official Google Apps Script web app documentation for background on how deployment works.
How long does first-run setup take?
A few minutes. It builds the Sheet database, creates all 21 tables and seeds 12,606 rows in stages. If it hits Apps Script’s six-minute execution limit it queues a continuation trigger and resumes by itself in about a minute; setupStatus() reports which stage it reached and the row count of every table.
What if I lock myself out of the admin account?
Run resetAdminPassword('NewPassword') from the Apps Script editor with a password of at least six characters. Passwords are stored only as salted SHA-256 hashes, so they can be reset but never recovered.
Can I use it outside India?
Yes. The currency symbol, tax percentage, invoice prefix, day rate and all 179 dropdown values are configuration. The one genuine piece of work is re-referencing the 115 seeded checklist items from NBC Part 4 / IS 2189 to your own code – and most consultancies re-author checklist wording anyway.
How many concurrent users does it support?
There is no seat limit in the software. The practical ceiling is Google Apps Script’s own quotas rather than the app: a team of ten to twenty will not notice one. Sessions last 12 hours and the seed ships seven accounts across six roles.
About the Author
Built by PK – Microsoft Certified Professional with 15+ years of Excel, Google Sheets, and Power BI experience. Founder of NextGenTemplates, reaching 300K+ subscribers across YouTube channels. Every template is hand-built and tested before release.
Conclusion
Fire safety compliance is a records problem before it is a safety problem: the failure is almost never that nobody knew what to check, it is that the certificate expiry, the overdue service and the 122-day-old critical finding were sitting in three different places. A fire safety audit management system that derives its scores, its risk ratings and its due dates from one register removes the gap where things get lost. This one does it in 22 screens across six roles for a single payment, with the source code and the Google Sheet database in your own hands. Open the live demo, sign in as any of the six roles, and judge it against the way you already work – then get the full system on NextGenTemplates.
For walkthroughs of this and other Google Apps Script business systems, subscribe to NeoTech Navigators on YouTube.


