🚀

InfoSmashers
Client Management

Internal Operations Guide

v4.0 Internal Use Only
🔒 This page is for InfoSmashers internal use only. Keep this URL private.
What Every Client Needs
2
Files Per Client
10
Min to Onboard
📦 The 2 Files Per Client
FileWhereYou Change
Code.gsGoogle Apps ScriptSPREADSHEET_ID only
index.htmlHostinger folderGAS_URL + APP_PASSWORD
✓ Business name, PDF branding, investor narrative — all automatic from the Sheet title. No other changes needed.
🗂 Your Google Drive Structure
📁 InfoSmashers Clients/
  📁 Euphoric Glam/
    📄 GAS Link.txt ← script.google.com URL
    📄 Sheet Link.txt ← Google Sheet URL
    📄 Client Info.txt ← password, plan, renewal
  📁 TechEdge Academy/
    📄 GAS Link.txt
    📄 Sheet Link.txt
    📄 Client Info.txt
🌐 Hostinger Folder Structure
public_html/
  euphoric-glam/
    index.html ← yourdomain.com/euphoric-glam
  techedge/
    index.html ← yourdomain.com/techedge
  guide/
    index.html ← yourdomain.com/guide
  crm/
    index.html ← this file (internal)
⚡ Full onboarding takes under 10 minutes once you have done it twice.
Step by Step Process
1

Client pays → Create their Drive folder

Inside "InfoSmashers Clients" → New Folder → name it the client's business name.

2

Create their Google Sheet

Create a new Google Sheet → name it exactly as the business name (e.g. "Euphoric Glam"). This name auto-appears everywhere on the dashboard. Copy the Sheet ID from the URL.

docs.google.com/spreadsheets/d/COPY_THIS/edit
3

Duplicate your GAS project

  • Go to script.google.com
  • Open your Master Engine project
  • File → Make a Copy
  • Rename: "InfoSmashers — ClientName"
  • Paste their SPREADSHEET_ID at line 4
  • Save with Ctrl+S
4

Run initializeSheets()

In GAS editor → select initializeSheets from dropdown → click ▶ Run. This creates 6 tabs: Sales, Inventory, Expenses, Customers, Funding, Recipes.

5

Add products to Recipes tab

Open their Sheet → Recipes tab → Column A = product names, one per row. These auto-populate the Sales dropdown.

6

Add users to Users tab

Users tab columns: Email | Password | Name | Role | Status

Roles: Admin Editor Viewer   Status: Active

7

Deploy GAS as Web App → Copy /exec URL

  • Deploy → New Deployment → Web App
  • Execute as: Me
  • Who has access: Anyone
  • Copy the /exec URL
8

Edit index.html — 2 lines only

const GAS_URL = 'paste /exec URL here';
const APP_PASSWORD = 'master_backup_pass';

Open in Notepad or VS Code. Change both values. Save.

9

Upload to Hostinger

hPanel → File Manager → public_html → New Folder (clientname) → upload index.html inside it.

10

Save links + send client their credentials

Save GAS link + Sheet link in their Drive folder. Send client their URL and their login email + password.

Quick Checklist (Tick As You Go)
  • Drive folder created for client
  • Google Sheet created + named correctly
  • GAS project duplicated + SPREADSHEET_ID updated
  • initializeSheets() run successfully
  • Products added to Recipes tab
  • Users added to Users tab
  • GAS deployed + /exec URL copied
  • index.html updated with GAS_URL
  • Hostinger folder created + index.html uploaded
  • Login tested — business name appears on login screen
  • Links saved in Drive folder
  • Credentials sent to client
Per-Client Variables (What Changes)
VariableFileLocation
SPREADSHEET_IDCode.gsLine 4
GAS_URLindex.htmlIn <script> section
APP_PASSWORDindex.htmlIn <script> section
ProductsGoogle SheetRecipes tab → Column A
Users & RolesGoogle SheetUsers tab
Business NameGoogle SheetSheet title (auto)
Sheet Tabs Reference
TabPurposeKey Columns
SalesAll transactions20 columns — auto-filled by dashboard
ExpensesAll costsDate, Category, Amount, IsMarketing
InventoryRaw materialsMaterialName, CurrentStock, ReorderLevel
CustomersCRM — auto-updated on each saleEmail, Phone, TotalOrders, TotalSpend
FundingInvestment roundsAmount, EquityPercent, Valuation
RecipesProduct dropdown sourceColumn A = ProductName
UsersLogin systemEmail, Password, Name, Role, Status
Re-deploy Reminder
⚠ Every Code.gs Change Needs a New Deploy

Deploy → Manage Deployments → Edit ✏ → Version: New version → Deploy.
The /exec URL stays the same. You do NOT need to update index.html.

3 Access Levels
👑 Admin

Full access to everything.

✓ Dashboard ✓ Sales ✓ Inventory ✓ Expenses ✓ Funding ✓ Reports ✓ Valuation ✓ Investor KPIs ✓ Customers

✏ Editor

Day-to-day operations. Cannot see financial/investment pages.

✓ Dashboard ✓ Sales ✓ Inventory ✓ Expenses ✓ Customers ✓ Reports
✗ Funding   ✗ Valuation   ✗ Investor KPIs

👁 Viewer

Read-only overview. For investors, advisors, silent partners.

✓ Dashboard ✓ Reports
✗ Everything else — no forms, no data entry

Users Tab Format
EmailPasswordNameRoleStatus
owner@biz.comAdmin123Owner NameAdminActive
staff@biz.comStaff456Staff NameEditorActive
investor@vc.comView789InvestorViewerActive
⚠ To suspend a user without deleting them, change their Status from Active to Inactive. They will see "Account inactive" on login.
💡 Users have no access to the Google Sheet unless you separately share the Sheet with them. Dashboard login and Sheet access are completely independent.
📌 Keep your master subscription tracker as a separate Google Sheet — not inside any client's Sheet.
Master Subscription Tracker (Your Sheet)
ClientURLPlanFeeStartRenewalStatus
Euphoric Glam.../euphoric-glamBasic5,000Apr 26May 26Active
TechEdge.../techedgePro8,000Apr 26May 26Active
XYZ Corp.../xyzBasic5,000Mar 26Apr 26Expired
Suggested Plans
B

Basic — PKR 5,000/mo

  • Dashboard + Sales + Expenses + Inventory
  • Up to 3 users (Admin + 2 Editor)
  • Monthly PDF reports
P

Pro — PKR 8,000/mo

  • Everything in Basic
  • Investor KPIs + Valuation + Funding
  • Up to 10 users (all roles)
  • Priority support
E

Enterprise — Custom

  • Multiple departments / branches
  • Custom KPIs on request
  • Unlimited users
  • Dedicated support
Renewal Reminder System
🔔 Google Sheets Conditional Formatting Tip

In your master tracker Sheet, select the Renewal Date column → Format → Conditional Formatting → Custom formula:

=AND(F2<>"",F2-TODAY()<=7)

Set fill color to red. Any renewal within 7 days turns red automatically — no manual checking needed.

⚠ Before offboarding, always confirm the client has exported their data from Google Sheets if they want to keep it.
If Client Stops Paying
1

Delete their Hostinger folder

hPanel → File Manager → public_html → delete their folder (e.g. /euphoric-glam/). Their URL stops working instantly.

2

Revoke Sheet access

Open their Google Sheet → Share → remove their email from editor access. Their data remains in the Sheet safely.

3

Archive GAS project

In script.google.com → open their GAS copy → you can leave it (it uses no quota when not called) or delete it if you prefer clean records.

4

Update your master tracker

Change their Status to Expired in your subscription Sheet. Archive their Drive folder.

✅ What Happens to Client Data

Their Google Sheet stays intact — it is their Google account, their data. You never held their data. Only the dashboard URL goes offline. This protects you legally and builds client trust.

If Client Wants to Reactivate
♻ Reactivation (2 Minutes)
1

Re-upload index.html to their Hostinger folder

The GAS URL and Sheet are still intact — nothing changed on the backend.

2

Update subscription tracker to Active

Done. Client is back online in under 2 minutes.