Home Finance Intelligence Dashboard
No sheet? Use demo@example.com / demo123
| Date | Description | Category | Income | Expense | Charity | Other |
|---|
Sheet must be shared as "Anyone with the link โ Viewer".
Paste your deployed Apps Script Web App URL to enable saving from My Data back to your sheet.
Delete all existing code and paste:
function doPost(e) {
try {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var params = JSON.parse(e.postData.contents);
var sheet = ss.getSheetByName(params.tab);
if (!sheet) return respond({status:'error',message:'Tab not found: '+params.tab});
if (params.action === 'replace') {
var last = sheet.getLastRow();
if (last > 1) sheet.deleteRows(2, last - 1);
if (params.rows && params.rows.length > 0)
sheet.getRange(2,1,params.rows.length,params.rows[0].length).setValues(params.rows);
}
return respond({status:'success',rowsWritten:params.rows?params.rows.length:0});
} catch(err) { return respond({status:'error',message:err.message}); }
}
function doGet(e){ return respond({status:'ok'}); }
function respond(obj){
return ContentService.createTextOutput(JSON.stringify(obj))
.setMimeType(ContentService.MimeType.JSON);
}
โ ๏ธ Every code change needs a new deployment.