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

# v1/sepa-direct-debit-collections

> OAuth scope: `sepa_direct_debit.read`

Webhook that delivers events related to SEPA Direct Debit collections.

Supported events:
  - `completed` — The collection amount was successfully collected and settled.
  - `failed` — The collection did not succeed. data.event is "failed" (unified from declined/rejected/canceled); data.status stays fine-grained.
  - `returned` — The collection was credited but reversed by the bank (settlement to D+5).
  - `refunded` — The collection was credited but reversed following a client request (settlement up to 8 weeks).


This topic delivers events related to SEPA Direct Debit collections.

**Events:**

* **`completed`** — The collection amount was successfully collected and settled.
* **`failed`** — The collection did not succeed. For internal statuses declined, rejected, or canceled, the webhook sets `data.event` to `"failed"` so subscribers see a single event type; `data.status` remains fine-grained (e.g. `rejected`). `data.status_reason` indicates why (e.g. `insufficient_funds`, `amount_limit_reached`, `no_mandate`).
* **`returned`** — The collection had been credited but was reversed by the debtor's bank (R-transaction). Typically from settlement up to **D+5**. Bank-triggered.
* **`refunded`** — The collection had been credited but was reversed following a request by the client (debtor). Typically from settlement up to **8 weeks**. Client-triggered.

**Return vs refund:** Return = bank-triggered, D+5. Refund = client-triggered, up to 8 weeks.

`data.direct_debit_subscription_id` is included so you can correlate the collection with an SDD subscription. Allowed values for `status_reason` are documented in the API reference.

<RequestExample>
  ```json v1/sepa-direct-debit-collections completed theme={null}
  {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "subscription_id": "123e4567-e89b-12d3-a456-426614174000",
      "organization_id": "123e4567-e89b-12d3-a456-426614174000",
      "membership_id": "123e4567-e89b-12d3-a456-426614174000",
      "type": "v1/sepa-direct-debit-collections",
      "created_at": "2025-01-24T10:55:00Z",
      "data": {
          "event": "completed",
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "direct_debit_subscription_id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "amount": { "value": "102.34", "currency": "EUR" },
          "reference": "ref-123",
          "status": "completed",
          "collection_date": "2026-01-01"
      }
  }
  ```

  ```json v1/sepa-direct-debit-collections failed theme={null}
  {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "subscription_id": "123e4567-e89b-12d3-a456-426614174000",
      "organization_id": "123e4567-e89b-12d3-a456-426614174000",
      "membership_id": "123e4567-e89b-12d3-a456-426614174000",
      "type": "v1/sepa-direct-debit-collections",
      "created_at": "2025-01-24T10:55:00Z",
      "data": {
          "event": "failed",
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "direct_debit_subscription_id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "amount": { "value": "102.34", "currency": "EUR" },
          "reference": "ref-123",
          "status": "rejected",
          "status_reason": "insufficient_funds",
          "collection_date": "2026-01-01"
      }
  }
  ```
</RequestExample>


## OpenAPI

````yaml webhook v1/sepa-direct-debit-collections
openapi: 3.1.1
info:
  version: v2
  title: Qonto
servers:
  - url: https://thirdparty.qonto.com
    description: Production URL
  - url: https://thirdparty-sandbox.staging.qonto.co
    description: Sandbox URL
security:
  - OAuth:
      - organization.read
      - membership.read
      - membership.write
      - attachment.write
      - internal_transfer.write
      - payment.write
      - supplier_invoice.write
      - supplier_invoice.read
      - client_invoices.read
      - client_invoice.write
      - client.read
      - client.write
      - product.read
      - product.write
      - request_review.write
      - request_review.read
      - team.read
      - team.write
      - request_transfers.write
      - insurance_contract.read
      - insurance_contract.write
      - card.read
      - card.write
      - bank_account.write
      - beneficiary.trust
      - webhook
      - payment_link.write
      - payment_link.read
      - sepa_direct_debit.read
      - sepa_direct_debit.write
      - terminal.read
      - terminal.write
  - SecretKey: []
paths: {}
components:
  securitySchemes:
    OAuth:
      type: oauth2
      description: >
        Bearer authorization header: `Bearer <token>`, where `<token>` is the
        access token received from the authorization server at the end of the
        [OAuth 2.0
        flow](/get-started/business-api/authentication/oauth/oauth-flow).
      flows:
        authorizationCode:
          refreshUrl: https://oauth.qonto.com/oauth2/token
          authorizationUrl: https://oauth.qonto.com/oauth2/auth
          scopes:
            attachment.read: Retrieve attachments
            attachment.write: Upload attachments and remove attachments from transactions
            bank_account.write: Create, update and close bank accounts
            beneficiary.trust: Trust SEPA beneficiaries
            card.read: Retrieve cards
            card.write: Create or update cards
            client.read: Retrieve clients
            client.write: Create clients
            client_invoice.write: Create client invoices
            client_invoices.read: Retrieve client invoices and credit notes
            einvoicing.read: Retrieve e-invoicing settings
            embed_auth_link.write: Create Embed auth links
            insurance_contract.read: Retrieve insurance contracts
            insurance_contract.write: Create and update insurance contracts
            internal_transfer.write: >-
              Create internal transfers (between 2 Qonto accounts of the same
              organization)
            international_transfer.write: Create international transfers
            membership.read: Retrieve the authentified membership
            membership.write: Invite team members
            offline_access: Retrieve a refresh token
            organization.read: >-
              Retrieve organization, bank accounts, transactions, transfers,
              beneficiaries, labels, memberships, requests & statements
            payment.write: Create external transfers and untrust beneficiaries
            payment_link.read: >-
              Retrieve payment links, their payments, and the available payment
              methods
            payment_link.write: >-
              Connect to the payment links provider, create and deactivate
              payment links
            product.read: Retrieve products
            product.write: Create products
            request_cards.write: Create card requests
            request_review.write: Approve or decline requests
            request_transfers.write: Create transfer requests
            sepa_direct_debit.read: View SEPA Direct Debit payments
            sepa_direct_debit.write: Manage SEPA Direct Debit payments
            supplier_invoice.read: Retrieve supplier invoices
            supplier_invoice.write: Create supplier invoices
            team.read: Retrieve teams
            team.write: Create teams
            terminal.read: View your payment terminals
            terminal.write: Configure your terminals and initiate payments
            webhook: >-
              Receive a notification each time a particular event occurs in
              Qonto
          tokenUrl: https://oauth.qonto.com/oauth2/token
    SecretKey:
      type: apiKey
      description: cf. [API key](/get-started/business-api/authentication/api-key)
      name: Authorization
      in: header

````