Kontor 2019

Kontor / Weitere Dokumente

Importdefinitionen für Bankauszüge

shakehands Kontor ist eine leistungsfähige, komfortable und aktuelle Lösung für Ihre Auftragsverwaltung und/oder Buchhaltung. Das Programm bietet u. a. eine Importfunktion für elektronische Bankumsatzdaten - digitale Bankauszüge, aus denen Sie direkt Buchungen erzeugen können. 

Für den Import von Bankauszügen benötigen Sie eine Importdefinition. Für einige Banken ist bereits eine Importdefinition im Lieferumfang von shakehands Kontor enthalten. Für die meisten anderen Banken können Sie selbst eine Importdefiniton anlegen oder deren Erstellung bei uns kostenpflichtig in Auftrag geben. 

Dieses Handbuch erläutert die Vorgehensweise zum Erstellen einer eigenen Importdefinition. Über eine Erweiterung der Importskripte ist zudem das automatische Vervollständigen und Kontieren der Belege auf der Basis von Berechnungen und Bedingungen möglich.

Seit der flächendeckenden Einführung von ISO 20022 werden die Daten neu als XML-Dateien von Banken und PostFinance angeliefert, dies erleichtert die Vielfalt. Nutzen Sie die neuen Strukturen (pain und camt).


Funktionsweise


Importdefinitionen bestehen aus zwei Bestandteilen: 

  • verschiedene Einstellungen zum Separieren der Tabellendaten z.B. Satz- und Feldtrennzeichen, Textkennzeichen und Zeichensatzinformationen

  • ein Importskript, welches die Verarbeitung der separierten Importdaten steuert 

Diese beiden Bestandteile werden beim Importvorgang wie folgt verwendet: 

  1. Nach dem Einlesen einer Importdatei wird diese mithilfe der Separationseinstellungen in eine tabellarische Datenstruktur umgewandelt, wobei jede Zeile für einen Datensatz und jede Spalte für ein Feld innerhalb dieses Datensatzes steht. 

  2. Jeder Datensatz durchläuft das Importskript, welches die Datenfelder als Eingabedaten erhält und die Felder der Buchungsvorlage als Ausgabedaten bereitstellt. 

Das Importskript sorgt also z. B. für das Unterdrücken unbenötigter Zeilen aus der Importdatei, das Zuordnen der Eingabefelder zu den Feldern der Buchungsvorlage, das Berechnen von Werten und das Zuordnen von Feldern in Abhängigkeit von Bedingungen

Die Skriptsprache entspricht der für die Entwicklung der Druckformulare verwendeten Visual-Basic-ähnlichen Sprache ohne die formular- und grafikorientierten Anweisungen und Funktionen.


Importdefinitionen verwalten



Sie können Importdefinitionen für Bankauszüge erstellen, bearbeiten, duplizieren oder löschen. 

So öffnen Sie den Dialog Importdefinitionen für Bankauszüge:

  1. Klicken Sie im Navigator den Bereich Buchhaltung>Bankauszüge

  2. Klicken Sie in der Toolbar auf Neu. shakehands Kontor öffnet den Dialog Neuer Bankauszug.

  3. Um die neue oder geänderte Importdefinition später testen zu können, wählen Sie im Drop-down-Menu Bankkonto den gewünschten Eintrag aus oder erfassen Sie über die Schaltfläche Neu anlegen... ein neues Bankkonto.

  4. Klicken Sie rechts neben dem Drop-down-Menu Importdefinitionen auf die Schaltfläche Verwalten.... Der Dialog Importdefinitionen für Bankauszüge wird geöffnet. Die in der Spalte S (System) mit einem Schloss gekennzeichneten Importdefinitionen sind im Lieferumfang von shakehands Kontor enthalten und können nicht bearbeitet oder gelöscht werden. 

Über die verschiedenen Schaltflächen auf der rechten Seite können Sie eine neue Importdefinition erstellen oder eine vorhandene bearbeiten.


Neue Importdefinitionen anlegen


Dieser Abschnitt beschreibt, wie Sie eine Importdefinition von Grund auf neu erstellen. In den meisten Anwendungsfällen ist es jedoch ausreichend, eine vorhandene Importdefinition zu duplizieren, das Duplikat anzupassen und dann unter einem anderen Namen zu speichern.

So legen Sie eine neue Importdefinition an:

  1. Öffnen Sie die Exportdatei Ihres Bankauszugs in einem Editor, um zu sehen, wie sie aufgebaut ist. Bei Unklarheit über die Feld- und Datensatztrennzeichen (diese sind in einem Texteditor als Steuerzeichen meist nicht sichtbar) kann ein Hex-Editor Auskunft geben. Im Zweifelsfall können Sie die vorhandenen Möglichkeiten auch einfach ausprobieren und testen. 
  2. Öffnen Sie den Dialog Importdefinitionen für Bankauszüge
  3. Klicken Sie oben rechts auf die Schaltfläche Hinzufügen. shakehands Kontor öffnet den Dialog Neue Importdefinition.
  4. Definieren Sie im oberen rechten Teil des Dialogs die Einstellungen zum Separieren der Tabellendaten.
  5. Geben Sie im unteren Teil des Dialogs den Code des Importskript ein. Die Skriptsprache ist im Handbuch Formularentwicklung beschrieben. Die systemeigenen Importskripte sind folgendermassen aufgebaut: 
    • Variablen definieren 
    • Beginn der Importdaten festlegen 
    • Plausibilitätsprüfung 
    • Vorzeichen des Betrags ermitteln 
    • Datenfelder zuordnen
    • Optional: Belegvervollständigung
  6. Klicken Sie anschliessend auf die Schaltfläche Syntax testen, um mögliche Fehler in der Syntax des Codes anzuzeigen.
  7. Klicken Sie auf OK, um die Importdefinition zu speichern. Sie befinden sich nun wieder im Dialog Importdefinitionen für Bankauszüge.
  8. Klicken Sie auf die Schaltfläche Schliessen. Sie befinden sich nun wieder im Dialog Neuer Bankauszug.
  9. Testen Sie die Importdefinition, indem Sie versuchen, damit einen neuen Bankauszug zu importieren.



siehe auch die beiden weiteren Abschnitte:


Einstellungen zum Separieren der Tabellendaten


So geben Sie die Einstellungen zum Separieren der Tabellendaten ein:

  1. Bezeichnung: Geben Sie eine eindeutige Bezeichnung für die Importdefinition ein.
  2. Quelle: Wählen Sie das Format aus, in dem die Exportdatei Ihres Bankauszugs vorliegt. Zur Auswahl stehen:
    • Textdatei (*) für allgemeine tabellarisch aufgebaute Textdateien, z. B. TXT- oder CSV-Dateien 
    • Textdatei (Quicken QIF)
    • XML-Datei (Postbank Schweiz)
    • Textdatei (ESR)
    • XML-Datei (PostFinance CAMT.052, CAMT.053, CAMT.054)
  3. Option System: Die Checkbox ist im Normalfall nicht selektierbar und zeigt an, ob dies eine systemeigene, schreibgeschützte Importdefinition ist. 
  4. Trennzeichen für Felder: Wählen Sie das Zeichen aus, mit dem die einzelnen Datenfelder voneinander getrennt sind. Zur Auswahl stehen: 
    • Tab (Tabulator) 
    • Komma
    • Semikolon
  5. Trennzeichen für Datensätze: Wählen Sie das Zeichen aus, mit dem die einzelnen Datensätze voneinander getrennt sind. Zur Auswahl stehen: 
    • CR
    • LF
    • CRLF
  6. Zeichensatz: Wählen Sie die Zeichensatzkodierung der Importdatei aus, damit Umlaute und Sonderzeichen korrekt dargestellt werden. Zur Auswahl stehen: 
    • MacRoman (macOS)
    • IsoLatin1 (Windows)
    • UTF8
    • UTF16
  7. Textbegrenzung: Wählen Sie aus, ob die Textfelder der Importdatei in Anführungszeichen eingeschlossen sind. Dies ist z. B. oft bei CSV-Dateien der Fall.

Nutzen Sie gleich die Kommentarfunktion im Quelltext des Importskripts und kommentieren Sie Ihren Code, dann steht diese Information beim Übertragen des Quelltexts in eine andere Importdefinition per Kopieren & Einfügen sofort wieder zur Verfügung.


Datenfelder zuordnen


Die Datenfelder der Importdatei müssen den Feldern der Buchungsvorlage zugeordnet werden. Auf der rechten Seite des Dialogs stehen Ihnen dafür in der Drop-down-Liste Felder Vorlage die folgenden Felder zur Verfügung.


FeldDatentypBeschreibung
Vorlage_BetragnumberBetrag
Vorlage_DatumdateDas Wertstellungsdatum oder das Buchungsdatum, je nachdem, welche Spalte aus der Importdatei zugeordnet wird
Vorlage_NotizentextBeliebige Spalte der Importdatei, kann aber auch beim Erstellen des Bankauszugs eingegeben werden
Vorlage_ReferenztextBeliebige Spalte der Importdatei, kann aber auch beim Erstellen des Bankauszugs eingegeben werden
Vorlage_TexttextBuchungstext


Die folgenden Felder sind in der Buchungsvorlage enthalten, jedoch üblicherweise nicht in der Importdatei. Für diese Spalten können Sie beim Anlegen des Bankauszugs die Werte aus einer Liste auswählen oder sie direkt eingeben.


FeldDatentypBeschreibung
Vorlage_BelegNrtextDie zur Verfügung stehenden Einträge können unter Vorgaben>Nummernkreise definiert werden.
Vorlage_KontotextWird, falls möglich, automatisch von shakehands Kontor eingesetzt. Kann beim Erstellen des Bankauszugs geändert oder auch neu ausgewählt werden.
Vorlage_SteuersatztextDie zur Verfügung stehenden Einträge können unter Vorgaben>Steuersätze definiert werden.
Vorlage_Kostenstelle1textDie zur Verfügung stehenden Einträge können unter Vorgaben>Kostenstellen definiert werden.
Vorlage_Kostenstelle2textBuchungstext


Die folgenden Felder können nicht als Spalten importiert werden, sondern sie werden für die Plausibilitätsprüfung verwendet und dafür, ab welcher Zeile importiert werden soll.


FeldDatentypBeschreibung
Vorlage_Import_OKbooleanWird verwendet, um festzulegen, wie viele Spalten mindestens in der Importdatei vorhanden sein müssen, damit die Datei importiert werden kann.
Vorlage_Zeile_OKbooleanWird verwendet, um festzulegen, ab welcher Zeile die Umsatzdaten beginnen.



So ordnen Sie die Datenfelder zu:

  1. Öffnen Sie die zu importierende Datei, z. B. eine CSV-Datei in einer Tabellenkalkulation. 
  2. Weisen Sie im Importskript mithilfe der Anweisung set variable to value den Feldern der Buchungsvorlage die entsprechenden Spaltennummern der Importdatei zu.


Importdefinition testen


Nachdem Sie eine Importdefinition erstellt oder geändert und den Dialog Importdefinitionen für Bankauszüge geschlossen haben, befinden Sie sich wieder im Dialog Neuer Bankauszug.

So testen Sie eine Importdefinition für Bankauszüge:

  1. Wählen Sie ggf. im Dialog Neuer Bankauszug ein Bankkonto und die neue bzw. geänderte Importdefinition aus. 

  2. Klicken Sie auf die Schaltfläche Ausführen.... 

  3. Navigieren Sie zu der Exportdatei Ihres Bankauszugs und klicken Sie auf die Schaltfläche Öffnen

    • Wenn Sie die Importdefinition korrekt erstellt oder geändert haben, werden die zu importierenden Datensätze im Eingabebereich des Dialogs angezeigt.

    • Wenn die Importdefinition fehlerhaft ist, erhalten Sie eine Fehlermeldung oder im Dialog Neuer Bankauszug werden keine Datensätze aus Ihrem Kontoauszug angezeigt.

      • Klicken Sie auf die Schaltfläche Verwalten..., um die Importdefinition erneut zu bearbeiten.
      • Ändern Sie die Einstellungen oder das Importskript entsprechend der Fehlermeldung (falls vorhanden) oder probieren Sie andere Einstellungen bzw. Änderungen am Importskript aus, bis die Datensätze im Dialog Neuer Bankauszug angezeigt werden.

  4. Überprüfen Sie die Zuordnung der Datenfelder z. B. Datum, Text, Betrag zu den Datensätzen z. B. 30.07.18, Schlüssel GmbH, Bern..., 300.00. Stimmt die Zuordnung, ist die Importdefinition korrekt und kann nun zum Anlegen von Bankauszügen verwendet werden.


Importdefinition bearbeiten, duplizieren, löschen


Importdefinitionen sind global für alle Firmen innerhalb einer Datenbank gültig, zwischen verschiedenen Datenbanken können Sie per Vorlagenimport ausgetauscht werden.

So bearbeiten, duplizieren oder löschen Sie eine Importdefinition:

  1. Öffnen Sie den Dialog Importdefinitionen für Bankauszüge.
  2. Markieren Sie die gewünschte Zeile und klicken Sie rechts auf die entsprechende Schaltfläche zum Bearbeiten, Duplizieren oder Entfernen.
  3. Nehmen Sie im folgenden Dialog die gewünschten Änderungen vor. 

Die in der Spalte S (System) mit einem Schloss gekennzeichneten Importdefinitionen sind im Lieferumfang von shakehands Kontor enthalten und können nicht bearbeitet oder gelöscht werden.


Sprachreferenz für Bankimporte


Nachfolgend werden die für Importdefinitionen gültigen Erweiterungen beschrieben.

GetKontoDebitor

Gibt das Debitorenkonto zu einem passenden offenen Posten zurück.

Syntax

Ergebnis = GetKontoDebitor(Suchtext, Suchbetrag)

ParameterDatentypBeschreibung
SuchtexttextSuchtext, dessen Bestandteile zur Identifikation eines offenen Postens (OP) verwendet werden.
SuchbetragnumberSuchbetrag, der zur Identifikation eines OP verwendet wird.
ErgebnistextDebitorenkonto bei Erfolg, sonst leer.


Hinweise

Die GetKontoDebitor-Funktion ermittelt das Debitorenkonto, welches zu einem offenen Posten gehört, der mittels der Suchbegriffe eindeutig identifiziert werden kann. Das Ergebnis ist mit hoher Wahrscheinlichkeit die richtige Zuordnung, abhängig von der Qualität der Suchbegriffe und der vorhandenen offenen Posten können aber auch Fehlzuordnungen auftreten.


GetKontoKreditor

Gibt das Kreditorenkonto zu einem passenden offenen Posten zurück.

Syntax

Ergebnis = GetKontoKreditor(Suchtext, Suchbetrag)

ParameterDatentypBeschreibung
SuchtexttextSuchtext, dessen Bestandteile zur Identifikation eines offenen Postens (OP) verwendet werden.
SuchbetragnumberSuchbetrag, der zur Identifikation eines OP verwendet wird.
ErgebnistextDebitorenkonto bei Erfolg, sonst leer.


Hinweise

Die GetKontoKreditor-Funktion ermittelt das Kreditorenkonto, welches zu einem offenen Posten gehört, der mittels der Suchbegriffe eindeutig identifiziert werden kann. Das Ergebnis ist mit hoher Wahrscheinlichkeit die richtige Zuordnung, abhängig von der Qualität der Suchbegriffe und der vorhandenen offenen Posten können aber auch Fehlzuordnungen auftreten.


Fallbeispiel - Erstellen einer Importdefinition


Dieses Kapitel behandelt das Erstellen einer neuen Importdefinition für Bankauszüge am Beispiel einer camt.054 Datei und die Umstellung der Texterfassung und der Belegvervollständigung.:


Voraussetzung:

  • Sie haben eine camt.054 Datei von Ihrem eBanking-Server geladen.


Aufbau der Exportdatei analysieren

Die wichtigste Voraussetzung für das Erstellen einer Importdefinition ist, dass Sie den Aufbau der zu importierenden Datendatei kennen. In den meisten Fällen genügt das Öffnen der Datei in einem Texteditor oder in einer Tabellenkalkulation oder in einem XML-Editor. Hier in diesem Fall brauchen Sie diesen Bereich weniger Beachtung zu schenken, da das Format der XML-Struktur durch die ISO-Norm vorgegeben ist. 


  1. Öffnen Sie die Exportdatei in einem Editor.
    Sie sehen die  Datenstruktur, wobei die Spaltenbezeichnung in der Datei nicht vorhanden ist.
  2. Analysieren Sie die Felder und die Inhalte.


Importdefinition anlegen

In unserem Beispiel "erstellen" wir die Importdefinition, indem wir die mitgelieferte Importdefinition von camt.054 zunächst duplizieren und dann anpassen.

  1. Klicken Sie im Navigator auf Buchhaltung>Bankauszüge
  2. Klicken Sie in der Toolbar auf Neu. Der Dialog Neuer Bankauszug wird geöffnet.
  3. Um die Importdefinition später testen zu können, wählen Sie im Drop-down-Menü Bankkonto ein Bankkonto aus oder erfassen Sie über die Schaltfläche Neu anlegen... ein neues Bankkonto.
  4. Klicken Sie rechts neben dem Drop-down-Menu Importdefinitionen auf die Schaltfläche Verwalten.... Der Dialog Importdefinitionen für Bankauszüge wird geöffnet.
  5. Klicken Sie in der Liste der Importdefinitionen auf den Eintrag 1a camt.054 -  cash management Nachricht (V4) - 1430 und klicken Sie dann auf die Schaltfläche Duplizieren.
    Der obige Dialog wird geöffnet.
  6. Passen Sie ggf. die Einstellungen für die Datenquelle im Feld Quelle und die Separationseinstellungen wie Trennzeichen für Felder, Trennzeichen für Datensätze, Zeichensatz, Textbegrenzung an. In unserem Beispiel müssen diese Einstellungen nicht geändert werden.


Importscript anpassen

Nachfolgend wird das Importskript erläutert, damit Sie die für Ihren Anwendungsfall erforderlichen Änderungen vornehmen können.

Grundlegende Informationen zur Skriptsprache sowie eine entsprechende Referenz finden Sie im Handbuch Formularwerkzeug.

Variablen definieren

Im ersten Schritt deklarieren wir die benötigten Variablen. Dies darf nur beim ersten Durchlauf des Skripts geschehen und erfolgt daher über die Abfrage, ob eine der betreffenden Variablen bereits deklariert ist oder nicht. Die Variable vz dient der Ermittlung des Vorzeichens für den Buchungsbetrag und die Variable valid zur Kennzeichnung einer gültigen Buchung.

' Aktionen nur im ersten Durchlauf ausführen: Variablen deklarieren
if ( NOT HasVariable("zeile") )
dim zeile as number
dim formatbetrag as text
endif

set zeile to zeile + 1


Beginn der Importdaten festlegen

Die Umsatzdaten in einem Kontoauszug beginnen üblicherweise nicht bereits in der ersten Zeile. Deshalb legen wir als Nächstes fest, ab welcher Zeile der Importdatei die Daten importiert werden sollen. Hier im XML-File wird dies unterdrückt, da die Analyse des Files nicht auf Stufe der Zeilen beginnt aber der Blicke. Diese Information wird via die Quelle definiert. 

Hier ein Beispiel für eine Textorientierte Vorlage:

' Die Umsatzdaten beginnen erst ab Zeile 6, die Zeilen davor verwerfen
set zeile to zeile + 1
if ( zeile < 6 )
    set Vorlage_Import_OK to FALSE
    exit
endif


Plausibilitätsprüfung einfügen

Beim Analysieren der Exportdatei haben wir festgestellt, dass wir im XML auf Daten bis zur Tiefe 12 zugreifen müssen. Das bedeutet, eine Datei mit weniger Tiefe kann nicht korrekt verarbeitet werden, und der Importvorgang soll in diesem Fall abgebrochen werden.

' Abbrechen, wenn nicht mindestens 12 Felder in Importdatei vorhanden sind
if ( NOT HasVariable("Spalte_012") )
    beep
    msgBox("Fehler beim Lesen der camt-Exportatei (Ungültiges Datensatzformat)!")
    set Vorlage_Import_OK to FALSE
    exit
endif

Innerhalb des Importskripts können Sie auf die Felder der Importdatei über den Bezeichner Spalte_xxx zugreifen, wobei xxx durch die Spaltennummer inkl. der führenden Null(en) ersetzt wird. Es stehen so viele Spalten zur Verfügung, wie in der Exportdatei vorhanden sind. Der Test HasVariable("Spalte_015") wird also fehlschlagen (FALSE), wenn weniger als 12 Tiefen im XML-File vorhanden sind.

Mit msgBox("...") legen Sie die Fehlermeldung fest, die angezeigt werden soll, wenn die zu importierende Datei weniger Spalten enthält, als erforderlich (in unserem Beispiel weniger als 12 Spalten).

Nach der Fehlermeldung müssen Sie noch festlegen, dass der Importvorgang komplett abgebrochen werden soll:
Setzen Sie dazu die Variable Vorlage_Import_OK auf FALSE und verlassen Sie das Skript mit exit. Wenn Sie nur exit verwenden, ohne die Statusvariable auf FALSE zu setzen, dann wird das Skript mit der nächsten Importzeile fortgesetzt.


Vorzeichen des Betrags ermitteln

Oft muss das Vorzeichen des Betrags ermittelt werden: Ist das eigene Bankkonto (wird über die Konstante BANKKONTO_BEZEICHNUNG übergeben) das Quellkonto (Spalte 1), dann ist die Buchung eine Ausgabe, andernfalls eine Einnahme. Hier für die XML Datei werden die Vorzeichen durch die Angaben CRE oder DEB abgefragt.

' Vorzeichen des Buchungsbetrags ermitteln
if ( Spalte_001 = BANKKONTO_BEZEICHNUNG AND Spalte_002 <> BANKKONTO_BEZEICHNUNG )
    set vz to -1
    set valid to TRUE
elseif ( Spalte_002 = BANKKONTO_BEZEICHNUNG AND Spalte_001 <> BANKKONTO_BEZEICHNUNG )
    set vz to 1
    set valid to TRUE
endif

if ( NOT valid )
    beep
    msgBox("Fehler beim Lesen der Datei (Das Bankkonto '" + BANKKONTO_BEZEICHNUNG + "'
            wurde nicht gefunden)!"
)
    set Vorlage_Import_OK to FALSE
    exit
endif


Datenfelder zuordnen

Jetzt können wir die Importfelder den Feldern der Buchungsvorlage zuordnen. Beim Betrag wird das richtige Vorzeichen analysiert. Der Text wird aus verschiedenen Feldern ausgelesen und zusammengesetzt. Weitere Informationen dazu finden Sie unter dem Thema Datenfelder zuordnen.

' ---------------------------------------------------------------------------------
' Importfelder den Datenfeldern zuordnen
' ---------------------------------------------------------------------------------

' Datum (Wertstellungdatum verwenden): 
set Vorlage_Datum to TextToDate(Spalte_001)

' Betrag mit richtigem Vorzeichen: 
set formatbetrag to Replace(Spalte_002, ",", ".")
set Vorlage_Betrag to FTextToNumber(formatbetrag)

' Währung
set Vorlage_Notizen to ReplaceAll(Spalte_003, "  ", "")

'Zahlungspflichtiger IBAN: 
set Vorlage_Notizen to Vorlage_Notizen + ", " + ReplaceAll(Spalte_006, "  ", "")

'RechnungsNr aus eindeutige Bankreferenz: 
set Vorlage_Text to "RgNr: " + ReplaceAll(Middle(Spalte_009, 23, 4), "  ", "")

'KundenNr aus eindeutige Bankreferenz: 
set Vorlage_Text to Vorlage_Text + " / KdNr: " + ReplaceAll(Middle(Spalte_009, 13, 4), "  ", "")

'Zahlungspflichtiger Name: 
set Vorlage_Text to Vorlage_Text + " / " + ReplaceAll(Spalte_005, "  ", "")

'eindeutige Bankreferenz: 
set Vorlage_Referenz to Vorlage_Referenz + ReplaceAll(Spalte_009, "  ", "")


Passen Sie nun die Ausgabezeilen für Vorlage_Text eigene  Vorstellungen an. 

Hier eine Variante:

'Zahlungspflichtiger Name: 
set Vorlage_Text to Vorlage_Text + ReplaceAll(Spalte_005, "  ", "")

'Zahlungspflichtiger Adresse: 
set Vorlage_Text to Vorlage_Text + ", " + ReplaceAll(Spalte_007, "  ", "")

'Zahlungspflichtiger Kundenreferenz: 
set Vorlage_Text to Vorlage_Text + ", " + ReplaceAll(Spalte_008, "  ", ", ")

'Zahlungsempfänger Name: RltdPties> 
set Vorlage_Text to Vorlage_Text + ReplaceAll(Spalte_012, "  ", "")


An dieser Stelle kann die Importdefinition mit OK gesichert werden und ist vollständig arbeitsfähig. 

Es werden der Buchungsvorlage alle wichtigen in der Importdatei vorhandenen Daten zugeordnet.


Automatische Belegvervollständigung - OP-Zuordnung

Ein besonders grosses Potenzial zur Arbeitserleichterung und Automatisation bietet die Möglichkeit, im Importskript allen Feldern der Buchungsvorlage Werte zuzuweisen und somit im Idealfall vollständige Buchungen zu erhalten.

In den mitgelieferten Skripten ist bereits die automatische Zuordnung von Debitoren- oder Kreditorenkonten aus offenen Posten (OP) integriert:

' ---------------------------------------------------------------------------------
' Optional: Belegvervollständigung
' ---------------------------------------------------------------------------------

set Vorlage_Konto to GetKontoDebitor(Vorlage_Text, Vorlage_Betrag)


Die Funktionen GetKontoDebitor(Vorlage_Text, Vorlage_Betrag) bzw. GetKontoKreditor(Vorlage_Text, Vorlage_Betrag )liefern das Personenkonto eines entsprechenden OP zurück, wenn dieser mit einer hohen Wahrscheinlichkeit identifiziert wurde.

Hier ein weiteres Beispiel der Autovervollständigung:

set Vorlage_Konto to IfThen(Vorlage_Text = "Kreditkartenabrechnung", "2099", Vorlage_Konto)

oder

set Vorlage_Konto to IfThen(PatternCount(Vorlage_Text, "Zinsabschluss") > 0,"6850", Vorlage_Konto) ' Passen Sie Konto 6850 auf eigenen eigenen Kontenrahmen und dessen Konto an.


Finden Sie anbei einige Beispiele von Buchungszeilen-Code für einen nRLR-Kontenplan, Sie können den Code gleich in ein neues Script kopieren: 


' ---------------------------------------------------------------------------------

' Optional: Belegvervollständigung

' ---------------------------------------------------------------------------------

'Konto anpassen auf eigenen Kontenplan

set Vorlage_Konto to IfThen(PatternCount(Vorlage_Text, "Zinsabschluss") > 0,“6990“, Vorlage_Konto) 'Konto anpassen auf eigenen Kontenplan

set Vorlage_Konto to IfThen(PatternCount(Vorlage_Text, "ESSO") > 0,“6210“, Vorlage_Konto) 'Konto anpassen auf eigenen Kontenplan

set Vorlage_Konto to IfThen(PatternCount(Vorlage_Text, "MIGROS") > 0, “5900“, Vorlage_Konto) 'Konto anpassen auf eigenen Kontenplan

set Vorlage_Konto to IfThen(PatternCount(Vorlage_Text, "MULTIPAY AG") > 0,"3000", Vorlage_Konto) 'Konto anpassen auf eigenen Kontenplan

set Vorlage_Konto to IfThen(PatternCount(Vorlage_Text, "SWISSCOM") > 0,“6510“, Vorlage_Konto) 'Konto anpassen auf eigenen Kontenplan

'Konto anpassen auf eigenen Kontenplan

set Vorlage_Konto to GetKontoDebitor(Vorlage_Text, Vorlage_Betrag)

set Vorlage_Konto to IfThen(Vorlage_Konto = "", GetKontoKreditor(Vorlage_Text, Vorlage_Betrag), Vorlage_Konto)


Die Arbeitsweise der OP-Zuordnung zum besseren Verständnis

Die Funktionen verwenden zur Identifizierung eines offenen Postens den im Parameter übergebenen Text sowie den Betrag. Der Text wird in alle erdenklichen Teilbestandteile zerlegt (auch rein numerische) und diese Bestandteile werden ebenso wie der Betrag mit allen in Frage kommenden Feldern der gefundenen offenen Posten verglichen. Jede Übereinstimmung erhöht die Relevanz des betreffenden offenen Postens um einen Punkt. Der offene Posten mit der höchsten allein stehenden Punktzahl wird als wahrscheinlichster Treffer zurückgegeben. Die so erzielten Ergebnisse sind somit wahrscheinlich, aber nicht sicher korrekt.

Es kann durchaus auch zu fehlerhaften Zuordnungen kommen, daher müssen die Zuordnungen beim Buchen immer abschliessend kontrolliert werden.


Importvorgang durchführen

Voraussetzungen:

  • Die entsprechenden offenen Posten wurden angelegt. 

  • Das Skript der Importdefinition enthält die Funktion für die OP-Zuordnung.



So führen Sie den Importvorgang durch:

  1. Schliessen Sie ggf. die Dialoge zum Bearbeiten der Importdefinition, bis Sie sich wieder im Dialog Neuer Bankauszug befinden. 

  2. Wählen Sie ggf. ein Bankkonto und die neue bzw. geänderte Importdefinition aus. 

  3. Klicken Sie auf die Schaltfläche Ausführen.... 

  4. Navigieren Sie zu der Exportdatei Ihres Bankauszugs und klicken Sie auf die Schaltfläche Öffnen. Im Dialog Neuer Bankauszug werden die Datensätze aus der Exportdatei angezeigt.

  5. Überprüfen Sie die Zuordnung der Datenfelder, insbesondere für die automatisch vervollständigten Spalten. In unserem Beispiel ist das die Spalte Konto, in die automatisch die Debitorenkonten der offenen Posten eingesetzt wurden, Personenkonto 10003.