Reconciling Transfers and Batch Transfers: A2C Net Debit

Last updated: November 6, 2026

Overview

With Account-to-Card Net Debit Mode, Astra sends each payout to the recipient's Debit Card via an Originating Credit Transaction (OCT), then collects the sum of all disbursements in one ACH debit the next business day instead of debiting your account for every payout on the same day. This daily debit is also known as a Batch Transfer.

To reconcile this Batch Transfer, you match each successful payout (a Transfer) to the Batch Transfer that funded it. Every successful Net Debit Transfer carries the ID of its batch in net_debit_batch_id, so you can work in either direction:

  • From a Transfer to its Batch Transfer: read net_debit_batch_id on the Transfer.

  • From a Batch Transfer to its Transfers: list Transfers filtered by that batch ID.

Resource

Endpoint

What it gives you

Get a Specific Transfer for a User

GET /v1/transfers/{id}

One payout, its status, amount, and net_debit_batch_id

List Transfers for a User

GET /v1/transfers

Every Transfer in a batch, using batch_id and batch_type

Get a Specific Batch Transfer

GET /v1/batch_transfers/{id}

The daily ACH debit: total amount, item_count, status, addenda

Batch Transfer Webhooks

batch_transfer_created, batch_transfer_updated

A signal when a batch is created or its status changes

📘

Note: New to Net Debit Mode? Start with the Instant Disbursements | Net Debit Mode guide for setup and sending payouts.

How It Works

Each successful payout is assigned to that day's Batch Transfer within seconds. The next business day, Astra runs one ACH debit for the batch total. Failed payouts never join a batch, so you aren't debited for them.

The link between the two is the net_debit_batch_id: it's on every Transfer in a batch and matches the Batch Transfer's id.

Reconciling Step by Step

Option 1: Start From the Batch Transfer (Daily Reconciliation):

Use this when you reconcile each day's ACH debit against your bank statement.

  1. Listen for Batch Transfer webhooks. Astra sends batch_transfer_created when a batch is created and batch_transfer_updated when its status changes. The resource_id is the Batch Transfer ID. See Batch Transfer Webhooks.

  2. Get the Batch Transfer. Call Get a Specific Batch Transfer to read its amount, item_count, status, and addenda.

  3. List the Transfers in the Batch Transfer. Call List Transfers for a User with batch_id set to the Batch Transfer ID and batch_type set to debit. Page through with cursor_id until has_next_page is false.

  4. Check the totals. The number of Transfers you get back should match the batch's item_count.

  5. Match the debit on your bank statement. Use the batch's addenda, the text carried on the ACH debit, to tie the batch to the debit entry on your account.

Option 2: Start From a Transfer:

Use this when you need to know which daily debit covered a specific payout.

  1. Listen for Transfer webhooks. transfer_updated fires when a Transfer's status changes. See Transfer Webhooks.

  2. Get the Transfer. Call Get a Specific Transfer for a User. A processed Transfer has its batch ID as net_debit_batch_id.

  3. Get the Batch Transfer. Pass that ID to Get a Specific Batch Transfer.

📘

Note: Webhook payloads contain IDs, not statuses. Always call the matching endpoint to read the current status.

In the Astra Dashboard:

A Transfer that belongs to a batch shows a Net Debit Batch ID link. Select it to open the Batch Transfer details page, which lists every Transfer in that batch. You can also download transfer reports, which include the Net Debit Batch ID for each Transfer.

Fields to Reconcile On

Field

Found on

What it tells you

net_debit_batch_id

Transfer

The Batch Transfer that funded this payout. null if the payout failed

amount

Transfer

The payout amount, in dollars (e.g. 12.99)

status

Transfer

pending, processed, failed, or cancelled

id

Batch Transfer

The Batch Transfer ID. Matches net_debit_batch_id on its Transfers

amount

Batch Transfer

The total ACH debit, in cents (e.g. 1299 is $12.99)

item_count

Batch Transfer

The number of Transfers in the batch

addenda

Batch Transfer

The text on the ACH debit, for matching your bank statement

trace_number

Batch Transfer

The ACH trace number of the debit

processing_scheduled_at

Batch Transfer

When the batch is scheduled to run

status

Batch Transfer

open, processing, completed, failed, or canceled

Good to Know

Batch amounts are in cents; Transfer amounts are in dollars. Convert before you compare. A batch amount of 125000 equals $1,250.00.

  • Failed payouts aren't in any batch. If the OCT fails, no funds move, the Transfer's status is failed, and net_debit_batch_id is null.

  • Payouts join a batch right after they succeed. Within seconds of a successful payout, Astra assigns it to that day's batch and sets net_debit_batch_id.

  • One ACH debit per business day. Astra debits your source account each business day for the total of the prior business day's successful payouts.

  • Weekend Disbursements are included on Monday's Batch Transfer. Account-to-Card Transfers that occur over the weekend or holiday are incorporated into the next available business day Batch Transfer.

  • Use the right credentials. Transfer endpoints use the Business User's access_token (Bearer). The Batch Transfer endpoint uses your client_id and client_secret (Basic Auth).

Keep your source account funded. Your program is responsible for covering each daily Batch Transfer / ACH debit. If a debit is returned, Astra will automatically attempt to debit your corporate account to heal the negative balance. If automated settlement fails, Astra may need to debit the funds from your Reserve Account.