The quick answer
Direct debit runs through the Electronic Bank Payments SuiteApp. The setup has to line up in three places: a company bank record with a DD Template, a customer with Direct Debit checked, and an active Primary entity bank detail on that customer in the same payment file format. Then go to Payments > Payment Processing > Invoice Payment Processing, pick the bank and the A/R account, enter a DD file reference note, mark the invoices and click Submit. NetSuite queues the run and opens its Payment File Administration record. Refresh it until File Processed? reads Processed. Its Payments subtab then lists the customer payments the run created, and File Reference holds the bank file. NetSuite doesn't send that file to the bank. You upload it through the bank's own channel.
The screenshots show sample data. Person and operating-company names are fictional. Use your own records and values when following the steps.
Before you start
The Electronic Bank Payments SuiteApp has to be installed. In this account it adds the Payments center tab used below. The role running the debit needs the SuiteApp's payment permissions and access to the company bank, the customers and the A/R account. In OneWorld that includes the bank's subsidiary and the customers' subsidiaries. The account also needs the payment file format your bank takes. This example uses ACH - PPD, the US format for debits from consumer accounts. Confirm the bank's exact file requirements before you send a real file. The posting period you use has to be open.
Get a signed direct debit authorization from each customer before you debit them, and keep it on file under your own controls. Checking Direct Debit on the customer is a setting, not proof that the customer agreed.
The example uses the Administrator role. Pinecrest Physical Therapy has agreed to direct debit and owes two invoices: INV30412 for 1,250.00 and INV30455 for 640.00.
01. Check the company bank's DD template
Go to Payments > Setup > Bank Details. The Company Bank Details List shows each bank record the SuiteApp can use. Here there are two. Operating Checking has only an EFT Template, which is for paying vendors. Collections Checking has DD Template ACH - PPD, so it's the bank that can collect direct debits.
Click View on Collections Checking. GL Bank Account links the record to the Collections Checking account, which sets Subsidiary and Currency. File Cabinet Location, 418 here, is the internal ID of the File Cabinet folder where NetSuite stores the generated files. DD Template is ACH - PPD.
Open the DD Template Details (ACH - PPD) subtab. It holds the values the bank gives you for this format. Here Immediate Origin and Company ID are 4830019276, Routing Number is 073190042 and Immediate Destination Name is Tidewater Community Bank. In this template, Federal Reserve Routing Symbol (0731), ABA Institution Identifier (9004) and Check Digit (2) repeat parts of the routing number. Other formats ask for other fields. Create Balanced Files adds an offsetting entry to the file and Add Pad Blocks pads it to full blocks. Both are off here. Ask the bank which it needs.
02. Check the customer's direct debit setup
Go to Lists > Relationships > Customers and open Pinecrest Physical Therapy. On the Bank Payment Details (Debit) subtab, Direct Debit is checked. Entity Bank Details has one row: Type Primary, Payment File Format ACH - PPD. That's the same format as the company bank's DD Template, and it has to be. The processing page debits the customer's primary bank detail. If the format doesn't match, the bank detail or customer is inactive, or the customer doesn't fit the bank's subsidiary and currency, its invoices won't show up there at all.
Click Edit on that row to see the bank detail itself: Payment File Format ACH - PPD, Type Primary, Bank Account Number 5561902847, Bank Number 081904417 and Bank Account Type Checking. Processor Code (0819), Bank Code (0441) and Country Check (7) filled in from the bank number. The fields on this form depend on the payment file format. Nothing needs changing, so click Cancel.
03. Select the invoices to debit
Go to Payments > Payment Processing > Invoice Payment Processing. The page is titled DD - Invoice Payments, and its transaction list stays empty until you pick a bank and an A/R account. In Bank account, choose Collections Checking. Bank account format fills in as ACH - PPD, along with Maximum payments in file, Subsidiary and the currencies.
In A/R Account, choose 1200 Accounts Receivable. Select Transactions now lists Pinecrest Physical Therapy's two open invoices: INV30412 with 1,250.00 remaining and INV30455 with 640.00. Use the filters for transaction type, due dates, amounts, customer, department, class or location when the list is long.
Set Date to be processed to the date the bank should debit the customer, and pick an open Posting period. This example keeps 09/28/2026 and Sep 2026. In DD file reference note, type Sept 28 debit run. It's saved as the Reference Note on the payment file record. Check AGGREGATE BY PAYEE so invoices for the same customer, currency and bank detail become one payment instead of one per invoice. Then check Pay on both invoices. Payment Amount fills with the amount remaining on each, 1,250.00 and 640.00. You can lower it for a partial debit. Number of Transactions reads 2 and Total Payment Amount reads 1,890.00.
04. Submit and follow the payment file
Click Submit. NetSuite queues the run and opens its Payment File Administration record, 00000021 here. Payment Type is DD, Bank Account is Collections Checking, File Processed? is Queued, and Reference Note is the note you typed. Aggregation Method reads Entity.
Click Refresh. In the example, File Processed? moves to Processing Payments and Status Summary shows Marked Transactions: 2. Click Refresh again. It reads Processed. Status Summary shows Marked Transactions: 2 and Paid Transactions: 2, so nothing was left unpaid. Total Amount Paid is 1,890.00 and File Reference shows 00000021.txt with download and Edit links. In this run, Rollback, Reverse Payments, Email Payment Notification and Recreate File now sit on the button bar. A run can also stop with errors or leave transactions unpaid. Status Summary is where that shows, so read it before you upload anything.
Scroll to the Payments subtab. It lists one payment, 00000021/1, for Pinecrest Physical Therapy, 1,890.00. Both invoices belong to the same customer, currency and bank detail, so Aggregate by Payee made them one payment. Check this subtab rather than assuming the payments exist the moment you click Submit.
05. Open the ACH file
Under File Reference, click Edit next to 00000021.txt. The file is in ACH format: a file header with Tidewater Community Bank's routing number and the company ID, a PPD batch header, one debit entry for 1,890.00 (0000189000) to Pinecrest Physical Therapy's account, and the batch and file control records. There's one entry because the run made one aggregated payment. Create Balanced Files or addenda would add records. This is the file you upload through the bank's portal. Click Cancel to go back to the payment file record.
06. Check the customer payment
On the Payments subtab, click 00000021/1. The payment for Pinecrest Physical Therapy has Account 1025 Collections Checking, Date 09/28/2026 and Memo 00000021/1. In this run the payment number and memo carry the payment file's ID, which ties the payment back to the file. Confirm how your account numbers these payments before you reconcile on it.
Check the result (example values)
- Payment File Administration 00000021 reads Processed, with Marked Transactions: 2 and Paid Transactions: 2.
- Total Amount Paid is 1,890.00 and File Reference shows 00000021.txt.
- The Payments subtab has one payment, 00000021/1, for Pinecrest Physical Therapy, 1,890.00.
- The payment applies 1,250.00 to INV30412 and 640.00 to INV30455, with 0.00 unapplied.
Both invoices are paid in NetSuite, but the bank hasn't collected anything yet. That happens after you upload the file. If something's wrong with the run, fix it from the payment file record rather than deleting payments one by one. Recreate File builds the file again, for example after a format correction. Keep a copy of the original if you need it for audit. Rollback cancels the run's payments, but only for about 24 hours after the file is generated and before the bank has processed it. Credits already applied can stay applied. Reverse Payments reverses some or all of the payments with reversal transactions, subject to open periods and permissions. If the bank has already processed the file, talk to the bank first.
Common questions
Why doesn't an invoice appear on the direct debit page?
Check the setup in order. The company bank needs a DD Template, and you have to pick both the bank and the A/R account before anything lists. The customer needs Direct Debit checked and an active Primary bank detail in the same format as the bank's DD Template. The invoice has to be open, post to the chosen A/R account, and fit the bank's subsidiary and currency. Then clear any filters on due date, amount or customer.
What does Aggregate by Payee do?
It groups the invoices you mark into one customer payment per customer, currency and bank detail. In the example, 1,250.00 and 640.00 became one payment of 1,890.00 and one debit entry in the file, and the payment still applies each invoice separately. Leave it cleared if you want one payment per invoice. It's also required when discounts or credits are part of the run.
Does NetSuite send the file to the bank?
No, not in the standard workflow. NetSuite stores the file in the File Cabinet folder set on the company bank record, and File Reference on the payment file record lets you download it. You upload it through the bank's own channel, unless your account has a bank integration that sends it for you.
How do I match a customer payment to its payment file?
Start from the payment file record. Its Payments subtab lists every payment the run created. In this run the payment number and Memo are 00000021/1, which carries the payment file's ID. Check how your account numbers these payments before you rely on that in reconciliation.
What's the difference between Rollback and Reverse Payments?
Rollback cancels the run's payments. It's only available for about 24 hours after the file is generated and before the bank has processed it. Reverse Payments still works after that window. It creates reversal transactions for some or all of the run's payments, so it needs an open period and the right permissions.
Can I debit less than the full invoice amount?
Yes. After you check Pay, lower that invoice's Payment Amount before you submit. The payment applies only that amount, the rest of the invoice stays open, and Total Payment Amount drops to match.
What is Payments > Global Payments > Invoice Payment Processing?
Some accounts have a second version of the page under Global Payments. It works the same way, and its aggregation option is labeled Aggregate By Payee and Entity Bank. This guide uses the Payments > Payment Processing page, titled DD - Invoice Payments.