emberfi Join the waitlist

Bank sync & import

Secure linking and CSV import, one dedup pipeline, zero double-counting.

Ember keeps your ledger current without making you the data-entry clerk. Connected accounts sync through Plaid; history arrives via YNAB or CSV import; and a dedup pipeline makes sure the same transaction never lands twice, no matter which path it came in on.

Bank connections via Plaid

Ember links to banks, card issuers, and brokerages through Plaid. You authenticate with your institution inside Plaid's own window, so your banking credentials never touch Ember. Once linked:

  • Transactions sync continuously. New activity flows in via Plaid's sync API and webhooks, so the ledger stays fresh without you clicking refresh.
  • Pending charges show up early. Card authorizations appear in a read-only Pending group the moment the bank reports them, then become ledger entries when they post. You can also promote a pending charge immediately with Enter now if you want to categorize it right away.
  • Merchant data comes along. Logos, cleaned-up merchant names, and category suggestions arrive with each transaction, so most rows need zero editing.
  • Investment accounts sync too. Brokerage holdings, buys, sells, dividends, and reinvestments flow into a double-entry investment ledger, not a balance number alone.
  • Mortgages and loans sync as liabilities. Liability sync classifies loan accounts, tracks escrow, and decomposes each payment into principal, interest, and escrow.

What the bank says vs. what you've confirmed

Imported bank rows are immutable in Ember: the bank's record is preserved exactly as received, forever. Your edits (payee, category, memo, splits) live on your side of the ledger, matched to the bank row. That separation is what makes reconciliation trustworthy: you can always see what the bank reported and what you decided it meant.

Transfer detection

Moving money between your own accounts is the classic double-count trap. Ember detects self-transfers automatically after each sync, matching the two legs across your accounts or recognizing the destination by its account number, and pairs them into a single transfer instead of an unexplained expense plus a mystery deposit.

Migrating from YNAB

One upload moves your transaction history: export your YNAB register, drop the CSV into Ember, review the preview, and confirm. Every account, transfer, split, and starting balance comes across; envelope balances and targets are set up in Ember. You keep your history; you skip the months of re-typing.

CSV import for everything else

Each account's edit panel accepts a CSV upload. Ember sniffs the header row and picks the right parser automatically (YNAB register layout or bank-export layout), so there's no column-mapping wizard to fight with.

The dedup pipeline

Every import path (Plaid sync, YNAB migration, CSV upload) runs through the same staging pipeline that matches incoming rows against what's already in the ledger. Import a year of CSV history, then connect the same account through Plaid, and the overlap matches up instead of duplicating. Re-import the same file twice and the repeats are flagged, not inserted.

See also

Ember is a personal finance ledger: every account in one place, reconciled against your statements. It is in private, invite-only beta in the US. Join the waitlist.