INTEGRATION
TRANSACTION ASSURANCE
CHARGES
REPORTS
DISPUTES & FRAUD
Reconciliation Details Report
The Reconciliation Details report provides a complete, transaction-level breakdown of all items included in your card network settlements. This includes cleared charges, disputes, and fees, with detailed information on settlement amounts, dates, interchange fees, card products, and merchants. This data is specifically designed to support acquirers with their financial operations.
Product / Engineering
Finance
The Reconciliation Details report serves several key purposes for financial operations:
Reconcile individual transactions, disputes, and fees against incoming bank transfers.
Verify deducted card network fees with the corresponding scheme fee invoices.
Reconcile settled transactions with the original charges sent for capture.
Create reports | Via API Generate via portal |
Access reports | Via API Download via portal Push to SFTP or e-mail |
Schedule reports | Hourly (using the created query pattern) Daily (using the created query pattern) |
Query patterns | The report is generated by specifying a The |
Data types | NDJSON JSON CSV |
Data sources | Captures: Sourced from Silverflow Disputes and Fees: Sourced directly from the card schemes |
API Reference: Create Reconciliation Details Report: Documentation for generating a new Reconciliation Details report via the API.
API Reference: Get Report File: Documentation for downloading a report file that has already been generated.
API Reference: Schedule Report: Documentation for creating a recurring report schedule.
How to reconcile with your bank transfers: The
networkFundsTransferKey
field in this report is the key to reconciling with bank transfers. You can find the same key in the Network Funds Transfers report which details which bank transfer it is related to (settlement service, day, currency). The reported amount in the Network Funds Transfers report matches the total amount received on your bank account. By using thenetworkFundsTransferKey
to group items within thereconciliationDetails
report, you can easily tie them to the corresponding bank transfer.reconciliationDetail types: The report includes various transaction types that impact the final settlement amount. While most entries are payments between a cardholder and a merchant, it is crucial to also account for items such as chargebacks and card network fees. The
netSettlementAmount
for each entry represents the ultimate settlement amount included in the bank transfer.Corrections: In rare cases where data quality issues arise, Silverflow may issue corrections to previously sent
reconciliationDetails
. To ensure data immutability, the original record will be nullified, and a new, corrected record will be issued. For a full explanation of this process, please refer to the relevant documentation on data corrections below.
This section provides a detailed breakdown of all the fields available in the report. For clarity and ease of reference, the fields are organized by category.
Core fields
The fields that are available in all Reconciliation Details entries, and provide the necessary information to reconcile against incoming bank transfers.
Core field | Description |
key | A unique identifier for a Reconciliation Detail, starting with |
agentKey | A foreign key that identifies the agent, starting with |
groupReference | Identifies the original first presentment acquirer reference number (ARN), used to link subsequent dispute types to the original transaction. Starts with |
type | The type of reconciliation detail, which categorizes it as a capture, a dispute, or a card network fee entry. Possible values include:
|
created | The date and time (in UTC) when the reconciliation detail was created. |
entry | The sequence number for a reconciliation detail when data corrections are issued. The new record will have the next number in the sequence. |
isCorrection | A boolean value indicating if the record is being corrected and serves to nullify the original. |
correctedDetailKey | The key of the reconciliation detail that is being corrected. Only present if isCorrection is true |
reportingFor | The date and time the reconciliation detail object was created. |
network | The card network associated with the entry. Possible values include:
|
fundsTransferDate | The date when the |
fundsTransferBookDate | The book date of the funds transfer. Please refer to fundsTransferDate to understand when amounts are settled. |
netSettlementAmountValue | The amount, net of interchange fees, that will be settled to the acquirer. In minor units with decimal precision (e.g., $0.345 is 34.5). |
netSettlementAmountCurrency | The three-letter ISO currency code. For example, |
netSettlementAmountImpact | Indicates whether the amount is a |
settlementServiceCode | The identifier of the Settlement Service as defined by the Card Network. For example, |
settlementServiceName | The Silverflow-generated value for the name of the settlement service. For example, Visa: |
settlementServiceId | A Silverflow-generated value that defines the settlement service plus the currency. For example, |
networkFundsTransferKey | A key that identifies the funds transfer to which this reconciliation detail belongs. Used to reconcile with the networkFundsTransfer report. Starts with |
Type specific reconciliationDetails fields
A collection of fields that are only present based on the type of the reconciliation detail. These fields provide specific information about the transaction, its origin, and any related fees or disputes.
Type specific field | Description |
typeSpecificArn | The Acquirer Reference Number (ARN) for dual-message system (dms) transactions. Unique identifier assigned by Silverflow. |
typeSpecificRrn | The Retrieval Reference Number (RRN) for single-message system (sms) transactions. Unique identifier assigned by Silverflow. |
typeSpecificProcessingDate | The date on which the transaction was processed with the card networks. This is the clearing day. |
typeSpecificBinKey | A key assigned by Silverflow to uniquely identify a BIN. |
typeSpecificBinDescription | A description of the BIN. Combination of acquirer, region, and scheme. |
typeSpecificBinAcquirerBin | The Acquirer BIN number as assigned by the card network. For Mastercard, this is also referred to as the Acquirer Reference ID. For AMEX Acquirer BIN, this field corresponds to the Submitter Id. |
typeSpecificTransactionReference | A unique ID assigned by the merchant or payment service provider. |
typeSpecificActionKey | A unique ID that identifies an action on a charge. Starts with Partially clearing a charge will result in two different actions, and thus actionKey’s. |
typeSpecificActionReference | The action reference assigned by the agent. Will not start with |
typeSpecificClearableTime | The date and time after which a transaction should be cleared. For a charge with For a charge with |
typeSpecificFilename | The name of the file processed with the card networks. |
typeSpecificMerchantAcceptorDoingBusinessAsName | The assumed or trade name of the merchant. Value may be trimmed to fit card network length requirements. |
typeSpecificMerchantAcceptorMid | The Merchant ID assigned by the acquirer. |
typeSpecificMerchantAcceptorKey | A unique ID for a Merchant Acceptor. Starts with |
typeSpecificMerchantAcceptorDescription | The description given to the Merchant Acceptor by the agent. |
typeSpecificChargeKey | A unique ID that identifies a Charge performed on the Silverflow platform. Starts with |
typeSpecificAuthorizationAmountValue | The amount that was authorized with the card network, in minor units with decimal precision (e.g., $0.345 is 34.5). |
typeSpecificAuthorizationAmountCurrency | The three-letter ISO currency code. For example, |
typeSpecificAuthorizationAmountImpact | Indicates whether the amount is a |
typeSpecificClearingAmountValue | The amount that was submitted to the card network for clearing, in minor units with decimal precision (e.g., $0.345 is 34.5). This may be lower than the authorization amount in case of a partial capture, or larger for example with tipping in a restaurant. |
typeSpecificClearingAmountCurrency | The three-letter ISO currency code. For example, |
typeSpecificClearingAmountImpact | Indicates whether the amount is a |
typeSpecificGrossSettlementAmountValue | The amount to be settled to the acquirer before interchange fees. This is the clearing amount in the settlement currency. |
typeSpecificGrossSettlementAmountCurrency | The three-letter ISO currency code. For example, |
typeSpecificGrossSettlementAmountImpact | Indicates whether the amount is a |
typeSpecificInterchangeFeeAmountValue | The interchange fee amount applied to the transaction, in the settlement currency. |
typeSpecificInterchangeFeeAmountCurrency | The three-letter ISO currency code. For example, |
typeSpecificInterchangeFeeAmountImpact | Indicates whether the amount is a |
typeSpecificAcquirerIdCode | Identifier of the Acquirer as defined by the Card Network (Visa CIB, Mastercard ICA). |
typeSpecificTransactionType | Whether the clearing action, or capture, relates to a |
typeSpecificCardInfoSummaryCardCountryCodeAlpha2 | Two-letter ISO code relating to the country of the cardholder / issuer (for example |
typeSpecificCardInfoSummaryCardCountryCodeAlpha3 | Three-letter ISO code relating to the country of the cardholder / issuer (for example |
typeSpecificCardInfoSummaryCardCountryCodeNumeric | Numeric ISO code relating to the country of the cardholder / issuer (for example |
typeSpecificCardInfoSummaryAccountFundingSource | The Funding Source of the card used. Can be one of the following:
Available on firstPresentment’s. |
typeSpecificCardInfoSummaryProductType | What customer segment this card belongs to. Can be one of the following:
Available on firstPresentment’s. |
typeSpecificInterchangeFeeProgramSegmentsCurrency | The original currency of the interchange fee as applied by the card networks. |
typeSpecificInterchangeFeeProgramSegmentsFixed | A fixed fee in nominal terms of interchange fee that are applied to the transaction. |
typeSpecificInterchangeFeeProgramSegmentsBasisPoints | Number of basis points of interchange fee that are applied to the transaction. |
typeSpecificInterchangeFeeProgramSegmentsMin | A minimum fee in nominal terms of interchange fee that are applied to the transaction. |
typeSpecificInterchangeFeeProgramSegmentsMax | A maximum fee in nominal terms of interchange fee that are applied to the transaction. Relevant for example in cases of regulated debit card environments (e.g. max EUR 0.05 fee for European Debit transactions). |
typeSpecificInterchangeFeeProgramDesignatorNetwork | Card network of the interchange fee program. |
typeSpecificInterchangeFeeProgramDesignatorFeeProgramIndicator | The FPI as defined by the Visa manuals. |
typeSpecificInterchangeFeeProgramDesignatorFeeProgramName | The human readable description of the interchange fee program as interpreted from the manual. |
typeSpecificInterchangeFeeProgramDesignatorCpsProgram | The Visa CPS program the transaction belongs to (US Only). |
typeSpecificInterchangeFeeProgramDesignatorIrd | The Interchange Rate Designator of the interchange program as defined by the Mastercard manuals. This is a 2 character code. |
typeSpecificInterchangeFeeProgramDesignatorCardProgramIdentifier | The Mastercard program that belongs to the IRD (Mastercard Credit, Mastercard Debit, Maestro etc.). This is a 3 character code. |
typeSpecificInterchangeFeeProgramDesignatorType | Type of the Business Service Arrangement (BSA) as defined by Mastercard. |
typeSpecificInterchangeFeeProgramDesignatorId | ID Code of the Business Service Arrangement (BSA) as defined by Mastercard. |
typeSpecificInterchangeFeeProgramDesignatorFeeCode | Fee Code as defined by Bancontact. This is a short alpha-numeric code indicating the Fee Program used. |
typeSpecificCashbackAmountValue | Cashback amount as defined in the authorization. |
typeSpecificCashbackAmountCurrency | Currency of the cashback amount as defined in the authorization. |
typeSpecificPreDispute | The type of pre-dispute resolution used for this transaction. Will be there in case of a
|
typeSpecificReversal | A boolean value indicating whether the dispute was reversed. Present in any dispute reconciliation detail. |
typeSpecificDisputeOutcome | The outcome of the dispute. Present in secondPresentment or (pre-)arbitration details. Can have the following values:
|
typeSpecificDescription | A description of a card network fee. Present in a cardNetworkFee-dms detail type. |
typeSpecificType | A type of card network fee. Present in a cardNetworkFee-dms detail type. |
typeSpecificSubType | A sub-type of card network fee. Present in a cardNetworkFee-dms detail type. |
binAcquirerIdCode | Identifier of the Acquirer as defined by the Card Network (Visa CIB, Mastercard ICA). |
binAcquirerBin | The BIN on which this transaction was processed. |
binAcquirerCountryCodeAlpha3 | Three-letter ISO code relating to the country of the acquirer (for example |
To ensure data immutability, the Reconciliation Details report uses a specific process for correcting entries. Instead of modifying an existing record, a correction involves creating a new record to nullify the original and, if needed, a subsequent record with the corrected data. This method provides a clear, auditable trail of all changes.
The groupReference
field is used to link all related records—the original, the nullification, and the new corrected entry.
How the corrections process works
Initial record: Every Reconciliation Detail is first created with
isCorrection
set tofalse
andentry
as1
.
key | groupReference | type | entry | isCorrection | fundsTransferDate | settlementAmount | correctedDetailKey |
key-1 | grp-1 | firstPresentment | 1 | false | 2022-09-15 | 10 EUR Credit | - |
Nullification: When a correction is needed, a new record is created to nullify the original. This nullification record has
isCorrection
set totrue
, and itscorrectedDetailKey
field contains thekey
of the original record.
key | groupReference | type | entry | isCorrection | fundsTransferDate | settlementAmount | correctedDetailKey |
key-1 | grp-1 | firstPresentment | 1 | false | 2022-09-15 | 10 EUR Credit | - |
key-2 | grp-1 | firstPresentment | 1 | true | 2022-09-15 | 10 EUR Debit | key-1 |
Corrected Record: A final record is added with the corrected value(s) and a new entry
number. The entry
value is incremented to distinguish it from the original and nullified records.
key | groupReference | type | entry | isCorrection | fundsTransferDate | settlementAmount | correctedDetailKey |
key-1 | grp-1 | firstPresentment | 1 | false | 2022-09-15 | 10 EUR Credit | - |
key-2 | grp-1 | firstPresentment | 1 | true | 2022-09-15 | 10 EUR Debit | key-1 |
key-3 | grp-1 | firstPresentment | 2 | false | 2022-09-17 | 10 EUR Credit | - |
In this example, the first two records cancel each other out, and the net result is that of the last entry. This process can be repeated with higher entry numbers for additional corrections. Note that the corrected record might have a different fundsTransferDate
and, therefore, be available under a different URL.
Correcting Returned Transactions
In some rare cases, such as when a submitted Visa transaction is later returned (i.e., rejected by the scheme), Silverflow follows the same immutable correction process. The original record is nullified, and the issue is resolved. Upon re-submission of the transaction, a new record is generated with a new entry
number and the updated settlement information. The new record will most likely have a different processingDate
, which can impact the fundsTransferDate
and its URL.