> For the complete documentation index, see [llms.txt](https://docs.bunny.com/guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bunny.com/guide/tour/billing/bank-transactions.md).

# Bank transactions

As a B2B business, it's not uncommon that customers pay invoices via other payment methods than credit cards, especially for larger payments such as annual subscriptions. With the Plaid integration, you can connect Bunny to your bank accounts and have deposits automatically synchronized to Bunny. Bunny will try and automatically match those payments with outstanding invoices and let you approve each match to get manual payment entries created and the invoices marked as paid.&#x20;

### Payment matching and approval

Once the initial synchronization has completed, Bunny will attempt to automatically match the payments with outstanding invoices using the following steps:

1. Locate the account based on the memo or name of the bank transaction. Bunny will look for similarly named transactions that were already matched with invoices to facilitate this.&#x20;
2. If succesfull, find the oldest unpaid invoice what matches the payment amount.&#x20;
3. If unsuccessful, Bunny will look for invoices where the total is the exact amount received. If only one invoice exists for that amount, it will suggest pairing the payment with that invoice.&#x20;
4. If multiple invoices exist with the exact amount, Bunny will attempt to match the accounts with the memo field using fuzzy name matching, and pick the highest scoring account over a certain threshold score.
5. If still unsuccesful, Bunny will use AI as a final attempt at matching the account names to the payment memo.

{% hint style="info" %}
Bunny will not attempt to automatically match a payment with multiple invoices.&#x20;
{% endhint %}

If a payment is successfully matched to an invoice, the payment state will be set to **Suggested**. If unable to match, the state will be set to **Unmatched**.

<figure><img src="https://1350849115-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MbI5ndB_5fDbdrLXs5c%2Fuploads%2FyTyTw6DJ2R6M9jNhxZAd%2Fimage.png?alt=media&amp;token=b44d1dd1-2374-40a5-bcaf-d0b191844707" alt=""><figcaption></figcaption></figure>

For each of the payments, do the following:

1. Click a payment that is in the **Suggested** state. This will bring up the payment drawer:<br>

   <figure><img src="https://1350849115-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MbI5ndB_5fDbdrLXs5c%2Fuploads%2FXJ7151HR758IxJOnAnH4%2Fimage.png?alt=media&amp;token=099ef76c-cd74-4c01-835e-7bc12fa233d9" alt="" width="375"><figcaption></figcaption></figure>

2. If the suggested invoice is the correct one, click **Approve selected invoices**. This will generate the manual payment and use it to pay the invoice in Bunny.

3. If the suggested invoice is incorrect, click the action menu in the top right corner and select **Reject suggestion**. This will unlink the payment from the suggested invoice.\
   &#x20;

   <figure><img src="https://1350849115-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MbI5ndB_5fDbdrLXs5c%2Fuploads%2FKtBc8ip5XNPODmJUhe6k%2Fimage.png?alt=media&amp;token=9e161d6d-0c5a-422d-881a-d82fe3035a4c" alt="" width="320"><figcaption></figcaption></figure>

4. When a payment in **Unmatched**, the drawer will show all unpaid invoices from all accounts. Use the search function to search for the correct invoice.<br>

   <figure><img src="https://1350849115-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MbI5ndB_5fDbdrLXs5c%2Fuploads%2FV9PsuJ2PGt0KF6GQFFZv%2Fimage.png?alt=media&amp;token=a32bc5ee-f9fb-4f11-ac71-c9d55f1d319c" alt="" width="375"><figcaption></figcaption></figure>

5. Search for the correct invoice either by **account name** or **invoice number,** click the checkbox next to the invoice and click **Approved selected invoice**.<br>

   <figure><img src="https://1350849115-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MbI5ndB_5fDbdrLXs5c%2Fuploads%2FSl75MGflv1ahgMOyucXo%2Fimage.png?alt=media&amp;token=6aaefb68-45d3-42e3-bbd1-f61640ffd074" alt="" width="375"><figcaption></figcaption></figure>

6. If the payment is for multiple invoices, select the invoices and click **Approve selected invoices**.

7. If a deposit is **not relevant** in Bunny, click **Ignore** in the action menu. This will hide the payment from the default view. Note that you can remove the default filter to see both **Ignored** and **Approved** payments.&#x20;

8. If a payment was approved in error, use **Unapprove** from the action menu to disassociate the payment from the invoice. The invoice will return to either **not due** or **due**, depending on it's original due date.&#x20;

### Synchronization schedule

The synchronization will run daily at 2AM in the timezone configured on the entity.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.bunny.com/guide/tour/billing/bank-transactions.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
