Language
Google SheetsFree

Send WhatsApp payments to Google Sheets automatically

Stop copying payments into a spreadsheet by hand. When a customer pays you through GetPaidly on WhatsApp, the transaction lands in your Google Sheet on its own - date, customer, amount and status - ready for your accountant or your own reports.

Why connect it

No manual entry
Every paid due, reminder and new entry writes itself into a row. Your ledger is always up to date.
Your accountant will love it
A clean, live spreadsheet of collections you can filter, pivot or export at tax time.
Completely free
Runs in your own Google account with a one-time script. No add-ons, no monthly fee.

Set it up

  1. 1
    Create a new Google Sheet (or open an existing one).
  2. 2
    In the sheet menu, open Extensions โ†’ Apps Script. A code editor opens in a new tab.
  3. 3
    Delete whatever code is there, paste the script below, and click the Save icon.
  4. 4
    Click Deploy โ†’ New deployment. Click the gear next to โ€œSelect typeโ€ and choose Web app.
  5. 5
    Set Execute as: Me and Who has access: Anyone, then click Deploy.
  6. 6
    Google asks you to authorise: Review permissions โ†’ pick your account โ†’ Advanced โ†’ Go to (project) โ†’ Allow. (This is your own script, so it is safe.)
  7. 7
    Copy the Web app URL it shows (it ends in /exec).
  8. 8
    In GetPaidly: dashboard API tab โ†’ Connect an app โ†’ Google Sheets, paste that URL, tick the events you want, and click Connect.
  9. 9
    Click Send test on the connection - a row appears in your sheet. Done.
Apps Script
function doPost(e) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
  if (sheet.getLastRow() === 0) {
    sheet.appendRow(['Time', 'Event', 'Customer', 'Amount', 'Status', 'Transaction ID']);
  }
  var body = JSON.parse(e.postData.contents);
  var d = body.data || {};
  sheet.appendRow([
    body.timestamp || new Date().toISOString(),
    body.event || '',
    d.contact_name || d.name || '',
    d.amount_paise != null ? (d.amount_paise / 100) : '',
    d.status || '',
    d.id || ''
  ]);
  return ContentService.createTextOutput('ok');
}

The first row becomes headers automatically. Each event adds a row with its time, type, customer, amount and status.

Your URL looks like: https://script.google.com/macros/s/AKfy.../exec

Which events can I send?

Tick any of these when you connect. You can change them anytime.

Payment madeA customer pays a specific due.
Any payment receivedAny payment lands (a due or a subscription).
Reminder sentA WhatsApp reminder goes out.
Due createdYou add a new due.
Customer addedA new customer is added.

Building your own software? The raw JSON and full REST API are in the API docs.

FAQ

Does it work with an existing sheet?
Yes. Add the script to any sheet and new payments append as rows to the first tab.
How fast does a payment appear?
Within seconds of the payment being recorded in GetPaidly.
Does this cost anything?
No. The script runs in your own free Google account and GetPaidly includes the connection on the Business plan.
What if the app is briefly down?
Nothing is lost. We log every delivery and retry automatically (after 1m, 5m, 30m, 2h, 6h). You can also redeliver any event by hand from the API tab.
Which plan do I need?
Integrations are part of the Business plan, alongside the REST API and webhooks.
Is it secure?
Every message is signed (HMAC-SHA256) and you only ever send the events you tick. You can disconnect an app anytime.

Connect another app

SlackSlackDiscordDiscordGoogle ChatGoogle ChatZapierZapierMakeMake
See all integrations โ†’

Ready to connect?

Open the API tab, pick this app, paste its URL. Two minutes.

Open API tabAll integrations