Field Schema Reference
The field-by-field schema for all eleven FlexFactor CSV reports, with reconciliation notes and workflows.
The field-by-field schema for all eleven FlexFactor CSV reports. Each report lists every column with its data type, business meaning, a sample value, and a reconciliation note, followed by the calculation formulas and the reconciliation workflow for that report. For a fast overview, use the Report Catalog; for shared data types and enumerations, see Data Formats & Enumerations.
Each field is documented with:
- Field Name — the exact CSV column header.
- Data Type — format and validation rules (see Data Formats & Enumerations for patterns).
- Description — business meaning and usage.
- Sample Value — an illustrative example. All sample values are fictitious.
- Reconciliation Notes — how to use the field when matching against your own systems.
Amounts are fixed-decimal strings with two places; negative values indicate reductions (refunds, fees, chargebacks, reserve holds). Timestamps are ISO 8601 UTC.
Report 1: Activity Detail
Report name: activity-detail
Use case: transaction-level detail for all merchant activity
Reconciliation use: match individual transactions against your order systems
| # | Field Name | Data Type | Description | Sample Value | Reconciliation Notes |
|---|---|---|---|---|---|
| 1 | Pid | UUID | Partner unique identifier | a1b2c3d4-... | Group all merchants under your partner account |
| 2 | Mid | UUID | Merchant unique identifier | e5f6a7b8-... | Filter transactions by specific merchant |
| 3 | ExternalMerchantIdentifier | String | Your merchant account / reference number; - if not configured | MERCH-001, - | Match to your merchant master file |
| 4 | OrderId | UUID | FlexFactor internal order ID | 9c8d7e6f-... | Unique key for each transaction |
| 5 | ExternalId | String | Your order reference number | ORD-2024-001 | Match to your order management system |
| 6 | TransactionType | Enum | Transaction category | Order, Return | Separate sales from refunds in reconciliation |
| 7 | EventTimestamp | DateTime (UTC) | When the transaction occurred | 07/28/2026 14:30:45 | MM/DD/YYYY HH:MM:SS, UTC despite no timezone suffix — see format note below |
| 8 | Currency | String (ISO 4217) | Transaction currency | USD | Ensure currency matching in multi-currency systems |
| 9 | Amount | Decimal (String) | Transaction amount | 150.77, 45.7, 100 | Negative for returns; trailing zeros may be omitted |
| 10 | OrderState | Enum | Current order status | completed, voided | Filter completed transactions for revenue recognition |
| 11 | Bin | String (6–8 digits) | First 6–8 digits of card | 42424242, N/A | Card-network identification; PCI-compliant partial data |
| 12 | Last4 | String (4 digits) | Last 4 digits of card | 1111, N/A | Customer payment-method verification |
| 13 | PaymentInstrumentType | String | Payment instrument type | Credit Card | Payment-method classification |
| 14 | PaymentInstrumentSubtype | String | Card brand | Visa, Mastercard | Card-brand mix and fee analysis |
Total columns: 14
Format exceptions in this report.EventTimestampusesMM/DD/YYYY HH:MM:SS(values are UTC even though no timezone suffix is present) rather than ISO 8601, and amounts may omit trailing zeros (100,45.7) rather than always carrying two decimal places. Parse both accordingly.
Population: activity-detail carries processed transactions only (sales, returns, voids). Declined and failed authorization attempts never appear in this or any other report.
Reconciliation workflow
- Import the CSV and parse
EventTimestampinto your reporting timezone. - Join on
ExternalIdto match your orders. - Sum
AmountwhereOrderState = 'completed'for revenue. - Sum
AmountwhereTransactionType = 'Return'for refunds. - Verify card data (
Bin/Last4) matches expected payment methods.
Report 2: Activity Summary
Report name: activity-summary
Use case: aggregated activity metrics by merchant for performance analysis
Reconciliation use: high-level revenue and fee verification by merchant and period
| # | Field Name | Data Type | Description | Sample Value | Reconciliation Notes |
|---|---|---|---|---|---|
| 1 | Pid | UUID | Partner unique identifier | a1b2c3d4-... | Partner-level aggregation key |
| 2 | Mid | UUID | Merchant unique identifier | e5f6a7b8-... | Merchant-level aggregation key |
| 3 | ExternalMerchantIdentifier | String | Your merchant account number | MERCH-001 | Match to merchant master data |
| 4 | From | DateTime (UTC) | Reporting period start | 2026-07-01T00:00:00Z | Period boundary (inclusive) |
| 5 | To | DateTime (UTC) | Reporting period end | 2026-07-31T23:59:59Z | Period boundary (inclusive) |
| 6 | TotalProcessedAmount | Decimal (String) | Gross transaction volume | 50000.00 | Total sales before fees/exceptions |
| 7 | ProcessingFees | Decimal (String) | Total fees charged | 1250.50 | Fee expense for the period |
| 8 | NetAmount | Decimal (String) | Net after fees | 48749.50 | TotalProcessedAmount - ProcessingFees |
| 9 | Merchant | String | Merchant DBA name | Acme Store Inc. | Human-readable merchant name |
| 10 | Currency | String (ISO 4217) | Transaction currency | USD | Currency for all amounts |
| 11 | CurrencyCode | String (ISO 4217) | Transaction currency (duplicate) | USD | Legacy field; same as Currency |
| 12 | ReturnsAmount | Decimal (String) | Total refunds/returns | 500.00 | Negative impact on revenue |
| 13 | ChargebacksAmount | Decimal (String) | Total chargebacks | 150.00 | Dispute-related reductions |
| 14 | OrderCount | Integer | Number of orders | 324 | Transaction-volume metric |
Total columns: 14
Formula
Expected Net Revenue = TotalProcessedAmount - ProcessingFees - ReturnsAmount - ChargebacksAmount
TotalProcessedAmountsums completed orders only — refunds sit inReturnsAmount, not netted into the gross. All reduction columns (ProcessingFees,ReturnsAmount,ChargebacksAmount) are positive magnitudes; subtract them as shown.
Reconciliation workflow
- Verify
FromandTomatch your reporting period. - Compare
TotalProcessedAmountto your sales ledger. - Verify
ProcessingFeesmatch fee invoices. - Reconcile
NetAmountto expected deposits. - Cross-check
OrderCountwith transaction logs.
Report 3: Activity Exceptions
Report name: activity-exceptions
Use case: track refunds, chargebacks, voids, and credits
Reconciliation use: exception tracking and dispute management
| # | Field Name | Data Type | Description | Sample Value | Reconciliation Notes |
|---|---|---|---|---|---|
| 1 | Pid | UUID | Partner unique identifier | a1b2c3d4-... | Partner context |
| 2 | Mid | UUID | Merchant unique identifier | e5f6a7b8-... | Merchant context |
| 3 | ExternalMerchantIdentifier | String | Your merchant account number | MERCH-001 | Merchant matching key |
| 4 | OrderId | UUID | FlexFactor internal order ID | 9c8d7e6f-... | Link to the original transaction |
| 5 | ExternalId | String | Your order reference | ORD-2024-001 | Link to your order system |
| 6 | EventTimestamp | DateTime (UTC) | When the exception occurred | 2026-07-22T16:45:00Z | Exception event date/time |
| 7 | Currency | String (ISO 4217) | Transaction currency | USD | Currency context |
| 8 | Amount | Decimal (String) | Exception amount | 75.00 | Value of the exception |
| 9 | OrderState | Enum | Current order status | refunded, voided | Current state after the exception |
| 10 | ExceptionType | Enum | Type of exception | refunded, disputed, voided | Exception category |
| 11 | ExceptionReason | String | Reason / description | Customer requested refund | Business reason for the exception |
| 12 | Bin | String (6 digits) | First 6 digits of card | 424242, N/A | Card identification |
| 13 | Last4 | String (4 digits) | Last 4 digits of card | 4242, N/A | Card verification |
Total columns: 13
Exception types
- refunded — customer refund processed (including RDR auto-refunds — an RDR appears here as a refund and in dispute-detail as a
Kind = RDRrow; count the financial impact once, from this report) - disputed — chargeback or dispute filed
- voided — transaction cancelled before settlement
Reconciliation workflow
- Match
ExternalIdto original orders. - Verify
Amountmatches refund/chargeback records. - Classify by
ExceptionTypefor accounting entries. - Update order status based on
OrderState. - Review
ExceptionReasonfor pattern analysis.
Report 4: Settlement Summary
Report name: settlement-summary
Use case: settlement-batch summaries for payout reconciliation
Reconciliation use: match settlement batches to bank deposits
| # | Field Name | Data Type | Description | Sample Value | Reconciliation Notes |
|---|---|---|---|---|---|
| 1 | Pid | UUID | Partner unique identifier | a1b2c3d4-... | Partner context |
| 2 | Mid | UUID | Merchant unique identifier | e5f6a7b8-... | Merchant receiving settlement |
| 3 | CED | String | FlexFactor settlement tracking reference | CED-202607-001 | Settlement tracking ID |
| 4 | TxnId | String | Transaction ID from batch | TXN-ABC123 | Settlement-batch identifier |
| 5 | SettlementDate | DateTime (UTC) | When settlement processed | 2026-07-22T09:00:00Z | Settlement execution date |
| 6 | From | DateTime (UTC) | Batch period start | 2026-07-21T00:00:00Z | Transactions included from this date |
| 7 | To | DateTime (UTC) | Batch period end | 2026-07-21T23:59:59Z | Transactions included through this date |
| 8 | TotalProcessedAmount | Decimal (String) | Gross batch amount | 10000.00 | Total transactions in the batch |
| 9 | ProcessingFees | Decimal (String) | Fees deducted | 250.00 | Platform fees for this batch |
| 10 | SettlementAmount | Decimal (String) | Net settlement | 9750.00 | Amount sent to the merchant |
| 11 | Merchant | String | Merchant DBA name | Acme Store Inc. | Merchant display name |
| 12 | ExternalMerchantIdentifier | String | Your merchant account | MERCH-001 | Merchant matching key |
| 13 | Currency | String (ISO 4217) | Settlement currency | USD | Currency for all amounts |
| 14 | CurrencyCode | Integer | Numeric currency code | 840 | ISO 4217 numeric code for USD |
| 15 | ReturnsAmount | Decimal (String) | Returns in batch | 200.00 | Refunds included |
| 16 | ChargebacksAmount | Decimal (String) | Chargebacks in batch | 50.00 | Disputes included |
| 17 | ReserveAmount | Decimal (String) | Amount held in reserve | 1000.00 | Reserve balance held |
| 18 | ReserveReleaseAmount | Decimal (String) | Reserve funds released | 500.00 | Reserve released this batch |
| 19 | ReserveUtilizationAmount | Decimal (String) | Reserve applied | 50.00 | Reserve applied to losses other than this batch's own chargebacks |
| 20 | Adjustments | Decimal (String) | Manual adjustments | 0.00 | FlexFactor sends a notification explaining any non-zero adjustment |
| 21 | BatchId | UUID | Settlement-batch unique ID | b1a2c3d4-... | Batch tracking identifier |
| 22 | SenderId | UUID (nullable) | Sender financial account ID | s1s2s3s4-... or blank | Source account (may be null) |
| 23 | ReceiverId | UUID (nullable) | Receiver financial account ID | r1r2r3r4-... or blank | Destination account (may be null) |
Total columns: 23
All reduction columns are positive magnitudes — subtract them per the formula.ReserveUtilizationAmountcovers losses other than this batch's own chargebacks (already inChargebacksAmount), so both appearing in one batch is not double-counting.
Formula
SettlementAmount = TotalProcessedAmount
- ProcessingFees
- ReturnsAmount
- ChargebacksAmount
- ReserveAmount
+ ReserveReleaseAmount
- ReserveUtilizationAmount
+ Adjustments
Reconciliation workflow
- Match
SettlementDateto the bank-deposit date. - Verify
SettlementAmountmatches the bank deposit. - Reconcile
BatchIdorCEDwith internal settlement records. - Review reserve changes (
ReserveAmount,ReserveReleaseAmount,ReserveUtilizationAmount). - Account for
Adjustmentsseparately.
Report 5: Settlement Detail
Report name: settlement-detail
Use case: transaction-level detail within settlements
Reconciliation use: detailed breakdown of what is included in each settlement
| # | Field Name | Data Type | Description | Sample Value | Reconciliation Notes |
|---|---|---|---|---|---|
| 1 | Pid | UUID | Partner unique identifier | a1b2c3d4-... | Partner context |
| 2 | Mid | UUID | Merchant unique identifier | e5f6a7b8-... | Merchant receiving settlement |
| 3 | ExternalMerchantIdentifier | String | Your merchant account | MERCH-001 | Merchant matching key |
| 4 | OrderId | UUID | FlexFactor internal order ID | 9c8d7e6f-... | Transaction identifier |
| 5 | ExternalId | String | Your order reference | ORD-2024-001 | Link to your order system |
| 6 | TransactionType | Enum | Transaction category | Order, Return | Distinguish sales from refunds |
| 7 | EventTimestamp | DateTime (UTC) | Transaction date/time | 2026-07-22T14:30:45Z | When the transaction occurred |
| 8 | Currency | String (ISO 4217) | Transaction currency | USD | Currency context |
| 9 | ConsumerAmount | Decimal (String) | Amount charged to the consumer | 100.00, -25.00 | Customer-facing amount; negative for returns |
| 10 | ConsumerFee | Decimal (String) | Fee charged to the consumer | 0.00 | Reserved for future use — always 0.00 today |
| 11 | FlexFactorFee | Decimal (String) | Platform fee retained | 2.50 | Fee deducted from settlement |
| 12 | DepositAmount | Decimal (String) | Net deposited to the merchant | 97.50 | Amount you receive for this transaction |
| 13 | OrderState | Enum | Current order status | completed, voided | Order status |
| 14 | Bin | String (6 digits) | First 6 digits of card | 424242, N/A | Card identification |
| 15 | Last4 | String (4 digits) | Last 4 digits of card | 4242, N/A | Card verification |
Total columns: 15
Formula
DepositAmount = ConsumerAmount - ConsumerFee - FlexFactorFee
For returns, ConsumerAmount is negative, so DepositAmount is also negative.
Reconciliation workflow
- Group by settlement batch (join with Settlement Summary if needed).
- Sum
DepositAmountto verify the batch total. - Match
ExternalIdto your order records. - Verify
FlexFactorFeematches your fee agreement. - Account for returns separately (negative
ConsumerAmount).
Report 6: Settlement Exceptions
Report name: settlement-exceptions
Use case: track failed or rejected settlement batches
Reconciliation use: identify and resolve settlement failures
| # | Field Name | Data Type | Description | Sample Value | Reconciliation Notes |
|---|---|---|---|---|---|
| 1 | Pid | UUID | Partner unique identifier | a1b2c3d4-... | Partner context |
| 2 | Mid | UUID | Merchant unique identifier | e5f6a7b8-... | Affected merchant |
| 3 | ExternalMerchantIdentifier | String | Your merchant account | MERCH-001 | Merchant matching key |
| 4 | BatchId | UUID | Failed batch identifier | b1a2c3d4-... | Settlement batch that failed |
| 5 | SettlementDate | DateTime (UTC) | When the failure occurred | 2026-07-22T09:00:00Z | Failure timestamp |
| 6 | Currency | String (ISO 4217) | Batch currency | USD | Currency context |
| 7 | BatchAmount | Decimal (String) | Failed batch amount | 10000.00 | Amount that was not settled |
| 8 | ExceptionType | Enum | Type of failure | FAILED, ERROR, REJECTED | Failure classification |
| 9 | ExceptionReason | String | Failure description | Invalid bank account | Detailed failure reason |
| 10 | PayoutStatus | Enum | Current payout status | FAILED, PENDING | Current state of the payout |
Total columns: 10
Exception types
- FAILED — settlement-batch processing failed
- ERROR — system error during settlement
- REJECTED — settlement rejected by the bank/processor
Reconciliation workflow
- Identify missing settlements by comparing expected vs. actual deposits.
- Match
BatchIdto expected settlement batches. - Review
ExceptionReasonto determine remediation. - Track resolution of failed settlements.
- Re-reconcile once failures are resolved.
Retries keep the sameBatchId. When a failed batch is retried and succeeds, the sameBatchIdappears in settlement-summary with the payout completed — match onBatchIdand there is no double-count risk.
Report 7: Fees
Report name: fees
Use case: detailed fee breakdown per transaction
Reconciliation use: fee expense accounting and verification
| # | Field Name | Data Type | Description | Sample Value | Reconciliation Notes |
|---|---|---|---|---|---|
| 1 | Pid | UUID | Partner unique identifier | a1b2c3d4-... | Partner context |
| 2 | Mid | UUID | Merchant unique identifier | e5f6a7b8-... | Merchant incurring the fee |
| 3 | ExternalMerchantIdentifier | String | Your merchant account | MERCH-001 | Merchant matching key |
| 4 | OrderId | UUID | FlexFactor internal order ID | 9c8d7e6f-... | Associated transaction |
| 5 | ExternalId | String | Your order reference | ORD-2024-001 | Link to your order |
| 6 | EventTimestamp | DateTime (UTC) | When the fee was recorded | 2026-07-22T14:30:45Z | Fee recording date/time |
| 7 | Currency | String (ISO 4217) | Fee currency | USD | Currency context |
| 8 | FeeType | Enum | Category of fee | FlexFee, FlexReturnFee, FlexChargebackFee | Fee classification |
| 9 | FeeAmount | Decimal (String) | Fee charged | 2.50, 1.00 | Fee amount |
| 10 | OrderAmount | Decimal (String) | Original order amount | 100.00 | Transaction amount the fee is based on |
Total columns: 10
Fee types
- FlexFee — standard processing fee (charged on orders)
- FlexReturnFee — fee for processing a refund/return (including RDR auto-refunds)
- FlexChargebackFee — fee for processing a chargeback/dispute
This report is the fee statement of record. Fees are net-settled — deducted from payouts, never invoiced separately — and these three types cover all fee expense. The finer fee labels in the disbursement-fee report (Processing Fee,Refund Fee,Dispute Fee, ...) are subtypes of the same fees, not additional charges.
Reconciliation workflow
- Sum
FeeAmountbyFeeTypefor expense classification. - Verify total fees match settlement deductions.
- Calculate the effective fee rate:
FeeAmount / OrderAmount. - Match
ExternalIdto transaction records. - Reconcile with fee invoices or agreements.
Report 8: Monthly Settlement Summary
Report name: monthly-settlement-summary
Use case: monthly aggregated settlement overview
Reconciliation use: monthly financial close and performance analysis
| # | Field Name | Data Type | Description | Sample Value | Reconciliation Notes |
|---|---|---|---|---|---|
| 1 | Pid | UUID | Partner unique identifier | a1b2c3d4-... | Partner context |
| 2 | Mid | UUID | Merchant unique identifier | e5f6a7b8-... | Merchant summary |
| 3 | ExternalMerchantIdentifier | String | Your merchant account | MERCH-001 | Merchant matching key |
| 4 | Month | String | Month name | January, July | Human-readable month |
| 5 | Year | Integer | Calendar year | 2026 | Year of settlement |
| 6 | TotalSettledAmount | Decimal (String) | Gross settled amount | 150000.00 | Total settled before fees |
| 7 | TotalFees | Decimal (String) | Total fees deducted | 3750.00 | Monthly fee expense |
| 8 | NetSettlement | Decimal (String) | Net amount settled | 146250.00 | Amount deposited to the merchant |
| 9 | BatchCount | Integer | Number of batches | 20 | Settlement-batch count |
| 10 | OrderCount | Integer | Total orders settled | 1500 | Transaction count |
| 11 | Currency | String (ISO 4217) | Settlement currency | USD | Currency context |
Total columns: 11
Formula
NetSettlement = TotalSettledAmount - TotalFees
Reconciliation workflow
- Verify
Month/Yearmatch your accounting period. The month boundary is the UTC calendar month — if your ledger runs on a local timezone or a non-calendar fiscal period, account for the offset. - Sum all daily settlements and compare with
TotalSettledAmount. - Verify
NetSettlementmatches total monthly deposits. - Compare
OrderCountwith transaction logs. - Use for monthly financial reporting and variance analysis.
Report 9: Monthly Settlement Detail
Report name: monthly-settlement-detail
Use case: detailed monthly settlement with batch-level breakdown
Reconciliation use: monthly settlement audit and batch-by-batch verification
This report is structurally identical to Settlement Summary (23 fields) but filtered to a specific month, and it supports month-to-date reporting.
| # | Field Name | Data Type | Description | Sample Value | Reconciliation Notes |
|---|---|---|---|---|---|
| 1 | Pid | UUID | Partner unique identifier | a1b2c3d4-... | Partner context |
| 2 | Mid | UUID | Merchant unique identifier | e5f6a7b8-... | Merchant receiving settlement |
| 3 | CED | String | FlexFactor settlement tracking reference | CED-202607-001 | Settlement tracking ID |
| 4 | TxnId | String | Transaction ID from batch | TXN-ABC123 | Settlement-batch identifier |
| 5 | SettlementDate | DateTime (UTC) | When settlement processed | 2026-07-22T09:00:00Z | Settlement execution date |
| 6 | From | DateTime (UTC) | Batch period start | 2026-07-21T00:00:00Z | Transactions included from |
| 7 | To | DateTime (UTC) | Batch period end | 2026-07-21T23:59:59Z | Transactions included through |
| 8 | TotalProcessedAmount | Decimal (String) | Gross batch amount | 10000.00 | Total transactions in the batch |
| 9 | ProcessingFees | Decimal (String) | Fees deducted | 250.00 | Platform fees for the batch |
| 10 | SettlementAmount | Decimal (String) | Net settlement | 9750.00 | Amount sent to the merchant |
| 11 | Merchant | String | Merchant DBA name | Acme Store Inc. | Merchant display name |
| 12 | ExternalMerchantIdentifier | String | Your merchant account | MERCH-001 | Merchant matching key |
| 13 | Currency | String (ISO 4217) | Settlement currency | USD | Currency for all amounts |
| 14 | CurrencyCode | Integer | Numeric currency code | 840 | ISO 4217 numeric (840 = USD) |
| 15 | ReturnsAmount | Decimal (String) | Returns in batch | 200.00 | Refunds included |
| 16 | ChargebacksAmount | Decimal (String) | Chargebacks in batch | 50.00 | Disputes included |
| 17 | ReserveAmount | Decimal (String) | Amount held in reserve | 1000.00 | Reserve balance held |
| 18 | ReserveReleaseAmount | Decimal (String) | Reserve funds released | 500.00 | Reserve released this batch |
| 19 | ReserveUtilizationAmount | Decimal (String) | Reserve applied | 50.00 | Reserve used to cover losses |
| 20 | Adjustments | Decimal (String) | Manual adjustments | 0.00 | Manual corrections applied |
| 21 | BatchId | UUID | Settlement-batch unique ID | b1a2c3d4-... | Batch tracking identifier |
| 22 | SenderId | UUID (nullable) | Sender financial account ID | s1s2s3s4-... or blank | Source account (may be null) |
| 23 | ReceiverId | UUID (nullable) | Receiver financial account ID | r1r2r3r4-... or blank | Destination account (may be null) |
Total columns: 23
Reconciliation workflow
- Filter by
Month(implicit in report generation). - Sum
SettlementAmountto verify the monthly total. - Match individual batches to bank deposits.
- Track month-to-date progress if the report is run mid-month.
- Cross-reference with Monthly Settlement Summary totals.
Report 10: Dispute Detail
Report name: dispute-detail
Use case: chargeback and dispute tracking
Reconciliation use: dispute liability and resolution tracking
Format: multi-section CSV, Braintree-compatible
Each row begins with a record-type prefix identifying its section:
- RH — report header (metadata about the report)
- RD — report detail (individual dispute records)
- RF — report footer (record counts)
The prefix is a section identifier, not a counted field; the field counts below exclude it. Total documented fields: 53 (RH 4 + RD 46 + RF 3).
Braintree-compatible. This report mirrors the Braintree Dispute Detail export. Many RD columns exist for format compatibility only and are not populated by FlexFactor — they are marked "not tracked; always empty" below. Because theOutcome,Status, andAmount Woncolumns are always empty, dispute win/loss resolution cannot be read from this report; track it in your own dispute system.
Each section begins with a header row. The first row for each prefix carries the section's column names, followed by the data rows — skip the header rows when loading data. Two RD header names contain a double space —Postalcode Response CodeandChargeback Protection— so match headers exactly rather than assuming single spacing.
PII note. Unlike the flat CSV reports, the RD section carries customer PII —Customer NameandCustomer Email. The card number is fully masked (****); no full PAN, CVV, or expiry is present. Handle this report as containing customer PII even though it stays outside PCI cardholder-data scope. Sample values below are fictitious.
Section RH — Report Header
| # | Field Name | Data Type | Description | Sample Value |
|---|---|---|---|---|
| 1 | Report name | String | Report title (fixed) | Dispute Detail Report |
| 2 | Report status | String | Generation status (fixed) | Success |
| 3 | Report Date and Timestamp | DateTime (UTC) | When the report was generated | 2026-07-22T15:30:00Z |
| 4 | Hierarchy | UUID | Partner ID (from the report parameter) | a1b2c3d4-... |
Total RH fields: 4
Section RD — Report Detail (dispute records)
46 fields per dispute record. Fields marked "not tracked; always empty" are present for Braintree format compatibility but are not populated by FlexFactor.
| # | Field Name | Data Type | Description | Sample Value |
|---|---|---|---|---|
| 1 | Merchant Account ID | String | External merchant ID; may be blank | MERCH-001 or (empty) |
| 2 | Dispute ID | UUID | Dispute identifier | d1e2f3a4-... |
| 3 | Original Dispute ID | String | Original dispute reference | (empty; not tracked) |
| 4 | Received Date | Date | Date the dispute was received | 2026-07-20 |
| 5 | Effective Date | Date | Dispute effective date (same as Received Date) | 2026-07-20 |
| 6 | Updated Date and Timestamp | DateTime (UTC) | Last-modified timestamp | 2026-07-22T10:15:30Z |
| 7 | Dispute Amount | Decimal (String) | Disputed amount | 125.50 |
| 8 | Dispute Amount Currency | String (ISO 4217) | Dispute currency | USD |
| 9 | Outcome | String | Dispute outcome | (empty; not tracked) |
| 10 | Amount Won | String | Amount won by the merchant | (empty; not tracked) |
| 11 | Kind | String | Dispute stage / kind | CHARGEBACK — see Kind values below |
| 12 | Reason | String | Dispute reason — the card-network reason code | 104, 4837 |
| 13 | Status | String | Dispute status | (empty; not tracked) |
| 14 | Dispute Case Number | String | Processor case number | CB-2026-001 |
| 15 | Reply Before Date | Date | Deadline to respond | 2026-08-05 or (empty) |
| 16 | Disputed date | Date | Date disputed (same as Received Date) | 2026-07-20 |
| 17 | Transaction Date and Timestamp | DateTime (UTC) | Original transaction time | 2026-06-15T14:30:00Z |
| 18 | Presentment Amount | Decimal (String) | Original transaction amount | 125.50 |
| 19 | Presentment Currency | String (ISO 4217) | Original currency | USD |
| 20 | Record ID | UUID | Associated transaction ID | t1r2a3n4-... |
| 21 | Order ID | String | Your order reference | ORD-2024-001 or (empty) |
| 22 | Settlement Amount | String | Settled amount | (empty; not tracked) |
| 23 | Settlement Currency | String | Settlement currency | (empty; not tracked) |
| 24 | Refunded | String (Boolean) | Whether the transaction was refunded | TRUE or FALSE |
| 25 | Customer ID | String | Customer identifier | (empty; not tracked) |
| 26 | Customer Name | String | Customer full name (first + last) — PII | Jane Roe |
| 27 | Customer Email | String | Customer email — PII | [email protected] or (empty) |
| 28 | Credit Card Number | String | Masked card number — fully masked in current exports | **** |
| 29 | Card Type | String | Card brand | VISA |
| 30 | Postalcode Response Code | String | AVS postal-code response | (empty; not tracked) |
| 31 | Street Address Response Code | String | AVS street-address response | (empty; not tracked) |
| 32 | AVS response text | String | AVS full response | (empty; not tracked) |
| 33 | CVV Response code | String | CVV verification code | (empty; not tracked) |
| 34 | CVV response text | String | CVV verification text | (empty; not tracked) |
| 35 | Fraud detected | String | Early fraud warning | TRUE if an early fraud warning exists; (empty) otherwise |
| 36 | Payment Instrument Type | String | Payment instrument type, processor-supplied | credit, debit, prepaid |
| 37 | Payment Instrument Subtype | String | Payment subtype | (empty; not tracked) |
| 38 | Paypal Payer Email | String | PayPal email | (empty; not tracked) |
| 39 | Payment Method Token | String | Payment token | (empty; not tracked) |
| 40 | Chargeback Protection | String | Protection coverage | (empty; not tracked) |
| 41 | Reason Code | String | Network reason code | (empty; not tracked) |
| 42 | Reason Code Description | String | Reason-code text | (empty; not tracked) |
| 43 | Acquirer Reference Number | String | ARN | 12345678901234567890 or (empty) |
| 44 | 3D Secure Liability Shifted | String | 3DS liability shift | (empty; not tracked) |
| 45 | Transaction Created At | DateTime (UTC) | Transaction created time | 2026-06-15T14:25:30Z |
| 46 | Disbursement Date | Date | Disbursement date | (empty in current exports) |
Total RD fields: 46
Kind field values (RD field 11)
The Kind field carries the dispute stage. Ten values are defined:
| Value | Description | Stage |
|---|---|---|
RDR | Rapid Dispute Resolution | Pre-dispute automated refund |
CHARGEBACK | Chargeback | Standard chargeback dispute |
PRE-DISPUTE | Pre-Dispute Warning | Pre-chargeback warning stage — funds move at this stage: the disputed amount and the dispute fee are debited when the pre-dispute is received, not later at the chargeback stage |
REVERSED | Reversed | Chargeback reversed / won — the returned funds post as a credit in the settlement batch covering the reversal date |
EARLY_WARNING | Early Warning | Early fraud-warning alert |
DISPUTE_NOTICE | Dispute Notice | Dispute notice received (TC 15) |
FRAUD_NOTICE | Fraud Notice | Fraud notice received (TC 40) |
UNMAPPED | Unmapped | Unknown / unmapped dispute type |
ORDER_INSIGHT | Order Insight | Visa Order Insight inquiry |
CONSUMER_CLARITY | Consumer Clarity | Mastercard Consumer Clarity |
Section RF — Report Footer
| # | Field Name | Data Type | Description | Sample Value |
|---|---|---|---|---|
| 1 | File number | String | File sequence number | 1 (always) |
| 2 | Total Records | String | Number of RD rows | 15 |
| 3 | Total Files | String | Number of files | 1 (always) |
Total RF fields: 3
Reconciliation workflow
- Parse the multi-section format by line prefix (RH, RD, RF).
- Verify RF
Total Recordsmatches the actual RD row count. - Match
Dispute ID,Record ID(transaction), orOrder IDto your systems. - Group by
Kindto separate dispute stages (RDR vs. chargeback vs. pre-dispute warnings vs. network inquiries such as Order Insight and Consumer Clarity). - Monitor
Reply Before Datefor time-sensitive responses. - Track win/loss in your own dispute system — the report
Outcome,Status, andAmount Woncolumns are always empty. - Cross-reference with the activity-exceptions report for financial impact.
Report 11: Disbursement Fee
Report name: disbursement-fee
Use case: Braintree-compatible disbursement and fee detail
Reconciliation use: comprehensive settlement and fee reconciliation
Format: multi-section CSV, Braintree-compatible
- RH — report header (report metadata)
- RS — report summary (merchant-level aggregation)
- RD — report detail (transaction-level detail)
- RF — report footer (record counts)
The prefix is a section identifier, not a counted field; the field counts below exclude it. Total documented fields: 81 (RH 4 + RS 14 + RD 60 + RF 3).
Braintree-compatible. This report mirrors the Braintree disbursement/fee export.
Each section begins with a header row. The first row for each prefix carries the section's column names (e.g.RD,Record ID,Merchant Account ID,...) followed by the data rows. Skip the header rows when loading data — see the layout example in Data Formats & Enumerations.
Section RH — Report Header
| # | Field Name | Data Type | Description | Sample Value |
|---|---|---|---|---|
| 1 | Report name | String | Report title (fixed) | Disbursement and Fees |
| 2 | Report status | String | Generation status (fixed) | Success |
| 3 | Report date and timestamp | DateTime (UTC) | When the report was generated | 2026-07-29T13:44:17Z |
| 4 | Hierarchy | UUID | Partner ID (from the report parameter) | a1b2c3d4-... |
Total RH fields: 4
Section RS — Report Summary (merchant aggregation)
| # | Field Name | Data Type | Description | Sample Value | Reconciliation Notes |
|---|---|---|---|---|---|
| 1 | Merchant Account ID | String | Merchant account identifier; may be blank | MERCH-001 or (empty) | Match to ExternalMerchantIdentifier |
| 2 | Transfer ID(s) | String | Associated bank transfer IDs (comma-separated if multiple) | AB12CD34 | Link to bank transfers; RD rows reference the same value in Transfer ID |
| 3 | Bank Account | String | Last 2 of bank account (masked) | XX | Masked bank account |
| 4 | Currency | String (ISO 4217) | Settlement currency | USD | Currency context |
| 5 | Sales | Decimal (String) | Total sales amount | 50000.00 | Gross sales in the period |
| 6 | Refunds | Decimal (String) | Total refund amounts (negative) | -500.00 | Returns/refunds (negative value) |
| 7 | Disputes | Decimal (String) | Total chargeback amounts (negative) | -250.00 | Chargebacks (negative value) |
| 8 | Other | Decimal (String) | Other adjustments | 0.00 | Reserve / adjustments |
| 9 | Gross Fees | Decimal (String) | Total gross fees | 1500.00 | All fees charged before credits |
| 10 | Net Fees | Decimal (String) | Net fees charged (negative) | -1250.00 | Gross Fees less any fee refunds, credits, or waivers in the period |
| 11 | Net Disbursed Amount | Decimal (String) | Net amount disbursed | 47750.00 | Actual disbursement amount |
| 12 | Balance | Decimal (String) | Post-disbursement balance | 0.00 | Account balance |
| 13 | Previous Failed Disbursement Amount(s) | Decimal (String) | Prior failed payout amounts | 0.00 | Failed previous disbursements |
| 14 | Previous Transfer ID(s) | String | Prior transfer IDs (comma-separated) | (empty) or TR-000 | Previous transfers |
Total RS fields: 14
Formula
NetDisbursedAmount = Sales + Refunds + Disputes + Other + NetFees
Refunds, Disputes, and NetFees are negative values.
Section RD — Report Detail (transaction-level)
The RD section carries 60 fields per row. Rows are signed: sale rows are positive; refund, dispute, and fee rows are negative. Fields marked (empty in current exports) exist for Braintree format compatibility and are not populated today.
| # | Field Name | Data Type | Description | Sample Value |
|---|---|---|---|---|
| 1 | Record ID | UUID | Unique identifier for this row | 01a2b3c4-... |
| 2 | Merchant Account ID | String | External merchant ID; may be blank | MERCH-001 or (empty) |
| 3 | Record Type | Enum | Row classification | Sale, Refund, Dispute, Adjustments, Fees |
| 4 | Record Subtype | String | Finer classification (see mapping below); empty for Sale | Chargeback, Processing Fee |
| 5 | Account Name | String | Merchant display name | Acme Store Inc. |
| 6 | Account ID | String | Merchant account reference | (empty in current exports) |
| 7 | Created At | DateTime (UTC) | When the underlying event was recorded | 2026-07-28T16:51:13Z |
| 8 | Settlement Date | Date | Settlement date | 2026-07-28 |
| 9 | Disbursement Date | Date | Disbursement date — see note below | 2026-07-28 |
| 10 | Presentment Currency | String (ISO 4217) | Original currency | USD |
| 11 | Gross Presentment Amount | Decimal (String, signed) | Row amount in presentment currency | 410.86, -45.70 |
| 12 | Exchange Rate | Decimal (String) | Presentment-to-settlement FX rate | 1.0000000000 |
| 13 | Settlement Currency | String (ISO 4217) | Settlement currency | USD |
| 14 | Gross Settlement Amount | Decimal (String, signed) | Row amount in settlement currency | 410.86, -38.41 |
| 15 | Total Gross Fees | Decimal (String) | Aggregate gross fees for the row — 0.00 today; fees appear as their own Fees rows | 0.00 |
| 16 | Total Net Fees | Decimal (String) | Aggregate net fees for the row — 0.00 today; see note below | 0.00 |
| 17 | Net Disbursed Amount | Decimal (String, signed) | The row's net contribution to the disbursement | 410.86, -45.70 |
| 18 | Tax Amount | Decimal (String) | Tax on the row | (empty in current exports) |
| 19 | Tax Exempt | String | Tax-exemption flag | (empty in current exports) |
| 20 | Transfer ID | String | Bank transfer the row disburses under; matches RS Transfer ID(s) | AB12CD34 |
| 21 | Order ID | String | Your order reference | ORD-2024-001 |
| 22 | Dispute ID | String | Dispute identifier — the dispute reference is carried in Description instead | (empty in current exports) |
| 23 | Purchase Order Number | String | Purchase-order reference; carries the order reference today | ORD-2024-001 |
| 24 | Original Record ID | String | Reference to the original record | (empty in current exports) |
| 25 | Original Order ID | String | Order reference of the original transaction, on refund/dispute/fee rows | ORD-2024-001 |
| 26 | Acquirer Reference Number | String | ARN | (empty) or ARN value |
| 27 | Payment Instrument Type | String | Payment instrument type | Credit Card |
| 28 | Payment Instrument Subtype | String | Card brand | Visa, Mastercard |
| 29 | Payment Network | String | Payment network | (empty in current exports) |
| 30 | Payment Method Token | String | Payment token | (empty in current exports) |
| 31 | Number of Installments | Integer | Installment count | (empty in current exports) |
| 32 | Installment Number | Integer | Installment sequence | (empty in current exports) |
| 33 | Bank Account | String | Bank account, masked | XX |
| 34 | Payment Channel | String | Payment channel | (empty in current exports) |
| 35 | Dispute Case Number | String | Processor case number, on dispute rows | CB-2026-001 |
| 36 | Store ID | String | Store identifier | (empty in current exports) |
| 37 | Reader ID | String | Card-reader/terminal identifier | (empty in current exports) |
| 38 | Customer ID | String | Customer identifier | (empty in current exports) |
| 39 | Authorization Code | String | Authorization code | (empty in current exports) |
| 40 | Direct Bank Return Code | String | Bank return code | (empty in current exports) |
| 41 | Variable Fee | Decimal (String) | Variable fee component | (empty in current exports) |
| 42 | Fixed Fee | Decimal (String) | Fixed fee component | (empty in current exports) |
| 43 | Foreign Exchange Fee | Decimal (String) | FX fee | (empty in current exports) |
| 44 | Cross-Border Fee | Decimal (String) | Cross-border fee | (empty in current exports) |
| 45 | Chargeback Protection Fee | Decimal (String) | Chargeback-protection fee | (empty in current exports) |
| 46 | BIN | String | Card BIN (6 or 8 digits) | 42424242 |
| 47 | Issuing Bank | String | Card issuing bank | (empty in current exports) |
| 48 | Card Issuing Country | String | Card issuing country | (empty in current exports) |
| 49 | Description | String | Free-text detail; on dispute rows carries the network reason code and dispute reference | 104 Dispute ref: <dispute-uuid> |
| 50 | Interchange Currency | String | Interchange currency | (empty in current exports) |
| 51 | Interchange Rate | Decimal (String) | Interchange rate | (empty in current exports) |
| 52 | Interchange Fixed | Decimal (String) | Fixed interchange component | (empty in current exports) |
| 53 | Total Interchange Fees | Decimal (String) | Interchange fee total | (empty in current exports) |
| 54 | Total Scheme Fees | Decimal (String) | Scheme fee total | (empty in current exports) |
| 55 | Total Pass-Through Fees | Decimal (String) | Pass-through fee total | (empty in current exports) |
| 56 | Count | Integer | Records aggregated in the row (1 for transaction-level rows) | 1 |
| 57 | Total Processing Fees | Decimal (String) | Aggregate processing fees for the row | 0.00 |
| 58 | Pass-Through Fee Month | String (YYYY-MM) | Month pass-through fees accrue to | (empty in current exports) |
| 59 | Processing Fee Month | String (YYYY-MM) | Month the fee accrues to | 2026-07 |
| 60 | Custom Fields | String | Custom field payload | (empty in current exports) |
Total RD fields: 60
Fees are their own rows. Each fee appears as a separate RD row (Record Type = Fees) with a negative amount, tied to its transaction viaOrder ID— the per-rowTotal Gross Fees/Total Net Feescolumns stay0.00. The RSNet Feesaggregate is the sum of theFeesrows. This enables per-order fee reconciliation directly from the RD section.
Note on Disbursement Date (field 9): populated, but it currently carries the same value as Settlement Date rather than a distinct disbursement timestamp. Do not rely on it to distinguish disbursement timing from settlement timing.
RecordType → RecordSubtype mapping
The RD Record Type / Record Subtype pair classifies each row:
| Record Type | Record Subtype | Meaning |
|---|---|---|
Sale | (empty) | Order / sale transaction |
Refund | Merchant Credit | Merchant-issued credit |
Refund | (empty) | Return / refund |
Dispute | Chargeback | Dispute debit — covers all dispute stages, including pre-disputes (a PRE-DISPUTE in dispute-detail appears here as a Chargeback row) |
Adjustments | Manual Adjustment | Manual batch adjustment |
Adjustments | Reserve Hold | Reserve amount held |
Adjustments | Reserve Release | Reserve amount released |
Adjustments | Reserve Cancellation | Reserve hold cancelled |
Adjustments | Reserve Utilization | Reserve applied to cover losses |
Adjustments | Reserve Deduction | Reserve deduction |
Fees | Processing Fee | Standard processing fee |
Fees | Partner Processing Fee | Partner processing fee |
Fees | Dispute Fee | Chargeback fee |
Fees | Refund Fee | Refund fee |
Fees | Interchange Fee | Interchange fee |
Section RF — Report Footer
| # | Field Name | Data Type | Description | Sample Value |
|---|---|---|---|---|
| 1 | Page number | String | Page number | 1 (always) |
| 2 | Total records | String | Number of RD rows | 1234 |
| 3 | Total pages | String | Number of pages | 1 (always) |
Total RF fields: 3
Reconciliation workflow
- Parse the multi-section CSV format by line prefix (RH, RS, RD, RF).
- Verify RF
Total recordsmatches the actual RD row count. - For each RS record, verify the disbursement calculation.
- Match
Merchant Account IDto your merchant master. - Reconcile RS
Net Disbursed Amountto bank deposits. - Match
Transfer ID(s)to actual bank-transfer references. - Drill into RD records for transaction-level detail; use the RecordType → RecordSubtype mapping to classify each row.
- Reconcile RS
Saleswith the activity-summary totals.
Updated 6 days ago
