ACH File Format
ProPay ACH File Format
The specifications below show how the ACH file is formatted when exported by ProPay. ProPay generates this file when you export direct deposits or tax impound transactions from Client Functions > Electronic Processing.
ALL RECORDS ARE ASCII FORMAT "NACHA" COMPATIBLE - FIXED FIELD LENGTH
Each record is exactly 94 characters. Records are blocked in groups of 10 (blocking factor). If the total number of records is not a multiple of 10, the file is padded with "9" filler records.
ProPay uses the CCD (Cash Concentration or Disbursement) standard entry class code for ACH transactions.
"1"-Record Type - File Header
One File Header record begins every ACH file. It identifies the source and destination of the file.
| FIELD | NAME | CONTENTS | LENGTH | POSITION | ProPay User Input/Screen |
|---|---|---|---|---|---|
| 1 | Record Type Code | "1" | 1 | 01-01 | |
| 2 | Priority Code | "01" | 2 | 02-03 | |
| 3 | Immediate Destination | bTTTTAAAAC | 10 | 04-13 | Direct Deposits or Tax Impounds Setup, Settlement Acct Routing No. If a Regional ACH Processor Routing No is entered, that value is used instead. |
| 4 | Immediate Origin | bTTTTAAAAC | 10 | 14-23 | Direct Deposits or Tax Impounds Setup, Originator ID |
| 5 | File Creation Date | YYMMDD | 6 | 24-29 | Generated automatically from system date |
| 6 | File Creation Time | HHMM | 4 | 30-33 | Generated automatically from system time |
| 7 | File ID Modifier | "A" | 1 | 34-34 | Distinguishes among multiple files created on the same date. "A" for the first file, "B" for the second, and so on through "Z". |
| 8 | Record Size | "094" | 3 | 35-37 | |
| 9 | Blocking Factor | "10" | 2 | 38-39 | |
| 10 | Format Code | "1" | 1 | 40-40 | |
| 11 | Immediate Dest. Name | Alphanumeric | 23 | 41-63 | Direct Deposits or Tax Impounds Setup, ACH Bank or Processor name |
| 12 | Immediate Origin Name | Alphanumeric | 23 | 64-86 | Payroll Processor's name (ProPay licensee name) |
| 13 | Reference Code | Blank | 8 | 87-94 | Reserved for use by the Immediate Origin |
"5"-Record Type - Batch Header
One Batch Header record begins each batch of transactions within the file. When Create Single Company Batches is enabled in Direct Deposits Setup, ProPay creates a separate batch for each employer.
| FIELD | NAME | CONTENTS | LENGTH | POSITION | ProPay User Input/Screen |
|---|---|---|---|---|---|
| 1 | Record Type Code | "5" | 1 | 01-01 | |
| 2 | Service Class Code | "200", "220", or "225" | 3 | 02-04 | "200" = mixed debits and credits; "220" = credits only; "225" = debits only |
| 3 | Company Name | Alphanumeric | 16 | 05-20 | Employer name from Employer Setup. If Draft Employer's Funds is checked, uses the payroll processor's name. |
| 4 | Company Discretionary Data | Alphanumeric | 20 | 21-40 | Optional. May contain employer-specific data. |
| 5 | Company Identification | Alphanumeric | 10 | 41-50 | Employer's Federal Tax ID. If Draft Employer's Funds is checked, uses the payroll processor's Federal ID. |
| 6 | Standard Entry Class Code | "CCD" or "PPD" | 3 | 51-53 | "CCD" for tax payments and employer drafts; "PPD" for employee direct deposits |
| 7 | Company Entry Description | Alphanumeric | 10 | 54-63 | Direct Deposits Setup, Credit Description (e.g., "PAYROLL", "TAX PAY") |
| 8 | Company Descriptive Date | Alphanumeric | 6 | 64-69 | Optional date for display purposes |
| 9 | Effective Entry Date | YYMMDD | 6 | 70-75 | Settlement date calculated by ProPay based on pay date and draft days |
| 10 | Settlement Date | Blank | 3 | 76-78 | Reserved for ACH processor use |
| 11 | Originator Status Code | "1" | 1 | 79-79 | |
| 12 | Originating DFI Identification | Numeric | 8 | 80-87 | First 8 digits of the ACH processor routing number from Direct Deposits Setup |
| 13 | Batch Number | Numeric | 7 | 88-94 | Sequential batch number within the file, starting at 1 |
Note for Ceridian users: Positions 29-34 must contain the company number (left-justified, space filled) and positions 35-37 must contain the 3-digit Payment Solutions ID. See ACH Processor Setup for processor-specific requirements.
"6"-Record Type - Entry Detail
One Entry Detail record exists for each individual transaction (each employee deposit, each employer debit, each tax payment).
| FIELD | NAME | CONTENTS | LENGTH | POSITION | ProPay User Input/Screen |
|---|---|---|---|---|---|
| 1 | Record Type Code | "6" | 1 | 01-01 | |
| 2 | Transaction Code | Numeric | 2 | 02-03 | See Transaction Codes table below |
| 3 | Receiving DFI Identification | Numeric | 8 | 04-11 | First 8 digits of the employee's bank routing number from Employees > Direct Deposits |
| 4 | Check Digit | Numeric | 1 | 12-12 | 9th digit of the routing number (check digit) |
| 5 | DFI Account Number | Alphanumeric | 17 | 13-29 | Employee's bank account number from Employees > Direct Deposits |
| 6 | Amount | $$$$$$$$cc | 10 | 30-39 | Transaction amount in cents (no decimal point) |
| 7 | Individual Identification Number | Alphanumeric | 15 | 40-54 | Employee ID or SSN. For Ceridian, credit records use employee ID; debit records use company number. |
| 8 | Individual Name | Alphanumeric | 22 | 55-76 | Employee name (for credits) or employer name (for debits) |
| 9 | Discretionary Data | Alphanumeric | 2 | 77-78 | Optional |
| 10 | Addenda Record Indicator | "0" or "1" | 1 | 79-79 | "1" if a Type 7 Addenda record follows this entry |
| 11 | Trace Number | Numeric | 15 | 80-94 | Originating DFI routing (8 digits) + sequential entry number (7 digits) |
Transaction Codes
| Code | Description | Account Type |
|---|---|---|
| 22 | Credit to checking account (deposit) | Checking |
| 23 | Pre-note credit to checking account | Checking |
| 27 | Debit from checking account (withdrawal) | Checking |
| 32 | Credit to savings account (deposit) | Savings |
| 33 | Pre-note credit to savings account | Savings |
| 37 | Debit from savings account (withdrawal) | Savings |
ProPay determines the account type from the employee's bank account settings (C = Checking, S = Savings) in Employees > Direct Deposits.
ProPay supports up to 4 direct deposit accounts per employee. Each account generates a separate "6" record. Deposit amounts are calculated based on the percentage or fixed amount configured for each account.
"7"-Record Type - Addenda
Addenda records provide supplemental information for specific transactions. ProPay generates addenda records for EFTPS tax payments and electronic child support garnishment payments.
| FIELD | NAME | CONTENTS | LENGTH | POSITION | ProPay User Input/Screen |
|---|---|---|---|---|---|
| 1 | Record Type Code | "7" | 1 | 01-01 | |
| 2 | Addenda Type Code | "05" | 2 | 02-03 | |
| 3 | Payment Related Information | Alphanumeric | 80 | 04-83 | Content varies by payment type (see below) |
| 4 | Addenda Sequence Number | Numeric | 4 | 84-87 | Sequential number starting at 1 for each "6" record |
| 5 | Entry Detail Sequence Number | Numeric | 7 | 88-94 | Matches the last 7 digits of the corresponding "6" record trace number |
EFTPS Tax Payment Addenda
For federal tax payments (941, 940, 944, 943), the Payment Related Information field contains:
- Taxpayer Identification Number (Federal Tax ID)
- Tax type code (from ProPay's `GETTAXCODE` function)
- Tax period (year and quarter)
- Tax amount breakdown (Social Security, Medicare, Federal Withholding for 941 payments)
- Verification code
Child Support Garnishment Addenda
For electronic child support payments, ProPay populates addenda fields from the garnishment payee record in Employees > Payee Deductions:
| Data Element | Description |
|---|---|
| Application ID | Identifies the child support enforcement system |
| Case ID | Court case identifier |
| FIPS Code | Federal Information Processing Standard geographic code |
| Non-Custodial Parent Name | Name of the employee/obligor |
| Payer SSN | Social Security Number of the employee |
| Medical Support Indicator | Whether medical support is included |
"8"-Record Type - Batch Control
One Batch Control record ends each batch. It contains totals that the ACH processor uses to verify the batch was received correctly.
| FIELD | NAME | CONTENTS | LENGTH | POSITION | Notes |
|---|---|---|---|---|---|
| 1 | Record Type Code | "8" | 1 | 01-01 | |
| 2 | Service Class Code | "200", "220", or "225" | 3 | 02-04 | Must match the corresponding "5" record |
| 3 | Entry/Addenda Count | Numeric | 6 | 05-10 | Total number of "6" and "7" records in this batch |
| 4 | Entry Hash | Numeric | 10 | 11-20 | Sum of all routing numbers (positions 04-11) in "6" records, truncated to 10 digits |
| 5 | Total Debit Amount | $$$$$$$$$$cc | 12 | 21-32 | Sum of all debit "6" record amounts in this batch |
| 6 | Total Credit Amount | $$$$$$$$$$cc | 12 | 33-44 | Sum of all credit "6" record amounts in this batch |
| 7 | Company Identification | Alphanumeric | 10 | 45-54 | Must match the corresponding "5" record |
| 8 | Message Authentication Code | Blank | 19 | 55-73 | Reserved |
| 9 | Reserved | Blank | 6 | 74-79 | |
| 10 | Originating DFI Identification | Numeric | 8 | 80-87 | Must match the corresponding "5" record |
| 11 | Batch Number | Numeric | 7 | 88-94 | Must match the corresponding "5" record |
Note: For balanced ACH files, the total debits and total credits within each batch must be equal. When Allow Unbalanced Transactions is enabled, batches may have unequal debit and credit totals. See Unbalanced ACH Transactions for details.
"9"-Record Type - File Control
One File Control record ends every ACH file. It contains totals for the entire file.
| FIELD | NAME | CONTENTS | LENGTH | POSITION | Notes |
|---|---|---|---|---|---|
| 1 | Record Type Code | "9" | 1 | 01-01 | |
| 2 | Batch Count | Numeric | 6 | 02-07 | Total number of "5"/"8" record pairs in the file |
| 3 | Block Count | Numeric | 6 | 08-13 | Total number of physical blocks (groups of 10 records), including filler records |
| 4 | Entry/Addenda Count | Numeric | 8 | 14-21 | Total "6" and "7" records in the file |
| 5 | Entry Hash | Numeric | 10 | 22-31 | Sum of all Batch Control entry hashes, truncated to 10 digits |
| 6 | Total Debit Amount | $$$$$$$$$$cc | 12 | 32-43 | Sum of all Batch Control debit totals |
| 7 | Total Credit Amount | $$$$$$$$$$cc | 12 | 44-55 | Sum of all Batch Control credit totals |
| 8 | Reserved | Blank | 39 | 56-94 |
"9"-Filler Records
If the total number of records in the file is not a multiple of 10 (the blocking factor), the file is padded with lines of 94 nines ("9999...9") until the record count reaches the next multiple of 10. These filler records ensure the file meets the NACHA blocking requirement.
File Structure Summary
A complete ProPay ACH file follows this structure:
_CODE_BLOCK_0_
When Create Single Company Batches is enabled, each employer's transactions are grouped in a separate "5"/"8" batch pair. When disabled, all transactions are combined in a single batch.
File Naming Convention
ProPay names the exported file using an 8-digit format with a .TXT extension:
- First 4 digits: Your unique sender ID number
- Last 4 digits: Month and day (MMDD format)
Example: `55010424.TXT` (sender ID 5501, exported on April 24th)
The file is saved to your ProPay installation directory (`C:\PAYSOFT\PROPAY26`).
Related Topics
- System Setup Electronic
- Direct Deposit Complete Guide
- Direct Deposit System Setup
- ACH Processor Setup
- Transmitting Direct Deposits
- Unbalanced ACH
- Processor Setup