Contents
Reading Your Settlement Report
If you choose to receive your settlement reports via email or by SFTP, you will receive both a summary and detailed report file (.csv). The summary report contains totals so you can see a performance snapshot. The detailed report contains every single event so you can see exactly what is happening.
Opening up a detailed report may resemble the example below:
For your reference, you can download a sample settlement report here.
Standard settlement reports include the following details (note: the format column is useful for developers who want more control over the data. Additionally, the bolded name items are included as default while non-bolded items are optional/may require additional configuration to include). Rows will appear in the corresponding column order in the report. If you omit optional columns, this will not change the order.
Name |
Format |
Description |
date |
String (ISO 8601 UTC) |
The date that the specific transaction event took place. |
charge_created_date |
String (ISO 8601 UTC) |
Loan creation date (ex: 2022-11-30). |
charge_id |
String (9 alphanumeric characters) |
Affirm's persistent transaction identifier. The Charge ID remains even after you refund a charge. |
transaction_id |
String (16 alphanumeric characters) |
An Affirm generated unique value is created for each charge transaction. Capturing a charge and then voiding the charge will create 2 different Transaction IDs.
This value is only useful when using the Charges API. When using the Transactions API, use the “merchant_transaction_id” column to track loans end to end. |
order_id |
String (128 alphanumeric characters maximum) |
Merchant generated identifiers are typically used in their own internal system to track the order. This is an optional value that you provide in the checkout object. If you do not provide Order IDs, this column will be empty. |
event_type |
String |
This is the current state of the charge. Possible values are:
loan_captured - Authorized funds released to the merchant account.
loan_refunded - This is the amount of the refund and may be a negative value or zero.
dispute_opened - A negative value to represent the loan amount being withheld while the dispute is being resolved.
dispute_resolved - The funds processed after a dispute has been resolved.
fee_adjustment - A correction to the fee of a previous loan if an incorrect fee was charged.
vcn_balance_fee_adjustment - The remaining balance of a virtual card is refunded to the merchant when a customer does not use the entire authorized amount.
split_capture - Authorized funds released to the merchant account. This will be the capture event for merchants using Split Capture. |
sales |
Float (USD dollars) |
This is the amount of the sales transaction and may be positive, negative, or zero. When you capture the loan or win a dispute, Sales is the positive value of that transaction. When a customer opens a dispute, Sales is zero and the negative value of that transaction is reflected under Refunds. |
refunds |
Float (USD dollars) |
This is the amount of the refund and may be a negative value or zero. When you refund a loan, Refunds are the negative value of the refund. In all other cases, Refunds are zero. |
fees |
Float (USD dollars) |
This is the fee that Affirm charges for this transaction and may be positive or negative. When you capture a loan or resolve a dispute, fees will be a negative value. If you refund a loan or if a customer opens a dispute, fees are a positive value. |
total_settled |
Float (USD dollars) |
This is the total amount deposited into your bank account. It is the sum of all Sales, Refunds, and Fees. This value can either be positive or negative. |
merchant_name |
String |
The name of the Affirm account. Confirm with Affirm if you would like to enable this property. |
financing_program |
String |
If the customer qualified for a financing program, the program name will be listed here. |
entity_name |
String |
If you have multiple channels that use the same API keys, the Entity Name is an optional string you can provide in the checkout object. |
merchant_transaction_id
Optional for Charges API |
String |
Merchant generated ID used to track each instance of a charge action. This replaces the functionality of ‘transaction_id’ in the Transactions API. |
txn_fees
If applicable, this field will be required |
Float (USD dollars) |
This is a transaction fee that is charged by Affirm for processing a loan (Not to be confused with Fees as this is charged outside of that).
Note: This column does not populate on the ‘Parent’ company report. |
deposit_id |
String (15 alphanumeric characters) |
Affirm assigns this random string related to a single deposit to every charge in a settlement. Each charge with the same Deposit ID was deposited on the same day. For any given day you’ll have a Deposit ID per lending partner that was involved in a charge for that day. |
dispute_reason |
String |
For dispute events, details on the reason for the dispute will be listed here. Confirm with Affirm if you would like to enable this property. |
Reconciling Your Settlements
For simple reconciliation purposes, you can filter out/hide extra information so you can focus on items like total_settled.
- The date of the settlement file is the date we initiated the ACH transfer to your bank account, which is a different date than when the charge was processed.
- Take the sum of all the amounts in the total_settled column that have the same Deposit ID. This sum should equal the amount of a deposit made into your bank account. You may have multiple deposits each day (one per lending partner).
- If you use Order ID, take the sum of all the amounts with the same Order ID across different reports to calculate the final state of that order.
- For merchants on Charges API, you can optionally map each Transaction_id to your accounts payable or accounts receivable in your accounting system.
- For merchants on Transactions API, you can optionally map each merchant_transaction_id to your accounts payable or accounts receivable in your accounting system.