Electronic Z4 Reporting to Bank


German companies need to report Z4 cross-border payment transactions for services (not for goods) in electronic format to the German Bundesbank, for the purpose of compiling the German balance of payments. All ingoing and outgoing payments over 12.500 EUR must be reported.



Value '3' for parameter 'VAT on cash discounts' method and value '3' for 'Split payment transaction' must be used on the payment FAM function in 'FAM Function. Open' (CRS405).

Bank report proposal

The bank report proposal is setup in 'Bank Report Proposal. Open' (AAS330).

The proposal routine is used for selecting all kinds of cross-border payment transactions from AP and AR ledgers that must be reported on the Z4 report to the German Bundesbank.

Setup must be done in basic data programs for defining when a payment should be reported, and what reporting codes to be used to specify the payment reason.

See Setup.

The payment is the driver, but the invoice voucher and its accounting lines might also be of interest, if the setup is done per account ID in 'Electr Bank Reporting Reason Codes. Open' (AAS910).

The transactions are selected per rule country code and payment date range where the payment amount is greater than the amount limit entered in 'Settings – Electronic Bank Reporting' (AAS911).

The payment amount in foreign currency is recalculated to local currency.

The selected accounting date from-to in 'Electronic Bank Report Proposal. Create' (AAS335), is the payment date of the payment transactions.

A payment is defined by a voucher number per payer/payee.

Cross-border payments are payments where the payer/payee country is different from the division's country.

The selected payment transactions are presented in 'Bank Report Proposal Transactions. Open' (AAS333).

The payment transaction amounts are displayed in foreign currency including VAT and excluding any cash discount taken at payment.

The recalculated amount on the payment transaction is presented in local currency of the division and calculated based on foreign currency amount with VAT excluding cash discount using the exchange rate from the selected rate types in (AAS911). The rate for the payment date is retrieved in 'Exchange rate. Open per date' (CRS058).

The amounts are reported to the German Bundesbank in local currency amount per thousand EUR. The rounding to thousand EUR is manually done in Excel before sending the Z4 report to the Bundesbank.

The API AAS333MI can be used to list transactions in (AAS333). The list transaction can be used in this API (LstBasicData).

Rule country - The country that is connected to the reporting rules used when reporting cross-border payments electronically to the national bank. The reporting rules are setup in (AAS910). The rules can have up to five reporting codes which are defined in (AAS911) and describes the payment reason. The rules are used when the cross-border payments are selected from AP and AR ledgers in 'Bank Report Proposal. Open' (AAS330) to set the correct reporting codes per payment. Note that the rule country can only be the country of the division in 'Company. Connect Division' (MNS100).

Account - If the detailed accounting lines of the invoice voucher match an account definition in (AAS910), the accounting ID is displayed. If there is a match in the (AAS910) of the definition of payer/payee level only, the account ID column is blank, because only the AR/AP invoice header is displayed.

Excluded - A payment transaction not having a reporting code, or is below the limit amount, is displayed but marked as excluded as long as at least one transaction of the payment has a report code from the (AAS910) definitions. The include/exclude flag field can be changed with related option 15 = 'Set Include/Exclude' in (AAS333) or by adding a reporting code manually. When excluding or including transactions, a check is made if the payment voucher is over the amount limit. If not, the voucher transactions are excluded.
  • 0-Include = The payment transaction will be reported to the bank
  • 1-Exclude = The payment transaction will not be reported to the bank

Country - This is the country of the customer or supplier. The country of the customer is retrieved from 'Customer. Open' (CRS610) and the country of the supplier is retrieved from 'Supplier. Open' (CRS620).

Direction - This field indicates the direction of the payment. That is, if the payment voucher is an outgoing payment or an ingoing payment. Supplier payment vouchers are outgoing payments, and customer payment vouchers are ingoing payments as a main rule.
  • 0= Outgoing payments
  • 1= Ingoing payments

Customer/supplier code - This field indicates if the payment is a supplier payment or a customer payment. When alternative 1 - 'Customer' is used, the payer is displayed in the payer/payee field and the customer invoice number is displayed in the invoice number field. When alternative 2 - 'Supplier' is used, the payee is displayed in the payer/payee field and the supplier invoice number is displayed in the invoice number field.

Supplier customer number - If AR invoices are netted against AP invoices in 'Supplier Payment Proposal. Open' (APS130), the AR invoices have the supplier customer number field updated on the payment transaction. The netted AR invoices are created with direction = 'outgoing payments'. Normal AR invoices that are withdrawn in the supplier payment, have the amount with minus sign, so that the total payment voucher has the correct paid amount.

Both payment voucher and invoice voucher information are stored on the payment transactions in the proposal.

If transactions are deleted or excluded, a control is done to verify that the payment amount on the payment still is over the amount limit. If it is below the limit, all payment transactions within the payment will be set as excluded.

On account payments and prepayments (payment requests) it is only possible to get a search result in (AAS910) on payer or payee, since no invoice voucher exist on these kinds of payments.

A detailed and summary view with the recalculated amounts are delivered as user definable sorting orders and views.

The summary view shows the structure to be reported in (AAS333). When using the summary view in (AAS333), all transactions are summarized per reporting codes and country. From this view, the export to Excel can be used and a CSV file can be created and uploaded to the AWV Bundesbank portal.

Note: Rounding of the amounts to thousand EUR must be manually done in Excel.

To use the M3 standard functionality 'export to Excel', remove the header line and store the transactions in a CSV format. An electronic Z4 report can be uploaded to the AMS portal at the German Bundesbank site using that CSV file.


  1. 'Number Series. Open' (CRS165) - Setup number series 86/0- Electronic reporting of payments to national bank.
  2. 'Settings – Electronic Bank Reporting' (AAS911) - Set up the format of the five user defined reporting fields that are used in the electronic reporting of payments. Set the amount limit and exchange rate types.
  3. 'Electr Bank Reporting Reason Codes. Open' (AAS910) - Set up the values for the reporting codes per rule country. Both for outgoing and ingoing payments
  4. 'Bank Report Proposal. Open' (AAS330) - Create the Bank report for the selected accounting date interval (payment date) and Rule country.
  5. 'Bank Report Proposal Transactions. Open' (AAS333) - All selected outgoing and ingoing payments are displayed. The reporting codes and text can be changed. Transactions can be displayed, deleted and be included/excluded.

    When using the summary view in (AAS333), all transactions are summarized per reporting codes and country. From this view the export to Excel can be used and a CSV file can be created and uploaded to the AWV Bundesbank portal.

    Note: Rounding of the amounts to thousand EUR must be manually done in Excel.
    Note: The field 'Text' must be a column in the 'Summary' view and must be placed just before the 'Country' column.
  6. The status of the proposal in (AAS330) is manually set to 20 -'Sent' on the bank report proposal using related option 20 = ’Set status to sent'.


Define when a payment should be reported, and what reporting codes to use to specify the reason for the payment.

Basic parameters for electronic bank report

In the program (AAS911) the length and lead texts for the five reporting fields are set up and defined, including if each field is numeric or not. The default limit amount is defined in local currency, which is the limit when payment transactions need to be reported to the Bundesbank.

If the payment amount in local currency is above this limit, the payment is selected on the electronic Z4 report. All other transactions are excluded from the proposal.

The exchange rate type allows the exchange rate to be defined to calculate the foreign currency amount to the recalculated amount in local currency (EUR). There are separate rate types for AP payments (outgoing) and AR (ingoing) payments.

Recommended settings for Germany:

Amount limit: 12500,00 EUR

Basic data for electronic bank reporting

The program (AAS910) sets up the different reporting codes (maximum five fields), for the national bank per the rule country: per payee, payer and/or accounting dimension 1 (account).

The priority is:

  1. payee, payer and/or accounting dimension 1 (account ID)
  2. payee, payer
  3. accounting dimension 1 (account ID)
Note: The accounts are the ones used on the invoice voucher.

The API AAS910MI can be used to add records in (AAS910). Transactions for add, change, delete and get are possible to use in this API.