Der BusinessPlanner Journalimport erfordert zusätzliche Schritte bei der Einrichtung und ggf. die Erstellung eines angepassten Datenbankplugins für die entsprechende Buchhaltung.


Wir empfehlen ausdrücklich, die Installation mit unserer Unterstützung vorzunehmen.



Einrichtung des Journalimportes


Installation

  1. Server: Datenbank für das Buchungsjournal einrichten "Accounting"
  2. Clients: Setup auf den Clients ausführen und die "Anbindung für das Buchungsjournal" installieren
  3. Clients: CONFIG-Dateien anpassen auf den Clients und den ConnectionString für die Journaldatenbank ggf. anpassen
  4. Server: Ggf. Setup auch auf dem Server ausführen, um dort die Anbindung zu installieren (für die automatisierte tägliche Ausführung)
  5. Clients: Datenimport-Plugins für das Buchungsjournal in die Plugins-Ordner kopieren


Details zu den einzelnen Schritten siehe Installationsanleitung:

https://www.businessplanner.at/downloads/supportcenter/BusinessPlanner_Journal_Installation.pdf



Einrichtung der Datenimporte

Einrichtung des Datenimportes im "Buchungsjournal Import"


Bei der Spaltenzuordnung ist zu beachten, dass folgende Spalten unbedingt zugeordnet werden müssen:

  1. Belegnummer (über die Belegnummer sucht der BP zusammengehörige Buchungen in der Ansicht)
  2. Satznummer (diese sollte pro Wirtschaftsjahr möglichst eindeutig sein, um Probleme beim Import zu vermeiden)
  3. Buchungsperiode
  4. Konto
  5. Kontoname
  6. Saldo


Weitere Informationen siehe Tabelle mit den Spalten unten.




Einrichtung des Datenimportes im BusinessPlanner
Es muss zunächst ein Datenimport als Datenquelle "BPA Buchungsjournal" eingerichtet werden:


Als Benutzername und Passwort den User "BusinessPlannerUser" mit dem Passwort (siehe CONFIG-Datei) verwenden und den Haken bei "Integrierte Security verwenden" rausnehmen. Ansonsten versucht er, mit dem angemeldeten Windows-User sich anzumelden, der in der Regel keine Berechtigung auf der Reporting-Datenbank hat.





Dann muss in den Planeigenschaften für entsprechende Mandantennummer (im Beispiel oben "100") eingetragen werden. Das ist wichtig, damit man über die Datenherkunft die Buchungen anzeigen lassen kann:





Verwendung des Buchungsjournales im BusinessPlanner


Um im BusinessPlanner die Einzelbuchungen aufzurufen, muss man einen Doppelklick auf die Werte in der Datenherkunft machen. 


Dann werden die Buchungen hinter dem Wert angezeigt:




FAQ


Wie geht der Journalimport damit um, wenn EB-Werte in der Buchhaltung nicht neu gebucht werden, sondern durch laufende Fortschreibung der Altjahre entstehen?


Die EB-Werte müssen beim Einlesen in das Buchungsjournal als Buchung "erzeugt" werden, sofern sie nicht selbst schon als Buchung im Quellsystem vorhanden sind (z.B. DATEV).


Diese Buchungen zu erzeugen wird vom Datenimport-Plugin übernommen und kann/muss vom Anwender nicht gesteuert werden.



Werden beim Journalimport die bereits importierten Journaldaten immer wieder mit den neuen Daten überschrieben?


Ja, das Verhalten ist vergleichbar mit dem "Initialisieren" beim Import in den BusinessPlanner.


Wenn zum Beispiel Daten für einen Zeitraum 01/2023 bis 12/2023 in das Buchungsjournal eingelesen werden, dann wird darauf geachtet, dass ggf. vorhandene Altdaten in der Datenbank aus dem Zeitraum beim Import entfernt werden.



Kann ich den Journalimport zusätzlich zu meinem normalen Import via ODBC verwenden?


Ja, das ist kein Problem. Ein bestehender Datenimport kann weiterverwendet werden. Der Journalimport könnte dann zusätzlich täglich automatisiert im Hintergrund laufen und die Detaildaten bereitstellen für die Datenherkunft.


Der Vorteil dieser Trennung liegt darin, dass man auch tagsüber im Bedarfsfall Datenimporte machen kann, ohne vorher das Journal aktualisieren zu müssen. Gleichzeitig hat man aber den Komfort der Datenherkunft auf Belegebene.


Der Nachteil liegt darin, dass sich die Datenstände zwischen Journalimport und dem Import in den BusinessPlanner unterscheiden könnten.




Technische Hintergründe


Informationen zu Spalten im Journalimport


Spalte in der DatenbankSpalte im ImporterTypPflichtspalteSichtbar im BusinessPlannerBeschreibung
MandantMandantText - Länge: 32NeinOptionalDiese Spalte wird aus dem Feld "Mandant" im Datenimport oben rechts befüllt. Sie sollte beim Datenimport nicht einer Spalte zugeordnet werden.
BelegNrBelegnummerText - Länge: 48JaOptionalSpalte muss eindeutig sein
SatzNrSatznummerText - Länge: 32Nein (Datenbank Ja)Optional
KontoKontoText - Länge: 32JaStandard (Detailansicht)
BKZ
Text - Länge: 3NeinNeinStandardwert: I
BelegNameBelegbezeichnungText - Länge: maxNeinStandard
RechnungsNrRechnungsnummerText - Länge: maxNeinNein
KontoNameKontonameText - Länge: maxNeinStandard (Detailansicht)
PersonenKontoPersonenkontoText - Länge: 32NeinStandard 
PersonenKontoNamePersonenkonto-NameText - Länge: maxNeinStandard (Detailansicht)
KKZKontokennzeichenText - Länge: 3NeinNein
PartnerPartnerText - Länge: maxNeinNein
BelegdatumBelegdatumDatumNein (Datenbank Ja)StandardSollte importiert werden
BuchungsperiodePeriodeDatumJaOptional

Monat


Bedeutung unklar
BuchungstextBuchungstextText - Länge: maxNeinStandard
SaldoBetragZahlJaStandard
OriginalSaldoUrsprungswertZahlNeinOptionalBetrag in Fremdwährung
WaehrungWährungText - Länge: maxNeinOptional
DimensionDimension1..6Text - Länge: maxNeinOptional
BelegLinkBeleglinkText - Länge: maxNeinNein


Schlüssel: Mandant, Konto, Buchungsdatum, Belegnummer, Dimension


Datenbank-Tabellen (Version 3.9)

TabellennameBeschreibung
AccountingImportsDefinition der Buchungsjournalimporte
AccountingPropertiesZusätzliche Eigenschaften der Buchungsjournalimporte, insb. für Datenquellen
AccountingsImportierte Buchungen
AccountingsTmpHilfstabelle für den Datenimport
ExchangeRatesTmpHilfstabelle für den Datenimport
GeneralLedgerSummen- und SaldenlisteWird automatisch nach dem Import erzeugt
ICAccountingsImportierte IC-Buchungen
KontenTmpHilfstabelle für den Datenimport
MandantenTmpHilfstabelle für den Datenimport
PartnerZuordnungen

WaehrungenListe der WährungenWird aus dem BusinessPlanner importiert über den Klick auf einen Button in der Oberfläche des Importers



 



Informationen zu speziellen Plugins


CSV


Im Excel Import im Buchungsjournal Datei auswählen und dann dort die zweite Option „Alle Text Dateien“ auswählen:

 

 

Es springt dann auch die GUI um mit Trennzeichen:

 



ODBC / SQL


Automatischer Job


Bei ODBC-Verbindungen muss bei einem automatischen Job auf folgendes geachtet werden:

  1. DSN muss auf den Clients und Server gleich eingerichtet werden, insb. den Namen.
  2. System DSN verwenden: Das liegt daran, dass der tägliche Job auf dem Server mit einen gesonderten User läuft. Der kann einen "Benutzer DSN" nicht verwenden.


Timeout


Eine ODBC-Abfrage bricht automatisch nach 30 Sekunden ab (Timeout).


Wenn eine Abfrage länger läuft, kann bei einer ODBC-Abfrage die BusinessPlanner.Client.Accounting.exe.config wie folgt angepasst werden. Das geht nur bei ODBC, beim Abfragetyp "SQL" gilt immer ein Timeout von 30 Sekunden!

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
      <section name="BusinessPlanner.Accounting.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
      <section name="BusinessPlanner.Client.Accounting.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />     
      <section name="BusinessPlanner.Client.Common.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    </sectionGroup>
  </configSections>
  <applicationSettings>
    <!-- DataAccess settings  -->
    <BusinessPlanner.Client.Accounting.Properties.Settings>
     ...
    </BusinessPlanner.Client.Accounting.Properties.Settings>
    <BusinessPlanner.Accounting.Properties.Settings>
      <setting name="CommandTimeout" serializeAs="String">
        <value>300</value>
      </setting>
</BusinessPlanner.Accounting.Properties.Settings>
    <!-- BusinessPlanner.Client.Common Settings  -->     <BusinessPlanner.Client.Common.Properties.Settings>       ...     </BusinessPlanner.Client.Common.Properties.Settings>   </applicationSettings>



DATEV


Die BusinessPlanner.Client.Accounting.exe.config muss angepasst werden:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
      <section name="BusinessPlanner.Plugin.Accounting.DATEV.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<section name="BusinessPlanner.Accounting.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
      <section name="BusinessPlanner.Client.Accounting.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />            <section name="BusinessPlanner.Client.Common.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />     </sectionGroup>   </configSections>   <applicationSettings>     <!-- DataAccess settings  -->     <BusinessPlanner.Client.Accounting.Properties.Settings>      ...     </BusinessPlanner.Client.Accounting.Properties.Settings> <BusinessPlanner.Plugin.Accounting.DATEV.Properties.Settings>
      <setting name="RequestTimeout" serializeAs="String">
        <value>6000</value>
      </setting>
</BusinessPlanner.Plugin.Accounting.DATEV.Properties.Settings>
<BusinessPlanner.Accounting.Properties.Settings>
      <setting name="CommandTimeout" serializeAs="String">
        <value>300</value>
      </setting>
</BusinessPlanner.Accounting.Properties.Settings>
    <!-- BusinessPlanner.Client.Common Settings  -->     <BusinessPlanner.Client.Common.Properties.Settings>       ...     </BusinessPlanner.Client.Common.Properties.Settings>   </applicationSettings>


Die DATEV API muss auf dem DATEV-Server wie folgt eingerichtet werden:


Installation des "ASP NET Core 6 Hosting Bundles":

https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-aspnetcore-6.0.31-windows-hosting-bundle-installer


Kopieren der Anwendung in folgenden Ordner:


Anpassung der KRExport-Settings in "appsettings.json":


Einrichtung der Anwendung als Windows-Dienst:


  1. Download NSSM (Non-Sucking Service Manager): https://nssm.cc/builds

  2. ZIP-Datei entpacken und die Datei "nssm.exe" im Ordner "win64" in den Programmordner "DATEV Importer REST API" kopieren.

  3. Starten der Eingabeaufforderung als Administrator und dann in das Programmverzeichnis "DATEV Importer REST API" gehen.

  4. Dienst erstellen mit folgendem Befehl: nssm install BPDATEVImporter

  5. Folgende Einstellungen verwenden:
    1. Path: C:\Program Files\BusinessPlanner Advisory\DATEV Importer REST API\DATEVImporter.exe
    2. Startup Directory: C:\Program Files\BusinessPlanner Advisory\DATEV Importer REST API
  6. Dann in "Dienste" wechseln und den Dienst starten.


Der Port ist standardmäßig auf "5000" eingestellt. Über die "appsettings.json" kann es auf einen anderen Port umgestellt werden:



Parameter in appsettings.json


Bei den DATEV-Parametern gibt es (ab 08.07.24) jetzt noch folgende Parameter:


"Rechnungslegungszweck": "0,05"  ---- nicht unbedingt erforderlich, da es 0 und 50 die Defaultwerte sind.

"WeitereParameter": " -abc:50"  ---- hier müsste man den vollständigen Parameter mit Name und Wert angeben.

 



Datenimport in Buchungsjournal einrichten


URL für den Webservice - Lokal am Server:

http://localhost:8080/api/datev


URL für den Webservice - Wenn der Webservice auf einem anderen Server (mit installierten DATEV) läuft - zum Beispiel:

http://datevserver:8080/api/datev