---
id: object/codeunit/11043-de
type: object
title: Codeunit 11043 "DE Payment Means Helper" (DE)
summary: Codeunit 11043 "DE Payment Means Helper" (DE) in the DE country layer (Microsoft.eServices.EDocument.Formats). 5 public procedures, 1 events. Introduced in BC30.
tier: official
language: en
tags:
  - codeunit
  - de layer
versions:
  introduced: "30"
  last_changed: null
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-07T23:32:29.863Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: 17f3a55835ffe3829aa8e7bb8c0ed78bc73a0bc17599c25fca9b23a6a244f270
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/f18567dc08e2bd162bf192e1da4d714b57eb099f/src/Apps/DE/EDocumentDE/app/src/DEPaymentMeansHelper.Codeunit.al
    title: src/Apps/DE/EDocumentDE/app/src/DEPaymentMeansHelper.Codeunit.al (main)
    date: null
    commit: f18567dc08e2bd162bf192e1da4d714b57eb099f
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations:
    - localization/de
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/8429
object_type: codeunit
object_id: 11043
name: DE Payment Means Helper
namespace: Microsoft.eServices.EDocument.Formats
app: EDocumentDE
extends: null
first_version: "30"
last_version: "30"
present_in:
  - "30"
changed_in: []
source_major: "30"
obsolete: null
countries: []
ms_search_form_ids: []
country: DE
counts:
  fields: 0
  procedures: 11
  events: 1
  subscribers: 0
relations:
  out: 0
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
---

# Codeunit 11043 "DE Payment Means Helper" (DE)

> Codeunit 11043 "DE Payment Means Helper" (DE) in the DE country layer (Microsoft.eServices.EDocument.Formats). 5 public procedures, 1 events. Introduced in BC30.

DE country layer · Microsoft.eServices.EDocument.Formats · BC30 · [source at f18567dc](https://github.com/microsoft/BCApps/blob/f18567dc08e2bd162bf192e1da4d714b57eb099f/src/Apps/DE/EDocumentDE/app/src/DEPaymentMeansHelper.Codeunit.al) · facts from BC30

An object of the [DE localization](../../localizations/de.md), not part of W1.

## Properties

| Property | Value |
|---|---|
| Access | Public |

## Events published

- `OnBeforeCheckPaymentMeansCodeSupported(PaymentMeansCode: Code[3]; SourceDocumentHeader: RecordRef; var IsHandled: Boolean)` (integration): Fires before an unsupported payment means code is rejected during Check(). Subscribe and set IsHandled to true when the extension supplies the document data that the given code requires, for example through OnInsertPaymentMeansOnBeforeAddToRoot.

## Procedures

- `GetPaymentMeansCode(PaymentMethodCode: Code[10]): Code[3]`: Returns the UNCL4461 payment means code for the given Payment Method Code. Falls back to '58' (SEPA Credit Transfer) if no code is configured.
- `IsDirectDebit(PaymentMeansCode: Code[3]): Boolean`: Returns true when the given UNCL4461 payment means code is a SEPA direct debit code (49 or 59). Direct debit requires the BG-19 mandate data (BT-89, BT-90, BT-91) in the exported document.
- `IsCreditTransfer(PaymentMeansCode: Code[3]): Boolean`: Returns true when the given UNCL4461 payment means code is a credit transfer code (30 or 58). Credit transfer only requires the payee account (BT-84) in the exported document.
- `GetCreditorNo(CompanyBankAccountCode: Code[20]): Code[35]`: Returns the SEPA Creditor Identifier from the company bank account. Used for SEPA Direct Debit payment means (49/59) in the SellerTradeParty/AccountingSupplierParty.
- `CheckPaymentDataAvailable(SourceDocumentHeader: RecordRef)`: Validates that all required payment data is available for the given document before export. Called from XRechnungFormat.Check() and ZUGFeRDFormat.Check(). Covers SEPA direct debit mandate completeness and the creditor identifier (BT-90), and rejects payment means codes for which neither this app nor...

Plus 5 local procedures.

## Recent changes

- 2026-10-02 [#8429 E-Document DE: map Payment Method to PEPPOL payment means codes, add SEPA Direct Debit export support](../../changes/bcapps/8429.md) (main, BC30, feature, added)

## Across versions

- Present in: BC30
- Changed (declaration) in: none

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

## Ask your agent

Procedure bodies are not stored here (D10). For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: `bcatlas_resolve_node(object_type: "codeunit", object_name: "DE Payment Means Helper")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.

A DE country object, not part of W1: the default corpus does not have it; `bcatlas_list_countries` shows which countries the atlas has.
