This guide explains how to set up your Google Sheet so that company data auto-syncs to the Altstock web application every 5 minutes.
Your Google Sheet has 53 per-company tabs (PhonePe, Razorpay, etc.) with vertical Field/Value layout. To enable auto-sync:
1 In your Google Sheet, create a new tab named INDEX and move it to the first position.
Paste this structure:
| A | B | C | D | E | F |
|---|---|---|---|---|---|
| AltStock — Company Index | |||||
| # | Company | Ticker | Sector | Bid (₹) | Ask (₹) |
| 1 | PhonePe | PPE | FinTech | 1850 | 1920 |
| 2 | Razorpay | RZPY | FinTech | 825 | 870 |
| 3 | Zepto | ZEPT | Consumer | 515 | 548 |
| ... (all 53 companies) | |||||
For each company row, use these formulas to pull live data from the company's tab:
To make company names clickable (hyperlinks to their tab):
Or simply type the company name and right-click → Insert link → select the tab.
2 Create a new tab named MASTER_FEED. Row 1 = column headers. Row 2+ = one company per row.
| Col | Header | Formula (for PhonePe row) | Maps to |
|---|---|---|---|
| A | Name | =PhonePe!B6 | Company name |
| B | Ticker | =PhonePe!B7 | Ticker symbol |
| C | Initials | PP | Logo initials fallback |
| D | Sector | =PhonePe!B8 | Sector name |
| E | Funding Stage | =PhonePe!B9 | Series / round |
| F | Bid | =PhonePe!B10 | Bid price (₹) |
| G | Ask | =PhonePe!B11 | Ask price (₹) |
| H | Indicative Price | =PhonePe!B12 | Indicative/mid price |
| I | Premium | =PhonePe!B13 | Premium % |
| J | Valuation | =PhonePe!B14 | Valuation string |
| Col | Header | Formula | Maps to |
|---|---|---|---|
| K | Activity Score | =PhonePe!B15 | 0-100 score |
| L | Bids Count | =PhonePe!B16 | Number of bids |
| M | Asks Count | =PhonePe!B17 | Number of asks |
| N | Most Liquid | =PhonePe!B18 | "Yes" or blank |
| Col | Header | Formula | Maps to |
|---|---|---|---|
| O | Logo URL | =PhonePe!B19 | Logo image path |
| P | Icon URL | =PhonePe!B20 | Icon image path |
| Col | Header | Formula | Maps to |
|---|---|---|---|
| Q | Face Value | =PhonePe!B24 | Face value (₹) |
| R | ISIN | =PhonePe!B25 | ISIN code |
| S | Demat Availability | =PhonePe!B26 | CDSL/NSDL |
| T | Market Cap | =PhonePe!B27 | Market cap (₹ Cr) |
| U | Shares Outstanding | =PhonePe!B28 | Total shares |
| V | Lot Size | =PhonePe!B29 | Min lot qty |
| W | Min Investment | =PhonePe!B30 | Min ₹ amount |
| Col | Header | Formula | Maps to |
|---|---|---|---|
| X | CIN | =PhonePe!B42 | CIN number |
| Y | Registered Address | =PhonePe!B43 | Reg. address |
| Z | PAN | =PhonePe!B44 | PAN number |
| AA | RTA | =PhonePe!B45 | Registrar & Transfer Agent |
| AB | Statutory Auditor | =PhonePe!B46 | Auditor name |
| AC | Incorporation Year | =PhonePe!B47 | Year founded |
| AD | Headquarters | =PhonePe!B48 | HQ city |
| AE | Website | =PhonePe!B49 | Company URL |
| AF | Employees | =PhonePe!B50 | Employee count |
| Col | Header | Formula | Maps to |
|---|---|---|---|
| AG | Description | Paste or reference company description cell | Company overview |
| Col | Header | Formula | Maps to |
|---|---|---|---|
| AH | Promoters Holding | =PhonePe!B54 | Promoter % |
| AI | PE VC Investors Holding | =PhonePe!B55 | PE/VC % |
| AJ | ESOP Pool Holding | =PhonePe!B56 | ESOP % |
| AK | Public Others Holding | =PhonePe!B57 | Public % |
| Col | Header | Formula |
|---|---|---|
| AL | Thesis 1 | =PhonePe!B63 |
| AM | Thesis 2 | =PhonePe!B64 |
| AN | Thesis 3 | =PhonePe!B65 |
| AO | Thesis 4 | Optional |
| AP | Thesis 5 | Optional |
| Col | Header | Formula |
|---|---|---|
| AQ | Risk 1 | =PhonePe!B68 |
| AR | Risk 2 | =PhonePe!B69 |
| AS | Risk 3 | =PhonePe!B70 |
| AT | Risk 4 | Optional |
| AU | Risk 5 | Optional |
| Col | Header | Formula |
|---|---|---|
| AV | Strength 1 | =PhonePe!B73 |
| AW | Strength 2 | =PhonePe!B74 |
| AX | Strength 3 | =PhonePe!B75 |
| AY | Strength 4 | Optional |
| AZ | Strength 5 | Optional |
| Col | Header | Formula |
|---|---|---|
| BA | Weakness 1 | =PhonePe!B79 |
| BB | Weakness 2 | =PhonePe!B80 |
| BC | Weakness 3 | =PhonePe!B81 |
| BD | Weakness 4 | Optional |
| BE | Weakness 5 | Optional |
| Col | Header | Formula | Maps to |
|---|---|---|---|
| BF | Revenue FY1 | =PhonePe!B84 | Revenue Year 1 (₹ Cr) |
| BG | Revenue FY2 | =PhonePe!B85 | Revenue Year 2 (₹ Cr) |
| BH | Revenue FY3 | =PhonePe!B86 | Revenue Year 3 (₹ Cr) |
| BI | PAT FY1 | =PhonePe!B88 | Profit After Tax Year 1 (₹ Cr) |
| BJ | PAT FY2 | =PhonePe!B89 | Profit After Tax Year 2 (₹ Cr) |
| BK | PAT FY3 | =PhonePe!B90 | Profit After Tax Year 3 (₹ Cr) |
| BL | ROE | =PhonePe!B92 | Return on Equity (%) |
| BM | PE | =PhonePe!B93 | Price-to-Earnings ratio |
| BN | Book Value | =PhonePe!B94 | Book value per share (₹) |
| BO | EBITDA Margin | =PhonePe!B95 | EBITDA margin (%) |
| BP | Marquee | =PhonePe!B96 | "Yes" if marquee company |
| Col | Header | Formula |
|---|---|---|
| BQ | Leader1 Role | =PhonePe!A34 |
| BR | Leader1 Name | =PhonePe!B34 |
| BS | Leader1 Since | =PhonePe!C34 |
| BT | Leader2 Role | =PhonePe!A35 |
| BU | Leader2 Name | =PhonePe!B35 |
| BV | Leader2 Since | =PhonePe!C35 |
| ... continue for Leaders 3-5 (BW-CH) | ||
3 In Google Sheets:
https://docs.google.com/spreadsheets/d/e/2PACX-.../pub?gid=XXXX&single=true&output=csv4 In Altstock Admin:
data/companies.jsonOr via API:
Server fetches the published CSV URL → parses rows → maps to app data model → merges with existing data (sheet wins) → writes companies.json
On page load, app.js fetches /api/company-data → merges with hardcoded COS → renders marketplace. Same data serves desktop, tablet, mobile.
Complete mapping from your Google Sheet columns to the app's internal data model:
| Sheet Column | App Field | Where it appears |
|---|---|---|
| Name | n | Company cards, headers, search |
| Ticker | t | Company cards, ticker strip |
| Sector | s | Sector filters, badges |
| Bid / Ask | bid / ask | Pricing, order book |
| Indicative Price | p | Company cards, charts |
| Premium | prm | Premium badge |
| Valuation | val | Company profile |
| Activity Score | act | Activity meter |
| ISIN | isin | Share structure panel |
| Demat Availability | depositaryType | Share structure panel |
| Description | desc | Company overview section |
| Thesis 1-5 | thesis[] | Investment thesis bullets |
| Risk 1-5 | risks[] | Key risks bullets |
| Strength 1-5 | strengths[] | SWOT / strengths section |
| Weakness 1-5 | weaknesses[] | SWOT / weaknesses section |
| Revenue FY1-FY3 | rev[] | Revenue chart (3-year) |
| PAT FY1-FY3 | pat[] | PAT chart (3-year) |
| ROE | roe | Financial metrics panel |
| PE | pe | Financial metrics panel |
| Book Value | bv | Financial metrics panel |
| Face Value | fv | Share structure panel |
| EBITDA Margin | ebitdaMar | Financial metrics panel |
| Marquee | mq | Marquee badge on company card |
Altstock — operated by Sybrate Technologies Private Limited