VRPlatformVRPlatform
Integrate & Migrate Data

Braintree Deposit Imports

Convert Braintree disbursement activity into VRPlatform deposits

Last Updated: 2026-07-21

Version: 1.0

Use one Braintree disbursement date as the boundary for one VRPlatform deposit. Every settled transaction disbursed on that date contributes a main line and a payment-level fee line.

Result

For each disbursement date, submit one deposit with:

  • the YYYY-MM-DD disbursement date as uniqueRef and date
  • the first transaction's lowercase settlement currency
  • a description containing the settlement batch IDs represented that day
  • one settlement-amount line per settled transaction
  • one negative Braintree fee line per transaction

Braintree amounts are decimal major units. Convert them to integer minor units.

Braintree Data to Load

Search transactions from the target date forward. Keep only transactions whose:

  • status is settled
  • disbursementDetails.disbursementDate exists

Group the remaining transactions by disbursement date. For every date, load the Braintree payment-level fee report and join it by transaction ID.

Braintree valueVRPlatform use
Disbursement dateDeposit boundary, uniqueRef, and date
Settlement batch IDsTransaction description
Payment receipt IDMain and fee line identity
Settlement amountMain line amount
Total fee amountNegative fee line amount
Transaction typeMain line classification suffix

This boundary can contain multiple settlement batch IDs. Do not create one deposit per batch ID unless the bank settlement source proves that each batch arrived separately.

Map Lines

Create the main line as:

FieldValue
uniqueRefPayment receipt ID
amountSettlement amount in minor units
descriptionCustomer full name and receipt ID
matchLineTypeClassificationbraintree_${camelCase(transaction.type)}

Create the fee line as:

FieldValue
uniqueRef${receiptId}-fee
amountPayment-level total fee multiplied by -1
description${receiptId} fee
matchLineTypeClassificationbraintree_fee

Omit a fee line when its amount is zero. A zero-value line does not explain any settlement movement and may fail transaction validation.

Reservation and Bank Matching

The current Braintree source does not provide a reservation confirmation code or destination-bank last four. Omit both match fields unless another authoritative join supplies them.

Do not place a Braintree customer ID in matchReservationStripeGuestRef; that field is specific to Stripe customer identity. Store processor customer identity in source metadata instead.

Reconciliation

The deposit line sum is:

sum(settlement amounts) - sum(payment-level fees)

Compare that value with the bank deposit for the disbursement date. The current source composition has no separate disbursement-total field and must not create an unexplained adjustment line.

End-to-End Example

{
  "disbursementDate": "2026-07-14",
  "transactions": [
    {
      "type": "sale",
      "settlementBatchId": "batch-44",
      "customer": { "firstName": "Taylor", "lastName": "Ray" },
      "paymentReceipt": { "id": "bt_tx_123" },
      "disbursementDetails": {
        "settlementAmount": "100.00",
        "settlementCurrencyIsoCode": "USD"
      }
    }
  ],
  "feeReport": [
    { "Transaction ID": "bt_tx_123", "Total Fee Amount": "3.20" }
  ]
}
{
  "connectionId": "00000000-0000-0000-0000-000000000002",
  "data": [
    {
      "type": "deposit",
      "currency": "usd",
      "date": "2026-07-14",
      "description": "batch-44",
      "uniqueRef": "2026-07-14",
      "lines": [
        {
          "uniqueRef": "bt_tx_123",
          "amount": 10000,
          "description": "Taylor Ray - bt_tx_123",
          "matchLineTypeClassification": "braintree_sale"
        },
        {
          "uniqueRef": "bt_tx_123-fee",
          "amount": -320,
          "description": "bt_tx_123 fee",
          "matchLineTypeClassification": "braintree_fee"
        }
      ]
    }
  ]
}

Implementation Checklist

  • Include only settled transactions with a disbursement date.
  • Group by disbursement date, not transaction creation date.
  • Join fee reports by payment receipt ID.
  • Convert settlement and fee decimals to minor units once.
  • Make processor fees negative and omit zero-value fee lines.
  • Do not overload Stripe-specific reservation hints.
  • Reconcile the line sum to the actual bank deposit.

On this page