Symptom
In SD billing documents using a specific payment term, the PaymentTerms/Note (BT-20) node is missing or empty in the Peppol/XRechnung XML output, while other invoices using different payment terms have BT-20 correctly populated. The issue is inconsistent — some payment terms work, others do not, even when they appear similarly configured.
Environment
SAP S/4HANA Cloud Public Edition
Reproducing the Issue
- Create an SD billing document (e.g., via VF01) using a payment term.
- Confirm the e-invoice is generated in eDocument Cockpit (Manage Electronic Documents).
- Download the Peppol XML output for this billing document.
- Observe that the cac:PaymentTerms / cbc:Note (BT-20) node is absent or empty.
- Repeat steps 1–4 using a different payment term and observe that BT-20 is populated correctly.
The contrast between steps 4 and 5 confirms that the issue is specific to particular payment term configurations.
Cause
The mapping of BT-20 is handled by method FILL_PAYMENT_TERMS in class CL_EDOC_MAP_UBL_SD_DE. The method follows three code paths based on the payment term configuration:
- If percent1 or percent2 is greater than 0: cash discount information is mapped and BT-20 is populated correctly.
- If all payment term parameters are empty (no conditions configured): the method falls to a secondary path where BT-20 is taken from the super class mapping and populated correctly.
- If the payment term has partial configuration — specifically, Number of Days is filled but both percent fields are empty: the method reaches a condition check that is not fulfilled, and BT-20 is not mapped. The tag is absent from the XML output.
Only payment terms in the third configuration trigger the issue, which is why BT-20 appears for some payment terms but not others.
Resolution
Please follow the steps below to resolve the issue:
- In Manage Your Solution, search for Maintain Terms of Payment (SSCUI 102934) and open the configuration activity.
- Locate the affected payment term and check its configuration: confirm that Number of Days is filled and that both percent1 and percent2 are empty.
- Apply one of the following corrections:
- Option A: Fill in the percent fields (percent1 / percent2) to complete the payment term configuration.
- Option B: Remove the Number of Days parameter if it is not required for this payment term.
- Save the configuration.
- Create a new SD billing document using the corrected payment term and verify that BT-20 is now populated in the Peppol XML output.
See Also
Keywords
eDocument, Germany, DE, Peppol, XRechnung, BT-20, Payment Terms, PaymentTerms, cbc:Note, Missing, Empty, Not Populated, Not Mapped, CL_EDOC_MAP_UBL_SD_DE, FILL_PAYMENT_TERMS, SSCUI 102934, Maintain Terms of Payment, OBB8, VF01, percent1, percent2, Number of Days , KBA , CA-GTF-CSC-EDO-DE , Germany , Problem
SAP Knowledge Base Article - Public