Skip to Content

The reporting model

How deposits, settled transaction lines, and fee charges relate - and why amounts and fees are two views of the same money.

Beta. Settlement reporting requires access to be enabled. A valid merchant API key without this access receives 403 Forbidden. To ask for access, contact support@doura.ca.

The contract can still change during the beta. Breaking changes are announced with a deprecation period, as netAmount was - see Deprecated: netAmount.

The API reports what a payment processor has settled and deposited to a merchant's bank account, at both the settlement (deposit) and individual-transaction level, plus every fee charged to the merchant - per-transaction settlement fees, daily discount fees, and standalone fees like monthly service, equipment, or one-time setup.

Access and data availability

Access applies to all settlement and fee-charge endpoints, including GET /fee-charges/{feeChargeId}/components. Requests still use the merchant's API key and return only that merchant's records.

Response Meaning and next step
401 Unauthorized The API key is missing or invalid, or the request names a merchant that the key does not authorize. Correct the credentials or merchant selection.
403 Forbidden Settlement reporting access is not enabled. Contact support for access.
200 OK with an empty list Access is enabled, but no records match the request. Data availability also depends on the merchant's reporting setup and the reports received.

An access refusal uses the normal error envelope, with code: 1001, status: Rejected, and message: "Settlement reporting API access is not enabled for this merchant.".

Three resources

Resource ID prefix Definition
Settlement stl_ A record of a processor-reported transfer of payment proceeds to the merchant's bank account. It groups the activity included in one deposit and reports the resulting total.
Settled transaction - A processor-reported line showing how payment or dispute activity contributes to a merchant deposit. It connects the deposit to the original payment activity when a matching transaction is available.
Fee charge mfc_ A record of a merchant cost, a pending monthly total, or one of that total's component fees. Its status states whether it has been billed.
containssettlementId, when linkedtransactionId

Settlement (stl_)
deposit amount and funding type

Settled transaction
one line per transaction

Fee charge (mfc_)
per transaction, daily, or standalone

Transaction (trx_)
GET /transactions

Settlements

A settlement is the deposit-level record used to reconcile payment proceeds with the merchant's bank account. Its amount is the processor-reported deposit total after the deductions or adjustments applicable to its funding arrangement. Its date, currency, rail, funding type, and transaction lines explain which activity the deposit represents. Both card and ACH settlements can use Net or Gross funding.

A single deposit can span several processor batches - for example transactions that queued over a weekend or bank holiday and settled together - so the processor batch number is recorded per line item, not on the settlement.

Listed with GET /settlements and retrieved individually with GET /settlements/{settlementId}.

Settled transactions

A settled transaction is the deposit-side record of payment activity. Its transactionType identifies the activity: Sale, Refund, Capture, Return, or Chargeback. See Transaction type for each value's meaning.

Each line states the amount attributed to that activity and carries the processor identifiers used for reconciliation. For Card Net and Card Gross, the line's amount is the full settled transaction amount; deposit-level card fees and reserve adjustments are not allocated to individual lines. For ACH, the line's amount reflects any fees withheld from that line.

Where possible it is matched to a transaction (trx_ id) - look up the transactionId via GET /transactions (for example ?filters=id==trx_...) for full transaction detail.

Listed by settlement date with GET /settlements/transactions.

Fee charges

A fee charge records a cost the merchant owes for processing payments or using related services, such as a transaction processing fee, monthly account service, or equipment charge. It supplies the category, amount, currency, charge date, and description needed to account for that cost. Fees associated with a settlement link to the relevant deposit through settlementId, and per-transaction fees can also identify the settled line through settledTransaction.

GET /fee-charges returns Billed fees by charge date. Add includeInformational=true to also see Pending monthly totals by charge date and Informational component fees by assessment date. Only billed fees belong in a billed total. Statement, invoice, and rollup charges are returned only once their billing month is published, on the 10th of the following month; daily fees are returned as they are assessed. See Fee charges for the date rules, the publication rule, and the components endpoint.

A monthly card statement's charges are reported as printed and include the fees already withheld from the month's daily deposits. The API does not subtract them; you deduct the period's daily card fees from the statement charges yourself. See Card statement charges include the daily fees.

See the Settlement and fees glossary for standalone definitions of funding types, reserves, returns, matching, and the other reporting terms.

Amounts

All amounts are expressed in the smallest denomination of the currency - cents for USD and CAD.

A settlement's amount is the deposit total. Read type and fundingType together to determine how fees affect it:

Settlement model API fields Deposit amount
Card Net type: Card, fundingType: Net Total deposit of card sales after withheld fees (e.g. Interchange and Discount Fees).
Card Gross type: Card, fundingType: Gross Total deposit of card sales.
ACH Net type: Ach, fundingType: Net Total deposit of ACH sales after withheld fees (e.g. ACH transaction fee).
ACH Gross type: Ach, fundingType: Gross Total deposit of ACH sales.

Card Net and Card Gross are combinations of these two fields, not additional type values. A merchant can have different funding terms for card and ACH settlements. See Settlements for the reconciliation rules and examples.

Funding type describes fee withholding. Fee billing dates are separate terms: use each fee charge's source and chargeDate rather than assuming every gross-funded fee is billed monthly. See Fee charges.

Every fee withheld from a deposit is also itemized as a fee charge. Do not subtract it from the settlement's amount again: the deposit already reflects that deduction. For Card Net, the card line amounts remain before these fees even though the settlement total is after them. The monthly card statement restates the withheld card fees in its own charges, so do not add the daily fees to the statement charges either.

Signed amounts

Amounts are signed. They are normally positive, but negative when:

  • Returns or adjustments in a deposit exceed sales, or
  • A single line's own withheld fees exceed what it disbursed

Your reconciliation has to handle negative deposits and negative lines. Treating amounts as unsigned, or filtering out negatives, produces totals that do not match the bank.

Zero-movement lines

Some settled lines move no money at all - most often a payout the provider could not complete, which leaves a line carrying only the fee the attempt cost, reported as a Return.

These are always returned. They are part of the deposit, and the sum of a deposit's lines is only meaningful with them present. Do not filter them out.

Deprecated: netAmount

netAmount is the former name of amount and is deprecated. It mirrors amount for one month from 2026-08-21 and is then removed. Migrate to amount.

Reconciling to a transaction

Settlement reporting tells you what the processor moved; the transaction endpoints tell you what you asked for. To join them, take a settled transaction's transactionId and look it up:

GET /transactions?filters=id==trx_01JVGD0BD3D6SRW6A941CPWCJ5

See Retrieving transactions.

Questions about your integration? Contact support@doura.ca.