Bank sync vs CSV import: how Freenance connects to your Polish bank accounts
Honest guide to bank sync and open banking in Poland. PSD2 explained, what direct API sync requires, why Freenance uses CSV imports today, and how that affects you as a user.
Quick Answer
There are two ways a financial app can pull data from your Polish bank account: PSD2 API sync (the app talks directly to your bank through a regulated API) and CSV import (you download a transaction file and upload it yourself). Both are read-only — neither method can move money. Each has trade-offs around cost, friction, and control.
Freenance currently uses the CSV import approach. We don't connect directly to bank APIs and we don't have a public roadmap date for that. This page explains the difference honestly so you can decide whether Freenance fits how you want to manage money.
What is PSD2?
PSD2 (Payment Services Directive 2) is an EU regulation, fully effective since September 2019, that requires every European bank — including all Polish banks — to expose authorized third-party services to your account data through a standardized API. The licensed services come in two flavours:
- AISP (Account Information Service Provider) — read-only access to balances and transactions.
- PISP (Payment Initiation Service Provider) — can initiate payments on your behalf.
Whenever a third-party app connects, you authenticate directly with your bank (Strong Customer Authentication — SCA), explicitly grant consent, and can revoke that consent any time. PSD2 also requires re-authentication every 90 days.
Why Freenance uses CSV import (and not API sync) today
Building real PSD2 integration in Poland is more involved than it looks from the outside. It typically means either:
- Becoming a licensed AISP yourself — a regulatory and capital-intensive process supervised by the Polish KNF, or
- Paying an aggregator (Salt Edge, Tink, Yapily, Plaid Europe, GoCardless / Nordigen, etc.) per connection per month, on top of compliance and engineering work to handle 90-day re-authentication, bank-specific edge cases, and outages.
For a small product, that's a meaningful operating cost — usually passed onto users as a higher subscription price, or absorbed by the company at the cost of pace on the rest of the product. We made the deliberate call not to add that cost yet, and to keep Freenance focused on what happens after your transactions land in the system: categorization, recurring detection, runway, budgeting, and reporting.
So Freenance is currently CSV-import based. That's a trade-off, not a feature gap we're hiding from you.
How CSV import works in Freenance
- Sign in to your bank's online portal.
- Open transaction history for the account you want to track.
- Pick a date range and export as CSV.
- Rename the file to
{bankname}-{accountnumber}.csv(the convention Freenance expects). - In Freenance, open Configuration → Bank import, drop the file in, click Upload.
- The import job reports how many incomes / expenses were created and the date range covered.
Most users do this once a month or every two weeks. Each import takes 2–3 minutes in total, including the export step. Freenance auto-detects duplicates, so re-importing overlapping periods is safe.
Currently Freenance has dedicated parsers for PKO BP, ING, Credit Agricole, Millennium, Nest Bank, and Revolut, plus the universal MT940 format that many banks export. For other banks (mBank, Santander, BNP Paribas, Alior, VeloBank, Citi Handlowy) we add new CSV variants on request — send us an anonymized sample and we ship the parser within 1–3 business days.
CSV import vs API sync: what actually changes for you
| Dimension | CSV import (Freenance today) | PSD2 API sync |
|---|---|---|
| Setup time | 2 min per import, ~12 imports/year | One-time setup, then automatic |
| Re-authentication | Never | Every 90 days (PSD2 SCA requirement) |
| What you control | You pick exactly which file/period to share | You grant blanket access to whoever the AISP is |
| Service dependencies | None — your bank's CSV export is enough | Bank API + aggregator service must both be up |
| Cost passed to user | Lower — no per-account-per-month aggregator fee | Usually higher, often paywalled |
| Coverage in Poland | Whatever your bank lets you export (usually 5+ years of history) | Typically 90 days of transaction history per re-auth window |
| Privacy of credentials | Bank credentials never leave the bank | Bank credentials never leave the bank (SCA) |
| Read-only? | Yes (it's just a file) | Yes (AISP licence is read-only by design) |
Both approaches keep your bank password safe — neither requires it. The real differences are operational: friction, freshness, breadth, and cost.
Connecting multiple banks in Freenance
Most Poles run 2–3 accounts (the 2025 ZBP survey put the adult average at 2.4). Freenance is designed around that: each CSV file you upload becomes a tracked account, and they all roll up into a single dashboard, one categorization model, and one budget. Adding a new bank is the same workflow you already know — export, rename, upload.
A typical setup we see:
| Account | Where | Purpose |
|---|---|---|
| Primary checking | mBank / PKO / ING | Salary, bills |
| High-yield savings | ING / Nest / Toyota | Emergency fund |
| Credit card | Citi Handlowy / Millennium | Daily spending, cashback |
| Brokerage | XTB | Long-term investing (IKE/IKZE) |
| Multi-currency | Revolut | Travel, foreign currency |
| Treasury bonds | obligacjeskarbowe.pl | EDO/COI bonds |
Each gets its own CSV file; Freenance sums everything into your net worth and Financial Freedom Runway.
Frequently asked questions
Will Freenance ever support direct PSD2 sync?
We don't promise dates for that. It's not technically blocked — it's a cost and prioritization decision. If you'd find direct sync valuable enough to pay extra for, tell us; user demand changes the math.
Why don't you use a free aggregator?
There aren't really "free" PSD2 aggregators in production — even free tiers usually limit accounts, refresh rate, or transaction history, and the PSD2 SCA workflow has hard re-auth deadlines that need engineering work regardless. We'd rather be upfront about that than launch something flaky.
Can Freenance see my bank password?
No, and that's true regardless of approach. With CSV import, you never share credentials at all — you log into your bank, export a file, and upload that file. With PSD2 sync (in any app, not just Freenance), you authenticate directly with your bank's site and an authorized third party only ever receives a scoped, read-only token.
How often should I import?
Once every 1–2 weeks works well for most people. Anything you import more than once just gets deduplicated, so there's no penalty for re-uploading "the last 30 days" each time.
What if my bank's CSV format isn't supported?
Email us with an anonymized sample. We've been adding new CSV variants in 1–3 business days based on user reports — that's how we got Millennium, Nest, Credit Agricole and others into the parser list.
Bottom line
Direct bank sync is a real feature with real costs. CSV import is the trade-off Freenance picked for now: lower price, no 90-day re-auth dance, full user control, but you do have to upload a file once a fortnight. If that fits how you want to work, give it a try.
👉 Try Freenance — the first import takes about 5 minutes.
Want full control over your finances?
Try Freenance for free