action.skip

Enabling Margin Scheme-Based Bookings

DE Differenzbesteuerung
FR taxation sur la marge

← Bookkeeping Data Creation Use Cases

This article describes how to configure the bookkeeping data generation for invoices if your business pays taxes on profit margins.

This use case description is designed to comply with Article 25a of the German Value Added Tax Act (§ 25a UStG) and assumes posting the booking data to DATEV.

Summary

JustOn Billing & Invoice Management controls the booking data creation using dedicated configurations on invoice line items, G/L account settings and global settings. The key setting to cover the current use case is the Margin Scheme revenue recognition rule on the invoice line item, which makes the software create separate booking details for the defined margin and the applicable taxes.

These are the minimum required settings (under DATEV SKR 04):

Object Field Value
Global Settings Create Bookkeeping Data true
Enable Accounting in Gross Values true
Assignment Rules - G/L Account G/L Account 4138
G/L Account 2 4136
Business Entity business entity name
Account |
Invoice
ON_DebtorNo|
DebtorNo
debtor account number
Invoice Line Item Revenue Recognition Rule Margin Scheme
Margin margin value
Gross Line Item true

Use Case Outline

Assume a merchant has purchased a used item for 800 €, and resells it for 1000 €, gaining a margin of 200 €.

An invoice for reselling a second-hand good under a margin scheme does not indicate the margin or the tax on the margin. It may look like this:

Title Price
Product
margin taxation applies under Art. 25a German VAT Act
1000,00
Grand Total 1000,00

Conditions

To illustrate the calculation and booking approaches, let us assume the following conditions:

  • Invoice line item is marked as gross
  • Invoice shows the gross price without indicating the margin or the tax
  • Invoice includes note on margin taxation
  • Separate bookings for the net revenue (on the margin) and the corresponding VAT
  • Margin revenue bookings to the DATEV automatic account 4136
  • Bookings for non-taxable turnover to the standard account 4138

Booking Accounts

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

Account name Account no.
SKR 04
Automatic Account Configuration Type Booking Detail Target Field
Revenue 0% VAT 4138 G/L Account Booking Account
Margin Revenue 19% VAT 4136 G/L Account Booking Account
Debtor 10000 Debtor number Contra Booking Account

Expected Postings

The invoice amount (1000,00) is distributed from the debtor account to:

  • Revenue 0% VAT – 800,00
  • Margin Revenue 19% VAT – 200,00
Posting Debit Credit Posting Record Amount
1 10000 4138 Debtor → Revenue 0% VAT 800,00
2 10000 4136 Debtor → Margin Revenue 19% VAT 200,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 and enable gross value bookings, 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
  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 margin revenue and taxes according to the outlined use case requires the following booking accounts:

Account name Account no.
SKR 04
Configuration Type Booking Detail Target Field
Revenue 0% VAT 4138 G/L Account Booking Account
Margin Revenue 19% VAT 4136 G/L Account Booking Account
Debtor 10000 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 values.

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

    Name G/L Account G/L Account 2 Business Entity
    Margin Revenue 4138 4136 business entity name

    For details, see Configuring G/L Account.

  2. 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. 10000
      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 (ONB2__Invoice__c).
    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. 10000
      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.

Preparing Required Invoice Line Item Information

JustOn Billing & Invoice Management writes margin bookings if

  • the revenue recognition rule Margin Scheme is set in the invoice line item field Recognition Rule
  • the field Margin of the invoice line item is set

In addition, the outlined use case requires the Gross Line Item checkbox set true to disable the tax deduction for the purchase price portion (total minus margin).

Furthermore, both the invoice PDF file and the e-invoice XML file must indicate that the invoice is subject to margin taxation. The Description field is a suitable option to include this information. This text is printed into the invoice table on the PDF by default, and pasted to the e-invoice Invoice Line Note (BT-127) and Item Description (BT-154).

The ON field mechanism is a likely option for having these fields 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 fields ON_RecognitionRule, ON_Margin and ON_GrossInvoice on the invoice line item source object:

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

    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. Margin Scheme
    ON_Margin Currency
    Formula (Currency)
    Specifies the margin of the invoice line item.
    Using a formula, you can apply custom logic to determine the margin.
    ON_GrossInvoice Checkbox
    Formula (Checkbox)
    Specifies whether the invoice line item price is considered a gross price. true
    ON_Description Text (255)
    Formula (Text)
    Specifies additional information about the invoice line item, can hold the required note on margin taxation
    Using a formula, you can apply custom logic to set the text on certain conditions.
    IF(ON_Margin != null, 'Margin taxation applies under Art. 25a German VAT Act',' ')

    For help about creating fields, see Managing Object Fields.

Info

When applying a margin scheme, taxes (set using tax rules, for example) apply to the margin amount only. For the original price, that is, the rest of the position total, the tax rate is set to 0.

Adjusting PDF Template Display

To produce a PDF output as illustrated in Use Case Outline, adjust the relevant invoice template as follows:

  1. Adjust the invoice line item table to display the position number, the item title and description and the unit price.

    Click next to the Table Columns field and specify this setting:

    PosNo;Title__c+Description__c;UnitPrice__c;
    
  2. Hide the net subtotal and tax rows.

    Click next to the Custom CSS field and specify this CSS code:

    tr.subtotal-calculated.net {display: none}
    .invoice-table .taxrate_0_00000 {display: none}
    

Produced Booking Details

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

# Amount Debit/Credit Flag Booking Account Contra Booking Account Type
1 800,00 H 4138 10000 Revenue
2 200,00 H 4136 10000 Revenue