Live iPhone Google Sheets Tracker
No transactions match your search or filter criteria.
Say the amount, pick a category, add a note—and your Google Sheet updates automatically. No paid app. Your data stays in your own personal Google account.
Log the amount, category, and an optional note from your iPhone in seconds.
See monthly spend, category totals, trends, and recent expenses updated live.
The Sheet and connection live inside your personal Google account. Details go from your iPhone directly to your Google Sheet.
Use a computer for the Google steps. Finish the Shortcut setup on your iPhone.
Tap the button below, sign in to Google if asked, then choose Make a copy. The dashboard and its attached script are copied into your account.
Copy the Expense Pulse Sheet ↗Inside your copied Sheet, open Extensions → Apps Script. You should see code containing a function named doPost.
If the code is already there, leave it exactly as it is and continue. If the editor is blank, copy the script below and paste it into Code.gs.
const CATEGORIES = ["🍛 Food","🛍 Shopping","🚙 Travel","🧾 Bills","🎬 Entertainment","📦 Other"];
function doPost(e) {
const lock = LockService.getScriptLock();
lock.waitLock(10000);
try {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Expenses");
const data = JSON.parse(e.postData.contents);
const nextRow = sheet.getLastRow() + 1;
ensureRows_(sheet, nextRow);
sheet.getRange(nextRow, 1, 1, 4).setValues([[ new Date(), Number(data.amount), data.category, data.note || "" ]]);
sheet.getRange(nextRow, 1).setNumberFormat("dd mmm yyyy, hh:mm am/pm");
sheet.getRange(nextRow, 2).setNumberFormat("₹#,##0");
return ContentService.createTextOutput(JSON.stringify({status:"success",row:nextRow}))
.setMimeType(ContentService.MimeType.JSON);
} finally {
lock.releaseLock();
}
}
function ensureRows_(sheet, requiredRow) {
if (requiredRow > sheet.getMaxRows()) {
sheet.insertRowsAfter(sheet.getMaxRows(), Math.max(500, requiredRow - sheet.getMaxRows()));
}
}
Me.Anyone.Google may show an "unverified" warning. First confirm that you are authorizing the script inside your own copied Sheet. Then choose Advanced → Continue to project → Allow.
Copy the Web app URL. The correct address ends in /exec.
Open the Shortcut link on your iPhone, tap Get Shortcut, then open it for editing.
Install Expense Pulse ↗/exec.See the new row? You're almost done! Continue to Step 6 below to connect your sheet to this web app.
Setup Complete! Expense Pulse will now automatically sync your daily expenses!
/exec (not /edit).We'd love to hear from you! Send us an email anytime and our studio team will get back to you shortly.
Expense Pulse operates directly between your personal iPhone/device and your personal Google Account. Your expenses are logged inside your own Google Sheet copy.
Expense Pulse stores your published Sheet URL and preference settings locally on your device in browser LocalStorage. We do not track, collect, or share your personal information.
We use no analytics scripts, advertising trackers, or external database servers. All network requests go directly to Google Apps Script endpoints authorized by you.
By accessing and using Expense Pulse, you agree to these Terms & Conditions. If you do not agree, please discontinue using the web application.
Expense Pulse is provided by FerryPot Studios as a free tool for personal expense management. You may use and copy the associated Google Apps Script for your personal use.
Expense Pulse is provided "as is" without warranty of any kind. Users are responsible for maintaining and backing up their personal Google Sheets.