# Bank transfer reconciliation

Bank transfer is an asynchronous push payment method. Customers can push money from their own online bank interface or in-person bank branch to a virtual bank account number (VBAN) that Stripe creates. By default, Stripe applies the automatic reconciliation mode to the cash balance of all of your customers, which means that Stripe automatically attempts to reconcile these bank transfers to the closest matching invoices when they’re received. If we can’t automatically reconcile a transfer, it remains in the customer balance until you manually reconcile it. This method allows you to accept bank transfers without exposing your own bank details.
See our [Bank transfers](https://docs.stripe.com/invoicing/bank-transfer) documentation for more details.
### What are the different reconciliation methods?
**Automatic reconciliation (default)**
When your customer makes a purchase, we create an open PaymentIntent and assign the customer a VBAN. When the customer sends funds to the VBAN, we allocate the money to the customer cash balance, then attempt to match the funds against any open PaymentIntents or Invoices for the customer. If we find an appropriate match, we will reconcile the funds to the open payment intent / invoice and transfer the funds to your balance
For the hierarchy of matching criteria to aid in application of funds, refer to the [detailed breakdown per region](https://docs.stripe.com/payments/customer-balance/reconciliation#cash-automatic-reconciliation).
Manual reconciliation
As with automatic reconciliation, when a customer makes a purchase, we create an open PaymentIntent and assign the customer a VBAN. When the customer sends funds to the VBAN, we allocate the funds to the customer cash balance for the individual, and **do not** attempt to match them against the open PaymentIntent.
### How to change reconciliation mode?
The reconciliation mode is set at the level of an individual customer and can be changed using the API via the parameter cash_balance.settings.reconciliation_mode, or via the Dashboard.
Learn how to [update the reconciliation mode via the API](https://stripe.com/docs/api/customers/update#update_customer-cash_balance-settings-reconciliation_mode).
To change the reconciliation mode via the Dashboard:
1. From the customer’s page, under the **Payment methods** section, find the **Cash Balance** segment
1. From the three-dot menu select **Change reconciliation mode**
### How do I manually reconcile a customer’s cash balance?
When manual reconciliation is enabled on a customer, Stripe does not automatically apply any funds from the customer balance.
To fund a PaymentIntent from the Payments page:
1. Navigate to the payment to be funded
1. From the three-dot menu click **Fund from cash balance**
1. A prompt will appear for the user to confirm the payment
To fund a PaymentIntent from the page for the individual payment, click **Fund from cash balance**. If the option isn’t available on either page, the customer doesn’t have sufficient funds on their cash balance to fully pay the invoice.
### Why are funds automatically returned from the cash balance?
Funds might remain unreconciled in a customer balance, for example, if a customer sends excess funds and there are no open invoices or payment intents. If a customer balance is unreconciled for **75 days**, Stripe automatically attempts to return the funds to the customer’s bank account. When Stripe doesn’t have the customer’s account information, Stripe might reach out to the customer directly to initiate a refund of unreconciled funds. If Stripe is unable to determine the customer’s account information by the **90 day** mark, we sweep the unreconciled funds to your Stripe account balance. Coordinate directly with the customer to make sure they receive the returned funds.
See the full list of customers who have unreconciled cash balances and the date that we’ll return them to the customer in your [Dashboard](https://dashboard.stripe.com/test/customers?tab=remaining_balance).