Your bank does the data entry
One bank transaction, from the swipe to the closed month
You connect the account once
You sign in at your own bank, on your bank's screen. BeeKeeper never sees your online banking password, and the connection is granted for balances and transactions only. It cannot move a dollar.
You say how far back it should go
This fiscal year, this month, today, or a date you type. History before that stays at the bank instead of arriving as four years of rows nobody asked to review.
Overnight, the feed pulls
Every connected account refreshes nightly, and your bank pushes new activity in between. Your ledger is current between board meetings rather than the week before one.
Your rules take the regulars
A rule is a piece of text and what to do when it shows up: contains, starts with, ends with, or exactly equals. One that names a category posts the transaction for you. One that only knows the payee names the payee and stops, because a rule that does not know what the money was for would land it in Uncategorized.
Everything else gets a proposal
Whatever no rule caught goes to Claude with your chart of accounts and the categories you picked for similar transactions before. It answers with a category, a vendor and a confidence score, and a confident answer is pre-filled so a whole screen can be accepted in one go.
A row that duplicates something you already entered is held back
The check you wrote on Tuesday and the bank's copy of it on Thursday look identical to a categorizer, and posting the second one silently doubles the money. That row is pointed at Match instead of offered to you as something new.
You accept
Accept it, change it, split it across the categories it really covers, or match it to something you recorded by hand. That click is what puts it in the books, and when the screen is empty your ledger is current as of last night.
Reconciliation is a formality
The statement arrives and every transaction on it is already in your books, already categorized. You tick off what cleared, the difference falls to zero, and the month is closed.
Data entry is the part of this job nobody signed up for
Log in to the bank. Pick a date range. Download. Open the spreadsheet. Retype it. Every month for a year, and once more in July when the audit committee asks.
The board asks what is in the account. The honest answer is whatever the bank says, because your ledger stops at the last evening you sat down with it.
A 47 entered as a 74 does not announce itself. It turns up as a reconciliation that will not balance, in March, at eleven at night.
PTA accounting that runs itself
Built for school groups. Free for 30 days, no credit card required.
How a bank line becomes a journal entry
When a direct connection is not an option
The file your bank calls Quicken or Money format. Date, amount, payee, memo and check number all come across on their own.
A date column and an amount column is the minimum. Description, payee and reference number are used when they are there, and a stray title row above the headers is ignored.
The same file a second time is refused outright, and any individual row that matches something already imported is skipped rather than doubled.
Banks bury check numbers in the middle of a description string. BeeKeeper pulls them out so the register and the duplicate check number report can use them.
And so much more
Frequently Asked Questions
Keep looking around
AI Assistance
AI reads receipts, matches them to transactions, and proposes a category and vendor for every import. Nothing posts without a human saying yes.
Mobile Apps
Volunteers photograph a receipt and submit a reimbursement before they leave the store. Approvals arrive as a push notification.
Reconciliation
Match the statement against the ledger with running totals and a difference that has to reach zero. Finished reconciliations lock, so a cleared month cannot quietly change.