Skip to content

Best Practice: Generating Bookkeeping Data

JustOn allows for writing bookkeeping data to be transferred to accounting systems like DATEV, SAP or Microsoft Dynamics. This article describes how JustOn produces the corresponding booking details in various scenarios.

For an overview of usual use cases, see also Bookkeeping Models.

Basic Use Cases

This example invoice is the base for the accounting scenarios below:

Pos. Title Tax Rate Net Price
1 Some Goods 19% 1000
Subtotal Net 1000
Tax Amount 190
Grand Total 1190

Now assume these use cases:

(1) The business issues the invoice.

(2) The customer pays the invoice, the business receives the payment.

Once set up accordingly, JustOn produces booking details for the invoice data and for the payment data.

Creating accounts

JustOn models the accounts used in this example as follows:

Booking Account Booking Detail Field Configuration
Revenues G/L Account Number G/L Account Number
Taxes G/L Account Number Collective Accounts
Trade Receivables (Debtors) Business Partner Account Number Enabling Contra Accounts
Bank G/L Account Number Collective Accounts

Booking Net Amounts

The common method to handle revenues is to split the net amount from the taxes and to book them to separate accounts. Consequently, JustOn creates two booking details by default: one for the net revenue, and one for the taxes.

To book net amounts, the global setting Enable Accounting in Gross Values must not be selected.

Expected posting records

From an accounting perspective, these uses cases make the following posting records:

# Debit to Account Amount Credit to Account
1 Trade Receivables (Debtors) 1190,00 €
1000,00 € Revenues
190,00 € Taxes
2 Bank 1190,00 €
1190,00 € Trade Receivables (Debtors)
Expected account bookings

With respect to the individual accounts, the example produces the following bookings:

Trade Receivables (Debtors)

Debit Credit
1190,00 €
1190,00 €

Revenues

Debit Credit
1000,00 €

Taxes

Debit Credit
190,00 €

Bank

Debit Credit
1190,00 €

Produced Booking Details

According to the example, JustOn creates three booking details:

# Amount Debit/Credit Flag Account Contra Account
1 1000,00 H (Credit) Revenues
G/L Account Number 4000
Trade Receivables (Debtors)
Business Partner Account Number DEB12345
2 190,00 H (Credit) Taxes
G/L Account Number 5000
Trade Receivables (Debtors)
Business Partner Account Number DEB12345
3 -1190,00 S (Debit) Bank
G/L Account Number 1000
Trade Receivables (Debtors)
Business Partner Account Number DEB12345

alt text
Revenue and tax booking details

alt text
Payment booking detail

Exported Booking Details

This is a DATEV posting batch-compliant CSV file exported from the three example booking details.

EXTF 510 21 Buchungsstapel 7 2,02001E+16 SV Admin tenant.ClientNumber__c
Umsatz (ohne Soll/Haben-Kz) Soll/Haben-Kennzeichen WKZ Umsatz Kurs Basis-Umsatz WKZ Basis-Umsatz Konto Gegenkonto (ohne BU-Schluessel) BU-Schluessel Belegdatum Belegfeld 1
1000 H 4000 DEB12345 0102 202000053
190 H 5000 DEB12345 0102 202000053
1190 S 1000 DEB12345 0102

Booking Gross Amounts

Depending on the requirements of your accounting system (for example, when using automatic accounts in DATEV), you can configure JustOn to use gross values when creating bookkeeping data. To do so, activate the corresponding global setting Enable Accounting in Gross Values.

This creates one booking detail for each business use case (remember, 1 – issuing the invoice, 2 – receiving the payment), which includes the tax.

Expected posting records

From an accounting perspective, these uses cases make the following posting records with gross booking:

# Debit to Account Amount Credit to Account
1 Trade Receivables (Debtors) 1190,00 €
1190,00 € Revenues (Automatic Account)
2 Bank 1190,00 €
1190,00 € Trade Receivables (Debtors)
Expected account bookings

According to the example, this produces the following individual account bookings:

Trade Receivables (Debtors)

Debit Credit
1190,00 €
1190,00 €

Revenues (Automatic Account)

Debit Credit
1190,00 €

Bank

Debit Credit
1190,00 €

Produced Booking Details

When booking gross amounts, JustOn creates two booking details in the example scenario:

# Amount Debit/Credit Flag Account Contra Account
1 1190,00 H (Credit) Revenues
G/L Account Number 4000
Trade Receivables (Debtors)
Business Partner Account Number DEB12345
2 -1190,00 S (Debit) Bank
G/L Account Number 1000
Trade Receivables (Debtors)
Business Partner Account Number DEB12345

alt text
Gross revenue booking detail

alt text
Payment booking detail

Exported Booking Details

This is a DATEV posting batch-compliant CSV file exported from the two example booking details.

EXTF 510 21 Buchungsstapel 7 2,02001E+16 SV Admin tenant.ClientNumber__c
Umsatz (ohne Soll/Haben-Kz) Soll/Haben-Kennzeichen WKZ Umsatz Kurs Basis-Umsatz WKZ Basis-Umsatz Konto Gegenkonto (ohne BU-Schluessel) BU-Schluessel Belegdatum Belegfeld 1
1190 H 4000 DEB12345 3001 202000030
1190 S 1000 DEB12345 3101

Booking Net Amounts to Separate Accounts

Some accounting systems are unable to process booking details that specify both an account number and a contra account number. To support these systems, you can set up JustOn to split booking details on the basis of G/L Account Number and Business Partner Account Number, creating separate booking details for the account and the contra account.

For the doubled booking detail, JustOn

  • multiplies the amount with -1,
  • reverses the debit/credit flag,
  • sets the (original) contra account number as the account number,
  • sets the type to Contra Account.

To enable the booking detail split along accounts, activate the corresponding global setting Separate Contra Account Booking Details.

Produced Booking Details

Following the example, JustOn creates six booking details when booking net amounts to separate accounts:

# Amount Absolute Amount Debit/Credit Flag Account
1 1000,00 1000,00 H (Credit) Revenues
G/L Account Number 4000
2 190,00 190,00 H (Credit) Taxes
G/L Account Number 5000
3 -1000,00 1000,00 S (Debit) Trade Receivables (Debtors)
G/L Account Number DEB12345
4 -190,00 190,00 S (Debit) Trade Receivables (Debtors)
G/L Account Number DEB12345
5 -1190,00 1190,0 S (Debit) Bank
G/L Account Number 1000
6 1190,00 1190,00 H (Credit) Trade Receivables (Debtors)
G/L Account Number DEB12345

alt text
Revenue and tax booking details for account and contra account

alt text
Payment booking detail for the bank account

alt text
Payment booking detail for the contra account

Exported Booking Details

Here is the DATEV posting batch-compliant CSV file exported from the six example booking details.

EXTF 510 21 Buchungsstapel 7 2,02001E+16 SV Admin tenant.ClientNumber__c
Umsatz (ohne Soll/Haben-Kz) Soll/Haben-Kennzeichen WKZ Umsatz Kurs Basis-Umsatz WKZ Basis-Umsatz Konto Gegenkonto (ohne BU-Schluessel) BU-Schluessel Belegdatum Belegfeld 1
1190 S 1000 DEB12345 0302
1190 H DEB12345 0302
1000 H 4000 DEB12345 0302 202000049
190 H 5000 DEB12345 0302 202000049
1000 S DEB12345 0302 202000049
190 S DEB12345 0302 202000049

Booking Gross Amounts to Separate Accounts

Now, you may need to combine gross value booking with separate account booking. To this end, activate the global settings Enable Accounting in Gross Values and Separate Contra Account Booking Details.

Produced Booking Details

Following the example, JustOn creates four booking details when booking gross amounts to separate accounts:

# Amount Absolute Amount Debit/Credit Flag Account
1 1190,00 1190,00 H (Credit) Revenues
G/L Account Number 4000
2 -1190,00 1190,00 S (Debit) Trade Receivables (Debtors)
G/L Account Number DEB12345
3 -1190,00 1190,0 S (Debit) Bank
G/L Account Number 1000
4 1190,00 1190,00 H (Credit) Trade Receivables (Debtors)
G/L Account Number DEB12345

alt text
Gross revenue booking details for account and contra account

alt text
Payment booking detail for the bank account

alt text
Payment booking detail for the contra account

Exported Booking Details

Here is the DATEV posting batch-compliant CSV file exported from the four example booking details.

EXTF 510 21 Buchungsstapel 7 2,02001E+16 SV Admin tenant.ClientNumber__c
Umsatz (ohne Soll/Haben-Kz) Soll/Haben-Kennzeichen WKZ Umsatz Kurs Basis-Umsatz WKZ Basis-Umsatz Konto Gegenkonto (ohne BU-Schluessel) BU-Schluessel Belegdatum Belegfeld 1
1190 H 4000 DEB12345 0202 202000057
1190 S DEB12345 0202 202000057
1190 S 1000 DEB12345 0202
1190 H DEB12345 0202

Advanced Use Cases

Booking Invoice Cancellation

Invoices in the statuses Open or Paid can be canceled. If the bookkeeping data generation is enabled, JustOn creates booking details as follows when finalizing the cancellation invoice:

  • For each existing booking detail of the canceled invoice, JustOn creates a new, "opposite" booking detail.
  • For booking details of the type Revenue, JustOn appends the related account number to the name of the new booking detail.
  • For the amount of the new booking detail, JustOn sets the inverted amount of the existing booking detail.
  • For the booking date of the new booking detail, JustOn sets the date of the canceled invoice as long as the original booking period is Open. If, however, the original booking period is Closed, JustOn uses the first day of the next open booking period.
  • For the booking text of the new booking detail, JustOn prepends Cancellation: (or another, project-specific label) to the original booking text.

To illustrate the scenario, assume the following example:

There is an invoice that is to be canceled.

Field Value
Pos Total Net 1000 €
Tax 200 €
Grand Total 1200 €
Booking Account Example Value Booking Detail Field Configuration
Revenues 0004 G/L Account Number G/L Account Number
Taxes T-020 G/L Account Number Collective Accounts
Trade Receivables (Debtors) 1718 Business Partner Account Number Enabling Contra Accounts

Produced Booking Details

Accordingly, JustOn generates the following booking details for the original invoice:

# Amount Debit/Credit Flag Account Contra Account
1 1000 H (Credit) Revenues
G/L Account Number 0004
Trade Receivables (Debtors)
Business Partner Account Number 1718
2 200 H (Credit) Taxes
G/L Account Number T-020
Trade Receivables (Debtors)
Business Partner Account Number 1718

BD_cancel_inv
Revenue and tax booking details for the original invoice

Now when canceling this invoice, JustOn creates a cancellation invoice. When finalizing this cancellation invoice, JustOn additionally creates the following booking details for it:

# Amount Debit/Credit Flag Account Contra Account
1 -1000 S (Debit) Revenues
G/L Account Number 0004
Trade Receivables (Debtors)
Business Partner Account Number 1718
2 -200 S (Debit) Taxes
G/L Account Number T-020
Trade Receivables (Debtors)
Business Partner Account Number 1718

BD_cancel_inv
Revenue and tax booking details for the cancellation invoice

Exported Booking Details

Here is the DATEV posting batch-compliant CSV file exported from these booking details.

EXTF 510 21 Buchungsstapel 7 2,02001E+16 SV Admin tenant.ClientNumber__c
Umsatz (ohne Soll/Haben-Kz) Soll/Haben-Kennzeichen WKZ Umsatz Kurs Basis-Umsatz WKZ Basis-Umsatz Konto Gegenkonto (ohne BU-Schluessel) BU-Schluessel Belegdatum Belegfeld 1
1000 H 0004 1718 0104 202000122
200 H T-020 1718 0104 202000122
1000 S 0004 1718 0104 202000123
200 S T-020 1718 0104 202000123

Booking Revenue Deferral

Your accounting may require to book deferred revenue to a dedicated account (see Handling Deferred Revenue). This may be the case, for example, if you distribute the revenue of an invoice over multiple future booking periods using the Booking Month revenue recognition rule. Consequently, the revenue amount booked during the defined period is "taken out" from the deferred revenue account.

Info

Staged payment plans (installments) do not imply revenue deferral. If not specifically set otherwise, JustOn consequently applies the Default revenue recognition rule when generating bookkeeping data for invoices with installments.

You can, however, combine the Booking Month or Service Month revenue recognition rules and the Sync With Revenue tax recognition rule with installments.

Consider the following example: There is an invoice whose amount is to be distributed equally to four booking periods using the Booking Month recognition rule.

Field Value
Pos Total Net 6000 €
Tax 1200 €
Grand Total 7200 €
Booking Account Example Value Booking Detail Field Configuration
Revenues 0004 G/L Account Number G/L Account Number
Taxes T-020 G/L Account Number Collective Accounts
Trade Receivables (Debtors) 1718 Business Partner Account Number Enabling Contra Accounts
Deferred Revenue D007 G/L Account Number Collective Accounts
Deferred Revenue Contra Account DC09 Business Partner Account Number Collective Accounts
By default, JustOn fills the field Business Partner Account Number 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.

Be aware of the following specifics:

  • The tax is always booked in the first booking period, based on the booking date.
  • 3/4 of the revenue is booked to the deferred revenue account in the first booking period, based on the booking date.
  • 1/4 of the revenue is booked in the first revenue-relevant booking period – based on the service period.
  • In every subsequent booking period, 1/4 of the revenue is booked and, at the same time, taken out from the deferred revenue account to offset the booked revenue.

Produced Booking Details

Accordingly, JustOn generates the following booking details:

# Booking Period Amount Debit/Credit Flag Account Contra Account Type
1 2020-04 1200 H (Credit) Taxes
G/L Account Number T-020
Trade Receivables (Debtors)
Business Partner Account Number 1718
Tax
2 1500 H (Credit) Revenues
G/L Account Number 0004
Trade Receivables (Debtors)
Business Partner Account Number 1718
Revenue
3 4500 H (Credit) Deferred Revenue
G/L Account Number D007
Deferred Revenue Contra Account
Business Partner Account Number DC09
Deferred
4 2020-05 1500 H (Credit) Revenues
G/L Account Number 0004
Trade Receivables (Debtors)
Business Partner Account Number 1718
Revenue
5 -1500 S (Debit) Deferred Revenue
G/L Account Number D007
Deferred Revenue Contra Account
Business Partner Account Number DC09
Deferred
6 2020-06 1500 H (Credit) Revenues
G/L Account Number 0004
Trade Receivables (Debtors)
Business Partner Account Number 1718
Revenue
7 -1500 S (Debit) Deferred Revenue
G/L Account Number D007
Deferred Revenue Contra Account
Business Partner Account Number DC09
Deferred
8 2020-07 1500 H (Credit) Revenues
G/L Account Number 0004
Trade Receivables (Debtors)
Business Partner Account Number 1718
Revenue
9 -1500 S (Debit) Deferred Revenue
G/L Account Number D007
Deferred Revenue Contra Account
Business Partner Account Number DC09
Deferred

BD_deferred
Revenue, tax and deferred revenue booking details distributed over multiple booking periods

Exported Booking Details

Here are the DATEV posting batch-compliant CSV files exported from the booking details.

For the first booking period (2020-04):

EXTF 510 21 Buchungsstapel 7 2,02001E+16 SV Admin tenant.ClientNumber__c
Umsatz (ohne Soll/Haben-Kz) Soll/Haben-Kennzeichen WKZ Umsatz Kurs Basis-Umsatz WKZ Basis-Umsatz Konto Gegenkonto (ohne BU-Schluessel) BU-Schluessel Belegdatum Belegfeld 1
1500 H 0004 1718 0104 202000138
4500 H D007 DC09 0104 202000138
1200 H T-020 1718 0104 202000138

For the second booking period (2020-05):

EXTF 510 21 Buchungsstapel 7 2,02001E+16 SV Admin tenant.ClientNumber__c
Umsatz (ohne Soll/Haben-Kz) Soll/Haben-Kennzeichen WKZ Umsatz Kurs Basis-Umsatz WKZ Basis-Umsatz Konto Gegenkonto (ohne BU-Schluessel) BU-Schluessel Belegdatum Belegfeld 1
1500 H 0004 1718 0105 202000138
1500 S D007 DC09 0105 202000138

For the third booking period (2020-06):

EXTF 510 21 Buchungsstapel 7 2,02001E+16 SV Admin tenant.ClientNumber__c
Umsatz (ohne Soll/Haben-Kz) Soll/Haben-Kennzeichen WKZ Umsatz Kurs Basis-Umsatz WKZ Basis-Umsatz Konto Gegenkonto (ohne BU-Schluessel) BU-Schluessel Belegdatum Belegfeld 1
1500 H 0004 1718 0106 202000138
1500 S D007 DC09 0106 202000138

For the fourth booking period (2020-07):

EXTF 510 21 Buchungsstapel 7 2,02001E+16 SV Admin tenant.ClientNumber__c
Umsatz (ohne Soll/Haben-Kz) Soll/Haben-Kennzeichen WKZ Umsatz Kurs Basis-Umsatz WKZ Basis-Umsatz Konto Gegenkonto (ohne BU-Schluessel) BU-Schluessel Belegdatum Belegfeld 1
1500 H 0004 1718 0107 202000138
1500 S D007 DC09 0107 202000138

Booking Deferred Revenue Cancellation

Your accounting may require to book deferred revenue to a dedicated account, as illustrated in Booking Revenue Deferral. What happens when you cancel an invoice that involves deferred revenue bookings?

As explained in Booking Invoice Cancellation, JustOn creates a new, "opposite" booking detail for each existing booking detail of the canceled invoice, which also applies to split booking details to cover deferred revenue.

booking_deferred_cancel
Booking deferred revenue and a corresponding cancellation

Some of the original booking periods may already be closed. In this case, JustOn moves the booking details produced for these periods to the next open booking period.

booking_detail_period
Booking detail allocation with closed booking periods

Now your bookkeeping system may expect one posting that combines the relevant bookings. To support this scenario, your export configuration can define a rule that aggregates these deferred revenue booking details, for example

"aggregationRules": {
    "bookingDetailRow": [{
            "fieldsToAggregate": {"Amount__c": "SUM"},
            "conditions": {"Type__c": "Deferred"},
            "groupBy": ["Name","DebitCreditFlag__c"]
        }]
}

Produced Booking Details

Following the example above and assuming that the booking periods 2020-04 and 2020-05 are Closed, JustOn creates these nine "opposite" booking details.

# Booking Period Amount Debit/Credit Flag Account Contra Account Type
1 2020-06 -1200 S (Debit) Taxes
G/L Account Number T-020
Trade Receivables (Debtors)
Business Partner Account Number 1718
Tax
2 -1500 S (Debit) Revenues
G/L Account Number 0004
Trade Receivables (Debtors)
Business Partner Account Number 1718
Revenue
3 -4500 S (Debit) Deferred Revenue
G/L Account Number D007
Deferred Revenue Contra Account
Business Partner Account Number DC09
Deferred
4 -1500 S (Debit) Revenues
G/L Account Number 0004
Trade Receivables (Debtors)
Business Partner Account Number 1718
Revenue
5 1500 H (Credit) Deferred Revenue
G/L Account Number D007
Deferred Revenue Contra Account
Business Partner Account Number DC09
Deferred
6 -1500 S (Debit) Revenues
G/L Account Number 0004
Trade Receivables (Debtors)
Business Partner Account Number 1718
Revenue
7 1500 H (Credit) Deferred Revenue
G/L Account Number D007
Deferred Revenue Contra Account
Business Partner Account Number DC09
Deferred
8 2020-07 -1500 S (Debit) Revenues
G/L Account Number 0004
Trade Receivables (Debtors)
Business Partner Account Number 1718
Revenue
9 1500 H (Credit) Deferred Revenue
G/L Account Number D007
Deferred Revenue Contra Account
Business Partner Account Number DC09
Deferred

BD_deferred_cancel
Booking details produced when canceling an invoice with deferred revenue

Exported Booking Details

Upon export, JustOn combines the deferred revenue booking details with the same debit/credit flag using the illustrated aggregation function. Consequently, the DATEV posting batch-compliant CSV files would be as follows.

For the first open booking period (2020-06):

EXTF 510 21 Buchungsstapel 7 2,02001E+16 SV Admin tenant.ClientNumber__c
Umsatz (ohne Soll/Haben-Kz) Soll/Haben-Kennzeichen WKZ Umsatz Kurs Basis-Umsatz WKZ Basis-Umsatz Konto Gegenkonto (ohne BU-Schluessel) BU-Schluessel Belegdatum Belegfeld 1
1500 S 0004 1718 0106 202000139
4500 S D007 DC09 0106 202000139
1200 S T-020 1718 0106 202000139
1500 S 0004 1718 0106 202000139
1500 S 0004 1718 0106 202000139
3000 H D007 DC09 0106 202000139

For the next booking period (2020-07):

EXTF 510 21 Buchungsstapel 7 2,02001E+16 SV Admin tenant.ClientNumber__c
Umsatz (ohne Soll/Haben-Kz) Soll/Haben-Kennzeichen WKZ Umsatz Kurs Basis-Umsatz WKZ Basis-Umsatz Konto Gegenkonto (ohne BU-Schluessel) BU-Schluessel Belegdatum Belegfeld 1
1500 S 0004 1718 0107 202000139
1500 H D007 DC09 0107 202000139

Modeling Split Bookings

In double-entry bookkeeping, you may need to split credit bookings (for example, for revenues that originate from different product groups), on the one hand, and to aggregate the offsetting debit bookings on the other hand. This approach is known as "split booking" or "breakdown posting".

To support this approach with JustOn, you

  • Activate the corresponding global setting Separate Contra Account Booking Details

    For details, see Contra Account Split

  • Define a rule to aggregate the contra account booking details into one

    For details, see Defining CSV File JSON Configuration. Your aggregation rule may, for example, look like

    "aggregationRules": {
        "bookingDetailRow": [{
                "fieldsToAggregate": {"Amount__c": "SUM"},
                "conditions": {"Type__c": "Contra Account"},
                "groupBy": ["AccountNo__c"]
            }]
    }
    

Look at the following example invoice:

Pos. Title G/L Account Tax Rate Net Price
1 Product A PG1 20% 1000
2 Product B PG2 20% 1000
Subtotal Net 2000
Tax Amount 400
Grand Total 2400

The booking accounts include

Booking Account Example Value Booking Detail Field Configuration
Revenues PG1 PG1 G/L Account Number G/L Account Number
Revenues PG2 PG2 G/L Account Number G/L Account Number
Taxes T-020 G/L Account Number Collective Accounts
Trade Receivables (Debtors) DEB12345 Business Partner Account Number Enabling Contra Accounts

Produced Booking Details

Accordingly, JustOn generates the following booking details when finalizing the invoice:

# Amount Debit/Credit Flag Type Account Contra Account
1 1000 H (Credit) Revenue Revenues PG1
G/L Account Number PG1
Trade Receivables (Debtors)
Business Partner Account Number DEB12345
2 -1000 S (Debit) Contra Account Trade Receivables (Debtors)
Business Partner Account Number DEB12345
3 1000 H (Credit) Revenue Revenues PG2
G/L Account Number PG2
Trade Receivables (Debtors)
Business Partner Account Number DEB12345
4 -1000 S (Debit) Contra Account Trade Receivables (Debtors)
Business Partner Account Number DEB12345
5 400 H (Credit) Tax Taxes
G/L Account Number T-020
Trade Receivables (Debtors)
Business Partner Account Number DEB12345
6 -400 S (Debit) Contra Account Trade Receivables (Debtors)
Business Partner Account Number DEB12345

Exported Booking Details

Upon export, JustOn combines the contra account booking details using the illustrated aggregation function. Be aware that the example does not resemble a DATEV posting batch-compliant CSV file but a simpler one.

Amount Debit/Credit Account Contra Account Date Statement No.
1000 H PG1 DEB12345 0107 202000160
1000 H PG2 DEB12345 0107 202000160
400 H T-020 DEB12345 0107 202000160
-2400 S DEB12345 0107 202000160

Booking Dunning Fees

Your business has very likely set up dunning processes to help tracking and claiming outstanding payments. This may involve a percentage late fee or a flat dunning fee (see Dunning Levels Information). From an accounting perspective, you want these fees to be booked on a dedicated account.

When finalizing a dunning, JustOn usually creates balances of the type Dunning Fee for any involved flat dunning fee or percentage late fee and adds them to the account balance of the relevant account. Dunning fee balances, however, will show up as outstanding receivables. Therefore, your business may require to not immediately create dunning fee balances. In this case, you can disable the creation of dunning fee balances on dunning finalization.

Doing so, JustOn will still track dunning fees. If a dunning level defines a dunning fee or a late fee rate, it is saved in the invoice fields Expected Dunning Fee or Expected Dunning Late Fee. Now if a registered payment includes an additional amount to cover dunning fees, it is split into a Payment balance that covers the original open invoice amount, and an additional Dunning Income balance for the dunning fee amount. The two balances are assigned to the original invoice. Using this approach, a dunning fee produces a booking-relevant record only if and when it is actually paid. With a payment that covers the open invoice amount only, an invoice will still become Paid.

Dunning income balance example

Assume this dunning statement:

Detail Amount
Invoice 100
Dunning fee 10

With dunning fee balances disabled, JustOn creates these balance records when registering a payment of 110:

# Type Amount
1 Payment 100
2 Dunning Income 10

Either way, you must, consequently, generate bookkeeping data from balances to produce dedicated dunning fee bookings. To set the intended account number, you need a collective account setting where Account specifies the required G/L account and Type is set to Dunning Fee or Dunning Income, respectively. For correctly booking dunning income balances, you need, in addition, a collective account setting for payments, where Account specifies the relevant G/L account and Type is set to Payment.

Info

JustOn will not create new booking details for the invoices that are subject to dunning processes. Bookkeeping data for invoices is produced on invoice finalization only.

howto_booking_dunning
Dunning-relevant booking details

Operation Dunning Records Relevant Step Accounting Records
Generating draft invoice Invoice
Invoice line items
Finalizing invoice          (1) Invoice booking details
Generating draft dunning Statement
Statement details
Finalizing dunning or
Registering payment
Dunning fee balances or
Dunning income balances
(2)
Creating balance booking details          (3) Balance booking details

The following example illustrates the scenario. Assume there is a dunning statement with two statement details: one that represents the outstanding invoice with an added late fee and another one that represents an additional dunning flat fee.

# Title Type Amount Notes
1 202000113 Dunning 105,00 100,00 (original invoice amount)
+ 5,00 (5% late fee)
2 Dunning Fee Dunning Fee 10,00 Dunning flat fee

Now the balance creation differs depending on whether you have JustOn create dunning fee balances when finalizing the dunning or dunning income balances when registering a corresponding payment.

With the default approach, JustOn creates two balance records when finalizing the dunning:

# Amount Type Related Invoice
1 5,00 Dunning Fee 202000113
2 10,00 Dunning Fee 202000113

The additional relevant booking account ( 16dun) is configured using a collective account setting. The contra account number ( DEB12345) is taken from the corresponding account, as described in Enabling Contra Accounts.

With dunning fee balances disabled, JustOn creates a dunning income balance. Note that the dunning income balance aggregates the late fee and the flat fee (following the example, 5,00 and 10,00).

# Amount Type Related Invoice
1 15,00 Dunning Income 202000113

Correctly booking dunning income requires two G/L accounts, both to be configured as individual collective account settings – one for the dunning income ( 16dun), and one for the payment booking ( 1000).

Produced Booking Details

Accordingly, JustOn generates the following booking details when executing the job for balance bookkeeping data generation:

# Amount Debit/Credit Flag Type G/L Account BP Account
1 5,00 H Dunning Fee 16dun DEB12345
2 10,00 H Dunning Fee 16dun DEB12345
3 -5,00 S Contra Account DEB12345
4 -10,00 S Contra Account DEB12345

BD_dunning
Booking details produced from dunning fee balances

# Amount Debit/Credit Flag Type G/L Account BP Account
1 -15,00 S Dunning Income 1000 16dun
2 15,00 H Contra Account 16dun

BD_dunning_income
Booking details produced from a dunning income balance

Info

Remember that JustOn will not create new booking details for the invoices that are subject to dunning processes. For accounting purposes, you must still use the bookkeeping data produced on invoice finalization.

Exported Booking Details

These are the DATEV posting batch-compliant CSV files as exported from the produced booking details.

EXTF 510 21 Buchungsstapel 7 2,02001E+16 SV Admin tenant.ClientNumber__c
Umsatz (ohne Soll/Haben-Kz) Soll/Haben-Kennzeichen WKZ Umsatz Kurs Basis-Umsatz WKZ Basis-Umsatz Konto Gegenkonto (ohne BU-Schluessel) BU-Schluessel Belegdatum Belegfeld 1
5 H 16dun DEB12345 1008
10 H 16dun DEB12345 1008
5 S DEB12345 1008
10 S DEB12345 1008
EXTF 510 21 Buchungsstapel 7 2,02001E+16 SV Admin tenant.ClientNumber__c
Umsatz (ohne Soll/Haben-Kz) Soll/Haben-Kennzeichen WKZ Umsatz Kurs Basis-Umsatz WKZ Basis-Umsatz Konto Gegenkonto (ohne BU-Schluessel) BU-Schluessel Belegdatum Belegfeld 1
15 S 1000 16dun 1008
15 H 16dun 1008

Booking Deposit Invoices

Deposit invoices do usually not constitute a legally binding payment request. This is why they are usually exempt from bookkeeping data generation. If your accounting approach, however, requires to book deposit invoices as soon as they are created, you can explicitly enable the bookkeeping data generation for deposit invoices.

To this end, you

  • Activate the corresponding global setting Create Bookkeeping Data for Deposit
  • Create a G/L account rule to assign the relevant account number to booking details produced for deposit amounts

    For the corresponding rule, you use the field Invoice Type set to Deposit as the matching criterion. Be aware that you must set this field in all other G/L account assignment rules as well. Otherwise, the assignment becomes random. Most probably, you have another rule for assigning a G/L account number used for "usual" revenue bookings – in this case, you set Invoice Type to Invoice in this rule.

Assume, for example, you have created a 20% deposit invoice for a product to be sold:

Pos. Title Tax Rate Net Price
1 Product 20% 1000
Subtotal Net 1000
Tax Amount 200
2 Deposit 0 200
Grand Total 200

Once the deposit invoice is paid and closed, you create the final invoice:

Pos. Title Tax Rate Net Price
1 Product 20% 1000
Subtotal Net 1000
Tax Amount 200
Grand Total 1200
Received Payments -200
Remaining Final Payment (net) 800
Remaining Tax 200
Payment Amount 1000

The booking accounts include

Booking Account Example Value Booking Detail Field Configuration
Revenues 0004 G/L Account Number G/L Account Number
Taxes T-020 G/L Account Number Collective Accounts
Trade Receivables (Debtors) DEB12345 Business Partner Account Number Enabling Contra Accounts
Deposit D933 G/L Account Number G/L Account Number

Produced Booking Details

Now when finalizing the deposit invoice and, accordingly, generating booking details, JustOn involves the deposit amount only. It does not produce booking details for revenues or taxes.

Note, in addition, that the booking detail produced for the deposit amount is of the type Revenue but assigned the G/L account number defined for deposits:

# Amount Debit/Credit Flag Type G/L Account Contra Account
1 200,00 H Revenue D933 DEB12345
2 -200,00 S Contra Account DEB12345

BD_deposit
Booking details produced from a deposit invoice

When finalizing the final invoice, JustOn creates the following booking details. If you usually book net amounts to separate accounts, there is no difference to a "regular" invoice:

# Amount Debit/Credit Flag Type G/L Account Contra Account
1 1000,00 H Revenue 0004 DEB12345
2 200,00 H Tax T-020 DEB12345
3 -1000,00 S Contra Account DEB12345
4 -200,00 S Contra Account DEB12345

BD_final
Booking details produced from a final invoice

Exported Booking Details

Here is the DATEV posting batch-compliant CSV file exported from the produced booking details.

EXTF 510 21 Buchungsstapel 7 2,02001E+16 SV Admin tenant.ClientNumber__c
Umsatz (ohne Soll/Haben-Kz) Soll/Haben-Kennzeichen WKZ Umsatz Kurs Basis-Umsatz WKZ Basis-Umsatz Konto Gegenkonto (ohne BU-Schluessel) BU-Schluessel Belegdatum Belegfeld 1
200 H D933 DEB12345 2808 202000188
200 S DEB12345 2808 202000188
1000 H 0004 DEB12345 3108 202000196
200 H T-020 DEB12345 3108 202000196
1000 S DEB12345 3108 202000196
200 S DEB12345 3108 202000196

Booking Payment Refunds

Using the payment page shipped with the JustOn Self-Service Extension, businesses can provide their customers the option to directly pay their invoices. To this end, the JustOn Self-Service Extension can integrate with payment service providers.

Depending on your payment service provider integration, you can use JustOn's balance management functionality to directly refund a payment made via the payment page of the JustOn Self-Service Extension.

Info

The Stripe integration supports the payment refund via the Stripe Dashboard as well as using the Refund button on the Balance detail page.

The Mollie integration supports the payment refund via the Mollie Dashboard.

Refunding a payment balance directly returns the specified amount to the customer. In JustOn, this operation creates a balance record of the type Refund for the account.

For general example use cases, see Credit and Refund Workflows and Refund Handling Examples.

To illustrate the booking detail creation with refunds, assume the following scenario:

  • You finalize an invoice.
  • You register a corresponding payment.
  • You refund the payment.

refund_uc1
Refunding a registered payment

(1) You finalize the invoice. This is the relevant information:

Field Value
Invoice No. 202000207
Status Open
Grand Total 100

(2) Registering the payment assigns this payment balance to the invoice:

Field Value
Amount -100
Type Payment
Invoice 202000207

This sets the invoice Paid.

(3) Now you refund the payment, which

  • creates the refund balance,
  • locks both the original payment balance and the refund balance, and
  • sets the invoice status back to Open (since you have returned the money)
Field Value
Amount 100
Type Refund
Locked

Produced Booking Details

Assume the involved booking accounts include

Booking Account Example Value Booking Detail Field Configuration
Revenues 0004 G/L Account Number G/L Account Number
Trade Receivables (Debtors) DEB12345 Business Partner Account Number Enabling Contra Accounts
Bank 2020 G/L Account Number Collective Accounts

When finalizing the invoice, JustOn creates this booking detail:

# Amount Debit/Credit Flag Type G/L Account Contra Account
1 100,00 H Revenue 0004 DEB12345

When executing the job for balance bookkeeping data generation, JustOn generates the following booking details for the payment balance and the refund balance:

# Amount Debit/Credit Flag Type G/L Account Contra Account
1 -100,00 S Payment 2020 DEB12345
2 100,00 H Refund 2020 DEB12345

BD_refund
Booking details produced from payment and refund balances

Exported Booking Details

Here is the DATEV posting batch-compliant CSV file exported from the produced booking details.

EXTF 510 21 Buchungsstapel 7 2,02001E+16 SV Admin tenant.ClientNumber__c
Umsatz (ohne Soll/Haben-Kz) Soll/Haben-Kennzeichen WKZ Umsatz Kurs Basis-Umsatz WKZ Basis-Umsatz Konto Gegenkonto (ohne BU-Schluessel) BU-Schluessel Belegdatum Belegfeld 1
100 H 0004 DEB12345 1611 202000207
100 S 2020 DEB12345 1811
100 H 2020 DEB12345 1811