action.skip

Enabling Revenue Bookings for SaaS Businesses

This article describes how to configure the bookkeeping data generation for invoices that are typically issued in SaaS businesses – that is, software licenses or other electronic services offered in a subscription model.

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 following settings are required:

Object Field Value
Global Settings Create Bookkeeping Data true
Assignment Rules - G/L Account G/L Account 8400
Tax Code DE_19
Business Entity business entity name
Collective Account Booking Account 1776
Tax Code DE_19
Type Tax
Collective Account Booking Account 0990
Type Deferred
Invoice Line Item Revenue Recognition Rule Booking Month
Taxation Rule End of Service Period

Use Case Outline

An invoice for a subscription-based service may typically look like this:

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
  • Separate bookings for the net revenue and the VAT
  • Tax origin at the service period end, but due with the expected payment at the service period start

Booking Accounts

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

Account name Account no.
SKR 03
Configuration Type Booking Detail Target Field
Revenue 19% VAT 8400 G/L Account Booking Account
VAT 19% 1776 Collective 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 complete amount (1428,00) is initially distributed from the debtor account to:

  • Revenue 19% VAT → 100,00
  • VAT 19% → 228,00
  • Deferred revenue ("Passive RechnungsDeferred") → 1100,00
Posting Debit to account Credit to account Amount
1 Debtor (12345) Revenue 19% VAT (8400) 100,00
2 Debtor (12345) VAT 19% (1776) 228,00
3 Debtor (12345) Deferred revenue (0990) 1100,00

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

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

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

Debtor
Posting Debit Credit
1 100,00 (04/2024)
2 228,00 (04/2024)
3 1100,00 (04/2024)
Revenue 19% VAT
Posting Debit Credit
1 100,00 (04/2024)
4 100,00 (05/2024)
5 100,00 (06/2024)
6 100,00 (07/2024)
7 100,00 (08/2024)
8 100,00 (09/2024)
9 100,00 (10/2024)
10 100,00 (11/2024)
11 100,00 (12/2024)
12 100,00 (01/2025)
13 100,00 (02/2025)
14 100,00 (03/2025)
VAT 19%
Posting Debit Credit
2 228,00 (04/2024)
Deferred revenue ("Passive RechnungsDeferred")
Posting Debit Credit
3 1100,00 (04/2024)
4 100,00 (05/2024)
5 100,00 (06/2024)
6 100,00 (07/2024)
7 100,00 (08/2024)
8 100,00 (09/2024)
9 100,00 (10/2024)
10 100,00 (11/2024)
11 100,00 (12/2024)
12 100,00 (01/2025)
13 100,00 (02/2025)
14 100,00 (03/2025)

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:

Activating Booking Data Creation

In order to globally enable the creation of bookkeeping data, the feature 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 checkbox Create Bookkeeping Data.
  5. Optionally, select the checkbox Create Bookkeeping Data for Deposit.

    Select this option if your accounting requires deposit invoices to be booked as soon as they are created.

  6. 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 taxes including 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
VAT 19% 1776 Collective 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 tax bookings.

    To cover the outlined use case, you need the following setting:

    Name Booking Account Tax Code Type
    VAT 19% 1776 DE_19 Tax

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

    For details, see Configuring Collective Accounts.

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

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

    Name Booking Account Type
    Deferred 0990 Deferred

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

    For details, see Configuring Collective Accounts.

  4. Enable the debtor account number.

    Depending on your requirements, the way to define the 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.

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.

Setting Taxation Rule

Taxation rules decide how to process invoice line items that span multiple time-based tax rules. For SaaS businesses, you typically apply the tax rate that is valid at the end of the service period, irrespective of any tax rate changes throughout the service period. This is why this use case assumes the taxation rule End of Service Period.

Info

Generally, the timing of the tax origin determines which taxation rule to apply. This may depend on the type of product or service you invoice. Contact your tax consultant to determine the appropriate way for your business.

JustOn Billing & Invoice Management applies the taxation rule set in the invoice line item field Taxation Rule.

The ON field mechanism is a likely option for having the taxation 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_TaxationRule 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_TaxationRule Text (255)
    Formula (Text)
    Picklist
    Specifies the taxation rule to be applied, is copied to the invoice line item during the invoice run. End of Service Period

    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 Type
1 04/2024 100,00 H 8400 12345 Revenue
2 228,00 H 1776 12345 Tax
3 1100,00 H 0990 12345 Deferred
Following months (05/2024 – 03/2025), re-posting the deferred revenue
# Booking Period Amount Debit/Credit Flag Booking Account Contra Booking Account Type
4 05/2024 100,00 H 8400 12345 Revenue
5 -100,00 S 0990 Deferred
6 06/2024 100,00 H 8400 12345 Revenue
7 -100,00 S 0990 Deferred
8 07/2024 100,00 H 8400 12345 Revenue
9 -100,00 S 0990 Deferred
10 08/2024 100,00 H 8400 12345 Revenue
11 -100,00 S 0990 Deferred
12 09/2024 100,00 H 8400 12345 Revenue
13 -100,00 S 0990 Deferred
14 10/2024 100,00 H 8400 12345 Revenue
15 -100,00 S 0990 Deferred
16 11/2024 100,00 H 8400 12345 Revenue
17 -100,00 S 0990 Deferred
18 12/2024 100,00 H 8400 12345 Revenue
19 -100,00 S 0990 Deferred
20 01/2025 100,00 H 8400 12345 Revenue
21 -100,00 S 0990 Deferred
22 02/2025 100,00 H 8400 12345 Revenue
23 -100,00 S 0990 Deferred
24 03/2025 100,00 H 8400 12345 Revenue
25 -100,00 S 0990 Deferred