> ## Documentation Index
> Fetch the complete documentation index at: https://docs.paywise.de/llms.txt
> Use this file to discover all available pages before exploring further.

# Statements

> Reconcile the default clearing-run statements and, for configured customers, single mandate statements and their files.

The Case Management API exposes two read-only settlement resources. A
**statement** (Sammelabrechnung) covers a complete clearing run. A **single
mandate statement** (Aktenabrechnung) settles exactly one accepted case.

The standard multi-case statement is the default. New Aktenabrechnungen are
produced only for customers configured for single-mandate statements.
Historical published and cancelled single-mandate statements remain readable
even if that configuration is later disabled. Integrations for those customers
must keep the two resources distinct; rows from one collection never appear in
the other.

## What statements contain

Statements are made available periodically and give you the information you
need to reconcile collection activity. Depending on the settlement, that can
include:

* payouts to you;
* payments your debtors have made to paywise;
* direct payments you receive from debtors and report through the
  [payments concept](/api-docs/case-management-api/concepts/payments);
* charges, such as expenses paywise incurred on your behalf; and
* closing information for cases.

The API provides these settlement contents as structured data, including the
case-level details behind the totals. This enables end-to-end automation from
submitting claims through processing the resulting entries in your accounting
system.

### Delivery and files

By default, statements (Sammelabrechnungen) are also delivered by email and
made available in the
[paywise dashboard](https://app.paywise.de/abrechnungen/) as PDF and Excel
files. The API provides the same contents as structured JSON, and the
statement detail lists every transferred file in `files[]`: the PDF and the
three Excel exports (third-party money, cost burden, closings), each with an
authenticated `download_url`; the PDF is the entry with `type: "full-pdf"`.
Each descriptor contains `type`, `filename`, `media_type`, and `download_url`,
but no byte size. There is no duplicate singular `file` field.

A single mandate statement (Aktenabrechnung) is issued for one case and has
one PDF. It is newly issued only for a customer configured for that settlement
mode. Its structured case and financial details are available through the API
in the same way.

## Choose the correct resource

| | Statements | Single mandate statements |
| - | - | - |
| German term | Sammelabrechnung | Aktenabrechnung |
| Endpoint | `GET /v2/statements/` | `GET /v2/single-mandate-statements/` |
| Scope | All cases in one clearing run | Exactly one case |
| Case data | `mandates` rows in the detail, pageable at `GET /v2/statements/{id}/mandates/` | `mandate` on the detail |
| Financials | Clearing-run totals and VAT breakdown | Per-case claims, VAT allocation, and optional cost burden |
| Files | PDF plus three Excel exports (`files[]`) | One PDF |
| Webhooks | `statement.published` / `statement.cancelled` | `single_mandate_statement.published` / `single_mandate_statement.cancelled` |

<Info>
  Both resources draw `clearing_no` from the same number range, so a clearing
  number appears in only one collection. To resolve an unknown clearing number,
  query the default statement collection with `q`. Also query single mandate
  statements by `clearing_no` when the customer is configured for them or has
  historical records there. A list query with no match returns an empty `200`
  page; detail `404` responses apply to lookups by `id`.
</Info>

## Shared behavior

Only customer-visible settlements are exposed. Published and cancelled
records remain readable; cancellation changes `status` to `cancelled` and
sets `cancelled_at` instead of deleting the original record.

Both list endpoints use `limit` and `offset` pagination, support `status` and
`updated_since`, and reject undeclared query parameters with `400`. Use an
overlap window with `updated_since` and deduplicate by `id` when synchronizing
either collection.

Statement details expose the files already transferred in `files[]`; a PDF or
Excel export that is not ready is simply absent from that array. Single mandate
statement details expose one nullable `file` object. Its `download_url` serves
the PDF through an authenticated, no-store API proxy; there is no direct
storage URL. Treat `file: null` on a single mandate statement as "not yet
available", not as an error. Neither file shape reports a byte size.

## Statements (Sammelabrechnungen)

`GET /v2/statements/` returns clearing-run statements. The detail combines
statement-wide totals with the cases included in that run:

* `financials.balance_before_outstanding_items_offsetting` is the payout
  balance before older open items are deducted.
* `financials.outstanding_items_offset` is the amount deducted for those
  older items.
* `financials.total_balance` is the final balance after offsetting.
* `financials.vat_entries` groups invoice and collection amounts by VAT rate.
* `mandates` contains one row per accepted case included in the clearing run.
* `mandate_count` is the number of those rows and always equals the length
  of `mandates`; `comment` carries a note paywise attached to the statement,
  when any.

Clearing-run statement `vat_rate` fields use percentages: `19.00` means 19%,
including the VAT breakdown and each case's third-party-money and cost-burden
entries. Single mandate statements use decimal fractions, as described below.

The list can be filtered by booking date, statement period, `status`, or
`updated_since`. The `q` filter searches statement identifiers and related
case references; `clearing_no`, `invoice_no` and `mandate_reference_number`
are exact matches. Results are newest first by default; `ordering` accepts
the fields documented on the list endpoint.

### Case rows

Each row in `mandates` describes one accepted case in the clearing run: its
reference, debtor, current `state` (`legal_stage`, `processing`, and `payment`,
as on the mandate), the debtor payments allocated to it (`third_party_money`),
the fees and expenses charged to you (`cost_burden`) and, when the case ended
in this run, its `closing`. A row also lists `related_statements[]` — every
other published statement that includes the same case — so you can follow one
case across interim and final settlements without scanning the whole
collection.

The row's `debtor` is the case-owned `MandateDebtor` snapshot and has no `id`;
it is not an addressable reusable debtor resource. See
[The debtor on a mandate](/api-docs/case-management-api/concepts/mandates#the-debtor-on-a-mandate).

For clearing runs with many cases, page the rows instead of reading the
embedded array:

```http theme={null}
GET /v2/statements/{id}/mandates/?limit=50&offset=0
Authorization: Bearer <your token>
```

The sub-list returns the same rows as `mandates` and accepts three
partial-match filters:

| Filter | Description |
| - | - |
| `reference_number` | paywise case reference number |
| `your_reference` | Your free-form claim reference (order or contract reference) on any claim of the case |
| `document_reference` | Document number of any claim of the case, usually your invoice number |

`your_reference` and `document_reference` are distinct: a caller holding an
invoice number filters by `document_reference`.

### Downloads

`files[]` on the detail lists each available download with its `type`:

| `type` | Content |
| - | - |
| `full-pdf` | The statement document |
| `third-party-money-xlsx` | Fremdgeldabrechnung — debtor payments and their allocation per case |
| `cost-burden-xlsx` | Kostenbelastung — fees and expenses charged to you per case |
| `closing-xlsx` | Abschlussmeldungen — cases closed in this clearing run |

Download any of them from its `download_url`, or directly by type (the
default is `full-pdf`):

```http theme={null}
GET /v2/statements/{id}/download/?type=cost-burden-xlsx
Authorization: Bearer <your token>
```

A type that is not listed in `files[]` answers `404`; an unknown type
answers `400`.

## Single mandate statements (Aktenabrechnungen)

For a configured customer, an Aktenabrechnung is created by a case event in
our collection system and becomes available through the API once paywise
releases it. Its detail carries the settled case directly in `mandate` and
provides the case-specific financial breakdown in `financials`. Configuration
controls new production, not access to history: previously published and
cancelled records stay listable, retrievable, and downloadable.

### Types

| `statement_type` | Meaning |
| - | - |
| `interim` | Zwischenabrechnung — interim settlement while the case continues |
| `final` | Endabrechnung — final settlement of the case |
| `expenses_invoice` | Auslagenrechnung — invoice for expenses paywise advanced |
| `transition_to_longtime_monitoring` | Übergabe Überwachungsverfahren — handover to long-term monitoring |
| `negative_closing` | Negativabschluss — the case is closed without success |

### Which way the money flows

`financials.total_balance` is the authority: a **positive** value is a payout
to you, while a **negative** value is an amount you owe paywise. A payout is
itemized in `financials.vat_entries`; a negative balance is itemized in
`financials.cost_burden`.

<Warning>
  Do not infer the direction of the money from `statement_type`. For example, an
  `interim` settlement can have a negative balance.
</Warning>

`payout_method` tells you how the balance is settled: `transfer`
(Überweisung) or `direct_debit` (Lastschrift).

### References and VAT rates

`reference_number` is the paywise case reference (Aktenzeichen).
`your_reference` is your customer number for the debtor as it was stored on
the case. This differs from `your_reference` on a claim, which is your
reference for that individual claim.

Both filters are exact, case-insensitive matches and are not substring
searches.
`reference_number` is a snapshot taken when the settlement was booked and
remains present even if `mandate` later becomes `null`; use it when you need a
reference that never disappears.

`financials.vat_entries` contains one entry per VAT rate. `vat_rate` is a
decimal fraction, so `0.19` means 19%. Each entry describes the debtor's
payments for that rate and their allocation to the main claim, interest,
expenses, fees, success commission, and applicable VAT.

Single mandate statements preserve the decimal-fraction convention, while
`vat_rate` on statements uses a percentage value. The following abbreviated
response shows the fields used most often for reconciliation:

```json theme={null}
{
  "id": "0198bb0f-7b65-7d85-b32c-4a5d85bb9ba8",
  "status": "published",
  "statement_type": "interim",
  "clearing_no": "A2026/000123",
  "invoice_no": "R2026/000456",
  "reference_number": "K26-757P3",
  "your_reference": "W00150540",
  "booking_date": "2026-08-18",
  "period_start": "2026-07-01",
  "period_end": "2026-08-18",
  "cancelled_at": null,
  "mandate": {
    "id": "01987df3-2ce1-7d46-91e2-c4d712597b81",
    "reference_number": "K26-757P3"
  },
  "comment": "Interim settlement",
  "pre_tax_deductible": true,
  "payout_method": "transfer",
  "financials": {
    "principal_claims_total": {
      "value": "200.00",
      "currency": "EUR"
    },
    "open_principal_claim": {
      "value": "0.00",
      "currency": "EUR"
    },
    "total_balance": {
      "value": "180.00",
      "currency": "EUR"
    },
    "principal_claims": [
      {
        "voucher_no": "RE-1",
        "voucher_date": "2026-05-03",
        "amount": {
          "value": "123.45",
          "currency": "EUR"
        }
      },
      {
        "voucher_no": "RE-2",
        "voucher_date": "2026-05-04",
        "amount": {
          "value": "76.55",
          "currency": "EUR"
        }
      }
    ],
    "vat_entries": [
      {
        "vat_rate": "0.19",
        "total_payments": {
          "value": "200.00",
          "currency": "EUR"
        },
        "payments_to_dca": {
          "value": "200.00",
          "currency": "EUR"
        },
        "payments_to_client": null,
        "allocation_to_main_claim": {
          "value": "180.00",
          "currency": "EUR"
        },
        "allocation_to_default_interest": null,
        "allocation_to_client_expenses": null,
        "allocation_to_client_costs": null,
        "allocation_to_overpayment": null,
        "allocation_to_tax_free_expenses": null,
        "allocation_to_taxable_expenses": null,
        "allocation_to_taxable_expenses_vat": null,
        "allocation_to_fee": {
          "value": "16.81",
          "currency": "EUR"
        },
        "allocation_to_fee_vat": {
          "value": "3.19",
          "currency": "EUR"
        },
        "allocation_to_success_commission": null,
        "allocation_to_success_commission_vat": null,
        "instalment_payments_to_client": null,
        "payout": {
          "value": "180.00",
          "currency": "EUR"
        }
      }
    ],
    "cost_burden": null
  },
  "file": {
    "filename": "aktenabrechnung_A2026-000123.pdf",
    "media_type": "application/pdf",
    "download_url": "https://api.paywise.de/v2/single-mandate-statements/0198bb0f-7b65-7d85-b32c-4a5d85bb9ba8/download/"
  },
  "created_at": "2026-08-18T08:42:11Z",
  "updated_at": "2026-08-18T08:45:03Z"
}
```

### Filtering

| Filter | Description |
| - | - |
| `reference_number` | paywise case reference number, exact match |
| `your_reference` | Your customer number for the debtor, exact match |
| `clearing_no` | Clearing number (Abrechnungsnummer) |
| `invoice_no` | Invoice number (Rechnungsnummer) |
| `statement_type` | Settlement type |
| `status` | `published` or `cancelled` |
| `booking_date` | Booked on exactly this date |
| `booking_date_from` | Booked on or after this date |
| `booking_date_to` | Booked on or before this date |
| `mandate` | ID of the settled case |
| `updated_since` | Changed at or after this RFC 3339 timestamp |

Results are newest first by default. `ordering` accepts `booking_date`,
`period_start`, `period_end`, `created`, `updated`, `clearing_no`, and
`invoice_no`, each with an optional `-` prefix for descending order.

For example, list final settlements booked since August 1, 2026:

```bash theme={null}
curl -H "Authorization: Bearer $PAYWISE_TOKEN" \
  "https://api.paywise.de/v2/single-mandate-statements/?statement_type=final&booking_date_from=2026-08-01"
```

Download the PDF from the detail's `file.download_url` or directly through:

```http theme={null}
GET /v2/single-mandate-statements/{id}/download/
Authorization: Bearer <your token>
```

### Reversals

A reversed Aktenabrechnung is not deleted. The original changes to
`status: cancelled` and receives `cancelled_at`; the reversal is booked as its
own Aktenabrechnung. Both remain retrievable. Filter with `?status=published`
if you only need settlements that still stand.

## Staying up to date

Subscribe to the resource-specific webhook events instead of polling:

| Event | Meaning |
| - | - |
| `statement.published` | A Sammelabrechnung became available to you |
| `statement.cancelled` | A published Sammelabrechnung was cancelled |
| `single_mandate_statement.published` | An Aktenabrechnung became available to you |
| `single_mandate_statement.cancelled` | A published Aktenabrechnung was reversed |

The `.published` events mean "became available to you", not "was first
created internally". Webhook deliveries contain a thin reference envelope;
refetch the resource for its current content. See
[Consume Case webhooks](/api-docs/case-management-api/workflows/consume-webhooks).

## Related reference

* [GET `/v2/statements/`](/api-docs/case-management-api/reference/statements/list-statements)
* [GET `/v2/statements/{id}/`](/api-docs/case-management-api/reference/statements/get-statement)
* [GET `/v2/statements/{id}/download/`](/api-docs/case-management-api/reference/statements/download-statement)
* [GET `/v2/statements/{id}/mandates/`](/api-docs/case-management-api/reference/statements/list-statement-cases)
* [GET `/v2/single-mandate-statements/`](/api-docs/case-management-api/reference/single-mandate-statements/list-single-mandate-statements)
* [GET `/v2/single-mandate-statements/{id}/`](/api-docs/case-management-api/reference/single-mandate-statements/get-single-mandate-statement)
* [GET `/v2/single-mandate-statements/{id}/download/`](/api-docs/case-management-api/reference/single-mandate-statements/download-single-mandate-statement-pdf)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.