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:
- Selecting the global settings to activate the booking detail creation, to enable gross value bookings and to enable the tax booking in the first month
- Enabling the booking account allocation
- Configuring the automatic tax calculation
- Setting the relevant revenue recognition rule
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.
-
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.
-
Click Manage in the row of Global Settings.
- Click Edit in the Default row.
-
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 -
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.
-
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.
-
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 theBusiness 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 fieldON_DebtorNo
on the account instead. To support this scenario, activate the corresponding global settingUse Debtor No for Deferred Revenue
.-
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.
-
Click Manage in the row of Global Settings.
- Click Edit in the Default row.
- Select the checkbox
Use Debtor No for Deferred Revenue
. - 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.
-
-
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
.- Navigate to the fields list of the Account object.
-
Create the following new field.
API Name Data Type Description Example Values ON_DebtorNo Text (255)
or
FormulaSpecifies 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.- Navigate to the fields list of the Invoice object.
-
Create the following new field.
API Name Data Type Description Example Values DebtorNo Text (255)
or
FormulaSpecifies 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 fieldON_DebtorNo
. If the Invoice fieldDebtorNo
is empty or does not exist, JustOn Billing & Invoice Management uses the Account fieldON_DebtorNo
to setContra 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:
- Navigate to the fields list of the Booking Detail object.
-
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 monthnull
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 months40
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:
- Navigate to the fields list of the Booking Detail object.
-
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:
- Navigate to the fields list of the corresponding object.
-
Create the following new field.
API Name Data Type Description Use Case Value ON_RecognitionRule Text (255)
Formula (Text)
PicklistSpecifies 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
PeriodAmount Debit/Credit
FlagBooking Account Contra Booking
AccountIs 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
PeriodAmount Debit/Credit
FlagBooking Account Contra Booking
AccountIs 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
PeriodAmount Debit/Credit
FlagBooking Account Contra Booking
AccountIs 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
PeriodAmount Debit/Credit
FlagBooking Account Contra Booking
AccountIs 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.