Customization Guide

Core Library Configuration

The FS-CD Adapter can be configured using Spring configuration properties with prefix fscd-adapter.

This chapter covers the configuration properties of the core modules, including the Spring auto-configurations of module fscd-adapter-autoconfigure.

For configuring the integration layer, see chapter Integration Guide.

For configuration properties related to services (function module names, no-data fields, business lock types), see chapter Customize Domain Services.

Companies Configuration

Spring configuration properties map the Company concept (German: Gesellschaft) from the Faktor Zehn Suite to SAP FS-CD concepts:

fscd-adapter:
  companies:
    - company-id: F                       (1)
      company-code-general-ledger: FSCD   (2)
      company-code-sub-ledger: FSCD       (3)
      company-code-sepa-mandate: FSCD     (4)
      creditor-id: DE98ZZZ09999999999     (5)
      country: DE                         (6)
1 Company ID of the company in Faktor Zehn Suite mapped by the following properties
2 Company code in general ledger of the company
3 Optional company code in sub-ledger. Defaults to company-code-general-ledger if not provided
4 Company code for SEPA mandates of this company
5 Creditor ID for SEPA mandates of this company
6 Country code for SEPA mandates of this company (ISO 3166-1 alpha-2)

Origin System Configuration

The origin system configuration maps systems (IPM, ICS, etc.) to their connection details and UI paths.

fscd-adapter:
  origin-system:
    ipm:                                            (1)
      base-urls:
        internal: http://ipm:8080                   (2)
        external: https://ipm.my-suite.com          (3)
      rest-path: /rest                              (4)
      insurance-object-ui-path: /ui/policy/%s/%s    (5)
1 Origin system identifier sent to FS-CD
2 Internal base URL for inter-service communication
3 External base URL for browser access
4 REST API path prefix
5 UI path pattern with %s placeholder for insurance object number (or two %s for tenant and number depending on the origin system)

See chapter Enable Events for how the properties are used by the integration layer.

Business Partner URL Configuration

The following property configures the URL pattern to open business partner details in a web application, e.g., IBP.

fscd-adapter:
  open-partner-url: https://ibp.my-suite.com/ui/partners/%s   (1)
1 URL pattern with %s placeholder for partner ID

AutoConfiguration Properties

The following properties are available if module de.faktorzehn.fscd-adapter:fscd-adapter-autoconfigure is used.

SAP Java Connector Configuration

The SAP Java Connector (JCo) is auto-configured by class JcoLibraryAutoConfiguration.

It can be configured as follows.

jco:
  client:
    client: "100"                                   (1)
    user: sap-user                                  (2)
    passwd: secret                                  (3)
    lang: EN                                        (4)
    sysnr: "00"                                     (5)
    r3name: S4H                                     (6)
    ashost: sap.example.com                         (7)
    additional-properties:                          (8)
      my-additional-client-property: a-value
  destination:
    pool-capacity: 10                               (9)
    peak-limit: 10                                  (10)
    expiration-time: 1000                           (11)
    expiration-check-period: 6000                   (12)
    additional-properties:                          (13)
      my-additional-destination-property: a-value
  additional-properties:                            (14)
      my-additional-jco-property: a-value
1 SAP client number (Mandant)
2 SAP username for authentication
3 SAP password (should be externalized via secrets management)
4 SAP language code (EN, DE, etc.)
5 SAP system number
6 SAP R/3 system name
7 SAP application server hostname
8 Additional JCo client properties passed directly to SAP JCo with prefix jco.client.
9 Maximum number of connections in the pool (default: 10)
10 Peak limit for connections (default: 10)
11 Connection expiration time in milliseconds (default: 1000)
12 Period for checking connection expiration in milliseconds (default: 6000)
13 Additional JCo destination properties passed directly to SAP JCo with prefix jco.destination.
14 Additional JCo properties passed directly to SAP JCo with prefix jco.
The password should be externalized using environment variables or a secrets management system, not stored in plain text in configuration files.

Domain Value Texts Configuration

SAP FS-CD uses numeric or short alphanumeric codes for many domain values (e.g., dunning levels, document types, payment methods). Function modules do not always return corresponding domain texts. The FS-CD Adapter translates these codes into human-readable text using the DomainValueSource interface.

Domain objects store both the ID and the localized text for their enumeration-like attributes using IdName data objects. When FS-CD returns the value 1 for dunning level, the domain object’s dunningLevel attribute contains an IdName object:

{
  "id": "1",
  "name": "Reminder"
}

API clients can display meaningful text to users without maintaining their own lookup tables.

The default implementation PropertiesDomainValueSource uses resource bundles (locale-specific properties files). The default resource bundle is de.faktorzehn.fscdadapter.domain.

excerpt from domain_de.properties
dunningLevel.1=Erinnerung
dunningLevel.2=Qualifizierte Mahnung
dunningLevel.3=Nachmahnung
#...

To use a custom resource bundle, set the jco.domain-bundle property:

jco:
  domain-bundle: com.mycompany.fscd.custom-domain   (1)
1 Custom resource bundle name

Create corresponding properties files following the standard Java resource bundle naming convention:

  • custom-domain.properties (default/fallback)

  • custom-domain_de.properties (German)

  • custom-domain_en.properties (English)

For more advanced scenarios (e.g., loading texts from a database, external service, or custom logic), replace the DomainValueSource implementation by providing a custom bean.

FS-CD Adapter Client Configuration

A bean of type FscdAdapterClient from module de.faktorzehn.fscd-adapter:fscd-adapter-extapi-client can be auto-configured by class FscdAdapterClientAutoConfiguration.

Service name fscd-adapter-client is used with WebClientConfigurer from f10-commons-webclient.

fscd-adapter:
  enabled: true                                (1)
  rest-url: http://fscd-adapter:8080/rest      (2)
  client-timeout-seconds: 10                   (3)
1 Enables the FscdAdapterClientAutoConfiguration
2 Base URL of the FS-CD Adapter REST API
3 Client timeout in seconds (default: 10)