Skip to main content

Available values

Fields marked with * are taken from the processor’s settlement report, whereas the remaining fields originate from the Primer Payment or from Primer’s Reconciliation batch processing logic.

Decimal amounts

We are using decimal amounts in the reports, which is a deviation from how Primer’s Payment API works. This is so that we can accurately reflect the granularity by which third parties report settlement data, like transaction fees, without introducing rounding errors.
Amounts will therefore always come with eight decimal places for consistency, even for currencies like JPY that don’t use minor units.

Transaction types

  • SALE: Refers to a settled payment and might include cost/fee information.
  • REFUND: Refers to a refund on a settled payment and might include cost/fee information. This could also refer to blind credits not related to Primer payments.
  • DISPUTE: Refers to payment funds being reversed due to a dispute and might include cost/fee information.
  • FEE: Refers to fees not tied to a settled payment, such as authorization fees or other standalone charges.
  • PAYOUT: Groups any transaction related to the processor balance and bank account funds movement.
  • TRANSFER: Any other money transfer (credit or debit) beyond the specifically mapped ones like Sale or Refund.

Using the direction field

The direction field determines how funds flow in or out of your account. Always combine direction with payoutNetAmount to determine the financial effect of a record. Formulas:
  • CREDIT: payoutGrossAmount - payoutTotalDeductionsAmount = payoutNetAmount
  • DEBIT: payoutGrossAmount + payoutTotalDeductionsAmount = payoutNetAmount
Examples (all amounts in USD):
Gross amounts can be 0.00, especially in fee-only transactions. direction still clarifies whether the net amount represents funds to or from you.

Understanding fees

Fee values use a consistent sign convention across all records. You do not need to rely on direction or transactionType to interpret them:
  • Fee > 0: a deduction from your payout
  • Fee < 0: returned funds (e.g. a fee reversal)
This applies to all fee columns: processorFeeAmount, interchangeFeeAmount, schemeFeeAmount and payoutTotalDeductionsAmount. Fee values can have many decimal places due to fractional reporting from some PSPs.

Special case: transactionType = FEE

FEE records appear in the following scenarios:
  • Platform or account-level fees not tied to a specific transaction
  • Fees for non-settled payments: the matching engine only has access to settled payments, so fees for payments that did not settle (e.g. declined authorization fees) cannot be matched and appear as FEE records
  • Delayed fee application: fees such as authorization charges can appear in the report days after the original transaction
  • Fallback: when Primer cannot identify the matching transaction for a fee, it falls back to the FEE type

Transaction type tips

  • SALE, REFUND, DISPUTE: can be CREDIT or DEBIT, and can appear with payoutGrossAmount = 0 when only fees are being reported for that day. Always rely on direction and the amount fields rather than the transaction type alone.
  • TRANSFER: represents general fund transfers not tied to a specific transaction. This is also used as a fallback when none of the other specific types apply.

Field interpretation tips

Integration checklist

Before going live with your reconciliation integration, confirm the following:
  • Use direction to determine whether gross and net amounts represent funds to or from you.
  • Handle both positive and negative net amounts correctly for CREDIT and DEBIT records.
  • Use payoutTotalDeductionsAmount as the primary fee value for total deductions.

Batches and files

Primer generates one unified file per batch of settlement data received from a processor. All files follow the same structure regardless of processor. To calculate the total net payout for a batch:

Conflict reasons

A batch status of Conflict in the dashboard means there could be any number of reasons on why we flagged a particular transaction. The actual available values for conflictReason in the report are as follows:
  • TRANSACTION_UNKNOWN: We don’t have a record of the processor transaction ID to map to a Primer payment. Usually for payments created outside of Primer.
  • AMOUNT: Our record of the amount differs to the amount reported.
  • CURRENCY: Our record of the currency differs to the currency reported.
  • TRANSACTION_TYPE: This could only happen if we recorded a payment as a sale but the settlement report indicates it as a refund, or the other way round.
Depending on the reason and amount of conflicts, you can investigate by looking at the payment within the Primer dashboard, and comparing its state within the processor’s dashboard.

Sample report

Download an example CSV file. The file structure will be the same for every processor, but naturally IDs like transaction IDs or merchant IDs, or raw transaction types, will vary from one processor to another.