Overview
NetSuite's Electronic Bank Payments (EBP) SuiteApp enables organizations to automate the generation of bank payment files for vendor payments, employee expenses, customer refunds, and customer collections.
Key Capabilities
NetSuite's Electronic Bank Payments (EBP) SuiteApp enables organizations to automate the generation of bank payment files for vendor payments, employee expenses, customer refunds, and customer collections. Instead of manually entering payment information into your bank's portal, you generate standardized files that can be uploaded directly.
- EFT (Electronic Fund Transfer) - Pay vendors, employees, and partners electronically
- Direct Debit (DD) - Collect payments from customers by debiting their bank accounts
- Positive Pay (PP) - Generate check verification files for fraud prevention
- Payment Notifications - Automatically notify payees when payments are processed
- Bank Reconciliation - Import and match bank statements (BAI2, OFX, CAMT.053)
Electronic Bank Payments generates payment files in formats your bank understands (NACHA, ISO 20022, etc.). NetSuite does not process payments directly - you must download the generated file and upload it to your bank's payment portal for actual fund transfer.
Supported File Formats
| Format | Region | Use Case |
|---|---|---|
| ACH - CCD/PPD (NACHA) | US | Standard vendor/employee payments |
| ACH - CTX | US | Payments with extended remittance info |
| SEPA Credit Transfer (pain.001) | EU | Euro-zone vendor payments |
| SEPA Direct Debit (pain.008) | EU | Euro-zone customer collections |
| ISO 20022 | INTL | International wire transfers |
| BAI2 | US | Bank statement import/reconciliation |
Prerequisites & Installation
Required features, bundle installation, and initial configuration for Electronic Bank Payments.
Required Features
Before installing EBP, enable these features in your NetSuite account:
- Accounting Tab: Multi-Currency (if paying in multiple currencies)
- Transactions Tab: Advanced PDF/HTML Templates (required for custom notifications)
- SuiteCloud Tab: Client SuiteScript, Server SuiteScript
Bundle Installation
Tutorial: Installing Electronic Bank Payments
Install the License Client
Navigate to Customization > SuiteBundler > Search & Install Bundles
Search for Bundle ID: 116144 (NetSuite SuiteApps License Client)
Click Install. This manages your EBP license.
Install Electronic Bank Payments
Search for Bundle ID: 533070 (Electronic Bank Payments)
Alternative free bundle: 308852 (basic NACHA functionality only)
Click Install and accept the terms.
Configure Preferences
Navigate to Payments > Setup > Electronic Payments Preferences
Configure your default settings for payment processing.
Verify Installation
Navigate to Payments > Setup > Payment File Templates
You should see standard templates for ACH, SEPA, and other formats.
The free bundle (308852) provides basic NACHA file generation. For advanced features like custom templates, ISO 20022, Direct Debit, and enhanced notifications, you need an Electronic Bank Payments license. Contact your NetSuite account manager.
Roles & Permissions
Required permission sets for EBP functions and segregation of duties best practices.
EBP requires specific permissions for different functions. Here are the key permission sets:
| Permission | Level | Description |
|---|---|---|
| Electronic Bank Payment Files | Full | Generate and manage payment files |
| Payment Approval | Full | Approve payment batches |
| Bank Details | Full | Create/edit company and entity bank records |
| Payment File Templates | View/Full | View or modify payment file templates |
| Electronic Payments Preferences | Full | Configure system-wide EBP settings |
For proper internal controls, separate the roles of payment creator (who initiates payment batches) from payment approver (who authorizes them). This prevents a single person from creating and approving payments.
Setting Up Company Bank Details
Company bank details define your organization's bank accounts from which payments will be made. This is the foundation of your EBP configuration.
Creating a Company Bank Record
Navigate to Bank Details
Select "Company" as the entity type if prompted.
Enter Basic Information
Name: A descriptive name (e.g., "Operating Account - Wells Fargo")
GL Bank Account: Select the corresponding bank account from your Chart of Accounts
The subsidiary and currency will auto-populate based on the GL account.
Configure Bank Identification
Bank Name: Your bank's official name
Routing Number (ABA): 9-digit routing/transit number
Account Number: Your account number
Account Type: Checking or Savings
Configure EFT Template Details
On the EFT Template Details subtab:
Bank File Template: Select your payment format (e.g., ACH - CCD/PPD)
Company ID: Usually "1" + your EIN (e.g., 1123456789)
Immediate Origin: Typically same as Company ID
Immediate Destination: Your bank's routing number
Configure Positive Pay (Optional)
On the Positive Pay Template Details subtab:
Bank File Template: Select your bank's Positive Pay format
Account Number: May require leading zeros (check bank requirements)
Save the Record
Click Save. Your company bank is now ready for payment processing.
Always create company bank records using the Payments > Setup > Bank Details page. Do NOT create them via SuiteScript APIs or CSV Import - this can cause validation and field sourcing issues.
NACHA File Field Reference
| Field | Format | Description |
|---|---|---|
| Immediate Origin | 10 characters | Typically "1" + Company Tax ID (no dashes) |
| Immediate Destination | 10 characters | Bank routing number with leading space |
| Company ID | 10 characters | "1" + EIN (provided by your bank) |
| Company Name | 16 characters | Your company name (truncated if longer) |
Configuring Vendor Bank Details
Each vendor (or employee/partner) who will receive electronic payments needs bank details configured on their record.
Adding Bank Details to a Vendor
Open the Vendor Record
Find and edit the vendor you want to configure for electronic payments.
Set the Default Payables Account
Go to the Financial subtab.
Set the Default Expense Account or Default Payables Account.
The Default AP Account MUST be set for EFT payments to work. This is the most common setup error.
Navigate to Electronic Payments
Click the Electronic Payments subtab on the vendor record.
Click New Bank Detail to add a bank account.
Enter Bank Information
Name: Descriptive name for this bank account
Bank Name: Vendor's bank name
Routing Number: 9-digit ABA routing number
Account Number: Vendor's account number
Account Type: Checking or Savings
Payment File Template: Must match your company bank template
Configure Email for Notifications
On the vendor's main record, locate the Email Address for Payment Notification field.
Enter one or more email addresses (separate multiple addresses with semicolons).
Maximum: 300 characters
Save the Vendor Record
Click Save. The vendor is now configured for electronic payments.
For many vendors, use CSV Import with record type "Bank Detail" (not "Entity Bank Detail"). This allows you to import bank information for multiple vendors at once. Include the internal ID of each vendor in your import file.
Generating NACHA/ACH Payment Files
Complete process of paying vendor bills via ACH, from bill approval to file generation.
NACHA (National Automated Clearing House Association) is the US standard for ACH payments. Common formats include:
- CCD (Cash Concentration or Disbursement) - B2B payments
- PPD (Prearranged Payment and Deposit) - Employee/individual payments
- CTX (Corporate Trade Exchange) - Payments with extended remittance data
End-to-End ACH Payment Process
Ensure Bills Are Approved
ACH payments can only be generated for approved vendor bills.
Verify bills have Approval Status = "Approved" before proceeding.
Create a Bill Payment Batch
Or: Payments > Pay Bills (Electronic)
Configure Batch Settings
Bank Account: Select your company bank account
Processing Date: The date the bank should process the payment (typically next business day)
Subsidiary: If applicable, select the paying subsidiary
Select Bills to Pay
The system displays all approved bills with EFT-enabled vendors.
Check the boxes next to bills you want to include in this payment batch.
Tip: Use filters to narrow by due date, vendor, or amount.
Review Aggregation Setting
Aggregate by Payee:
- Checked = One payment per vendor (combines multiple bills)
- Unchecked = One payment per bill (separate transactions)
Most organizations prefer aggregated payments to reduce bank fees.
Submit for Approval
Click Create Batch or Submit.
If approval routing is enabled, approvers receive email notifications.
Approve the Batch
Open the pending batch and click Approve.
Bills are marked as "Paid" once the batch is approved and processed.
Download the Payment File
Locate your batch and click Refresh to complete processing.
Click the link in the File Reference field to download the NACHA file.
Upload to Your Bank
Log into your bank's business portal and navigate to ACH/Wire upload.
Upload the downloaded .txt or .ach file.
Review the batch in your bank portal and authorize if required.
Send Payment Notifications (Optional)
From Payment File Administration, click Send Email Notification.
See Tutorial 4 for detailed notification configuration.
Starting 2021, NACHA requires sensitive data protection. Enable encryption in NetSuite:
Check the Apply NACHA Rules box (Administrator role required). This encrypts ACH account numbers in storage and hides them in view mode.
Sending Payment Notifications
Configure and send payment notifications to vendors, employees, and customers when electronic payments have been processed.
Configuring Payment Notification Settings
Access Electronic Payments Preferences
Click Edit to modify the settings.
Configure Email Notification Settings
Navigate to the Email Notification subtab.
Enable Email Notification: Check this box
Vendor Payment Template: Select "Standard Vendor Payment" or your custom template
Customer Payment Template: Select "Standard Customer Payment" for refund notifications
Employee Payment Template: Select template for expense reimbursements
Set the Return Email Address
From Email Address: Enter the email address that notifications should come from
Example: payments@yourcompany.com
This email must be configured as an authorized sender in your NetSuite account.
Configure CC/BCC Options (Optional)
CC Email: Additional recipients for all notifications
BCC Email: Hidden recipients (useful for AP department records)
Save Preferences
Click Save to apply your notification settings.
Sending Notifications After Payment Processing
Navigate to Payment File Administration
Locate the processed payment batch you want to notify on.
Open the Payment File Record
Click on the payment file to open the record details.
Verify the file status is "Processed" before sending notifications.
Send Email Notifications
Click the Send Email Notification button.
NetSuite will send emails to all payees with configured email addresses.
Verify Notification Status
The Payment File Administration record shows notification status.
Check the Email Notification Sent column to confirm delivery.
To send notifications to multiple people at a vendor, enter multiple email addresses
in the Email Address for Payment Notification field on the entity record,
separated by semicolons. Example: ap@vendor.com;cfo@vendor.com
Standard Email Template Content
The default "Standard Vendor Payment" template includes:
- Payment amount and currency
- Payment date (effective date)
- Payment reference/transaction number
- List of invoices/bills included in the payment
- Your company name and address
Customizing Email Templates
Customize payment notification emails with additional information, branding, or PDF attachments.
NetSuite email templates use FreeMarker template language for merge fields. You can also create Advanced PDF/HTML Templates for formatted PDF attachments.
Creating a Custom Payment Notification Template
Navigate to Email Templates
Configure Template Settings
Name: Give your template a descriptive name (e.g., "Custom Vendor Payment Notification")
Subject: Email subject line - can include merge fields
Example: Payment Notification: ${payment.tranid} - ${payment.total}
Design the Email Body
Use the rich text editor or switch to HTML mode for full control.
Include merge fields using FreeMarker syntax: ${fieldname}
Save and Test
Save the template and test with a sample payment.
Update the Electronic Payments Preferences to use your new template.
Common Merge Fields for Payment Notifications
Payment Record Fields:
${payment.tranid} - Payment transaction number
${payment.trandate} - Payment date
${payment.total} - Payment amount
${payment.currency.symbol} - Currency symbol
${payment.memo} - Payment memo
Payee (Vendor) Fields:
${entity.entityid} - Vendor ID
${entity.companyname} - Vendor company name
${entity.email} - Vendor email
Company Fields:
${companyinformation.companyname} - Your company name
${companyinformation.address1} - Company address
${companyinformation.city} - Company city
${companyinformation.state} - Company state
${companyinformation.zip} - Company ZIP
Applied Transactions (Bills Paid):
<#list payment.apply as applied>
${applied.doc} - Bill/Invoice number
${applied.total} - Bill amount
${applied.amount} - Amount applied
</#list>
Sample Custom Template
<html>
<body style="font-family: Arial, sans-serif;">
<div style="max-width: 600px; margin: 0 auto;">
<h2 style="color: #059669;">Payment Confirmation</h2>
<p>Dear ${entity.companyname},</p>
<p>We have processed a payment to your account with the following details:</p>
<table style="width: 100%; border-collapse: collapse; margin: 20px 0;">
<tr>
<td style="padding: 8px; border: 1px solid #ddd;"><strong>Payment Reference:</strong></td>
<td style="padding: 8px; border: 1px solid #ddd;">${payment.tranid}</td>
</tr>
<tr>
<td style="padding: 8px; border: 1px solid #ddd;"><strong>Payment Date:</strong></td>
<td style="padding: 8px; border: 1px solid #ddd;">${payment.trandate}</td>
</tr>
<tr>
<td style="padding: 8px; border: 1px solid #ddd;"><strong>Amount:</strong></td>
<td style="padding: 8px; border: 1px solid #ddd;">${payment.currency.symbol}${payment.total}</td>
</tr>
</table>
<h3>Invoices Included in This Payment:</h3>
<table style="width: 100%; border-collapse: collapse;">
<tr style="background: #f0f0f0;">
<th style="padding: 8px; border: 1px solid #ddd; text-align: left;">Invoice #</th>
<th style="padding: 8px; border: 1px solid #ddd; text-align: right;">Amount</th>
</tr>
<#list payment.apply as applied>
<tr>
<td style="padding: 8px; border: 1px solid #ddd;">${applied.doc}</td>
<td style="padding: 8px; border: 1px solid #ddd; text-align: right;">${applied.amount}</td>
</tr>
</#list>
</table>
<p style="margin-top: 20px;">
Please allow 2-3 business days for the funds to appear in your account.
</p>
<p>If you have questions, contact us at accounts.payable@yourcompany.com</p>
<p>Thank you for your business,<br>
${companyinformation.companyname}</p>
</div>
</body>
</html>
Adding PDF Attachments
To include a formatted PDF remittance advice with your email notification:
Enable Advanced PDF/HTML Templates
Check Advanced PDF/HTML Templates
Create or Customize PDF Template
Customize the "Vendor Payment" or "Bill Payment" template.
Link to Email Template
In your email template, check Attach Transaction PDF.
The system will automatically generate and attach the PDF.
Standard EBP email templates are stored in the File Cabinet under:
To modify standard templates, copy them to a new location and edit the copy. Never modify files in the SuiteBundles folder - they may be overwritten during upgrades.
Direct Debit Customer Collections
Pull funds directly from customer bank accounts to settle outstanding invoices, common for subscription businesses and recurring services.
Direct debit requires a signed authorization from the customer (often called a "Direct Debit Mandate" or "ACH Authorization Form"). Ensure you have this documentation before processing any debits.
Setting Up Direct Debit
Configure Customer Bank Details
Edit the customer record and navigate to Electronic Payments subtab.
Click New Bank Detail and enter the customer's bank information.
Payment File Template: Select a Direct Debit template (e.g., ACH - PPD for US)
Set Customer Payment Method
On the customer's Financial subtab:
Default Payment Method: Select "Direct Debit" or "ACH"
Terms: Configure appropriate payment terms
Create Invoices
Create invoices as normal. Invoices for DD-enabled customers will be eligible for direct debit collection.
Process Direct Debit Collection
Or: Payments > Generate Customer Payment Files
Select Invoices to Collect
The system displays eligible invoices for customers with DD bank details.
Select invoices and configure the processing date.
Click Create Batch.
Download and Submit File
After approval, download the DD file from Payment File Administration.
Upload to your bank for processing.
Optionally send customer notifications.
When using SEPA Direct Debit templates, note that NetSuite limits each payment run to 1,500 transactions (vs. 5,000 for other payment types). For larger batches, split into multiple payment files.
Positive Pay Fraud Prevention
Protect your organization from check fraud by providing your bank with a list of issued checks for verification.
Configuring Positive Pay
Verify Company Bank Setup
Edit your company bank record and go to the Positive Pay Template Details subtab.
Select Positive Pay Template
Bank File Template: Select your bank's PP format
Options include: Generic Positive Pay, Bank of America, Wells Fargo, etc.
Configure Account Number Format
Some banks require specific formatting:
- Bank of America: 12 digits with leading zeros
- Wells Fargo: Check bank requirements
Enter the account number exactly as your bank requires.
Save Configuration
Click Save on the company bank record.
Generating Positive Pay Files
Navigate to Positive Pay
Select Check Transactions
The system displays all eligible check transactions.
Select the checks to include in the Positive Pay file.
This typically includes newly issued checks since your last file.
Include Voided Checks
If you've voided any checks, include them in the file.
This tells the bank to reject these check numbers if presented.
Generate and Download
Click Generate File.
Navigate to Payment File Administration to download.
Upload to your bank's Positive Pay portal.
Best practice is to generate and upload Positive Pay files daily after each check run. Most banks require the file to be uploaded before checks are presented. A check presented without being in the Positive Pay file may be automatically rejected or flagged for manual review.
Financial Institution Records Setup
Configure Financial Institution records for bank statement imports, expense report data, and connecting to banks and card providers.
User-Created Records: Manually create Financial Institution records and configure format profiles. Requires the Financial Institution Records permission with Full access level.
SuiteApp Provisioned: Install Bank Feeds or Auto Bank Statement Import SuiteApps to get pre-configured institution records with read-only settings. Enables direct bank connectivity.
Understanding Format Profiles
Each Financial Institution record contains one or more Format Profiles that define how data is imported. A format profile specifies:
- Profile Type: Bank Reconciliation or Employee Expense Reports
- Connectivity Method: Manual upload, SFTP, or direct bank connection
- Transaction Parser: The format parser (BAI2, OFX, MT940, CAMT.053, etc.)
Creating a Financial Institution Record
Navigate to Financial Institutions
Enter Institution Details
Name: Bank or card company name (e.g., "Wells Fargo", "American Express Corporate")
URL: Institution's website (optional, for reference)
Inactive: Leave unchecked
Save the Record
Click Save. You must save before adding format profiles.
Adding a Bank Reconciliation Format Profile
Access Format Profiles
View the Financial Institution record.
Go to the Format Profile: Configuration subtab.
Click Add.
Configure Profile Settings
Name: Descriptive name (e.g., "Wells Fargo - BAI2 Import")
Profile Type: Bank Reconciliation
Connectivity: File-Based (for manual upload) or SFTP
Transaction Parser: Select the appropriate format:
- BAI2: US bank standard
- OFX: Open Financial Exchange
- MT940: SWIFT format (international)
- CAMT.053: ISO 20022 standard
Save the Profile
Click Add to save the format profile.
Then save the Financial Institution record.
Adding an Expense Report Format Profile
Create Profile for Corporate Cards
On the same Financial Institution (or create a new one for your card provider):
Profile Type: Employee Expense Reports
Connectivity: File-Based or direct connection (if supported)
Select Card Parser
Choose the parser that matches your card provider's export format.
Common corporate card formats include CSV exports from American Express, Visa Commercial, etc.
Map to Employee Records
After setup, corporate card transactions can be imported and linked to employees for expense reporting.
Consider these SuiteApps for enhanced functionality:
Bank Feeds: Direct bank connectivity for automatic statement retrieval
Auto Bank Statement Import: Scheduled automatic imports via SFTP
Bank Statement Parsers: Additional parser formats for regional banks
Required Permissions
| Permission | Level | Purpose |
|---|---|---|
| Financial Institution Records | Full | Create and edit institution records and format profiles |
| Import Bank Data | Full | Upload and process bank statement files |
| Match Bank Data | Full | Run reconciliation matching |
Bank Reconciliation with BAI2
Automated bank statement import and reconciliation using BAI2, OFX, MT940, and CAMT.053 formats.
Setting Up Bank Statement Import
Create a Financial Institution Record
Name: Your bank's name (e.g., "Wells Fargo")
URL: Bank's website (optional)
Create a Format Profile
On the Financial Institution record, click View mode.
On the Format Profile: Configuration subtab, click Add.
Name: Descriptive name (e.g., "Wells Fargo - BAI2")
Profile Type: Bank Reconciliation
Parser: Select BAI2 (or OFX/CAMT.053 as needed)
Configure BAI2 Mapping
After saving, go to the Parser Configuration subtab.
Map your NetSuite GL bank accounts to the account numbers in your BAI2 file:
- 02 Record - Originator ID: Bank routing number
- 03 Record - Account Number: Your account number
- GL Account: NetSuite bank account
Link to GL Account
Edit your bank GL account and go to the Bank Import Mapping subtab.
Enter the same routing and account numbers to enable automatic linking.
Importing and Matching Bank Data
Download Statement from Bank
Log into your bank and download the statement in BAI2 format.
Save the file to your computer.
Upload to NetSuite
Select your file and click Upload.
NetSuite will parse and import the transactions.
Run Auto-Match
Select the bank account and click Run Reconciliation Rules.
NetSuite's intelligent matching will pair bank transactions with GL transactions.
Handle Unmatched Transactions
Review unmatched items and either:
- Manually match to existing transactions
- Create new transactions (for bank fees, interest, etc.)
- Create auto-create rules for recurring items
Reconcile the Account
Complete the formal reconciliation process.
NetSuite's BAI2 parser supports major US banks including Wells Fargo, Bank of America, US Bank, TD Bank, JP Morgan Chase, and others. Each bank may have slight variations in their BAI2 format - configure the parser mapping accordingly.
ISO 20022 and SEPA Payments
International standard for financial messaging, used extensively in Europe (SEPA) and increasingly adopted worldwide.
SEPA Credit Transfer (pain.001)
ISO 20022 is the international standard for financial messaging, used extensively in Europe (SEPA) and increasingly adopted worldwide for cross-border payments.
Used for outbound Euro payments within the Single Euro Payments Area. NetSuite provides standard templates for multiple European countries.
| Country | Template Name |
|---|---|
| Austria | SEPA (Austria) Pain.001.001.02 |
| Belgium | SEPA Credit Transfer (Belgium) |
| France | SEPA Credit Transfer (France) |
| Germany | SEPA Credit Transfer (Germany) |
| Netherlands | SEPA Credit Transfer (ABN AMRO) |
| UK | SEPA Credit Transfer (HSBC) |
Configuring SEPA Payments
Install Localization Assistant (if needed)
For SEPA v2019 formats, install the Localization Assistant SuiteApp.
Configure Company Bank for SEPA
Edit your company bank record.
On the EFT Template Details subtab:
Bank File Template: Select appropriate SEPA template
IBAN: Enter your IBAN
BIC/SWIFT: Enter your bank's BIC code
Configure Vendor Bank Details
For each European vendor, enter:
IBAN: Vendor's IBAN
BIC/SWIFT: Vendor's bank BIC code
Payment File Template: Match to company template
Process SEPA Payments
Follow the same workflow as NACHA payments (Tutorial 3).
The generated file will be in pain.001 XML format.
SEPA Direct Debit (pain.008)
For collecting payments from European customers:
- Requires customer mandate reference
- Limited to 1,500 transactions per batch
- Enable Use Advanced SEPA DD Sorting for optimal performance
After upgrading to EBP 2019.2 or later, custom SEPA DD templates require updates to the sorting logic. Check your template configuration if you encounter errors when creating payment batches.
Automating File Transfers with SFTP
Automate the file transfer process using SFTP instead of manually downloading and uploading payment files.
NetSuite provides the N/sftp module for scripted file transfers.
Major banks like Wells Fargo, Citi, and Silicon Valley Bank support SFTP uploads.
Alternatively, third-party connectors can simplify the setup.
SFTP Configuration Overview
- Obtain SFTP credentials from your bank (host, username, SSH key)
- Store credentials securely in NetSuite (password fields or Secrets Management)
- Create a SuiteScript using N/sftp to connect and upload files
- Schedule the script to run after payment batches are processed
Sample SuiteScript for SFTP Upload
/**
* @NApiVersion 2.1
* @NScriptType ScheduledScript
*/
define(['N/sftp', 'N/file', 'N/search', 'N/log'], function(sftp, file, search, log) {
function execute(context) {
// SFTP Connection Details
var connection = sftp.createConnection({
username: 'your_username',
passwordGuid: 'your_password_guid', // Stored securely
url: 'sftp.yourbank.com',
hostKey: 'your_host_key'
});
// Find latest payment file
var fileSearch = search.create({
type: 'file',
filters: [
['folder', 'is', 'PaymentFiles'],
'AND',
['created', 'within', 'today']
]
});
fileSearch.run().each(function(result) {
var fileObj = file.load({ id: result.id });
// Upload to bank SFTP
connection.upload({
directory: '/incoming/payments/',
filename: fileObj.name,
file: fileObj,
replaceExisting: true
});
log.audit('File Uploaded', fileObj.name);
return true;
});
}
return { execute: execute };
}); - Use SSH keys instead of passwords when possible
- Store credentials using NetSuite's Secrets Management
- Restrict access to SFTP scripts to authorized roles only
- Log all file transfers for audit purposes
- Implement error handling and alerting for failed transfers
Payment File Formats Reference
Detailed structure reference for NACHA/ACH, ISO 20022, and BAI2 file formats.
NACHA/ACH Format Structure
NACHA files consist of batched records:
| Record Type | Code | Description |
|---|---|---|
| File Header | 1 | File-level information (origin, destination) |
| Batch Header | 5 | Batch-level info (company, SEC code) |
| Entry Detail | 6 | Individual payment records |
| Addenda | 7 | Additional payment details (optional) |
| Batch Control | 8 | Batch totals and counts |
| File Control | 9 | File totals and counts |
Pad Blocks: Files must be in blocks of 10 lines; unused rows contain "9999..."
ISO 20022 XML Structure
pain.001 (Credit Transfer) key elements:
<GrpHdr>- Group Header (message ID, creation date)<PmtInf>- Payment Information (debtor details)<CdtTrfTxInf>- Credit Transfer details (creditor, amount)
BAI2 Import Format
Bank statement import structure:
- 01 Record: File Header
- 02 Record: Group Header (bank routing)
- 03 Record: Account Identifier
- 16 Record: Transaction Detail
- 49 Record: Account Trailer
- 98 Record: Group Trailer
- 99 Record: File Trailer
Troubleshooting
Solutions for common EBP issues including file generation failures, bank rejections, and notification problems.
Common Issues
Payment file generation fails
- Verify vendor has bank details with matching payment file template
- Check vendor's Default AP Account is set on Financial subtab
- Ensure bills are approved before attempting payment
- Verify company bank EFT template is configured
Bank rejects NACHA file
- Confirm Company ID format matches bank requirements
- Check routing numbers are valid 9-digit ABA numbers
- Verify account numbers don't exceed length limits
- Ensure processing date is a valid business day
Email notifications not sending
- Verify Email Notification is enabled in Electronic Payments Preferences
- Check entity has email in "Email Address for Payment Notification" field
- Confirm From email address is authorized in NetSuite
- Check email template is properly configured
BAI2 import account matching fails
- Verify 02/03 record mapping in Format Profile matches file
- Check GL account's Bank Import Mapping subtab configuration
- Ensure account numbers match exactly (including leading zeros)
Before uploading to your bank, validate NACHA files using free tools like NachaTech. This helps catch formatting issues before they cause bank rejections.
Resources
Official documentation, community resources, and tools for Electronic Bank Payments.
Official Documentation
- NetSuite Help: Electronic Bank Payments
- Electronic Bank Payments Data Sheet (PDF)
- NACHA - The ACH Network
Community Resources
- Prolecto: Automating Bank File Transmissions
- Concentrus: Generating NACHA Files
- SuiteRep: Electronic Bank Payments Guide
- RSM: Custom Email Templates
