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-DDdisbursement date asuniqueRefanddate - 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.disbursementDateexists
Group the remaining transactions by disbursement date. For every date, load the Braintree payment-level fee report and join it by transaction ID.
| Braintree value | VRPlatform use |
|---|---|
| Disbursement date | Deposit boundary, uniqueRef, and date |
| Settlement batch IDs | Transaction description |
| Payment receipt ID | Main and fee line identity |
| Settlement amount | Main line amount |
| Total fee amount | Negative fee line amount |
| Transaction type | Main 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:
| Field | Value |
|---|---|
uniqueRef | Payment receipt ID |
amount | Settlement amount in minor units |
description | Customer full name and receipt ID |
matchLineTypeClassification | braintree_${camelCase(transaction.type)} |
Create the fee line as:
| Field | Value |
|---|---|
uniqueRef | ${receiptId}-fee |
amount | Payment-level total fee multiplied by -1 |
description | ${receiptId} fee |
matchLineTypeClassification | braintree_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.
