How to Generate ACH Files from QuickBooks Online
Learn how to generate NACHA-compliant ACH files from QuickBooks Online. Step-by-step guide covering manual export and automated tools like BatchPay QB for batch ACH payments.
The Problem: QuickBooks Doesn't Generate ACH Files
QuickBooks Online is excellent at managing invoices, bills, and vendor records. But when it comes time to actually pay those bills via ACH, QuickBooks falls short. There is no built-in feature to generate a NACHA-formatted ACH file that you can upload to your bank.
Most banks accept NACHA ACH files through their online banking portal for batch payments. This is the standard way businesses process payroll, vendor payments, and customer collections electronically. But getting your QuickBooks data into that format requires extra steps.
Intuit offers QuickBooks Payments for individual transactions, but it doesn't support batch ACH file generation. If you want to pay 50 vendors at once by uploading a single file to your bank, you need a third-party tool to bridge the gap between QuickBooks and your bank's ACH portal.
What You Need
Before you can generate ACH files from QuickBooks data, make sure you have the following in place:
- QuickBooks Online account — With active bills, invoices, or payments you want to process via ACH.
- Bank portal that accepts NACHA files — Most commercial bank accounts include an ACH upload feature. Contact your bank to confirm.
- Vendor/customer banking details — Routing numbers, account numbers, and account types for each payee or payer.
- A NACHA file generator — Software that converts your transaction data into the fixed-width NACHA format banks require.
Option 1: Manual Export + Excel
The manual approach involves exporting transaction data from QuickBooks, formatting it in a spreadsheet, and saving it as a fixed-width text file that matches the NACHA specification. Here is what that process looks like:
- Export your open bills or invoices from QuickBooks as a CSV file.
- Open the CSV in Excel or Google Sheets.
- Manually add columns for routing numbers, account numbers, and transaction codes.
- Format each row to match the NACHA Entry Detail record specification (94 characters, fixed-width).
- Create the File Header, Batch Header, Batch Control, and File Control records manually.
- Calculate the entry hash, total debits, total credits, and block count.
- Save as a plain text file with a
.achextension.
Downsides of the manual approach
- • Extremely time-consuming, especially with more than a few transactions
- • High risk of formatting errors that cause your bank to reject the file
- • No built-in validation for checksums, record counts, or hash totals
- • Easy to introduce duplicate payments or wrong amounts
- • Must be repeated from scratch every payment cycle
The manual method works in theory, but it is impractical for regular use. A single misplaced character in the 94-character record format can cause the entire file to be rejected by your bank.
Option 2: Use BatchPay QB
BatchPay QB connects directly to your QuickBooks Online account and automates the entire ACH file generation process. Here is a step-by-step walkthrough:
Step 1
Connect your QuickBooks Online account
Click "Connect to QuickBooks" and authorize BatchPay QB via Intuit's official OAuth flow. Your QuickBooks credentials are never shared with BatchPay QB.
Step 2
Sync your pending bills and invoices
BatchPay QB automatically imports your open bills, invoices, and payments from QuickBooks. Data stays in sync through real-time webhook updates.
Step 3
Select which transactions to include
Choose the bills or invoices you want to pay in this batch. You can select all pending transactions or pick specific ones. Each transaction shows the vendor name, amount, and due date.
Step 4
Review and confirm banking details
For each payee in the batch, confirm the routing number, account number, and account type. BatchPay QB stores these details so you only need to enter them once per vendor.
Step 5
Configure originator settings
Set your company's originator information: your bank routing number, account number, company name, and company ID. These settings are saved to your originator profile for future batches.
Step 6
Generate the NACHA-compliant .ach file
BatchPay QB creates a fully compliant NACHA file with proper File Header, Batch Header, Entry Detail, Batch Control, and File Control records. All checksums, hash totals, and record counts are calculated automatically.
Step 7
Upload to your bank's ACH portal
Download the .ach file and upload it to your bank's online ACH portal. The file is formatted to meet NACHA specifications, so your bank should accept it without issues.
Step 8
Transactions auto-marked as paid
Once a transaction is included in a generated ACH file, BatchPay QB marks it as "used" so you don't accidentally include it in another batch. This prevents duplicate payments.
Key Features for QuickBooks Users
BatchPay QB is purpose-built for businesses that use QuickBooks Online and need to process ACH batch payments. Here are the features that matter most:
| Feature | Description |
|---|---|
| Real-time QB sync | Bills, invoices, vendors, and customers stay up to date automatically via OAuth and webhooks. |
| Multi-company support | Connect multiple QuickBooks companies and switch between them. Each company has its own originator profile and entity data. |
| AI-powered bill upload | Upload PDF bills and let AI extract vendor name, amounts, dates, and line items. Review the extracted data and push the bill directly to QuickBooks. |
| Collect payments (ACH debit) | Create debit entries from your outstanding invoices to collect payments from customers. Supports WEB and PPD entry class codes. |
| NACHA validation | Every file is generated with proper 94-character records, hash totals, batch controls, and block padding. No manual formatting required. |
Setting Up Banking Details
To include a vendor or customer in an ACH batch, you need their banking information on file. QuickBooks Online does not store bank routing and account numbers, so you will need to collect this information separately.
BatchPay QB provides a dedicated Bank Setup page where you can store banking details for each vendor, customer, and employee. The information you need for each entity:
- Routing number — The 9-digit ABA routing number for the payee's bank.
- Account number — The payee's bank account number (up to 17 digits).
- Account type — Checking or savings. This determines the transaction code in the NACHA file.
- Bank name — Optional, but helpful for your own records.
Once saved, banking details are reused every time you include that vendor in a batch. You only need to enter them once. If a vendor changes banks, you can update their details from the Bank Setup page at any time.
Frequently Asked Questions
Can QuickBooks Online generate NACHA ACH files natively?
No. QuickBooks Online does not have built-in functionality to create NACHA-formatted ACH files. You need a third-party tool like BatchPay QB to generate compliant .ach files from your QuickBooks data.
What information do I need from vendors to create an ACH payment?
You need each vendor's bank routing number (ABA number), bank account number, account type (checking or savings), and the legal name on the account. BatchPay QB lets you store these details securely alongside your QuickBooks vendor records.
Is it safe to connect QuickBooks Online to BatchPay QB?
Yes. BatchPay QB uses Intuit's official OAuth 2.0 flow. Your QuickBooks username and password are never shared with BatchPay QB. You can revoke access at any time from your Intuit account settings.
What ACH entry class codes does BatchPay QB support?
BatchPay QB supports CCD (Corporate Credit or Debit) for business-to-business payments and PPD (Prearranged Payment and Deposit) for payments to individuals. WEB entries are supported for collecting payments.
How long does it take to generate an ACH file from QuickBooks?
Once your QuickBooks account is connected and vendor banking details are saved, you can generate a NACHA-compliant ACH file in under a minute. Select your transactions, confirm the details, and download the file.
Get Started with BatchPay QB
Stop manually formatting ACH files. Connect your QuickBooks Online account and generate your first NACHA file in minutes.
Start Free TrialRelated Articles
NACHA File Format Examples
Detailed breakdown of the NACHA ACH file format with annotated examples for each record type.
CCD vs PPD: ACH Entry Class Codes Explained
Understand the difference between CCD and PPD entry class codes and when to use each one.
ACH SEC Codes Guide
Complete guide to Standard Entry Class codes used in ACH transactions.