Skip to main content

Reconcile your bank with your invoices and expenses automatically

The problem

Every close, you repeat the same ritual: export the bank transactions, open the list of invoices and expenses, and match them line by line. A payment here, a charge there, and half an afternoon goes into checking whether each entry has its invoice. The more you grow, the more transactions land each month, and the more the close eats. The work isn't hard; it's repetitive — exactly the kind of task that shouldn't cost you human time.

How Frihet solves it

Frihet's reconciliation starts from a simple idea: you upload the statement, Frihet matches the transactions. There's no automatic bank connection and no bank credentials in the middle. You import the file your bank already gives you, and the heavy lifting — matching, categorizing, leaving only what needs your judgment — is done by the system.

1. Import your statement

From Finance → Bank connections, upload the statement in whatever format your bank exports: OFX, MT940, CAMT.053, or CSV. Frihet ships 15 import presets that map the columns of the most common formats, so there's nothing to configure to get started. Each transaction lands ready to reconcile.

2. Fuzzy reconciliation

As soon as you import, Frihet matches every transaction to the right invoice or expense using fuzzy matching on amount, date, and reference. It doesn't demand an exact match to the cent or the day: it recognizes an invoice payment even if it arrives two days late or with a fee deducted. What a human would match "by eye," the system matches by default.

3. Bank rules for the repetitive stuff

Transactions that recur every month — the software subscription, the card-terminal fee, the rent direct debit — shouldn't ask you for a decision each time. The bank rules engine ships 12 presets and lets you define your own: a condition (amount range, description text, merchant) and an action (category, ledger account, tag). From there they apply themselves, transaction after transaction.

4. Zero-cost auto-categorization

For expenses no rule caught, Frihet categorizes them from your history. It's a statistical engine that learns from how you classified before and runs on your own data: zero API cost, zero external calls. The more you use Frihet, the better it gets — without adding an AI charge for every transaction.

5. The banking action queue

Whatever didn't match on its own doesn't get lost. The banking action queue gathers, in one place, the unmatched transactions, the ones that need review, the uncategorized ones, and the recently imported ones. You open the queue, confirm the suggestions or assign by hand, and close. No digging through thousands of lines to find the four entries left over.

Via API or from the copilot

All of this is operable programmatically. The /v1/banking REST API exposes accounts, transactions, manual entry, categorization, and matching — the match endpoint is transactional, so two processes can't reconcile the same transaction twice. And Frihet's AI copilot (Gemini, 55+ tools) lets you ask in plain language, "which March transactions are still unreconciled?" and act on the answer without leaving the chat.

An example

Marta is a freelancer who invoices six clients. At month's end she exports her bank's CSV and uploads it to Frihet. Of 80 transactions, 63 match on their own to her invoices and expenses. Her four recurring direct debits are classified by a rule she created in January. Another nine expenses are auto-categorized by the engine from her history. Four remain in the action queue: two transfers between her own accounts, which she marks as excluded, and two payments she confirms with one click. The bank close that used to eat an afternoon is now ten minutes.

And because every transaction ends up reconciled and categorized, double-entry accounting generates the journal entries, and your reports — profit and loss, cash flow, balance sheet — reflect reality with no extra work.

Keep going

  • Chart of accounts — where the categories you assign to each transaction land.
  • Log expenses — the other side of every payment leaving the bank.
  • Invoices — what crosses with every payment coming in.

Get started

Upload your first statement and let Frihet close the month. The free plan starts at €0/month; Pro is €9/month (€90/year) and Premium is €29/month (€290/year) when you need more volume.

Go to app.frihet.io and open Finance → Bank connections.