Skip to content

Data Transfer to Accounting Systems

Accounting Support

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 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.

accounting_data_transfer
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 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

DATEV Support

Your organization's business may require to deliver bookkeeping data to DATEV. Technically, there are two ways to do so:

  • Automatically transferring invoices and booking details as created from 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".

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 data records from invoices and booking details as created from invoice line items, and transfers them to DATEV Unternehmen online. Once there, these accounting documents and accounting document items can be used by any DATEV application that accesses the DATEV Cloud.

DATEV.png
Directly transferring bookkeeping data 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.

DATEV_CSV.png
Exporting CSV to be imported by DATEV applications

Data Transfer to DATEV

Your organization's business may require to transfer bookkeeping data to DATEV. To support this scenario, JustOn integrates with JustOn Connector for DATEV, an add-on to JustOn for transferring accounting documents to DATEV.

Note

The bookkeeping data transfer requires JustOn Connector for DATEV to be set up. For details, see JustOn Connector for DATEV DE.

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 are copied and attached to the accounting document.

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 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:

  1. 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.

  2. Checking Accounting Documents

  3. 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.

DATEV_transfer.png
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
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 Result
BillingCountry__c BillingCountry__c copy from booking detail to accounting document
CostCategoryId__c CostCategoryId__c copy from booking detail to accounting document item
Discount__c Discount__c copy from booking detail to accounting document item
Duplicate__c Duplicate__c Duplicate__c copy from booking detail to accounting document and accounting document item

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.

Transferring Bookkeeping Data to DATEV
Enabling Data Transfer to DATEV

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 provides a flexible CSV export mechanism. It allows you to configure and execute invoice or booking details exports according to your needs.

In order to generate a CSV export that is compliant to the DATEV CSV format for the posting batch (Buchungsstapel), you must

Required custom fields

The JSON example configuration requires additional custom fields:

Object 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.

{
    "rows": {
        "bookingDetailRow": [
            "ONB2__AbsoluteAmount__c",
            "ONB2__DebitCreditFlag__c",
            "",
            "",
            "",
            "",
            "AccountNo__c",
            "ONB2__BpAccountNo__c",
            "TaxKey__c",
            "BookingDate__c",
            "InvoiceNo__c",
            "",
            "",
            "BookingText__c",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
        ],
        "headerRow1": [
            "EXTF",
            "510",
            "21",
            "Buchungsstapel",
            "7",
            "TimeStamp",
            "",
            "SV",
            "Admin",
            "",
            "tenant.ConsultantNumber__c",
            "tenant.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