Run Your Entire Academy from One Powerful Dashboard — No Servers, No Monthly Fees
School and Academy is a production-ready, all-in-one Education Management Web App built entirely on Google Apps Script + Google Sheets. Designed for coaching centers, tuition academies, schools, and educational institutes of any size, it replaces 5–6 separate tools (student CRM, fee software, attendance app, exam manager, accounting software, communication tool) with one unified portal that runs free on your own Google account.
Unlike SaaS school ERPs that lock your data on their servers and charge per-student per-month, School runs 100% on YOUR Google Sheets — you own every byte of data, you can export it anytime, there are zero recurring fees, and it scales effortlessly from 50 to 5,000 students. The web app is fully responsive, works flawlessly on phones, tablets, and desktops, and can be deployed in under 10 minutes by anyone with a Google account.
Three role-based portals — one codebase
The application ships with three distinct dashboards that adapt automatically based on who logs in:
👨💼 Admin Portal — Total control: manage students, teachers, classes, fees, exams, accounts, expenses, reports, and notices
👨🏫 Teacher Portal — Mark daily attendance, conduct exams, enter marks, add progress reports, generate bulk admit cards & report cards
👨🎓 Student / Parent Portal — View attendance %, fee status with session history, exam results, downloadable report cards & admit cards, receive notices
Real Tally-style accounting — built in
Most school software fakes accounting with a basic "income vs expense" report. School ships with a proper double-entry-ready Tally Prime-compatible chart of accounts: 28 standard groups (Capital Account, Loans, Current Assets, Fixed Assets, Sundry Debtors, Direct/Indirect Incomes, Direct/Indirect Expenses, etc.) plus 40+ academy-specific pre-seeded ledgers (Tuition Fees, Admission Fees, Teacher Salary, Rent, Electricity, GST Payable…). Every fee receipt and expense voucher automatically posts to the correct ledger, generating a real-time Trial Balance and per-ledger statement of accounts with running balance — exactly like Tally Prime.
Session-aware fee management that finally works
Built on a unique Net Fees Maker that tracks fees per student PER session. When you promote a student to next class, a new fee structure is auto-created for the new session WITHOUT losing the old session's pending balance. The receipt form lets the admin collect dues for the current session OR any previous session — perfect for handling carry-forward balances that other ERPs simply cannot handle. Two-level discount support (setup discount + receipt-time concession), automatic over-collection guard, and beautiful A4 receipts with both Academy + Student copies on a single sheet.
Built for India, ready for the world
Currency formatted in Indian numbering (₹1,25,000)
Amount in words on every receipt (Crore / Lakh / Thousand)
Academic session format (2025-26, 2026-27)
GST & TDS ledgers pre-configured
WhatsApp click-to-chat integration for attendance, fee reminders, results
IST timezone baked in
Bilingual-friendly UI (works with English + any Devanagari content in fields)
Why Apps Script + Sheets is the perfect stack
✅ Zero hosting cost — runs on Google's infrastructure forever, free
✅ Your data, your spreadsheet — open it in Excel, query it with Power BI, back it up to Drive
✅ No vendor lock-in — the entire backend is two files you can read & modify
✅ No database setup — no MySQL, no MongoDB, no AWS bills
✅ Auto-scaled — Google handles the load
✅ HTTPS by default — Google's domain, Google's certificates
✅ Built-in backup — Google Drive version history
✅ Easy to extend — anyone who can write JavaScript can add features
What you get in the box
A complete, production-ready academy management system delivered as exactly two files — Code.gs (backend) and Index.html (single-file SPA frontend). Deployed in 5 minutes. Customized in minutes more. Owned by you forever.
- 🎓 Three role-based portals (Admin / Teacher / Student-Parent)
- 🔐 Session-token based secure login with auto-expiry (8 hours)
- 📱 Fully responsive — mobile, tablet & desktop
- 🎨 Modern dashboard UI with Bootstrap 5 + Font Awesome 6
- 📊 Live admin dashboard with 8 KPI cards & 3 interactive charts (Chart.js)
- 👥 Complete student CRUD with bulk filters and search
- 👨🏫 Complete teacher management with role assignments
- 👨💼 Multi-admin support with Super Admin / Admin / Staff roles
- 🏫 Class, Batch & Subject configuration (fully customizable)
- 📅 Daily attendance with Present / Absent / Leave statuses
- ✅ Bulk "Mark All Present" + per-row WhatsApp share button
- 📈 Class-wise, date-wise, student-wise attendance reports
- 📝 7 exam types: Unit / Monthly / Quarterly / Half Yearly / Pre Board / Annual / Final
- 🖊️ Spreadsheet-style marks entry grid (one row per student, columns per subject)
- 🎯 Auto-calculated total, percentage & grade (A+ to F)
- 📋 Bulk Report Card builder (select exam + multi-select students → generate A4 cards)
- 🆔 Bulk Admit Card builder (with embedded date sheet)
- 📅 Date Sheet uploader (paste tab-separated rows from Excel / Google Sheets)
- 💰 Net Fees Maker — session-wise fee structure grid
- 💵 Per-session fee tracking (Total / Setup Discount / Net / Receipt Discount / Adjusted / Deposited / Pending)
- 🔄 Session promotion with auto fee-structure creation
- 📜 Past-session fee collection (collect previous year dues with PAST DUE indicators)
- 🧾 A4 fee receipts — both copies (Academy + Student) on a single sheet
- 📄 Receipt amount in words (Indian Crore/Lakh/Thousand format)
- 🏷️ Two-level discount system (setup + receipt-time concession)
- ⚖️ Over-collection guard (per-session pending validation)
- 💳 4 payment modes: Cash / UPI / Bank Transfer / Cheque
- 📊 Tally Prime-style 28 standard account groups (auto-seeded)
- 📚 40+ pre-configured academy ledgers (Tuition Fees, Salary, Rent, GST, TDS…)
- 🧮 Tally-style voucher entry for Income & Expense
- 📑 Trial Balance with date filters, Opening / Debit / Credit / Closing Dr-Cr columns
- 📋 Per-ledger statement with running balance
- 💸 Expense tracking with categories
- 📈 Pending Balance Report Builder (4-bucket analysis: Not Paid / Severely Pending / Partial / Paid)
- 📤 Bulk WhatsApp Fee Reminders (one click → opens N tabs)
- 📨 Notice Board with audience targeting (Teachers / Students / Both)
- 🔔 Notice priority levels (Normal / Important / Urgent) with expiry dates
- 📅 Dashboard notice widget (all 3 roles see latest notices)
- 👨🎓 Student dashboard with profile, attendance %, fees, results, progress
- 📊 Per-session fee history for students (full audit trail)
- 📋 Student receipt history with PDF download
- 📝 Teacher progress reports (date, status, remarks)
- 📤 8 standard reports: Students / Teachers / Attendance / Fees / Exams / Income / Expense / Profit
- 💾 Excel (XLSX) + PDF export for every report
- 🖨️ Print-friendly @page A4 CSS for all documents
- 📲 WhatsApp click-to-chat for attendance, receipts, reminders, results
- 🎫 WhatsApp message log (every send recorded with timestamp)
- 🔧 Settings page (academy name, address, classes, batches, subjects, session)
- 🗄️ 17 auto-managed Google Sheets database tables
- 🛡️ Role-based access control (server-side enforced)
- 🚪 Logout button + auto-cleanup of expired sessions
- ⚡ Optimized backend (single-pass sheet reads, no N+1 queries)
- 🛟 Global error capture with friendly fallback panels
- 🔄 LocalStorage auto-resume (no re-login on tab refresh)
- 🌐 Bootstrap CDN + Font Awesome CDN + Chart.js CDN (no asset hosting needed)
- 📦 Just TWO files — Code.gs + Index.html — entire app
- 🆓 Zero recurring cost — runs on free Google account
- 🇮🇳 Indian academic system optimized (₹ formatting, sessions, GST, TDS)
- 🔓 100% source code included — no obfuscation, fully customizable
- 📄 Detailed deployment & customization documentation included
- 🎓 Default admin pre-seeded for instant testing (ADM001 / 9999999999)
- 📌 Requires a Google account (free Gmail works perfectly)
- 📌 Login uses Mobile Number as password — not encrypted (suitable for trusted internal use; replace with hashed password column for public deployment)
- 📌 WhatsApp integration is click-to-chat only (manual share, not auto-send — auto-send requires paid WhatsApp Business API)
- 📌 Google Apps Script free tier limits — 6 minutes per execution, ~20,000 URL fetches/day, 50 MB email attachments (sufficient for academies up to ~5,000 students)
- 📌 Photo uploads not included (photo box has been intentionally removed from cards; can be added with Drive integration)
- 📌 Single Google Sheet acts as the database (suitable for up to ~50,000 rows per sheet for fast performance)
- 📌 Web app banner ("This application was created by a Google Apps Script user") appears for free Gmail accounts — hidden automatically for Google Workspace accounts OR can be removed by embedding the app in an iframe on your own website
- 📌 No built-in SMS gateway (system is WhatsApp-first; SMS can be added via third-party APIs like Twilio with minor code changes)
- 📌 No multi-language UI out of the box (UI text is in English; data fields accept any language including Hindi / Devanagari)
- 📌 PDF generation happens client-side via html2pdf.js (depends on browser performance; bulk generation of 50+ PDFs may take 10–20 seconds)
- 📌 Real-time multi-user editing has Google Sheets' standard limits (concurrent writes are queued by Apps Script — typical academies will never hit this)
- 📌 Default deployment runs as the owner's Google account (all sheet operations execute as the deployer — suitable for trusted admins)
- 📌 No built-in payment gateway integration (cash/UPI/cheque tracking only; online payment integration with Razorpay/Stripe requires additional setup)
- 📌 Backups must be configured manually (Google Drive version history covers most use cases; for hourly snapshots use Drive API + Apps Script trigger)
- ✅ A free Google account (Gmail) — Workspace account recommended for white-labeling
- ✅ Modern web browser — Chrome, Edge, Firefox, Safari (latest 2 versions)
- ✅ Internet connection (the app runs in the browser, talks to Google Sheets via Apps Script)
- ✅ Ability to copy-paste code into the Apps Script editor (no programming required for installation)
- ✅ Optional but recommended: Custom domain to embed the web app for white-label branding
- ✅ Optional: WhatsApp installed on the admin/teacher devices (for click-to-chat parent communication)
- ✅ Mobile devices for parents to view the student portal (Android 7+ / iOS 12+ recommended)
- ✅ One-time installation time: 10 minutes
- ✅ No server hosting required
- ✅ No database installation required
- ✅ No SSL certificate required (Google provides HTTPS automatically)
- ✅ No domain registration required to start (Google provides the URL)
For Installation contact us on Whatsapp +91 9996390239
Step 1 — Create the Apps Script Project (2 minutes)
Go to https://script.google.com and sign in with the Google account that will own the academy data.
Click + New Project. A new untitled project opens.
Rename the project: click "Untitled project" at the top → enter Demo Academy → press Enter.
In the left sidebar, click the Code.gs file → delete all its default content → paste the contents of the supplied Code.gs file → press Ctrl+S (or Cmd+S on Mac) to save.
In the left sidebar, click the + next to "Files" → HTML → name it exactly Index (NO .html extension — Apps Script adds it automatically) → press Enter.
Delete the default Index.html content → paste the contents of the supplied Index.html file → Ctrl+S to save.
Step 2 — Initialize the Database (1 minute)
At the top of the editor, find the function dropdown (next to the "Debug" button) and choose setupDatabase.
Click the ▶ Run button.
A permissions popup appears → click Review permissions → choose your Google account → click Advanced → click Go to Demo Academy (unsafe) → click Allow.
Wait for "Execution completed" in the bottom log panel (~5 seconds).
The bound Google Spreadsheet is now auto-created with all 17 sheets (ADMINS, TEACHERS, STUDENTS, FEES, ATTENDANCE, EXAMS, MARKS, PROGRESS_REPORTS, RECEIPTS, ADMIT_CARDS, ACCOUNTS, EXPENSES, WHATSAPP_LOG, SETTINGS, SESSIONS, ACCOUNT_GROUPS, ACCOUNT_LEDGERS, DATESHEET, FEE_STRUCTURE, NOTICES) plus the default admin row and 28 Tally account groups with 40+ ledgers pre-seeded.
Step 3 — Deploy as Web App (2 minutes)
Click Deploy (top-right) → New deployment.
Click the ⚙ gear icon next to "Select type" → choose Web app.
Fill in:
Description: Demo Academy v1.0
Execute as: Me (your Google account)
Who has access: Anyone (or "Anyone with Google account" for tighter access)
Click Deploy.
Authorize again if prompted (Allow all permissions).
The dialog displays a Web app URL ending in /exec — for example: https://script.google.com/macros/s/AKfycby.../exec
Copy this URL — this is your live academy portal.
Step 4 — First Login (30 seconds)
Open the /exec URL in a new browser tab.
The login screen appears with three role tabs: Admin / Teacher / Student.
Default credentials:
Admin ID: ADM001
Mobile Number: 9999999999
Click Login. You're now in the Admin Dashboard.
Step 5 — Initial Configuration (5 minutes)
Go to Settings in the sidebar → change Academy Name, Phone, Email, Address, and adjust Classes / Batches / Subjects if needed → click Save.
Go to Admins → edit the default admin → change ID and mobile to your real credentials.
Go to Teachers → Add Teacher → fill teacher details (Teacher ID + Mobile become login credentials).
Go to Students → Add Student → register your first student (Reg No + Mobile become login credentials).
Go to Fee Maker (Net Fees) → pick current session tab → enter Total Fees and Discount for each student → Save All.
Done — your academy is live.
Step 6 — Share with Teachers & Students
Share the same /exec URL with everyone. They click the appropriate role tab (Teacher / Student) and log in with their own ID + Mobile.
Change Academy Branding — Edit Settings → Academy Name / Phone / Email / Address. Logo is the first letter of academy name styled with CSS gradient (edit .rcpt-logo and .bc-logo in Index.html to use an image URL).
Add a New Class or Subject — Edit Settings → Classes or Settings → Subjects (comma-separated).
Add a New Account Ledger — Go to Account Ledgers → New Ledger and select the parent group.
Change Receipt Layout — Edit the buildReceiptCopy() function in Index.html (~line 1687).
Change Report Card Design — Edit renderReportCardA4() in Index.html (~line 2240).
Change Login from Mobile to Real Password — In Code.gs login() function, replace String(user.Mobile) !== mobile with a hashed password comparison (e.g., use Utilities.computeDigest()).
Hide the Google Banner — Either upgrade to Google Workspace, or embed the /exec URL in an iframe on your own domain (set setXFrameOptionsMode(ALLOWALL) is already configured).
Update Workflow
Edit Code.gs or Index.html in the Apps Script editor → save.
Click Deploy → Manage deployments → ✏ pencil icon → Version: New version → Deploy.
The /exec URL stays the same; users get the new version on next refresh.
Backup Strategy
Manual: File → Make a copy of the spreadsheet.
Automatic: Google Drive keeps full version history for free — restore any past version via the spreadsheet's "Version history" menu.
Programmatic: Set up an Apps Script time-driven trigger that runs DriveApp.getFileById(ssId).makeCopy(...) daily.
Performance Tips
Keep the SESSIONS sheet trimmed (already auto-cleaned on every login).
For academies with 1000+ students, consider archiving the previous year's ATTENDANCE and MARKS to a separate spreadsheet annually.
Browser caching is enabled — users get fast page loads after first visit.
Common Tasks
Task Where
Add a new student Students → Add Student
Set fees for the year Fee Maker → pick session → enter fees → Save All
Collect fees Fees & Receipts → New Receipt → pick session → pay
Collect past-year dues New Receipt → pick the previous session card
Promote students Promote Students → select → set new class/session/fees → Promote
Take attendance Attendance → pick class & date → mark → Save
Create exam Exams → Create Exam → fill details
Enter marks Marks → pick exam → enter scores → Save All
Generate report cards Bulk Cards Builder → pick exam → select students → Generate
Upload exam schedule Date Sheet → pick exam → Add Subject OR Bulk Upload
Post a notice Notice Board → Post Notice → pick audience
Add an expense Expenses → Add Expense → pick ledger
View Trial Balance Trial Balance → set date range → Generate
Export to Excel Reports → pick type → Generate → Excel
Video demo is not available for this product.