ACH Export Data

Returns daily ACH deposit records for all merchants in XML format, including batch deposit amounts, NACHA transaction codes, routing details, and fund direction indicators.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

ACH Export Data

The ACH export file provides a daily record of all Automated Clearing House transactions for each merchant in your ISO portfolio. It covers merchant service fee ACH entries, direct deposit settlements, and inter-bank fund transfers. The file is used to reconcile ACH activity and track the movement of funds between financial institutions.

Endpoint

GET /download/YYYYMMDD/ACH

Authentication

Basic HTTP Authentication required.
Encode username:password in Base64 and pass in the Authorization header:

Authorization: Basic {base64(username:password)}

When to use

Use this file daily to reconcile ACH settlements against your general ledger. It is the authoritative source for determining which merchants received deposits, the timing of those deposits (DepositDate), and whether any ACH entries are suspended. The DebitCredit NACHA code and SignedAmount fields together determine the direction of each fund movement.

Query Parameters

None. The file is identified by the date path segment (YYYYMMDD) and delivered via SFTP.

Response

200 OK — Returns XML content with the following structure:

XML Hierarchy: Merchant > Transactons > Transacton

Note: The element name in the file is <Transacton> (one i) — this is the native format and must be parsed as-is.

<Merchant> fields:

FieldTypeDescription
MIDstringMerchant identifier (unique account number)

<Transacton> fields:

FieldTypeDescription
DepositTypestringDeposit classification: Batch, Fee, Adjustment
ParentIdintegerReference to a parent transaction; null if standalone
BankNumberstringBank identifier associated with the merchant
AccountNumstringFull merchant account number
AchPeriodstringACH processing frequency: Daily, Monthly
TimeOfDaystringProcessing time window: Early, Mid, Late, V (variable)
AchTablestringACH table code: 1000 (6PM ET Mon–Fri), 2000 (12AM ET Mon–Fri), 3000 (3AM ET Mon–Fri), 4000 (2PM ET Mon–Fri/Sun)
AchTableDescstringHuman-readable description of the ACH table (e.g. MERCHANT SERVICE)
AchKeystringUnique key identifying the ACH entry within the table
TransactionCodestringInternal 4-character code classifying the transaction type
TransactionNumintegerSequential transaction number within the batch
ReferenceNumberstring16-character external reference number
AmountdecimalAbsolute transaction amount in dollars
SignedAmountdecimalSigned amount; negative = debit from merchant account
RoutingNumberstringMasked ABA routing number of the destination bank
DDANumberstringMasked Demand Deposit Account number
DebitCreditstringNACHA transaction code: 22 = checking credit, 27 = checking debit, 32 = savings credit, 37 = savings debit
OffsetDDAstringMasked offset DDA for the balancing entry
OffsetTRstringMasked routing number for the offset account
OffsetDescriptionstringDescription of the offset entry (e.g. MERCH DEP)
StatusstringProcessing status: MerchantLevelNoRollUp, MerchantLevelRollUp, AssociationLevelFunding, GroupLevelFunding, BatchLevel
BatchDatedatetimeDate the ACH batch was submitted
DepositDatedatetimeDate funds are scheduled to be deposited
TransactionDatedatetimeDate the transaction was created or initiated
BatchDescstringOptional batch description (empty if not provided)
SuspendFlagstringIf populated, the transaction is suspended and will not be submitted to the ACH network
UpdateDateTimedatetimeTimestamp of the last update to this record
AssociationNumberstring6-character card association or processing group identifier
DbaNamestringMerchant DBA name
GroupNumberstringGroup identifier for grouped merchant accounts (empty if not applicable)
<Merchant>
  <MID>9180000000001234</MID>
  <Transactons>
    <Transacton>
      <DepositType>Batch</DepositType>
      <ParentId xsi:nil="true" />
      <BankNumber>9180</BankNumber>
      <AccountNum>9180000000001234</AccountNum>
      <AchPeriod>Daily</AchPeriod>
      <TimeOfDay>V</TimeOfDay>
      <AchTable>2000</AchTable>
      <AchTableDesc>MERCHANT SERVICE</AchTableDesc>
      <AchKey>000090</AchKey>
      <TransactionCode>9017</TransactionCode>
      <TransactionNum>1407</TransactionNum>
      <ReferenceNumber>0000090000001234</ReferenceNumber>
      <Amount>1250.00</Amount>
      <SignedAmount>1250.00</SignedAmount>
      <RoutingNumber>******021</RoutingNumber>
      <DDANumber>**********789</DDANumber>
      <DebitCredit>22</DebitCredit>
      <OffsetDDA>*****01234</OffsetDDA>
      <OffsetTR>****73066</OffsetTR>
      <OffsetDescription>MERCH DEP</OffsetDescription>
      <Status>MerchantLevelNoRollUp</Status>
      <BatchDate>2026-05-27T00:00:00</BatchDate>
      <DepositDate>2026-05-28T00:00:00</DepositDate>
      <TransactionDate>2026-05-27T00:00:00</TransactionDate>
      <BatchDesc />
      <SuspendFlag />
      <UpdateDateTime>2026-05-27T00:00:00</UpdateDateTime>
      <AssociationNumber>999001</AssociationNumber>
      <DbaName>ACME RETAIL STORE</DbaName>
      <GroupNumber />
    </Transacton>
  </Transactons>
</Merchant>

Error Codes

CodeWhen it happens
400Malformed date format in URL path
401Invalid or missing Basic Auth credentials
403User does not have permission for this operation
404No ACH file found for the specified date
500Internal server error

Common Mistakes

  • Parsing <Transacton> as <Transaction> — the element name is intentionally missing the second i and must be matched exactly.
  • Using Amount alone to determine fund direction — always use DebitCredit NACHA code alongside SignedAmount to confirm whether funds are flowing to or from the merchant.
  • Ignoring SuspendFlag — suspended entries will not be submitted to the ACH network even if DepositDate has passed.
  • Treating ParentId as always null — when populated, the entry is a child record (e.g. a fee tied to a parent deposit) and should be linked accordingly during reconciliation.

Related Endpoints

  • GET /download/YYYYMMDD/ACHRejectsCollects — failed ACH transactions and collection records
  • GET /download/YYYYMMDD/Transactions — batch and card transaction data
  • GET /download/YYYYMMDD/ReserveFunding — reserve withholding and net deposit amounts

Example

curl -X GET "https://hq.staging.netevia.dev/download/20260528/ACH" \
  -H "Authorization: Basic $(echo -n 'username:password' | base64)"
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Response

Language
Credentials
Basic
base64
:
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
text/json
merchants