SP

Solar Phase Energy Pvt. Ltd.

Advance Receipt Manager  ·  Works Offline

Not configured
v4.0  ·  GSheets Sync
solarphase.in

0 receipt(s) waiting to sync to Google Sheets. Connect to internet and click Sync.

Receipt Details
Live Preview
SOLAR PHASE ENERGY PVT. LTD.
Solar EPC · BESS · SCADA · Rooftop & Commercial Solar · Kota, Rajasthan
ADVANCE MONEY RECEIPT
Receipt No.
--
Date
--
Received with thanks from
--
₹ --
--
Payment Mode--
Cheque No.--
Towards--
A/C Name: Solar Phase Energy Private Limited
Bank: ICICI Bank, Talwandi, Kota  |  A/C No: 153905001044  |  IFSC: ICIC0001539
GSTIN: 08ABECS8916K1ZS
This is a computer-generated receipt.

All Receipts

No receipts yet.
Total Received
₹0
0 receipts
This Month
₹0
0 receipts
Pending
₹0
0 receipts
Unsynced
0
in queue
Client-wise Summary
No data yet.
Monthly Collections
No data yet.
✅ Google Sheets Setup

Follow these 5 steps once. After that every receipt auto-syncs to your Google Sheet permanently.

  1. Create a new Google Sheet
    Go to sheets.google.com → click Blank. Name it Solar Phase Receipt Ledger.
  2. Open Apps Script
    In your Sheet: click Extensions → Apps Script. A new tab opens with a code editor.
  3. Paste the script below
    Delete everything in the editor, paste this code, then click Save (disk icon).
    function doPost(e) { try { // Accept both raw JSON body and form-encoded payload field var raw = (e.postData && e.postData.contents) ? e.postData.contents : ''; var data; try { data = JSON.parse(raw); } catch(ex) { var p = e.parameter && e.parameter.payload ? e.parameter.payload : raw; data = JSON.parse(p); } var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName('Ledger') || ss.insertSheet('Ledger'); // Add header if sheet is empty if (sheet.getLastRow() === 0) { var headers = ['Receipt No.','Date','Client Name','Amount (Rs.)','Payment Mode', 'Cheque/Ref No.','Purpose','Project','Status','Notes','Synced At']; sheet.appendRow(headers); sheet.getRange(1,1,1,headers.length).setBackground('#1a6b3a') .setFontColor('#ffffff').setFontWeight('bold').setFontSize(10); sheet.setFrozenRows(1); sheet.setColumnWidth(1,130); sheet.setColumnWidth(3,180); sheet.setColumnWidth(6,130); sheet.setColumnWidth(7,220); sheet.setColumnWidth(8,150); sheet.setColumnWidth(11,160); } // Check for duplicate receipt number var col1 = sheet.getRange(2,1,Math.max(sheet.getLastRow()-1,1),1).getValues(); for (var i=0; i<col1.length; i++) { if (col1[i][0] === data.rno) { return ContentService.createTextOutput( JSON.stringify({status:'duplicate',message:'Receipt already exists'}) ).setMimeType(ContentService.MimeType.JSON); } } // Append new row var row = [ data.rno, data.date, data.name, data.amount, data.mode, data.ref||'', data.purpose, data.project||'', data.status, data.notes||'', new Date().toLocaleString('en-IN') ]; sheet.appendRow(row); // Color-code status cell var lastRow = sheet.getLastRow(); var statusCell = sheet.getRange(lastRow, 9); if (data.status === 'paid') statusCell.setBackground('#e8f5ee').setFontColor('#145530'); else if (data.status === 'pending') statusCell.setBackground('#faeeda').setFontColor('#633806'); else statusCell.setBackground('#fee2e2').setFontColor('#991b1b'); // Amount cell formatting sheet.getRange(lastRow,4).setNumberFormat('#,##0'); return ContentService.createTextOutput( JSON.stringify({status:'success',row:lastRow}) ).setMimeType(ContentService.MimeType.JSON); } catch(err) { return ContentService.createTextOutput( JSON.stringify({status:'error',message:err.toString()}) ).setMimeType(ContentService.MimeType.JSON); } } function doGet(e) { return ContentService.createTextOutput( JSON.stringify({status:'ok',message:'Solar Phase Receipt Sync Active'}) ).setMimeType(ContentService.MimeType.JSON); }
  4. Deploy as Web App
    Click Deploy → New deployment.
    • Type: Web app
    • Execute as: Me
    • Who has access: Anyone
    Click Deploy → Authorize → Copy the Web App URL.
  5. Paste the URL below and Save
    The URL looks like: https://script.google.com/macros/s/AKfyc.../exec
⚙ App Settings
Paste your deployed Web App URL here
Data Backup & Restore

Re-sync All pushes every receipt to Google Sheets (safe — skips duplicates).
Backup JSON saves a local copy you can restore into this app on any device.