在此文中

    Payment orders PAIN.001 for Switzerland [BETA]

    Productivity
    Switzerland

    The Payment Orders extension allows you to generate XML files in pain.001 format from accounting transactions or by scanning QR codes.

    The information required to make a payment, such as the beneficiary, IBAN account and amount, is saved in the transactions as payment data. One or more payments can then be included in a payment order and generated as an XML file in pain.001 format, ready to be uploaded to your bank or other financial institution's portal.

    The generated XML messages comply with the Swiss recommendations pain.001.001.09.ch.03, according to the current Swiss Payment Standards.

    Requirements and recommendations

    • The payment functionality is currently available in Banana Accounting+ Dev Channel.
    • The extension requires the Advanced plan. If you do not have this plan, you can request a promotional code valid for 1 month from our customer service.
    • The extension is currently in Beta Test. Check that everything works correctly and report any problems to us.
    • We recommend using a copy of your accounting file or an empty file to run some tests with the payment files.
    • After uploading the XML payment file to your bank's or PostFinance's portal, always carefully check the payment data displayed in the portal.

    Release Beta version update

    Last update: 29.09.2026

    Starting from November 21, 2026, addresses in pain.001 payment files must be submitted exclusively in structured or hybrid form. Financial institutions recommend the use of structured addresses, and some only support this format. We have therefore decided to use structured addresses to ensure better compatibility.

    In preparation for these changes, a new version of the extension has been released in the Release Beta channel. It integrates the SPS 2025 standard and allows you to generate payment orders with structured addresses. See also Switch to structured addresses.

    The extension will remain available in the Release Beta channel for a period of time, so users can test it and report any problems or suggestions for improvement.

    To test the new transmission format with structured addresses:

    • Download and install the latest version of Banana Accounting+ Dev Channel.
    • Open Extensions > Manage Extensions...
    • Select Switzerland.
    • Select Online > Productivity.
    • From the list, select Payment orders pain.001 for Switzerland.
    • Click the Install button on the right.
    • Under Preferred Channel, select Beta Release instead of Stable Release.

    You can switch back to the Stable Release channel at any time.

    Supported payment types

    The extension supports the following standard:

    • SPS 2025 ISO-Version 2019 (pain.001.001.09.ch.03) with structured addresses.

    The following payment types are supported:

    • D: payments within Switzerland in CHF and EUR.
    • S: SEPA payments in EUR.
    • X: payments in other currencies, exclusively to accounts with an IBAN.

    Preparing Banana Accounting+ for payments

    1. Prepare the accounting file

    Before using this extension, proceed as follows:

    • Open your accounting file.
      • If you prefer not to modify the original file, you can create a copy or create a new accounting file (double-entry accounting or income & expense accounting) in which to save your payments.
    • In the Accounts table, check that the Address view is present.
      • If necessary, add it using the command Tools > Add/Remove functionalities... and select Add Address columns in Accounts table.
      • If some required columns are missing from the Address view (for example, the IBAN column), see the Address view documentation.

    2. Enable the payment functionality

    • Open Tools > Add/Remove functionalities...
    • Select Add payment functionalities and click OK.
      • This functionality is only available in Banana+ Dev Channel with the Advanced Plan.

    payment functionalities
     

    3. Install the extension manually (if required)

    If you are using an accounting file with CHF as the base currency, the extension is installed automatically. Otherwise, you need to install it manually:

    • Open Extensions > Manage Extensions...
    • Select Switzerland.
    • Select Online > Productivity.
    • From the list, select Payment orders pain.001 for Switzerland.
    • Click the Install button.

    Setting up the payment extension 

    • Open your accounting file.
    • Open Extensions > Manage Extensions...
    • Select the Payment orders pain.001 for Switzerland extension.
    • Click the arrow to the left of the extension's name to display its contents.
    • Select Credit Transfer File for Switzerland.
    • Click the Settings button on the right.

    settings

    settings

    • Message sender name
      Name of the pain.001 message sender, maximum 70 characters. By default, the name set in the accounting file is used (command File > File and accounting properties..., Address). Use this setting if the name specified in the accounting file differs from the name of the person submitting the payment order.
    • Field for additional infos (XML name)
      XML name of the column in the Transactions table that contains the additional information to be transmitted with the payment. The column can also be added to the Transactions table.
    • Groups of creditors (separate groups with a semicolon)
      Specify the group defined in the Accounts table that contains the list of supplier accounts. The accounts within this group will be displayed under Account ID in the Payment Data dialog, enabling the automatic completion of payment information.
      To include multiple groups, separate them with a semicolon. For example, if you have two creditor groups, enter: CRED_CHF;CRED_EUR.

    Setting up bank accounts and suppliers

    1. Setting up the bank account to be debited

    These settings are not mandatory, but can speed up the creation of the payment order because the information is automatically proposed during the procedure.

    • In the Accounts table, select the Address view (see Installation).
    • Complete the information for the bank or post accounts you use to make payments. In particular, fill in:
      • Name and surname / Organization: indicates the holder of the account to be debited.
      • IBAN: enter the IBAN of the bank or post account to be debited.
      • Bank clearing: enter the BIC code of the financial institution to be debited.
        This column has been temporarily used to store the BIC code, pending the introduction of the specific BIC column.

    setup bank accounts

    2. Setting up your suppliers

    These settings are not mandatory, but can speed up the creation of the payment order. If you enter your suppliers' addresses and bank details, this information will be proposed when entering payment data.

    • In the Accounts table, select the Address view (see Installation).
    • For each supplier, enter the address and bank details, such as the supplier name, IBAN account and BIC number.

    setup supplier accounts

    Adding payment data

    Payment data is the information required to make a payment, such as the beneficiary's name, IBAN account and amount to be paid. This information is saved at row level in the Transactions table and will be used when generating the payment order.

    There are different ways to add payment data:

    • Directly in the Transactions table by clicking the Payment Data column. If the transaction line concerns the posting of an invoice using the supplier's account, this data will be filled in automatically.
       
    • By scanning a QR code with the command Reports > Suppliers > Scan QR-Code...
      After scanning the QR code, a transaction row containing the corresponding payment data will be added.
      See also Test your scanner.
       
    • By selecting Reports > Suppliers > Create payment file...
      This command displays the Create payment file dialog with the list of open payment data. In this dialog, you can add new payments using the Add Payment or Scan QR-Code button. This data will be saved in new rows in the Transactions table.

    In all these cases, payment data is saved in the Payment Data column of the Transactions table. You can display or hide this column using Data > Columns setup. If the Payment Data column is not available in the list, you can add it by selecting Tools > Add/Remove functionalities... > Add payment functionalities.

    Payment data fields 

    • Payment Method
      You can select between a bank or postal payment (IBAN/QR-IBAN) for payments within Switzerland and SEPA transfers for payments within Europe.
       
    • Creditor Account ID
      When you select a creditor from the list, their details are automatically filled in using the information stored in the Accounts table. If the list is empty, check the extension settings.
      To display the accounts defined in the Accounts table, you must specify the creditor group in the payment extension settings.
      You can include multiple creditor groups by separating them with a semicolon.
      See the chapter Setting up the payment extension.

    settings

    Creating the payment order

    The payment order contains the payments you want to submit to the bank. At the end of the procedure, an XML pain.001 file is generated and can be uploaded to the bank's portal.

    To create the payment order:

    1. Prepare the payment data as described in the Adding payment data section of this page.
    2. Select Reports > Suppliers > Create payment file...
      You can also first select the rows containing the payment data in the Transactions table and then select Create payment file... from the context menu by right-clicking.
    3. Select the payments you want to include in the order. If ** appears on the left, it means that the data is incorrect or incomplete. You can modify it using the Edit Payment button.
    4. Click Next. This button is enabled when the selected payments are complete and error-free.
    5. Complete the information for the account to be debited.
    6. Click Next. The XML file is created and its content is displayed.
    7. Click Browse... to select the destination folder where the XML file will be saved.
    8. Click Export. The dialog for confirming the saving of the XML file will be displayed.

    See also How to create the payment order file.

    In Banana, it is not possible to connect directly to the bank to transmit the message. You need to open the bank's application or website and upload the XML file previously saved on your computer.

    settings

    settings

    settings

    settings

    Managing payment data and payment files

    Editing or removing payment data

    Payments are stored in the Payment Data (PaymentData) column of the Transactions table. Two types of objects can be stored in this column:

    • payment/data: object containing information about a specific payment. This information will be used to complete the payment order.
    • payment/file: object containing information about a payment order, including the XML file created.

    To remove this data, simply delete the transaction row or the objects themselves.

    Attention! The payment/file objects are used to determine whether a payment has been executed or not.
    It is therefore recommended not to remove rows containing these objects. Otherwise, payments that have already been executed will continue to appear as pending because their reference will be removed together with the payment/file object.

    payment functionalities

    Payment status

    There are two payment statuses:

    • Pending
      The payment/data object is not included in any payment file.
    • Downloaded
      The payment/data object is included in one or more payment files.

    List of payments

    This table displays all payments included in payment files (Downloaded status). You can filter and group them according to the options available in the dialog.

    payment functionalities

    API

    Payment API

    Change History

    See the change log.

    How can we help you better?

    Let us know what topic we should expand or add to make this page more useful.

    Send us your feedback

    分享这篇文章: Twitter | Facebook | LinkedIn | Email