Nightly Wise transfers sync to Google Sheets ledger

Every night at midnight, completed Wise transfers from the last 24 hours land as new rows in your Google Sheets ledger, with built-in duplicate skipping.

Deterministic Code
WiseGoogle SheetsFinanceOperationsData Sync
PromptCreate

Build me a deterministic code workflow that syncs completed Wise transfers into a Google Sheets accounting ledger every night at midnight. No reasoning needed: every field is a known mapping, so this is a code workflow, not an agent.

Trigger: cron, every day at 00:00 in the workflow owner's timezone.

Step 1. Call Wise List Transfers, filtered to status outgoing_payment_sent, with a created-at window covering the previous 24 hours (now minus 24h to now). Target the configured Wise profile ID.

Step 2. Call Google Sheets Get Values on the configured spreadsheet, tab named "Wise Ledger", reading the transfer ID column (for example column A from row 2 down). Build a set of transfer IDs already present in the sheet.

Step 3. For each transfer returned from Wise, skip it if its ID is already in the set. Otherwise map it to a row with these columns in this order: transfer id, created date, source currency, source amount, target currency, target amount, exchange rate, recipient name, reference.

Step 4. Call Google Sheets Append Values once with all new rows, appending to the "Wise Ledger" tab using USER_ENTERED so dates and numbers parse cleanly. If there are no new rows, exit successfully without writing.

Configuration the workflow should expose: Wise profile ID, Google Sheets spreadsheet ID, tab name (default "Wise Ledger"), and the transfer ID column letter (default A).

Idempotency requirement: re-running the workflow on the same day, or running it with overlapping windows, must never create duplicate rows. The dedupe check in step 2 is the guard.

What does this prompt do?

  • Pulls every completed Wise transfer from the last 24 hours on a nightly schedule.
  • Appends one tidy row per transfer to your Google Sheets ledger with the fields your bookkeeper actually wants.
  • Checks the transfer ID column before writing so re-runs never create duplicate rows.
  • Runs without any AI guessing because every field is a direct, deterministic mapping.

What do I need to use this?

  • A Wise account with API access turned on and two-step verification enabled.
  • A Google account with edit access to the spreadsheet you want to write to.
  • A Google Sheet with a tab named Wise Ledger and a header row that includes a transfer ID column.

How can I customize it?

  • Change the run time if midnight is not when your books close, for example 6am local time or every six hours.
  • Add or remove columns in the row mapping to match the exact ledger format your accountant uses.
  • Filter to a specific source currency, recipient, or reference prefix if you only want a subset of transfers in this tab.

FAQs

Will this create duplicate rows if it runs twice in one night?
No. Before appending, the workflow reads the transfer ID column already in your sheet and skips any transfer that is already there, so re-runs and overlapping windows are safe.
Do I need to know how to code to use this?
No. You connect Wise and Google Sheets once, point the workflow at your spreadsheet and tab, and it runs on the schedule you pick.
Which Wise transfers get added to the sheet?
Only transfers that completed sending in the previous 24 hours. Pending, cancelled, and failed transfers are left out so your ledger only shows real, settled money movement.
Can I send the rows to a different tab or a second sheet?
Yes. You can change the spreadsheet, the tab name, or even fan out to multiple sheets by tweaking the workflow once it is generated.
What if my Wise account has multiple profiles?
You can target a specific profile, for example your business profile only, so personal transfers stay out of the company ledger.

Related templates

Review desk for portal forms your team still fills in by hand

Stage a batch of filings overnight, then approve each completed form from a screenshot before anything is ever submitted.

Kernel
Google Sheets
Slack Bot
App
Audit what Intercom's Fin AI actually resolved before you pay

Review every conversation Fin closed as resolved, judge which ones actually stuck, and see what the gap is worth against your bill.

Intercom
Google Sheets
Slack Bot
App
Returns and warranty claim desk that follows your policy

Work every return, damage and warranty claim in one queue, with the order, the delivery date and a policy-backed recommendation already on screen.

Kustomer
Shopify
Google Sheets
App
Turn last week's cafe sales into this week's grocery order

See exactly which ingredients next week needs based on what you actually sold, adjust anything by hand, then build a one-click grocery cart.

Instacart
Square
Google Sheets
App
Benchmark your Instagram account against rival brands

See follower growth, posting cadence, format mix and engagement rate for your brand and every competitor you track, side by side on one board.

Instagram
Google Sheets
Google Docs
App
Find the services you're underpricing in your Jobber price book

Open one screen to see how every service in your Jobber price book actually performed: how often it sold, what you charged, and where prices swing.

Jobber
Google Sheets
App

Stop pasting Wise transfers into your books by hand.

Connect Wise and Google Sheets once, and Geni quietly keeps your ledger up to date every night while you sleep.