Finance
Bank import and reconciliation
Import statements, review bank lines, categorize or match transactions, and manage reconciliation models.
Open Finance → Bank at /finance/bank-import. This area combines statement import, manual bank lines, and review of unmatched or already reviewed transactions.
Access
Bank pages use the Expenses module and require exact SUPER_ADMIN or MANAGER access. Other users do not receive the Bank sidebar item.
Import a statement
The importer accepts supported CAMT.053, OFX, QIF, CSV, and XLSX bank exports.
- Open
/finance/bank-import. - Drop or choose the statement file.
- Review detected statement groups and parsed rows before applying them.
- Confirm the account, dates, amounts, and descriptions.
- Import the rows into the unmatched queue.
Use /finance/bank-import/new or Add bank line for a single manual transaction.
Connect a bank account with Stripe
Instead of importing a file, you can connect a bank account. Open Connections in the Bank dropdown (/finance/bank-connections). Super Admins and Managers also have a Bank connections button in the Expenses header.
Linking is done through Stripe Financial Connections. Stripe handles the bank authorization and agaro never receives your bank login. Connecting never moves money, and it does not authorize payments, transfers, or automatic accounting entries.
Connect
- Select Connect to Stripe. It is the one button for connecting, shown with the Stripe mark. On a page with no connected account it sits in the middle of the page, and once accounts exist it moves to the page header.
- Stripe's own window opens. Sign in to your bank there and choose the accounts to share.
- When you return, agaro saves the link, and the accounts appear under Connected accounts. If the authorization finished but the link was not saved, the same button reads Finish linking. You can also Cancel request for a connection that was started and not finished. Cancelling does not disconnect an account that Stripe already authorized.
The text under the button says that by connecting you accept Stripe's Financial Connections terms and privacy policy and Agaro's terms of service and privacy policy, and that the bank information you share is stored in your workspace and visible to members with bank access. Only supported US institutions are available. The history, the balance details, and the refresh timing depend on the bank, and transaction history may cover up to 180 days and is not guaranteed to be complete or current.
Connect with balances only
What a new connection shares is everything your role may authorize: balances, and bank activity (transactions). If Stripe has not yet approved bank activity for the platform, the page says that Stripe cannot share bank activity on this platform yet and shows Connect with balances only. Select it to connect and share balances without transactions. Import a bank statement in the meantime if you need the transactions.
Who may connect
- The role must be SUPER_ADMIN or MANAGER, and the Expenses module must be available, because the Bank pages use it.
- Connecting also needs the bank connection administration control. A person who can review accounts but not connect them sees that their role can review permitted accounts but cannot create bank connections.
- A read only workspace cannot connect accounts. The page says that an active subscription is required.
- The platform must have Stripe Financial Connections set up. If it does not, the page says that bank connections are not configured and that a platform administrator must configure them. Only the platform owner is told which setting is missing.
Connected accounts
Each account card shows its status (Connected, Inactive at Stripe, Disconnection pending, or Disconnected), the account type and the last four digits, and the last available balance, or says that the bank provided none. Negative credit balances are amounts owed. From a card you can:
- Pull selected data: choose Balances, Activity, or both, then pull. Data is pulled only when you request it. A pull saves its progress, and if it is slow you can Pause checks and later Resume pull. Only the member who requested a pull can continue it.
- View activity to see the imported lines with their date, description, status, and signed amount, and page through them.
- Review as expense on a posted outflow to create a draft expense from it. Check first whether the purchase already exists in Expenses. The draft needs a category, vendor, and tax review, and bank linked drafts cannot be posted yet.
- Disconnect, after you confirm. Disconnecting stops future sharing. Information that was already imported stays in the workspace until it is deleted under your retention policy, and it does not cancel payments or delete data Stripe holds.
Review a bank line
For each unmatched transaction, choose one supported outcome:
- Categorize it as an Expense.
- Categorize it as Income.
- Match it to an existing Payment.
- Record it as a payment on an open invoice (see below).
- Apply an active button reconciliation model.
- Ignore it when the line should not create or match an operational record.
Open invoices a line may pay
Under a bank line, Open invoices this line may pay lists suggestions only. A suggestion says why it fits: the invoice number appears in the bank line, the amount equals what is still due, the amount is up to 2% less than still due (an early payment), or the amount is written in the bank line. Each shows the amount still due.
Select Record payment and match to record the payment on the invoice and match the bank line in one step. Nothing is recorded until you do. It is refused, and nothing changes, when:
- the line is no longer waiting for review, or has retained reconciliation history (apply a reconciliation model instead);
- the line is not attached to an active bank account;
- the invoice no longer has a balance, or is in another currency than the bank account;
- that payment is already matched to another bank line.
Money that is already in Payments
If a bank line already recorded a payment that is still in Payments, recording, categorizing, matching, or posting it again would count the same money twice. The page stops you and says so, naming the invoice when there is one. Match the line to that existing payment to reconcile it. Deleting such a line is refused too, because it would leave the payment with no bank line.
The Reviewed tab shows lines that already have an outcome. Use it to verify work instead of importing the same statement again.
Reconciliation models
Open /finance/reconciliation/models to manage the models offered beside a transaction. A model standardizes a known recurring decision. It does not remove the need to review the transaction identity and amount.
Use /finance/internal-transfers for controlled transfers between supported bank accounts. Do not categorize both sides as income and expense.
Common problems
| What you see | What to check |
|---|---|
| Bank is missing from navigation | Your role is not SUPER_ADMIN or MANAGER, or Expenses is not installed. |
| File format is not recognized | Export one of the supported statement formats from the bank and avoid editing its structural headers. |
| Matching payment is absent | Confirm its amount, date, currency, contact, and that it is not already matched. |
| Duplicate transactions appear | Check whether the same statement was imported twice before reviewing more rows. |
| Internal transfer distorts profit | Use the internal transfer workflow instead of income and expense categories. |
| Connect to Stripe is disabled | The workspace is read only, your role cannot create bank connections, or the platform has not configured Stripe Financial Connections. The text under the button says which. |
| Only balances can be connected | Stripe has not approved bank activity for the platform yet. Use Connect with balances only, and import statements for transactions. |
| A connection says it is not finished | The authorization was started and not saved. Select Finish linking, or Cancel request. |
| A pull is taking long | The bank is still refreshing. Your progress is saved. Pause checks, then Resume pull later. |
| Bank access unavailable | Your role or record permissions do not allow the bank view. Ask a workspace administrator. |