Function Providers

Function providers extend the DATEV mapping language with reusable business logic. They are useful when a plain field mapping is not enough (for example, account decisions based on country, tax setup, or customer properties).

Built-in Functions

The module includes these functions out of the box:

  • function:getRevenueAccount
  • function:getTaxRate

Both functions use your configured Revenue Account Mapping and location logic (domestic, eu, third_country).

How To Use In Mappings

You can call function providers in CSV and XML mappings via the function: prefix.

Example:

{ "Gegenkonto (ohne BU-Schlüssel)": "function:getRevenueAccount", "EU-Steuersatz": "function:getTaxRate" }

You can combine function values with other expressions from the mapping language (templates, conditionals, concatenation, formatting functions).

Validation And Error Handling

  • Use Validate Mapping in the admin configuration after changes.
  • If a function name is unknown, mapping validation and export execution will fail.
  • Keep function names stable after go-live to avoid breaking existing mappings.

Custom Function Providers

Custom providers can be added through a custom extension/integration project when project-specific DATEV logic is required.

For security and product policy reasons, this knowledge base does not publish internal implementation code. If you need a custom provider, involve your development/integration team and validate the result in a staging system before production rollout.

Found an issue with this documentation? Let us know