# Fee charges

Every fee charged to the merchant, whether withheld from a deposit or billed monthly.

> **Warning:**
>
> Settlement reporting is in **beta** and is not yet available to every merchant. See [The reporting model](https://doura.ca/docs/settlement-reporting/reporting.md) for how to ask for access.

A fee charge (`mfc_` id) records a merchant cost. Its `status` tells you whether it is billed, a pending monthly total, or an informational component of that total. A fee associated with a deposit carries a `settlementId`; a per-transaction fee also identifies the settled line through `settledTransaction`. Monthly totals and standalone fees have neither link.

Amounts are signed integers in the smallest currency unit. A positive amount is a charge; a negative amount is money returned to the merchant.

```http
GET /fee-charges?date=2026-07-01
GET /fee-charges?fromDate=2026-07-01&toDate=2026-07-31&filters=source==StatementOnly
```

By default, the endpoint returns only `Billed` fees, selected by `chargeDate`. Add `includeInformational=true` to also return `Pending` monthly totals by `chargeDate` and `Informational` component fees by `assessmentDate`. The flag defaults to `false`; an invalid boolean value returns `400`.

Statement, invoice, and monthly rollup charges are returned only once their billing month is published, on the 10th of the following month. See [When monthly fees become visible](#when-monthly-fees-become-visible).

Filter and sort fields: `category`, `source`, `amount`, `chargeDate`, `assessmentDate`. `parentFeeId` is an additional filter for components of a particular monthly total. It is not a sort field. The endpoint does not support a `status` filter; when requesting informational records, separate the statuses in your application.

The [date parameters](https://doura.ca/docs/settlement-reporting/settlements.md#date-parameters) are the same as the settlement endpoints. Supply `date` or at least one of `fromDate`/`toDate`. Results are paginated with `page` and `pageSize`; read every page when calculating a total.

## When monthly fees become visible

Every fee with `source: StatementOnly` - a statement fee, an invoice fee, or a monthly rollup - is absent from the listing until its billing month is **published**. A month is published automatically on the 10th of the following month, at 00:00 US Eastern time. Nothing in the response marks a withheld fee: until then, the record is not returned and not counted in `totalCount`. Publication only makes the records visible; it moves no money, and `chargeDate` still says when a fee is taken.

Daily fees (`source: SettlementLinked`), including the informational components of a rollup, are never held back, and `GET /fee-charges/{feeChargeId}/components` is not affected. You can follow a month's daily detail as it accrues, and read the statement charges from the publication day.

For example, the August 2026 statement charges carry `chargeDate: 2026-09-01`. A query for September 1 returns them from September 10. Daily fees assessed in August are returned throughout September.

A statement or invoice can be reprocessed until its month is published, which replaces its charges with new records and new IDs. An early publication can also be withdrawn before the 10th, in which case charges you read earlier disappear and return with new IDs. Treat statement and rollup IDs as final from the automatic publication day.

## status

| Value           | Meaning                                                                                                                                                                                                                                                              | Included by default?                                            |
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
| `Billed`        | The fee was charged to the merchant.                                                                                                                                                                                                                                 | Yes                                                             |
| `Pending`       | A monthly total is still accumulating or awaiting its statement or invoice. Its amount and component count can change. It is listed only once its month is published, so in practice only when the statement or invoice is still outstanding on the publication day. | No; use `includeInformational=true`.                            |
| `Informational` | A daily fee included in a monthly total. Its parent is the charge; the component is not billed separately.                                                                                                                                                           | No; use `includeInformational=true` or the components endpoint. |

Held and reversed entries, including reserve movements that are not fees, are excluded from the public endpoints. Only `Billed` fees belong in a billed total.

## Dates and periods

| Field                      | Meaning                                                                                                                              |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `assessmentDate`           | The settlement date for a daily fee. For a statement or invoice fee and a monthly total, it equals `chargeDate`.                     |
| `chargeDate`               | The date a fee is or will be charged. Daily billing uses the assessment date; monthly billing uses the first of the following month. |
| `periodStart`, `periodEnd` | The period covered by a statement or invoice fee or monthly total. Absent on daily fees, including informational components.         |

For example, an informational fee assessed on July 15 has `assessmentDate: 2026-07-15` and `chargeDate: 2026-08-01`. Its monthly total has both dates set to August 1 and covers July 1 through July 31.

With `includeInformational=true`, a July query returns the July components throughout July. Request August 1 to see their monthly total, whether it is still `Pending` or has become `Billed`; it is returned from August 10, when July is published. A single query can therefore include billed fees from an earlier period and components assessed during the requested period. Do not add those statuses together.

## Monthly rollups and components

A monthly rollup is a fee charge that totals daily fees of the same category for one merchant, payment rail, currency, and month. Its `source` is `StatementOnly`. It starts as `Pending` and becomes `Billed` when the corresponding monthly statement or invoice is processed. Reaching the charge date alone does not make it billed. The rollup itself is listed only once its month is [published](#when-monthly-fees-become-visible); its components are listed throughout the month.

Each daily component has `source: SettlementLinked`, `status: Informational`, and a `parentFeeId` pointing to its rollup. A component retains its settlement and settled-transaction references when available. It remains informational after the rollup is billed.

| Field               | Meaning                                                                                                                                                                                                                                                                                          |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `parentFeeId`       | The rollup's `mfc_` ID on an informational component. Absent on other fees.                                                                                                                                                                                                                      |
| `componentFeeCount` | The number of daily component fees in a rollup. `0` on other fees.                                                                                                                                                                                                                               |
| `feeUnitCount`      | The positive whole-number count printed for a monthly statement or invoice fee, such as transactions, items, batches, or accounts. A charge that combines several statement lines reports the sum of their counts. Absent when no valid count was reported, and on rollups and their components. |

`feeUnitCount` and `componentFeeCount` measure different things. Neither can be calculated from the other. A printed count of zero, a negative or fractional value, or a value above `2147483647` is not returned as `feeUnitCount`.

Once a rollup is billed, late fees produce a separate billed correction rollup with its own ID, the original period, and the original billing date. Include those additional records when reviewing that period again.

### List a rollup's components

```http
GET /fee-charges/mfc_01JZ5G9V8MP2TD6QW4N7XC3RKH/components
```

`GET /fee-charges/{feeChargeId}/components` returns a paginated list of the component fees. It needs neither date parameters nor `includeInformational`. It accepts the same `page`, `pageSize`, `sorts`, and `filters` as the fee listing. The default order is ascending `assessmentDate`, then fee ID. A supplied sort replaces that order.

A fee you own with no components returns `200` with an empty page. A malformed fee ID returns `400`; an unknown ID or another merchant's ID returns `404`. Reporting access is required, as for the other [reporting endpoints](https://doura.ca/docs/settlement-reporting/reporting.md#access-and-data-availability).

You can also select components through the dated listing:

```http
GET /fee-charges?fromDate=2026-07-01&toDate=2026-07-31&includeInformational=true&filters=parentFeeId==mfc_01JZ5G9V8MP2TD6QW4N7XC3RKH
```

This query selects components by their assessment dates. Without `includeInformational=true`, the default billed-only listing excludes them. An invalid or unknown `parentFeeId` equality filter returns an empty page.

## source: where the fee came from

| Value              | Meaning                                                                                                                                                                           |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `SettlementLinked` | A fee reported from daily settlement activity, regardless of billing schedule. Under daily billing it is billed directly; under monthly billing it is an informational component. |
| `StatementOnly`    | A fee reported on a monthly statement or invoice, or a monthly rollup of daily fees. It has no direct settlement or settled-transaction link.                                     |

`source` identifies the origin of a fee, not when it is billed. Use `status` and `chargeDate` for billing. A `SettlementLinked` fee can have no settlement link when no corresponding deposit is available. An ACH per-settlement fee reported before its day's deposit gains its `settlementId` once that deposit is reported, so re-read a fee that had none.

## Card Net and Card Gross fees

| Settlement model                                | Deposit treatment                                                                                | Fee reporting                                                                                                                                                                                                                                                                                                          |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Card Net (`type: Card`, `fundingType: Net`)     | Interchange and discount fees are already deducted from the settlement `amount`.                 | The fees are also itemized here, typically as `DailyInterchangeFee` and `DailyDiscountFee`, linked to the settlement rather than a transaction line. The monthly card statement restates them in its own charges; see [Card statement charges include the daily fees](#card-statement-charges-include-the-daily-fees). |
| Card Gross (`type: Card`, `fundingType: Gross`) | Interchange and discount fees are billed separately; they do not reduce the settlement `amount`. | Read billed fees by `chargeDate`. Under monthly billing, `StatementOnly` rollups total the daily `SettlementLinked` components and have a charge date on the first of the following month.                                                                                                                             |

Funding type and fee billing schedule are separate terms. Do not infer a fee's `source` or `chargeDate` from `fundingType` alone. A settlement link identifies a fee's origin; it does not by itself mean that the fee was withheld from that deposit. Reserve holds and transfers can change deposits in both card funding models, but they are not billed fees and are excluded from this endpoint.

See the [Card Net and Card Gross example](https://doura.ca/docs/settlement-reporting/settlements.md#card-net-and-card-gross-example) for the amounts on the deposit and its transaction lines.

> **Note:**
>
> Filter on `source==StatementOnly` in the default listing to read billed monthly fees and rollups, from the publication day of their month. Use their period dates to identify the activity covered. Pending rollups and their informational components do not belong in the billed total.

## Card statement charges include the daily fees

A monthly card statement is reported as it is printed: one `StatementOnly` charge per fee on the statement, with the fee's name in `category`, its wording in `description`, and the sum of its statement lines in `amount`. The API derives nothing and nets nothing.

The statement's discount and interchange figures cover the whole month, including the amounts already withheld from the month's daily deposits. Those daily amounts are also reported, as `SettlementLinked` charges such as `DailyInterchangeFee` and `DailyDiscountFee`, each with its settlement date. The API does not subtract them from the statement charges. It is up to you to deduct the period's daily card fees from the monthly charges.

| Question                                                   | Calculation                                                                                                                                                     |
| ---------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| What did card processing cost for the month?               | Sum the statement's `StatementOnly` charges for the period. Do not add the period's daily `SettlementLinked` card fees: the statement already includes them.    |
| What did the statement take from the account at month end? | Sum the statement's `StatementOnly` charges, then subtract the `SettlementLinked` card fees whose `assessmentDate` falls between `periodStart` and `periodEnd`. |
| What was withheld from one deposit?                        | Read the `SettlementLinked` fees that carry that `settlementId`.                                                                                                |

A worked example for July 2026, Card Net, in cents:

| Record                                        | `source`           | `category`                                | `amount`         |
| --------------------------------------------- | ------------------ | ----------------------------------------- | ---------------- |
| Daily fees across the month's settlement days | `SettlementLinked` | `DailyInterchangeFee`, `DailyDiscountFee` | `75200` in total |
| Statement, `chargeDate: 2026-08-01`           | `StatementOnly`    | `InterchangeAndPassthrough`               | `60555`          |
| Statement, `chargeDate: 2026-08-01`           | `StatementOnly`    | `DiscountFee`                             | `15718`          |
| Statement, `chargeDate: 2026-08-01`           | `StatementOnly`    | `AuthorizationFee`                        | `2000`           |
| Statement, `chargeDate: 2026-08-01`           | `StatementOnly`    | `StatementFee`                            | `1000`           |

The month's card cost is the statement total: `79273` ($792.73). The month-end deduction is the statement total less the daily fees: `79273 - 75200 = 4073` ($40.73). Adding the daily fees to the statement total counts `75200` twice.

A statement charge can be negative. It is a credit the statement applies against the month's fees, not a refund to a customer. A fee whose statement lines net to zero is not reported.

ACH invoices are different. An invoice line that restates daily transaction, return, or per-settlement fees does not create an additional charge, because those amounts are already reported by the daily fees or their monthly rollups.

## category: an open set, not a closed enum

> **Important:**
>
> `category` is an **open set of strings, not a closed enum**. A fee can use a specific fee name or one of the general categories below. New values can be added without an API version change.
>
> Treat a value you do not recognise exactly as you treat `Other`: read `description`, which carries the wording the provider printed. **Do not fail on an unknown value.**

### General fee categories

These categories describe broad groups of fees. Read `description` for the wording of the individual charge.

| Category            | High-level meaning                                                                                                                                                     |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `MonthlyService`    | Fees for maintaining the merchant account and related payment services, such as statements, reporting, and gateway services.                                           |
| `PciCompliance`     | Fees related to Payment Card Industry (PCI) compliance, including compliance services and non-compliance assessments.                                                  |
| `OneTimeSetup`      | One-time fees for setting up a service, such as an account, gateway, or wireless connection.                                                                           |
| `NetworkAssessment` | Card-network charges passed through to the merchant, such as registration or network participation fees.                                                               |
| `Equipment`         | Fees for payment terminals and related hardware, including charges for equipment that was not returned.                                                                |
| `TransactionFee`    | Per-transaction processing costs, including fees assessed on individual settled transactions and per-item or authorization charges billed on a monthly card statement. |
| `Other`             | Fees with no more specific classification. Read `description` for the reported fee wording.                                                                            |

### Transaction and settlement fees

Daily fees have `source: SettlementLinked`. Under monthly billing, their `StatementOnly` rollups use the same categories and a later `chargeDate`.

| Category              | Meaning                                                                                                                                                                                                                                                                                                                                                                                                                               |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `DailyDiscountFee`    | The daily discount fee assessed against a card settlement.                                                                                                                                                                                                                                                                                                                                                                            |
| `DailyInterchangeFee` | The daily interchange fee assessed against a card settlement.                                                                                                                                                                                                                                                                                                                                                                         |
| `TransactionFee`      | A per-transaction settlement fee, for example an ACH transaction's processing fee.                                                                                                                                                                                                                                                                                                                                                    |
| `ReturnFee`           | Charged when a payout could not be completed. For ACH, typically a closed or invalid bank account - so no money reached the merchant and this fee is the only thing the attempt produced. Its settled line has a `transactionType` of `Return`. The fee of an ACH entry the bank returned is reported under the category the processor printed it under: `ReturnFee` when it is reported as a return fee, otherwise `TransactionFee`. |
| `ChargebackFee`       | Charged when the payer's bank returns an ACH payment after the funds reached the merchant. `description` is `Chargeback fee`. Its `settledTransaction` is the `Chargeback` line on the deposit of the day the return settled, not the sale's line. Under monthly billing it rolls up under its own `ChargebackFee` parent, separate from `TransactionFee`. See [Chargebacks](https://doura.ca/docs/payments/ach.md#chargebacks).                           |
| `PerSettlementFee`    | A flat fee a merchant's pricing applies once to a settlement, independent of what settled in it. Assessed against the deposit rather than any one line, so it carries a `settlementId` and no `settledTransaction`.                                                                                                                                                                                                                   |

### Fees billed on a monthly statement or invoice

These fees have `source: StatementOnly`. The examples below show specific fee names grouped under the general categories. A named fee uses its specific value in `category`, such as `GatewayService`, rather than the group name `MonthlyService`.

| General category    | Example fees                                                                                                                                                        |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `MonthlyService`    | Monthly gateway service (`GatewayService`), monthly statements (`StatementFee`), and online reporting (`WebReportsAlerts`).                                         |
| `PciCompliance`     | PCI compliance service (`PciFee`), non-compliance assessments (`NonComplianceAssessment`), and incomplete compliance questionnaires or scans (`SaqScanIncomplete`). |
| `OneTimeSetup`      | Application processing (`ApplicationFee`), gateway setup (`GatewaySetup`), and wireless activation (`WirelessActivation`).                                          |
| `NetworkAssessment` | Visa registration (`VisaRegistrationFee`), Mastercard registration (`McRegistrationFee`), and debit-network participation (`PinBasedDebitNetworkFee`).              |
| `Equipment`         | A charge for equipment that was not returned (`UnreturnedEquipment`).                                                                                               |
| `TransactionFee`    | Per-item or authorization charges classified as per-transaction. A named charge uses its specific fee name in `category`.                                           |
| `Other`             | An unclassified statement fee or a fee printed under unrecognized wording. It is reported as `Other`, with the original wording in `description`.                   |

These are representative examples. The fees charged depend on the merchant's pricing and services. Read each charge's `description` for the reported wording and `chargeDate` for when it is billed.

An ACH invoice line that restates daily transaction, return, or per-settlement fees does not create an additional billed charge. Those amounts are already represented by the daily fees or their monthly rollups. Named card statement fees can include per-transaction charges; these remain statement fees.

### Card processing costs on the statement

| Category                    | Meaning                                                                                                                                                                         |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `InterchangeAndPassthrough` | Interchange and the card-network costs the statement passes through to the merchant, read from the statement lines reported under this category. Typical for cost-plus pricing. |
| `DiscountFee`               | The month's discount as the statement's summary prints it. Typical for flat-rate pricing.                                                                                       |

Both have `source: StatementOnly` and cover the statement period. They are not assessed per transaction and carry no settlement link. Each includes what the month's daily deposits already withheld; see [Card statement charges include the daily fees](#card-statement-charges-include-the-daily-fees). `DiscountFee` differs from `DailyDiscountFee`, which is one day's discount assessed against a card settlement.

Read `category` to identify the type and `description` for its wording. Description text can vary; do not use it as an identifier. Changes to pricing or wording do not relabel previously reported fees.

## Do not double-count

> **Warning:**
>
> Every fee withheld from a settlement amount is also itemized here. A net-funded settlement's `amount` is already net of its fees, so adding these fee charges to it counts them twice. See [The reporting model](https://doura.ca/docs/settlement-reporting/reporting.md#amounts).
>
> With `includeInformational=true`, count only `Billed` records in a billed fee total. A rollup and its informational components describe the same fees. Add the component amounts only when checking the rollup itself, and read all component pages.
>
> A card statement's charges already include the daily card fees withheld during its period. Adding the two together counts the daily fees twice. Subtract the period's daily card fees from the statement charges to find the month-end deduction. See [Card statement charges include the daily fees](#card-statement-charges-include-the-daily-fees).

## Related

* [The reporting model](https://doura.ca/docs/settlement-reporting/reporting.md)
* [Settlements](https://doura.ca/docs/settlement-reporting/settlements.md)
