Data Transfer to Accounting Systems
Irrespective of the bookkeeping data generation features you apply, your organization usually delivers the relevant invoicing data to an (external) accounting system like DATEV, SAP or Microsoft Dynamics. Invoicing data refers to the actual business transactions that state the realized revenues or charged taxes and their corresponding booking accounts, as represented in booking details or, on a basic level, in invoices. Accounting systems expect specifically formatted CSV files in order to import this data. To support this, JustOn Billing & Invoice Management provides a flexible CSV export mechanism, which allows you to configure and execute invoice exports or booking details exports according to your needs.
Info
If your target accounting system is DATEV, you may consider using DATEV Unternehmen online. JustOn supports the automatic transfer of invoicing data to this platform.
In addition, your business may require to export master data to your accounting system. Master data refers to account-related data like customer name, address, tax ID, debtor/creditor number, etc. Accounting systems usually handle master data separately and can therefore not import it together with invoicing data. For transferring master data, you use JustOn's export mechanism to produce specifically configured CSV files from invoices.
Delivering master data and bookkeeping data to accounting systems
Invoice CSV Export
Your organization's business may require to export invoices or booking details that are to be imported by external accounting systems like DATEV, SAP or Microsoft Dynamics. Usually, these accounting systems expect specifically formatted CSV files in order to import this data, including invoice line items and tax information. To this end, JustOn Billing & Invoice Management provides a flexible CSV export mechanism. It allows you to configure and execute invoice or booking details exports according to your needs.
Info
Be aware that the invoice export is not related to invoice PDF files. To output produced PDF files, use the redistribution function.
You can use JustOn's invoice CSV export to export master data to your accounting system. Master data refers to account-related data like customer name, address, tax ID, debtor/creditor number, etc. Accounting systems usually handle master data separately and can therefore not import it together with invoicing data. For transferring master data, you produce specifically configured CSV files from invoices.
Payment Balance Generation
When exporting invoices, you can select the option Create Payments
. Doing so triggers JustOn to create payment balances and to set the originating invoices to Paid
or Settled
, depending on the invoice class (Invoice
or Credit
).
Invoice Export History
In addition to the actual export file (CSV or SEPA XML, according to the applied export setting), the export operation produces an Invoice Export History record for each exported invoice. The history holds the following information:
- Export time
- Effective payment due date (for installment invoices)
- File name and link to the exported file
- Flag stating whether a payment balance has been created
- Flag that controls whether to prevent repeated exports
-
Flag stating whether an invoice has been exported more than once (forced export)
The
Times Exported
field on the invoice shows the export count.
Configuring Invoice CSV Export
Exporting Invoices
Booking Detail CSV Export
Your organization's business may require to export invoices or booking details that are to be imported by external accounting systems like DATEV, SAP or Microsoft Dynamics. Usually, these accounting systems expect specifically formatted CSV files in order to import this data, including invoice line items and tax information. To this end, JustOn Billing & Invoice Management provides a flexible CSV export mechanism. It allows you to configure and execute invoice or booking details exports according to your needs.
Be aware of the following specifics:
- You export booking details on a booking period base. You select the booking period whose booking details you want to export and trigger the export.
- You can control whether to allow multiple exports. Specifically marking exported booking details excludes them from subsequent export operations.
Configuring Booking Detail CSV Export
Exporting Booking Details
DATEV Support
Your organization's business may require to deliver bookkeeping data to DATEV. Technically, there are two ways to do so:
- Automatically transferring ledger records for booking details (as created from invoices and invoice line items) to DATEV Unternehmen online
- Exporting specifically formatted CSV files to be imported in a specific DATEV application
Info
Be aware, however, that the way you use may depend on the type of data you transfer to DATEV.
Invoicing data: Invoicing data refers to actual business transactions that state, in particular, realized revenues or charged taxes and their corresponding booking accounts. If your data involves invoicing data only, you can use both the automatic transfer as well as the export.
Master data: You must use an accordingly configured CSV export if you move master data for accounts like, for example, debtor numbers. This especially applies to new customers that are not yet available in DATEV as "allocation targets".
Data Transfer to DATEV
To seamlessly transfer invoice-based bookkeeping data to DATEV, JustOn integrates with JustOn Connector for DATEV. This is an add-on to JustOn that generates DATEV-specific ledger records from booking details (as created from invoices and invoice line items), and transfers them to DATEV Unternehmen online. For details, see JustOn Connector for DATEV DE. Once there, these accounting documents and accounting document items can be used by any DATEV application that accesses the DATEV Cloud.
Directly transferring bookkeeping data to DATEV
The following table shows which data is supported by the DATEV interface Rechnungsdatenservice 1.0 and by the integration with JustOn Billing & Invoice Management – which produces sales invoices relevant for the accounts receivable ledger.
Type of Data | DATEV Interface | Integration |
---|---|---|
Accounts receivable Sales invoices |
||
Accounts payable Purchase invoices |
||
Cash ledger cash book |
||
Attachments Document images |
||
Master data | ||
Payment data |
In broad strokes, the bookkeeping data transfer work as follows:
JustOn transfers all booking details of a specific booking period that are not yet exported to JustOn Connector for DATEV. For each related invoice, an accounting document record of the type Accounts Receivable Ledger
is created. Each booking detail is exported to an accounting document item (1:1 relationship). The two objects are linked with each other. Invoice PDF attachments (maximum file size: 3.76 MB) are copied and attached to the accounting document.
Be aware that invoice PDF files larger than 3,76 MB prevent exporting all booking details of the given invoice.
On successful transfer, the Locked
checkbox of the accounting document is selected, and the booking detail is marked as exported. In case of errors, neither an accounting document nor an accounting detail is created for the affected booking details. An error message is written to the booking detail.
Info
Be aware that the automatic data transfer to DATEV involves invoicing data only, since the corresponding DATEV interface supports invoice (and cashbook) data only. Invoicing data refers to actual business transactions that state, particularly, realized revenues or charged taxes and their corresponding G/L accounts, and that is represented on booking details created from invoice line items.
To transfer bookkeeping data as generated from payment balances, unbilled revenue bookkeeping data or master data for accounts like, for example, debtor numbers, you must use accordingly configured CSV file exports for booking details or invoices, respectively.
Once the data transfer to DATEV is set up, actually transferring the data from JustOn to DATEV Unternehmen online involves the following repetitive tasks:
-
Transferring Bookkeeping Data to DATEV
Be aware that generating the DATEV-specific data records may take time – for 1000 booking details, allow about one hour.
-
Creating and Executing Data Transfer
Be aware that uploading the accounting documents to DATEV may take time. Depending on the amount of data you transfer, the access token may expire. In this case, restart the data transfer.
Transferring bookkeeping data to DATEV
The bookkeeping data transfer writes the data to the following fields.
Accounting Document fields
Field | Data Type | Source Field | Notes |
---|---|---|---|
InvoiceId | Text | BookingDetail.InvoiceNo |
|
Document Date | Date | BookingDetail.BookingPeriod |
Shows the start date of the booking period |
Customer Name | Text | BookingDetail.AccountName |
|
Customer City | Text | BookingDetail.BillingCity |
|
IBAN | Text | BookingDetail.IBAN |
|
SwiftCode | Text | BookingDetail.BIC |
|
VatId | Text | BookingDetail.VATId |
|
ThirdParty | Checkbox | - | Is selected on successful transfer |
Locked | Checkbox | - | Is selected on successful transfer |
ON_Invoice | Lookup (Invoice) | BookingDetail.Invoice |
Links to the related invoice |
Accounting Document Item fields
Field | Data Type | Source Field | Notes |
---|---|---|---|
Amount | Currency (10,2) | BookingDetail.Amount |
|
AccountNo | Text | BookingDetail.AccountNo |
|
Accounting Date | Date | BookingDetail.BookingDate |
|
Delivery Date | Date | BookingDetail.OriginalBookingDate |
Is ignored when empty. Can be overwritten using a custom DeliveryDate field |
Tax | Percent (2,2) | BookingDetail.TaxRate |
|
ON_BookingDetail | Lookup (Booking Detail) | - | Links to the related (source) booking detail |
Booking Detail fields
Field | Data Type | Notes |
---|---|---|
Exported | Checkbox | Is selected on successful transfer |
Export Destination | Text | Is set to DATEV on successful export |
ON_AccountingDetail | Lookup (Accounting Document Item) | Links to the related (target) accounting document item |
Last Error | Text | Is set during the transfer |
Additional fields
JustOn can copy additional fields from the booking details to the accounting documents and accounting document items. This is done for all additional fields on the booking detail if a field with the same name exists on the corresponding target.
The following table lists some examples:
Booking Detail | Accounting Document | Accounting Document Item | Notes |
---|---|---|---|
BillingCountry__c |
BillingCountry__c |
||
BuCode__c |
BuCode__c |
Holds booking codes to control certain DATEV features, like 40 to switch off the automatic tax calculation in automatic accounts. |
|
ClientId__c |
ClientId__c |
Holds a client ID in the format ConsultantID-ClientID . Allows the accounting documents to be assigned to a client-specific data transfer. When a data transfer is created, a user can select the client to which they want to transfer the data if there is no predefined client ID. |
|
CostCategoryId__c |
CostCategoryId__c |
Holds a cost center. Usually, a Booking Detail formula field that refers to Center . |
|
DeliveryDate__c |
DeliveryDate__c |
||
Discount__c |
Discount__c |
||
DueDate__c |
DueDate__c |
Holds the due date of an invoice to support "open items" management in DATEV. | |
Duplicate__c |
Duplicate__c |
Duplicate__c |
Note
Be aware that the DATEV interface does not accept any arbitrary additional fields. For a list of possible fields see Ãœbertragene Belegdaten DE or the Accounting Document or Accounting Document Item object references.
The DATEV interface will only accept additional custom fields on the Accounting Document or the Accounting Document Item if they are defined under the document record data file format (see DATEV XML interface online > Format specification > Record data file in the DATEV Developer Portal). Any fields other than those included in the DATEV format will be ignored, even if they have been correctly created and set.
Transferring Bookkeeping Data to DATEV
Enabling Data Transfer to DATEV
CSV Export to DATEV
In order to support specific DATEV applications (like, for example, DATEV Mittelstand Faktura mit Rechnungswesen or Kanzlei-Rechnungswesen), JustOn can export invoices and booking details (as created from both invoice line items and payment balances). It writes specifically formatted CSV files, which you can then import in the corresponding applications.
Exporting CSV to be imported by DATEV applications
In order to generate a CSV export that is compliant to the DATEV CSV format for the posting batch (Buchungsstapel), you must
- Create a specific JSON export configuration for the CSV file to be produced, and, depending on your requirements, add custom fields to relevant objects and custom settings (see Defining CSV File JSON Configuration)
- Define a dedicated custom setting Export Settings
Required custom fields
The JSON example configuration requires additional custom fields:
Source | Field | Description |
---|---|---|
Business Entity | ClientNumber__c |
The client number (Mandantennummer) for this business entity. |
Business Entity | ConsultantNumber__c |
The number of this business entity's tax consultant (Beraternummer). |
Booking Period | FiscalYearStart__c |
The start of the fiscal year (Wirtschaftsjahresbeginn). |
Booking Detail | OffsettingAccountNo__c |
The offsetting account (Gegenkonto, required value). |
Booking Detail | TaxKey__c |
The tax key (Steuerschlüssel). |
JSON export configuration for DATEV CSV
To produce a DATEV posting batch-compliant CSV file, you can use the following JSON export configuration.
Make sure to set the correct G/L account length (field 14 in headerRow1
, 4
in this example).
{
"rows": {
"bookingDetailRow": [
"ONB2__AbsoluteAmount__c",
"ONB2__DebitCreditFlag__c",
"",
"",
"",
"",
"AccountNo__c",
"ONB2__BpAccountNo__c",
"TaxKey__c",
"BookingDate__c",
"InvoiceNo__c",
"",
"",
"BookingText__c",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
],
"headerRow1": [
"EXTF",
"700",
"21",
"Buchungsstapel",
"7",
"TimeStamp",
"",
"SV",
"Admin",
"",
"businessentity.ConsultantNumber__c",
"businessentity.ClientNumber__c",
"FiscalYearStart__c",
"4",
"StartDate",
"EndDate",
"Rechnungen",
"",
"1",
"0",
"0",
"EUR",
"",
"",
"",
"",
"",
"",
"",
"",
"JustOn"
],
"headerRow2": [
"Umsatz (ohne Soll/Haben-Kz)",
"Soll/Haben-Kennzeichen",
"WKZ Umsatz",
"Kurs",
"Basis-Umsatz",
"WKZ Basis-Umsatz",
"Konto",
"Gegenkonto (ohne BU-Schlüssel)",
"BU-Schlüssel",
"Belegdatum",
"Belegfeld 1",
"Belegfeld 2",
"Skonto",
"Buchungstext",
"Postensperre",
"Diverse Adressnummer",
"Geschäftspartnerbank",
"Sachverhalt",
"Zinssperre",
"Beleglink",
"Beleginfo - Art 1",
"Beleginfo - Inhalt 1",
"Beleginfo - Art 2",
"Beleginfo - Inhalt 2",
"Beleginfo - Art 3",
"Beleginfo - Inhalt 3",
"Beleginfo - Art 4",
"Beleginfo - Inhalt 4",
"Beleginfo - Art 5",
"Beleginfo - Inhalt 5",
"Beleginfo - Art 6",
"Beleginfo - Inhalt 6",
"Beleginfo - Art 7",
"Beleginfo - Inhalt 7",
"Beleginfo - Art 8",
"Beleginfo - Inhalt 8",
"KOST1 - Kostenstelle",
"KOST2 - Kostenstelle",
"Kost-Menge",
"EU-Land u. UStID",
"EU-Steuersatz",
"Abw. Versteuerungsart",
"Sachverhalt L+L",
"Funktionsergänzung L+L",
"BU 49 Hauptfunktionstyp",
"BU 49 Hauptfunktionsnummer",
"BU 49 Funktionsergänzung",
"Zusatzinformation - Art 1",
"Zusatzinformation- Inhalt 1",
"Zusatzinformation - Art 2",
"Zusatzinformation- Inhalt 2",
"Zusatzinformation - Art 3",
"Zusatzinformation- Inhalt 3",
"Zusatzinformation - Art 4",
"Zusatzinformation- Inhalt 4",
"Zusatzinformation - Art 5",
"Zusatzinformation- Inhalt 5",
"Zusatzinformation - Art 6",
"Zusatzinformation- Inhalt 6",
"Zusatzinformation - Art 7",
"Zusatzinformation- Inhalt 7",
"Zusatzinformation - Art 8",
"Zusatzinformation- Inhalt 8",
"Zusatzinformation - Art 9",
"Zusatzinformation- Inhalt 9",
"Zusatzinformation - Art 10",
"Zusatzinformation- Inhalt 10",
"Zusatzinformation - Art 11",
"Zusatzinformation- Inhalt 11",
"Zusatzinformation - Art 12",
"Zusatzinformation- Inhalt 12",
"Zusatzinformation - Art 13",
"Zusatzinformation- Inhalt 13",
"Zusatzinformation - Art 14",
"Zusatzinformation- Inhalt 14",
"Zusatzinformation - Art 15",
"Zusatzinformation- Inhalt 15",
"Zusatzinformation - Art 16",
"Zusatzinformation- Inhalt 16",
"Zusatzinformation - Art 17",
"Zusatzinformation- Inhalt 17",
"Zusatzinformation - Art 18",
"Zusatzinformation- Inhalt 18",
"Zusatzinformation - Art 19",
"Zusatzinformation- Inhalt 19",
"Zusatzinformation - Art 20",
"Zusatzinformation- Inhalt 20",
"Stück",
"Gewicht",
"Zahlweise",
"Forderungsart",
"Veranlagungsjahr",
"Zugeordnete Fälligkeit",
"Skontotyp",
"Auftragsnummer",
"Buchungstyp",
"Ust-Schlüssel (Anzahlungen)",
"EU-Land (Anzahlungen)",
"Sachverhalt L+L (Anzahlungen)",
"EU-Steuersatz (Anzahlungen)",
"Erlöskonto (Anzahlungen)",
"Herkunft-Kz",
"Leerfeld",
"KOST-Datum",
"Mandatsreferenz",
"Skontosperre",
"Gesellschaftername",
"Beteiligtennummer",
"Identifikationsnummer",
"Zeichnernummer",
"Postensperre bis",
"Bezeichnung SoBil-Sachverhalt",
"Kennzeichen SoBil-Buchung",
"Festschreibung",
"Leistungsdatum",
"Datum Zuord.Steuerperiode"
]
},
"rowOrder": [
"headerRow1",
"headerRow2",
"bookingDetailRow"
],
"columns": {
"headerRow1": {
"index": {
"1": {
"forceQuotes": true
},
"4": {
"forceQuotes": true
},
"8": {
"forceQuotes": true
},
"9": {
"forceQuotes": true
},
"17": {
"forceQuotes": true
},
"18": {
"forceQuotes": true
},
"22": {
"forceQuotes": true
},
"24": {
"forceQuotes": true
},
"27": {
"forceQuotes": true
},
"30": {
"forceQuotes": true
},
"31": {
"forceQuotes": true
}
}
},
"bookingDetailRow": {
"index": {
"1": {},
"2": {
"forceQuotes": true
},
"3": {
"forceQuotes": true
},
"4": {},
"5": {},
"6": {
"forceQuotes": true
},
"7": {},
"8": {},
"9": {
"forceQuotes": true
},
"10": {
"options": {
"dateFormat": "ddMM"
}
},
"11": {
"forceQuotes": true
},
"12": {
"forceQuotes": true
},
"13": {},
"14": {
"forceQuotes": true,
"length": 60
},
"15": {},
"16": {
"forceQuotes": true
},
"17": {},
"18": {},
"19": {},
"20": {
"forceQuotes": true
},
"21": {
"forceQuotes": true
},
"22": {
"forceQuotes": true
},
"23": {
"forceQuotes": true
},
"24": {
"forceQuotes": true
},
"25": {
"forceQuotes": true
},
"26": {
"forceQuotes": true
},
"27": {
"forceQuotes": true
},
"28": {
"forceQuotes": true
},
"29": {
"forceQuotes": true
},
"30": {
"forceQuotes": true
},
"31": {
"forceQuotes": true
},
"32": {
"forceQuotes": true
},
"33": {
"forceQuotes": true
},
"34": {
"forceQuotes": true
},
"35": {
"forceQuotes": true
},
"36": {
"forceQuotes": true
},
"37": {
"forceQuotes": true
},
"38": {
"forceQuotes": true
},
"39": {},
"40": {
"forceQuotes": true
},
"41": {},
"42": {
"forceQuotes": true
},
"43": {},
"44": {},
"45": {},
"46": {},
"47": {},
"48": {
"forceQuotes": true
},
"49": {
"forceQuotes": true
},
"50": {
"forceQuotes": true
},
"51": {
"forceQuotes": true
},
"52": {
"forceQuotes": true
},
"53": {
"forceQuotes": true
},
"54": {
"forceQuotes": true
},
"55": {
"forceQuotes": true
},
"56": {
"forceQuotes": true
},
"57": {
"forceQuotes": true
},
"58": {
"forceQuotes": true
},
"59": {
"forceQuotes": true
},
"60": {
"forceQuotes": true
},
"61": {
"forceQuotes": true
},
"62": {
"forceQuotes": true
},
"63": {
"forceQuotes": true
},
"64": {
"forceQuotes": true
},
"65": {
"forceQuotes": true
},
"66": {
"forceQuotes": true
},
"67": {
"forceQuotes": true
},
"68": {
"forceQuotes": true
},
"69": {
"forceQuotes": true
},
"70": {
"forceQuotes": true
},
"71": {
"forceQuotes": true
},
"72": {
"forceQuotes": true
},
"73": {
"forceQuotes": true
},
"74": {
"forceQuotes": true
},
"75": {
"forceQuotes": true
},
"76": {
"forceQuotes": true
},
"77": {
"forceQuotes": true
},
"78": {
"forceQuotes": true
},
"79": {
"forceQuotes": true
},
"80": {
"forceQuotes": true
},
"81": {
"forceQuotes": true
},
"82": {
"forceQuotes": true
},
"83": {
"forceQuotes": true
},
"84": {
"forceQuotes": true
},
"85": {
"forceQuotes": true
},
"86": {
"forceQuotes": true
},
"87": {
"forceQuotes": true
},
"88": {},
"89": {},
"90": {},
"91": {
"forceQuotes": true
},
"92": {},
"93": {},
"94": {},
"95": {
"forceQuotes": true
},
"96": {
"forceQuotes": true
},
"97": {},
"98": {
"forceQuotes": true
},
"99": {},
"100": {},
"101": {},
"102": {
"forceQuotes": true
},
"103": {
"forceQuotes": true
},
"104": {},
"105": {
"forceQuotes": true
},
"106": {},
"107": {
"forceQuotes": true
},
"108": {},
"109": {
"forceQuotes": true
},
"110": {
"forceQuotes": true
},
"111": {},
"112": {
"forceQuotes": true
},
"113": {},
"114": {},
"115": {},
"116": {}
}
}
},
"decimalPlaces": {},
"markAsExported": false,
"columnSeparator": ";",
"useASCII": true,
"filterLineBreaks": true,
"useCRLF": true,
"fileName": "EXTF_Buchungsstapel_[StartDate]_[EndDate].csv",
"options": {
"decimalSeparator": ",",
"groupingSeparator": "",
"dateFormat": "yyyyMMdd",
"timeFormat": "yyyyMMddHHmmssSSS",
"language": "de"
}
}
Exporting Booking Details
Configuring Booking Detail CSV Export
Automatic Accounts Support
To support automatic accounts (Automatikkonten) in DATEV, you can configure JustOn to use gross values when creating bookkeeping data. To this end, you enable the global setting Enable Accounting in Gross Values
as described in Enabling Gross Value Bookings.
If, in addition, you use revenue recognition rules to distribute revenues to future booking periods (deferred revenue), you must, in addition,
- enable the global setting
Accounting Gross Taxes on First Month
, - enable the automatic tax calculation for the gross booking details – using the custom booking code field
BuCode
with the relevant booking details (see Additional Fields), - optionally, create the
BuCode
field as a formula that returns the required value according to your use cases, like, for example,IF(ONB2__IsGross__c, 101, null)
Example 1: Automatic accounts for both revenue and deferred revenue
This example illustrates bookings for both the revenue and the deferred revenue to DATEV automatic accounts.
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 | Subtotal (net) | |
---|---|---|---|---|---|
Service | 2022-04-01 | 2023-03-31 | 19% | 1200,00 | |
Subtotal (net) | 1200,00 | ||||
VAT | 228,00 | ||||
Grand Total | 1428,00 |
Usage fees for electronic services in the subscription model are usually paid for a year in advance, but revenues are often booked proportionally per month in the service period. To illustrate this approach, assume the following conditions:
- Service period: 1 year
- Complete payment on service period start
- Monthly revenue deferral
- Tax due and payable with the payment on service period start
- Bookings for revenue and deferred revenue to DATEV automatic accounts
Here are the relevant booking accounts:
No. | Account Name | Automatic Account | Booking Detail Field |
---|---|---|---|
8400 | Revenue 19% VAT | G/L Account Number | |
10001 | Debtor | Contra Booking Account | |
0990 | Deferred Revenue | G/L Account Number |
In the first month of the service period (04/2022), 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)
# | No. | Account Name Debit |
Amount | No. | Account Name Credit |
Amount |
---|---|---|---|---|---|---|
1 | 10001 | Debtor | 1428,00 | 8400 | Revenue 19% VAT | 119,00 |
0990 | Deferred Revenue | 1309,00 |
In the following months (05/2022 – 03/2023), the deferred revenue is periodically reversed and booked as revenue (net):
# | No. | Account Name Debit |
Amount | No. | Account Name Credit |
Amount |
---|---|---|---|---|---|---|
2..12 | 0990 | Deferred Revenue | 100,00 | 8400 | Revenue 19% VAT | 100,00 |
To make JustOn create booking details for the bookings shown in the example, it requires the following settings:
Object | Field | Value |
---|---|---|
Global Settings | Create Bookkeeping Data |
true |
Enable Accounting in Gross Values |
true |
|
Accounting Gross Taxes on First Month |
true |
|
Invoice Line Item | Recognition Rule |
Default or Booking Month |
Booking Detail | BuCode to be created as a formula field |
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.
Now applying this configuration, JustOn generates these gross booking details for the first month of the service period (04/2022):
# | Booking Period |
Amount | Debit/Credit Flag |
G/L Account Number |
Business Partner Account Number |
Is Gross | BuCode | Type |
---|---|---|---|---|---|---|---|---|
1 | 04/2022 | 119,00 | H | 8400 | 10001 | Revenue | ||
2 | 1309,00 | H | 0990 | 10001 | 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.
To reallocate the deferred revenue in the following months (05/2022 – 03/2023), JustOn also generates the following net booking details:
# | Booking Period |
Amount | Debit/Credit Flag |
G/L Account Number |
Business Partner Account Number |
Is Gross | BuCode | Type |
---|---|---|---|---|---|---|---|---|
3 | 05/2022 | 100,00 | H | 8400 | 10001 | 40 | Revenue | |
4 | -100,00 | S | 0990 | 10001 | 40 | Deferred | ||
5 | 06/2022 | 100,00 | H | 8400 | 10001 | 40 | Revenue | |
6 | -100,00 | S | 0990 | 10001 | 40 | Deferred | ||
.. | ||||||||
23 | 03/2023 | 100,00 | H | 8400 | 10001 | 40 | Revenue | |
24 | -100,00 | S | 0990 | 10001 | 40 | Deferred |
The booking code 40
deactivates the automatic tax calculation on DATEV automatic accounts, treating the given amounts as net values.
Example 2: Automatic account for revenue, standard account for deferred revenue
In this example, the bookings for the revenue are to be allocated to a DATEV automatic account, whereas the deferred revenue bookings are to be allocated to a "standard" account (without automatic tax calculation by default).
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 | Subtotal (net) | |
---|---|---|---|---|---|
Service | 2022-04-01 | 2023-03-31 | 19% | 1200,00 | |
Subtotal (net) | 1200,00 | ||||
VAT | 228,00 | ||||
Grand Total | 1428,00 |
Usage fees for electronic services in the subscription model are usually paid for a year in advance, but revenues are often booked proportionally per month in the service period. To illustrate this approach, assume the following conditions:
- Service period: 1 year
- Complete payment on service period start
- Monthly revenue deferral
- Tax due and payable with the payment on service period start
- Revenue bookings to a DATEV automatic account, bookings for deferred revenue to a standard account
Here are the relevant booking accounts:
No. | Account Name | Automatic Account | Booking Detail Field |
---|---|---|---|
8400 | Revenue 19% VAT | G/L Account Number | |
10001 | Debtor | Contra Booking Account | |
0990 | Deferred Revenue | G/L Account Number |
In the first month of the service period (04/2022), 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)
# | No. | Account Name Debit |
Amount | No. | Account Name Credit |
Amount |
---|---|---|---|---|---|---|
1 | 10001 | Debtor | 1428,00 | 8400 | Revenue 19% VAT | 119,00 |
0990 | Deferred Revenue | 1309,00 |
In the following months (05/2022 – 03/2023), the deferred revenue is periodically reversed and booked as revenue (net values):
# | No. | Account Name Debit |
Amount | No. | Account Name Credit |
Amount |
---|---|---|---|---|---|---|
2..12 | 0990 | Deferred Revenue | 100,00 | 8400 | Revenue 19% VAT | 100,00 |
To make JustOn create booking details for the bookings shown in the example, it requires the following settings:
Object | Field | Value |
---|---|---|
Global Settings | Create Bookkeeping Data |
true |
Enable Accounting in Gross Values |
true |
|
Accounting Gross Taxes on First Month |
true |
|
Invoice Line Item | Recognition Rule |
Default or Booking Month |
Booking Detail | BuCode |
formula |
The 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
)
)
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.
For the first month of the service period (04/2022), JustOn consequently generates gross booking details for the revenue and for the deferred revenue:
# | Booking Period |
Amount | Debit/Credit Flag |
G/L Account Number |
Business Partner Account Number |
Is Gross | BuCode | Type |
---|---|---|---|---|---|---|---|---|
1 | 04/2022 | 119,00 | H | 8400 | 10001 | Revenue | ||
2 | 1309,00 | H | 0990 | 10001 | 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.
To reallocate the deferred revenue in the following months (05/2022 – 03/2023), JustOn also generates the following net booking details:
# | Booking Period |
Amount | Debit/Credit Flag |
G/L Account Number |
Business Partner Account Number |
Is Gross | BuCode | Type |
---|---|---|---|---|---|---|---|---|
3 | 05/2022 | 100,00 | H | 8400 | 10001 | 40 | Revenue | |
4 | -100,00 | S | 0990 | 10001 | Deferred | |||
5 | 06/2022 | 100,00 | H | 8400 | 10001 | 40 | Revenue | |
6 | -100,00 | S | 0990 | 10001 | Deferred | |||
.. | ||||||||
23 | 03/2023 | 100,00 | H | 8400 | 10001 | 40 | Revenue | |
24 | -100,00 | S | 0990 | 10001 | 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.