ACH [Beta]


Private beta

We're pleased to announce the launch of our ACH private beta. If you want to help us test this feature so we can make it available to everyone, get in touch to take part!

What is ACH?

Automatic Clearing House (ACH) is a computer-based network for transferring money between bank accounts in the United States operated by Nacha. Also known as 'Direct debits' or Direct payments', ACH payments are another way to move money from one bank account to another, without paying offline with cash or cheques, or using a credit card payment.

At the moment Billsby will only be supporting direct debit payments for ACH through Stripe. We intend to add support for more direct debit schemes in the near future.

Configuring ACH in Billsby


Please note

ACH is only available to customers as a payment method once your Billsby account is Live. ACH test transactions cannot be simulated using our pre-live sandbox payment gateway.

To set up ACH in your Billsby account, you'll need to add Stripe payment gateway, navigate to the Settings > Configuration > Payment gateways menu. Then, click the '+' button next to the Stripe gateway on the right-hand side of the screen, and select the Connect with Stripe button.


This will redirect you to Stripe and commence the OAuth process. Now you'll need to connect your Billsby account with Stripe.



ACH transfers are only supported between US bank accounts, so you'll need a US-based Stripe account to issue an ACH direct debit payment in Billsby.

If you don't have an account with Stripe already, then you will need to create one. You can create a new account or log in to an existing one during this process. After that, you will need to authorize Billsby access to your account.

Once you've completed those steps you will be redirected back to Billsby where you can give your new gateway a display name, and add it to your list of payment gateways by clicking the Save gateway changes button.


Linking your currencies

After you've saved your gateway, you'll need to link it to a currency before you can start using it for payments. Navigate to the Configuration > Currencies menu. For the USD currency you will have the option to assign a payment gateway for Credit Card payments, and for ACH payments.


To start charging customers using ACH payments, click the ACH field and select your US based Stripe payment gateway. Once you've linked your gateway, click the Save gateway link button.



Once you've mapped ACH to a gateway you will not be able to change this. We will be releasing a solution to this in the coming months.

Charging customers using ACH

Unlike a credit card payment, an ACH direct debit payment requires you to first get permission from the customer to take payments before charging a debit to their bank account. Getting permission is done using a mandate, so this can't be done on a customer's behalf. They must agree to the payment terms specified in the mandate before any money can be collected from their bank account. A mandate form is automatically presented to your customers for your company during the checkout process.


When a customer checks out a subscription to your product using the self-service checkout modal, they'll have the option to pay by setting up an ACH mandate, or if you add a new customer in the Billsby control panel, you can send them an ACH mandate request.
Customers can update their existing ACH payment details by sending them a mandate request in the Billsby control panel.


You'll even be able to find customers using specific payment methods like ACH direct debit quickly and easily by filtering your customers table by 'payment method.'


ACH payment process

When an invoice charge has recently been issued and is still pending on the customer's account, we will show it's status as 'pending'. We batch our invoices so that they are run every five minutes at 00:00, 00:05, 00:10, and so on. You may find that an invoice has the 'pending' status for up to five minutes. After that, the status of an invoice being paid by ACH direct debit will change to 'clearing'.


An ACH direct debit payment it can take up to four business days from the time the invoice was created (Cut-off time 24:00 UTC) to be settled by the customer's bank. After the invoice has been settled, we'll update the status to either 'Paid' or 'Unpaid' depending on the response from the customer's bank.

Since an ACH direct debit payment can take several days to clear, the customer and their subscription will be created as soon as they check out. A subscription will remain active unless an 'unpaid' invoice initiates the dunning flow, causing a subscription suspension or cancellation. Invoices being in a โ€˜clearingโ€™ state will never affect the subscription status.

Beta limitations

There are a few limitations to note with the ACH beta which are as follows:


At the moment we do not support refunding a payment made through ACH direct debit. However, we intend to implement this support shortly. In the meantime, any refunds should be handled directly through your payment gateway. You can find more information on refunding ACH payments in Stripe's documentation here.


Unlike credit card payment disputes, all ACH direct debit disputes are final and there is no process to appeal. If a customer successfully disputes a payment, you must work with them directly to resolve the situation. Currently, you cant handle ACH disputes through Billsby.
The ACH network allows 60 days for consumers to contest a debit. Business accounts only have 2 business days, however there is no way to be sure if the account is a business or personal account.

Any ACH direct debit disputes should be resolved between you and the customer directly through your Stripe payment gateway. You can find more information on Stripe ACH disputes in their documentation here

Swapping payment method

Once a payment method has been added for a customer, they won't be able to swap. For example, if your customer's payment method is ACH direct debit, they won't be able to change to paying by credit card and vis versa. We'll be adding support for this in a coming update, however to swap a customer's payment method in the meantime, you'll have to create a new customer profile and add their desired payment method.

Micro deposit verificaion

Before a customer can accept an ACH direct debit payment or transfer, their bank account must be verified. Stripe does this using Financial Connections, allowing customers to authenticate their account directly from our self-service modals.
Micro-deposit verification can be used as an optional fallback method for verifying a customer's bank account. This method involves depositing a small amount into the customer's bank account with a unique 6-digit descriptor code. These micro-deposit transfers can take 1-2 business days to appear in a customer's bank account. They will then provide the code to Stripe so that their account details can be verified. You can read more about ACH micro-deposits in Stripe's support documentation.

Currently we don't support micro-deposit verification, however we will be implementing support for this shortly.

Planned improvments

As well as resolving the limitations listed above, we've already got a few planned improvements in the works including:

  • Adding transaction logs support for ACH direct debit payments
  • Updating ACH details using the self-service account management modal
  • Customizable email notifications for ACH direct debit failed payments


Got any feedback?

Help us make this feature available to everyone by reaching out and taking part in the ACH beta. If you're taking part in the beta and think you've found any bugs or got any feedback for us, get in touch!


How are ACH direct debit payment failures handled?
When an ACH payment is requested, we wait for the transaction to be processed by the customer's bank. Once we get a response that the bank has declined the payment, your customer will enter the regular declined payments dunning flow. If your company is planning to accept ACH direct debit payments, remember that they can take up to four business days from the time the transaction was created to be processed with the customer's bank. When configuring your dunning settings, make sure you leave the bank adequate time to process each one.

We'll replace the current dunning flow emails with a set of bespoke ones, informing your customer of the failure and letting them re-request the payment, or update their mandate details.

Can I issue a refund for an ACH payment?
At the moment we do not support refunding a payment made through ACH direct debit. However, we intend to implement this support shortly. In the meantime, any refunds should be handled directly through your payment gateway.

Can I configure my account so that customers can only pay by ACH direct debit?
At this time we only support adding the option to pay by ACH direct in addition to paying by credit card. You won't be able to configure your account so that a customer can only pay by setting up an ACH mandate, or only pay by providing regular credit card details.

Can I change a customer's payment method to ACH direct debit ?
When a customer has set up an ACH mandate, they will not be able to switch over to using credit card payments as their new payment method. Similarly, a customer who pays via credit card payment will not be able to switch and set up an ACH mandate.
To do this, a new customer profile must be created.