Browser-based tool to import Maybank PDF statements directly into YNAB. No server, no uploads — everything runs in your browser.
If you use YNAB manually with a Maybank account, you've probably noticed that your YNAB balance and your actual bank balance don't always match — even when you're careful. Transactions slip through, especially QR code payments.
When you pay via QR code in Malaysia, Maybank doesn't record the merchant name — just a string of random characters. A week later, you have no idea what that MYR 42.50 was for. This tool lets you import your full PDF statement, see every transaction at once, and label the mystery ones before they disappear from memory.
It also checks your existing YNAB entries and skips duplicates, so you can safely import even if you've already entered some transactions manually.
-
Get your YNAB API token
- Go to YNAB Developer Settings
- Create a Personal Access Token
- Copy it
-
Open the app → paste your token → click Save
- The app connects to your YNAB account and loads your budgets
-
Download your Maybank statement
- Log into Maybank2U
- Download PDF statement (use the web portal — email PDFs are encrypted and won't work)
-
Drag & drop the PDF into the upload area
- The app parses transactions directly in your browser
- Multiple PDFs supported at once
-
Review transactions
- Payees and categories are suggested automatically for common Malaysian merchants
- Fix anything that's wrong — the app learns your corrections and applies them to similar transactions next time
- Transactions already in YNAB are marked as duplicates and skipped automatically
-
Click "Import to YNAB"
- Parses Maybank PDF statements in-browser (no server)
- Auto-suggests payees and categories for common Malaysian merchants
- Self-learning — correcting a payee/category saves it to your browser and applies it to similar transactions automatically next time
- Duplicate detection — checks against existing YNAB entries so you can safely import even if you've already added some transactions manually
- Supports multiple statements at once
- Works on mobile (iPhone Safari)
- Free — hosted on GitHub Pages
- Your YNAB token is stored only in your browser's
localStorage - PDFs never leave your device
- No data is sent anywhere except YNAB's official API
- Learned mappings are stored locally in your browser
| Type | Imported as |
|---|---|
| SALE DEBIT | Outflow |
| PAYMENT FR A/C | Outflow |
| TRANSFER FR A/C | Outflow |
| TRANSFER TO A/C | Inflow |
| FPX REFUND BUYER | Inflow |
| DIVIDEND PAID | Inflow |
| PRE-AUTH DEBIT | Skipped |
| PRE-AUTH REFUND | Skipped |
No build step — just open index.html in your browser.
python -m http.server 8000
# open http://localhost:8000Pure JavaScript · PDF.js · YNAB API · GitHub Pages
MIT License
