Prerequisites

Before you begin, make sure you have the following:

Create the job

In the Scaleway Console, navigate to Serverless → Jobs and click Create Job.

Set the image source to the public Docker image:

Image reference

docker.io/zzave/ynab-split-payee:latest

For resources, 1 vCPU and 256 MB RAM is plenty. The job typically finishes in a few seconds.

Environment variables

Add these environment variables to the job definition. Only the token is required — the rest are optional.

YNAB_TOKEN Required
Your YNAB Personal Access Token. This is how the job authenticates with the YNAB API.
YNAB_BUDGET_ID
Target a specific budget. If omitted, the job uses your last-used budget.
YNAB_ACCOUNT_ID
Only process transactions from a specific account. If omitted, all accounts are processed.
YNAB_BUDGET_IDS
Comma-separated list of budget IDs to process multiple budgets in one run. Cannot be used with YNAB_BUDGET_ID.
Tip

Use Scaleway's secret management to store your YNAB token instead of adding it as a plain-text environment variable.

Cron trigger

Add a cron trigger to run the job on a schedule. Every hour is a good default — it keeps your transactions tidy without hitting YNAB's rate limits.

Cron expression (every hour)

0 * * * *
Timezone

Scaleway cron triggers use UTC. If you want to limit runs to your local business hours, adjust the hour field accordingly.

Verify

Before relying on the schedule, trigger a manual run from the Scaleway console to make sure everything is wired up correctly.

  1. Click "Run job" in the job detail page.
  2. Wait for it to finish and check that the exit code is 0 in the run log.
  3. Open YNAB and confirm that your recent transactions have been processed — payees should be clean and memos populated.
That's it

Once the manual run succeeds, you're done. The cron trigger will take it from here — your transactions will be cleaned up automatically, whether your laptop is on or not.