action.skip

Enabling Deferred Revenue Bookings to DATEV Automatic Accounts

← Bookkeeping Data Creation Use Cases

This article describes how to configure the bookkeeping data generation for invoices if you book to DATEV automatic accounts (Automatikkonten) and, in addition, your accounting requires revenue recognition on a monthly basis.

Summary

JustOn Billing & Invoice Management controls the booking data creation using dedicated configurations on invoice line items, G/L account settings, collective account settings and global settings. The key settings to cover the current use case are the global setting Enable Accounting in Gross Values as well as the Booking Month revenue recognition rule on the invoice line item. Configuration details may vary depending on whether you use

  • automatic accounts for both revenue and deferred revenue, or
  • an automatic account for revenue and a standard account for deferred revenue

Consequently, the following settings are required (assuming one applicable tax rate – 19%):

Object Field Value
Global Settings Create Bookkeeping Data true
Enable Accounting in Gross Values true
Accounting Gross Taxes on First Month true
Assignment Rules - G/L Account G/L Account 8400
Tax Code DE_19
Business Entity business entity name
Collective Account Booking Account 0990
Type Deferred
Account |
Invoice
ON_DebtorNo|
DebtorNo
debtor account number
Invoice Line Item Revenue Recognition Rule Booking Month
Booking Detail BuCode IF(ONB2__IsGross__c, null, 40)
Object Field Value
Global Settings Create Bookkeeping Data true
Enable Accounting in Gross Values true
Accounting Gross Taxes on First Month true
Assignment Rules - G/L Account G/L Account 8400
Tax Code DE_19
Business Entity business entity name
Collective Account Booking Account 0990
Type Deferred
Account |
Invoice
ON_DebtorNo|
DebtorNo
debtor account number
Invoice Line Item Revenue Recognition Rule Booking Month
Booking Detail BuCode IF(AND(ISPICKVAL(ONB2__Type__c,"Deferred"),ONB2__IsGross__c),101,IF(AND(ISPICKVAL(ONB2__Type__c,"Revenue"),ONB2__IsGross__c),null,40))

Use Case Outline

Assume an invoice for electronic services or software licenses in a subscription model – so-called SaaS business models. A typical invoice could look as follows:

Title Service Period Start Service Period End Tax Rate Net Total
Service 2024-04-01 2025-03-31 19% 1200,00
Total (net) 1200,00
VAT 228,00
Grand Total 1428,00

Conditions

Charges for the use of electronic services in the subscription model are usually paid for a year in advance, but the revenue is booked proportionally per month during the service period. To illustrate this approach, let us therefore assume the following conditions:

  • Service period: one year
  • Full payment at the beginning of the service period
  • Deferred revenue on a monthly basis
  • Tax origin and due at the service period start
  • Bookings for revenue and deferred revenue to DATEV automatic accounts
  • Service period: one year
  • Full payment at the beginning of the service period
  • Deferred revenue on a monthly basis
  • Tax origin and due at the service period start
  • Revenue bookings to a DATEV automatic account, bookings for deferred revenue to a standard account

Booking Accounts

The bookings are expected to be made to the following accounts:

Account name Account no.
SKR 03
Automatic Account Configuration Type Booking Detail Target Field
Revenue 19% VAT 8400 G/L Account Booking Account
Deferred revenue 0990 Collective Account Booking Account
Debtor 12345 Debtor number Contra Booking Account
Account name Account no.
SKR 03
Automatic Account Configuration Type Booking Detail Target Field
Revenue 19% VAT 8400 G/L Account Booking Account
Deferred revenue 0990 Collective Account Booking Account
Debtor 12345 Debtor number Contra Booking Account

Expected Postings

In the first month of the service period (04/2024), the entire invoice amount (1428,00) is booked from the debtor account and posted to:

  • Revenue 19% VAT → 119,00 (gross)
  • Deferred Revenue → 1309,00 (gross)
Posting Debit to account Credit to account Amount
1 Debtor (12345) Revenue 19% VAT (8400) 119,00
2 Debtor (12345) Deferred revenue (0990) 1309,00

In the following months (05/2024 – 03/2025), the deferred revenue is reversed and recorded as revenue (net) in the period to which they relate:

Posting Debit to account Credit to account Amount
3..13 Deferred revenue (0990) Revenue 19% VAT (8400) 100,00

With respect to the booking accounts, the following postings will be recorded:

Debtor
Posting Period Debit Credit
1 04/2024 119,00
2 04/2024 1309,00
Revenue 19% VAT
Posting Period Debit Credit
1 04/2024 119,00
(1) 04/2024 19,00
3 05/2024 100,00
4 06/2024 100,00
5 07/2024 100,00
6 08/2024 100,00
7 09/2024 100,00
8 10/2024 100,00
9 11/2024 100,00
10 12/2024 100,00
11 01/2025 100,00
12 02/2025 100,00
13 03/2025 100,00
Deferred revenue ("Passive Rechnungsabgrenzung")
Posting Period Debit Credit
2 04/2024 1309,00
(2) 04/2024 209,00
3 05/2024 100,00
4 06/2024 100,00
5 07/2024 100,00
6 08/2024 100,00
7 09/2024 100,00
8 10/2024 100,00
9 11/2024 100,00
10 12/2024 100,00
11 01/2025 100,00
12 02/2025 100,00
13 03/2025 100,00
VAT 19% (using automatic calculation)
Posting Period Debit Credit
1 04/2024 19,00
2 04/2024 209,00

Required Configuration

JustOn Billing & Invoice Management controls the booking data creation using dedicated configurations on invoice line items, G/L account settings, collective account settings and global settings. Enabling the bookkeeping data generation for the outlined use case involves the following configuration steps:

In addition, your accounting may optionally require to configure booking texts, allocate cost centers or profit centers, or specify cost objects.

Activating Booking Data Creation

In order to

  • activate the booking detail creation,
  • enable gross value bookings,
  • enable the tax booking in the first month,

the features must be activated in the global settings.

  1. Click to enter Setup, then open Custom Settings.

    In Salesforce Lightning, navigate to Custom Code > Custom Settings.

    In Salesforce Classic, navigate to Develop > Custom Settings.

  2. Click Manage in the row of Global Settings.

  3. Click Edit in the Default row.
  4. Select the following checkboxes:

    Checkbox Description
    Create Bookkeeping Data Globally enables the booking data creation
    Enable Accounting in Gross Values Uses gross values when creating booking data
    Accounting Gross Taxes on First Month Aggregates the complete tax amount to the first booking detail
  5. Click Save.

    Once enabled, the bookkeeping data is generated automatically upon invoice finalization.

Info

Once created, the booking details can no longer be modified or deleted. In case of errors, however, you can regenerate booking details for invoices.

Enabling Booking Accounts

To provide for the correct booking account allocation, you create dedicated G/L Account Assignment Rules and Collective Account settings.

Booking revenue and deferred revenue according to the outlined use case requires the following booking accounts:

Account name Account no.
SKR 03
Configuration Type Booking Detail Target Field
Revenue 19% VAT 8400 G/L Account Booking Account
Deferred revenue 0990 Collective Account Booking Account
Debtor 12345 Debtor number Contra Booking Account

Remember that depending on your accounting system, the booking account numbers may differ.

  1. Create an Assignment Rules - G/L Account setting to book the revenue.

    To cover the use case for revenues with 19% VAT, you need the following setting:

    Name G/L Account Tax Code Business Entity
    Revenue 19% VAT 8400 DE_19 business entity name

    For details, see Configuring G/L Account.

  2. Create a Collective Account setting for the deferred revenue bookings.

    To cover the outlined use case, you need at least this setting:

    Name Booking Account Business Partner Account Type
    Deferred 0990 debtor number Deferred
    Account debtor no for deferred revenue

    By default, JustOn Billing & Invoice Management fills the field Contra Booking Account in booking details for deferred revenue using the value of the Business Partner Account field of the corresponding Collective Accounts custom setting record. Your business use case, however, may require to use the value of the custom field ON_DebtorNo on the account instead. To support this scenario, activate the corresponding global setting Use Debtor No for Deferred Revenue.

    1. Click to enter Setup, then open Custom Settings.

      In Salesforce Lightning, navigate to Custom Code > Custom Settings.

      In Salesforce Classic, navigate to Develop > Custom Settings.

    2. Click Manage in the row of Global Settings.

    3. Click Edit in the Default row.
    4. Select the checkbox Use Debtor No for Deferred Revenue.
    5. Click Save.

    Depending on your requirements, your Collective Account setting may, in addition, need to define the Business Entity.

    For details, see Configuring Collective Accounts.

  3. Enable the debtor account number.

    Depending on your requirements, the way to define the debtor account number differs:

    For customer-specific debtor numbers, you use the Account field ON_DebtorNo.

    1. Navigate to the fields list of the Account object.
    2. Create the following new field.

      API Name Data Type Description Example Values
      ON_DebtorNo Text (255)
      or
      Formula
      Specifies the contra account number for booking details. If configured as a formula, it can determine the value based on other fields. 12345
      AnotherField__c

    To support collective debtors (or debtor groups), you use the Invoice field DebtorNo.

    Using a collective debtor number via the Invoice field DebtorNo does not require a collective account setting. Instead, you just set the intended booking account number to be transferred to the booking detail.

    1. Navigate to the fields list of the Invoice object.
    2. Create the following new field.

      API Name Data Type Description Example Values
      DebtorNo Text (255)
      or
      Formula
      Specifies the contra account number for booking details. If configured as a formula, it can determine the value based on other fields. 12345
      AnotherField__c

    If the field is configured as a text, you can use the ON field mechanism to have it set using values from invoice source objects. Be aware, however, that if the field is configured as a formula, the ON field mechanism will not overwrite the DebtorNo value.

    Info

    When creating booking details, the Invoice field DebtorNo takes precedence over the Account field ON_DebtorNo. If the Invoice field DebtorNo is empty or does not exist, JustOn Billing & Invoice Management uses the Account field ON_DebtorNo to set Contra Booking Account in the booking detail.

Configuring Automatic Tax Calculation

To correctly initiate the automatic tax calculation for the gross booking details in DATEV automatic accounts, you use the custom booking code field BuCode on the relevant booking details. Typically, you create the BuCode field as a formula that returns the required booking code value according to the intended use case.

Applying the global setting Accounting Gross Taxes on First Month, JustOn Billing & Invoice Management creates gross booking details for the first revenue portion and the deferred revenue in the first booking month. With automatic accounts for both revenue and deferred revenue, DATEV must be instructed to automatically calculate and deduct the tax amount from the given gross amounts for revenue and deferred revenue – passing an empty booking code.

In the following months, JustOn Billing & Invoice Management produces net booking details for the deferred revenue reversal and revenue booking. So DATEV must be instructed to switch off the automatic tax calculation for the subsequent net booking details, using the booking code 40.

To cover this use case, create the BuCode field on the Booking Detail object as follows:

  1. Navigate to the fields list of the Booking Detail object.
  2. Create the following new field.

    API Name Data Type Description Use Case Value
    BuCode Formula (Number) Instructs DATEV to apply the required tax calculation. IF(ONB2__IsGross__c, null, 40)

Be aware that DATEV automatic accounts only work with bookings that originate from business within Germany (a German company with a German customer). That is, if your business operates foreign markets as well, your BuCode formula must make sure to set the required value only for German business, including a condition that evaluates, for example, the appropriate tax rule or an according business entity/billing country combination.

Applying the global setting Accounting Gross Taxes on First Month, JustOn Billing & Invoice Management creates gross booking details for the first revenue portion and the deferred revenue in the first booking month. In the following months, JustOn Billing & Invoice Management produces net booking details for the deferred revenue reversal and revenue booking.

With an automatic account for the revenue and a standard account for the deferred revenue, DATEV must be instructed to

  • automatically calculate and deduct the tax amount from the given gross amount for the deferred revenue in the first month on a standard account
  • automatically calculate and deduct the tax amount from the given gross amount for the revenue portion in the first month on an automatic account
  • not calculate taxes for the subsequent net booking details

To cover this use case, your BuCode formula must return one of three possible values:

  • 101 (or another code according to the applicable tax) to trigger the tax calculation for the gross deferred revenue booking in the first month
  • null for the gross revenue booking in the first month (triggers the automatic tax calculation) as well as for the net deferred revenue bookings in the following months
  • 40 for the net revenue bookings in the following months to deactivate the automatic tax calculation

Accordingly, the formula may look like

IF(
    AND(
        ISPICKVAL(ONB2__Type__c,"Deferred"),
        ONB2__IsGross__c
        ),
    101, 
    IF(
        AND(
            ISPICKVAL(ONB2__Type__c,"Revenue"),
            ONB2__IsGross__c
            ),
        null,
        40
    )
)

Create the BuCode field on the Booking Detail object as follows:

  1. Navigate to the fields list of the Booking Detail object.
  2. Create the following new field.

    API Name Data Type Description Use Case Value
    BuCode Formula (Number) Instructs DATEV to apply the required tax calculation. IF(AND(ISPICKVAL(ONB2__Type__c,"Deferred"),ONB2__IsGross__c),101,IF(AND(ISPICKVAL(ONB2__Type__c,"Revenue"),ONB2__IsGross__c),null,40))

Be aware that DATEV automatic accounts only work with bookings that originate from business within Germany (a German company with a German customer). That is, if your business operates foreign markets as well, your BuCode formula must make sure to set the required value only for German business, including a condition that evaluates, for example, the appropriate tax rule or an according business entity/billing country combination.

Setting Revenue Recognition Rule

JustOn Billing & Invoice Management writes deferred revenue bookings according to the revenue recognition rule set in the invoice line item field Recognition Rule.

The ON field mechanism is a likely option for having the revenue recognition rule specified automatically on the invoice line item when generating invoices. Alternatively, you can use Salesforce flows or other automation tools.

To make use of the ON field mechanism, you set the field ON_RecognitionRule on the invoice line item source object:

  1. Navigate to the fields list of the corresponding object.
  2. Create the following new field.

    API Name Data Type Description Use Case Value
    ON_RecognitionRule Text (255)
    Formula (Text)
    Picklist
    Specifies the revenue recognition rule to be applied, is copied to the invoice line item during the invoice run. Booking Month

    For help about creating fields, see Managing Object Fields.

Produced Booking Details

Once configured accordingly, JustOn Billing & Invoice Management produces the following booking details, covering the outlined use case:

First service period month (04/2024)
# Booking
Period
Amount Debit/Credit
Flag
Booking Account Contra Booking
Account
Is Gross BuCode Type
1 04/2024 119,00 H 8400 12345 Revenue
2 1309,00 H 0990 12345 Deferred

Booking to a DATEV automatic account with an empty booking code initializes the automatic tax calculation. DATEV will calculate the tax for both the revenue and the deferred revenue. That is, it takes 19,00 off the revenue and 209,00 off the deferred revenue, gaining the complete tax amount of 228,00 in the first month.

Following months (05/2024 – 03/2025), re-posting the deferred revenue
# Booking
Period
Amount Debit/Credit
Flag
Booking Account Contra Booking
Account
Is Gross BuCode Type
3 05/2024 100,00 H 8400 12345 40 Revenue
4 -100,00 S 0990 40 Deferred
5 06/2024 100,00 H 8400 12345 40 Revenue
6 -100,00 S 0990 40 Deferred
7 07/2024 100,00 H 8400 12345 40 Revenue
8 -100,00 S 0990 40 Deferred
9 08/2024 100,00 H 8400 12345 40 Revenue
10 -100,00 S 0990 40 Deferred
11 09/2024 100,00 H 8400 12345 40 Revenue
12 -100,00 S 0990 40 Deferred
13 10/2024 100,00 H 8400 12345 40 Revenue
14 -100,00 S 0990 40 Deferred
15 11/2024 100,00 H 8400 12345 40 Revenue
16 -100,00 S 0990 40 Deferred
17 12/2024 100,00 H 8400 12345 40 Revenue
18 -100,00 S 0990 40 Deferred
29 01/2025 100,00 H 8400 12345 40 Revenue
20 -100,00 S 0990 40 Deferred
21 02/2025 100,00 H 8400 12345 40 Revenue
22 -100,00 S 0990 40 Deferred
23 03/2025 100,00 H 8400 12345 40 Revenue
24 -100,00 S 0990 40 Deferred

The booking code 40 deactivates the automatic tax calculation on DATEV automatic accounts, treating the given amounts as net values.

First service period month (04/2024)
# Booking
Period
Amount Debit/Credit
Flag
Booking Account Contra Booking
Account
Is Gross BuCode Type
1 04/2024 119,00 H 8400 12345 Revenue
2 1309,00 H 0990 12345 101 Deferred

Booking to a DATEV automatic account with an empty booking code initializes the automatic tax calculation. Passing a booking code like 101 to an account that is not set as an automatic account will initialize the tax calculation according to the booking code. Consequently, DATEV will calculate the tax for both the revenue and the deferred revenue. That is, it takes 19,00 off the revenue and 209,00 off the deferred revenue, gaining the complete tax amount of 228,00 in the first month.

Following months (05/2024 – 03/2025), re-posting the deferred revenue
# Booking
Period
Amount Debit/Credit
Flag
Booking Account Contra Booking
Account
Is Gross BuCode Type
3 05/2024 100,00 H 8400 12345 40 Revenue
4 -100,00 S 0990 Deferred
5 06/2024 100,00 H 8400 12345 40 Revenue
6 -100,00 S 0990 Deferred
7 07/2024 100,00 H 8400 12345 40 Revenue
8 -100,00 S 0990 Deferred
9 08/2024 100,00 H 8400 12345 40 Revenue
10 -100,00 S 0990 Deferred
11 09/2024 100,00 H 8400 12345 40 Revenue
12 -100,00 S 0990 Deferred
13 10/2024 100,00 H 8400 12345 40 Revenue
14 -100,00 S 0990 Deferred
15 11/2024 100,00 H 8400 12345 40 Revenue
16 -100,00 S 0990 Deferred
17 12/2024 100,00 H 8400 12345 40 Revenue
18 -100,00 S 0990 Deferred
29 01/2025 100,00 H 8400 12345 40 Revenue
20 -100,00 S 0990 Deferred
21 02/2025 100,00 H 8400 12345 40 Revenue
22 -100,00 S 0990 Deferred
23 03/2025 100,00 H 8400 12345 40 Revenue
24 -100,00 S 0990 Deferred

The booking code 40 deactivates the automatic tax calculation on DATEV automatic accounts, treating the given revenue amounts as net values. Accordingly, the empty booking code for standard target accounts does not trigger any tax calculation, so the deferred revenue amounts are treated as net values as well.