Skip to main content
Skip table of contents

DunningRun (LC.WpfInterfaces, Automatischer Mahnlauf)

Dient zur automatischen Ausführung eines Mahnlaufs.

Es kann zu fest bestimmten Tagen (am 10./20./30. oder jeden Montag, ...) ein Mahnlauf gestartet werden. Die Mahnungen werden in einem vordefinierten Ordner abgelegt oder auf Wunsch auch an die vorgesehene EMail-Adresse gesendet.

Es wird das Zusatzmodul "Offene Posten Verwaltung" benötigt!

Anforderungen

  • LC.WpfInterfaces ab Version 1.2020.0528.0

  • TaskCenter ab Version 4.70.0.0

  • Zusatzmodul "Offene Posten Verwaltung" - wird über TaskCenter-Lizenzschlüssel bereitgestellt

Schnellstart

  • LC.WpfInterfaces installieren (wenn nicht vorhanden) bzw. aktualisieren

  • Eigenes Layout für die Druckvorlage DunningTextSheet1.rpx erstellen (zB. XDunningTextSheet1.rpx) und im company\Reports-Ordner bereitstellen

  • Einmalig eine Mahnung manuell, mit die gewünschten Druckeinstellungen, drucken, damit diese für den Benutzer in der User-Ini gespeichert werden

  • Prüfen Sie, ob Sie bereits Mahntexte festgelegt haben - ohne Mahntexte kann die Mahnstufe nicht berechnet werden

  • XML-Konfigurationsdatei erstellen bzw. Vorlage kopieren und anpassen

  • Batch-Datei erstellen, die diese XML-Konfigurationsdatei als Parameter ausführt

  • Windows-Aufgabenplanung einrichten (zB. alle 7 Tage - oder 1x im Monat - je nach Bedarf)

Konfigurationsdatei

Aufbau

CODE
<?xml version="1.0" encoding="utf-8"?>
<DunningRun>
  <DB>POLLEX</DB>
  <USER>SYSADM</USER>
  <PASSWORD>SYSADM</PASSWORD>
  <LogLevel>Full</LogLevel>
   
  <DunningLetterPrintLayout>X</DunningLetterPrintLayout>
  <TargetPdfFolder>c:\POLLEX\Mahnungen</TargetPdfFolder>
  <TargetPdfFilenamePattern>MAHNUNG_{CustomerNumber}.pdf</TargetPdfFilenamePattern>
  <SendDunningMail>True</SendDunningMail>
  <MailSuccessPdfFolder>c:\POLLEX\Mahnungen\Sent</MailSuccessPdfFolder>
  <MailFailedPdfFolder>c:\POLLEX\Mahnungen\Failed</MailFailedPdfFolder>
  <DunningMailBody>@GetTextModule("MAHN_MAILBODY")</DunningMailBody>
  <DunningMailSubject>Mahnung vom {Today}</DunningMailSubject>
   
  <CustomerNumberFrom></CustomerNumberFrom>
  <CustomerNumberTo></CustomerNumberTo>
  <AccountNumberFrom></AccountNumberFrom>
  <AccountNumberTo></AccountNumberTo>
  <OrgUnits></OrgUnits>
  <TotalAmountGrossIncFrom></TotalAmountGrossIncFrom>
  <TotalAmountGrossIncTo></TotalAmountGrossIncTo>
  <IsTransferredToAccount></IsTransferredToAccount>
  <IsInvoiceFinished></IsInvoiceFinished>
  <SqlWhere></SqlWhere>
  <Test>False</Test>
   
  <SmtpServer>mail.mustermann.com</SmtpServer>
  <SmtpUser>Benutzername</SmtpUser>
  <SmtpPassword>Passwort</SmtpPassword>
  <SmtpPortNumber></SmtpPortNumber>
  <SmtpUseSSL>True</SmtpUseSSL>
  <SenderEMail>dunning@mustermann.com</SenderEMail>
  <BccEMail></BccEMail>
   
  <ProtocolEMail>max@mustermann.com</ProtocolEMail>
  <MailLevel>All</MailLevel>
  <MailSubject></MailSubject>
  <MailBody></MailBody>
  <IsBodyHtml></IsBodyHtml>
   
</DunningRun>

Feldbeschreibung

Feld

Mögliche Werte

Beschreibung

DB

Datenbankname für die Verbindung zur Datenbank

USER

Benutzername für die Verbindung zur Datenbank

PASSWORD

Passwort für die Verbindung zur Datenbank

LogLevel

Full, Detail, Info, Warning, Error

Detailgrad für die Protokollierung in der Log-Datei

DunningLe tterPrintLa yout

Layout-Buchstabe für das Drucklayout (DunningTextSheet1.rpx) Wichtig!!

Es muss immer ein eigenes Drucklayout angegeben und im company\Reports-Ordner bereitgestellt werden!!

Die Druckeinstellungen werden über die USER-INI eingelesen. Das heißt, es muss einmalig eine Mahnung manuell gedruckt werden, mit den gewünschten Einstellungen für den DB-Benutzer, welcher dann für den Mahnlauf angemeldet wird.

TargetPdfF older

Ziel-Ordner, in dem die erstellten PDFs abgelegt werden

TargetPdfF ilenamePat tern

Vorlage, wie der Pdf-Dateiname auszusehen hat.

Es können diverse Platzhalter sowie StringFunctions verwendet werden - Details siehe hier.

SendDunni ngMail

True, False

True = Zusätzlich zur Erstellung der PDFs wird eine EMail an den Fibu-EMail-Kontakt des Kunden bzw. an die eInvoice-Adresse geschickt

False (Standard) = Es werden keine EMails gesendet

MailSucces sPdfFolder

Pfad, wo die generierten PDF-Dateien verschoben werden, wenn die Mail erfolgreich versendet wurde

MailFailed PdfFolder

Pfad, wo die generierten PDF-Dateien verschoben werden, wenn die Mail nicht versendet werden konnte

DunningM ailBody

Mahnung vom {Today}

Text, der im EMail-Body an den Kunden gesendet wird.

Es können diverse Platzhalter sowie StringFunctions verwendet werden - Details siehe hier.

DunningM ailSubject

@GetTextModule ("MAHN_MAILB ODY")

Betreff für die Kunden-EMail.

Es können diverse Platzhalter sowie StringFunctions verwendet werden - Details siehe hier.

CustomerN umberFrom

Zahl (Kundennummer)

VON-Kundennummer - wenn angegeben, werden nur Rechnungen dieser Kundennummer selektiert

CustomerN umberTo

Zahl (Kundennummer)

BIS-Kundennummer - wenn eine VON- sowie eine BIS-Kundennummer angegeben wurde, werden nur Rechnungen mit Kundennummern in diesem Bereich selektiert

AccountNu mberFrom

Zahl (Kundennummer)

VON-FIBU-Nummer - wenn angegeben, werden nur Rechnungen dieser FIBU-Nummer selektiert

AccountNu mberTo

Zahl (Kundennummer)

BIS-Kundennummer - wenn eine VON- sowie eine BIS-Kundennummer angegeben wurde, werden nur Rechnungen mit Kundennummern in diesem Bereich selektiert

OrgUnits

10

10;20;30

Liste mit Nummern der organisatorischen Einheiten - wenn angegeben, werden nur Rechnungen dieser OEs selektiert

TotalAmou ntGrossInc From

Zahl (Gesamt- Brutto-VK-Inkl)

VON-Betrag - wenn angegeben, werden nur Rechnungen mit dem Betrag größer/gleich selektiert

TotalAmou ntGrossInc To

Zahl (Gesamt- Brutto-VK-Inkl)

BIS-Betrag - wenn angegeben, werden nur Rechnungen mit dem Betrag kleiner/gleich selektiert

InvoiceDat eFrom

InvoiceDat eTo

PaymentD ateFrom

PaymentD ateTo

DueDateFr om

DueDateTo

IsTransferr edToAccou nt

True, False

True = Es werden nur Rechnungen selektiert, die bereits in die FIBU übergeleitet sind False = Es werden nur Rechnungen selektiert, die noch nicht in die FIBU übergeleitet sind

leer = keine Einschränkung

IsInvoiceFi nished

True, False

True = Es werden nur Rechnungen selektiert, die bereits erledigt sind False = Es werden nur Rechnungen selektiert, die noch nicht erledigt sind

leer = keine Einschränkung

SqlWhere

r. vertreternummer

=15

zusätzliche SQL-Einschränkung für die Abfrage der Rechnungen, welche gemahnt werden. Folgende Alias'se können verwendet werden:

r. = RECHNUNGEN

k. = KUNDEN

z. = ZBEDINGUNGEN

Test

True, False

True = Es werden nur die potentiellen Rechnungen selektiert und ausgegeben - es werden keine Mahnungen erstellt oder gesendet (für Test-Zwecke)

False (Standard) = Mahnungen werden regulär erstellt und auf Wunsch per Mail versendet

ProtocolE Mail

max@musterman n.com;

EMail-Adresse für Protokoll - mehrere Adressen können semikolon-getrennt angegeben werden

BccEMail

min@musterman n.com

Unsichtbare Ziel-EMail-Adresse(n) - Wenn angegeben, werden alle Mails, die an Kunden gesendet werden, auch an diese Mail-Adresse(n) zusätzlich gesendet.

SenderEM ail

dunning@muster mann.com

EMail-Adresse die als Absender angezeigt wird

SmtpServer

mail. mustermann.com

SMTP-Server für EMail-Versand

SmtpUser

mustermann\adm in

SMTP-Benutzername für EMail-Versand

SmtpPass word

admmus

SMTP-Passwort für EMail-Versand

SmtpUseS SL

True, False

SSL für SMTP-Email-Versand verwenden

SmtpPortN umber

Port-Nummer für Mail-Versand (Standard=25)

MailLevel

All, ErrorsOnly, NoMail

Beinhaltet das Level, welche Mails versendet werden sollen.

MailSubject

EMail-Betreff. Wenn angegeben, wird dieser Betreff angezeigt.

MailBody

EMail-Body. Wenn angegeben, wird dieser Body angezeigt.

IsBodyHtml

True, False

Gibt an, ob der Body ein HTML-Body ist, oder ein normaler Text. Wenn nicht angegeben, wird standardmäßig HTML gesendet.

TargetPdfFilenamePattern
Platzhalter

Platzhalter

Beschreibung

{CustomerNumber}

Wird durch die Kundennummer ersetzt

{Today}

Wird durch das aktuelle Datum ersetzt ( Format dd.MM.yyyy )

{Today:FORMAT}

Wird durch das aktuelle Datum im angegebenen Format ersetzt.

Bsp: {Today:yyyyMMdd}

StringFunctions

Zusätzlich zu den Standard-StringFunctions sind folgende Funktionen möglich:

StringFunction

Beschreibung

GetProcessingItem()

Liefert das DTO für die aktuell verarbeitete Mahnung. Ein ProcessingItem enthält folgende Felder: CustomerNumber (long?)

SearchKey (string)

Invoices (Liste mit Invoice-Elementen) FileContent (Dateiinhalt der Pdf-Datei)

IsPdfCreated (bool - Kennzeichen ob die Pdf-Datei erfolgreich im Dateisystem abgelegt wurde) IsMailSent (bool - Kennzeichen ob eine Mail versendet wurde)

MailAddress (string - Ziel-EMail-Adresse)

ErrorMessage ( Element mit ev. Fehlermeldung )

GetCustomerNumber()

Liefert die Kundennummer für die aktuell verarbeitete Mahnung

GetCustomerSearchKey ()

Liefert die Kunden-Suchbezeichnung für die aktuell verarbeitete Mahnung

GetInvoiceNumbers()

Liefert eine Liste mit den Rechnungsnummern für die aktuell verarbeitete Mahnung

GetInvoice()

Liefert ein Invoice-Element der aktuell verarbeiteten Rechnung bzw. das erste Invoice-Element für den aktuellen Kunden

GetInvoiceNumber()

Liefert die Rechnungsnummer der aktuell verarbeiteten Rechnung bzw. die erste Rechnungsnummer für den aktuellen Kunden

GetInvoiceInx()

Liefert den Datensatz-Index der aktuell verarbeiteten Rechnung bzw. den ersten Rechnungs-Index für den aktuellen Kunden

Kriterien für Abfrage

  • Es darf keine Barverkaufsrechnung sein (TYP < 100)

  • Die Rechnung darf nicht bezahlt sein (BEZAHLT=0)

  • Zusätzliche Einschränkungen über die Konfigurationsdatei

Automatisierte Aufgaben

Speziell für den Mahnlauf gibt es folgende automatisierten Aufgaben, auf die reagiert werden können:

Trigger

Beschreibung

Invoice. DunningRunDunningBlock

Wird ausgelöst, wenn ein Mahnlauf durchgeführt wird, die Rechnung nicht bezahlt ist und mit einer Mahnsperre gekennzeichnet ist

Invoice.DunningRun

Wird ausgelöst, wenn ein automatischer Mahnlauf durchgeführt wird und die Rechnung per Mail versendet wurde

Beispiel: Es soll an die Buchhaltung eine EMail gesendet werden, wenn eine Rechnung nicht gemahnt wird, weil eine Mahnsperre vorliegt

Invoice.DunningRunDunningBlock.xml

CODE
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
  <AutomatedTasks>
    <EREIGNIS>Invoice.DunningRunDunningBlock</EREIGNIS>
    <AKTION>Mail.Send</AKTION>
    <BEDINGUNG>where 1=1</BEDINGUNG>
    <AKTION_WERTE>&lt;XML&gt;
    &lt;MAIL Id="14039"&gt;
        &lt;FROM&gt;"noreply@mustermann.com"&lt;/FROM&gt;
        &lt;TO&gt;"maria@mustermann.com"&lt;/TO&gt;
        &lt;SUBJECT&gt;"Mahnsperre Rechnung "+@GetSourceValue("RENUMMER")&lt;/SUBJECT&gt;
        &lt;BODY&gt;"bitte prüfen"&lt;/BODY&gt;
    &lt;/MAIL&gt;
&lt;/XML&gt;</AKTION_WERTE>
    <POS>1</POS>
    <AKTIV>1</AKTIV>
  </AutomatedTasks>
</NewDataSet>

Automatischer Start

Im Unterordner \Interfaces\POLLEX-LC\DunningRun\Templates werden Beispieldaten für die automatische Ausführung der Schnittstelle mit ausgeliefert. Wollen Sie diese Dateien verwenden, kopieren Sie diese bitte in einen eigenen Script-Ordner oder in den Ordner der LC.WpfInterfaces. exe. Die mitgelieferten Templates werden beim Update überschrieben.

Beispiel

XML-Konfigurationsdatei

DunningRun.xml

CODE
<?xml version="1.0" encoding="utf-8"?>
<DunningRun>
  <DB>LC</DB>
  <USER>SYSADM</USER>
  <PASSWORD>SYSADM</PASSWORD>
  <LogLevel>Full</LogLevel>
   
  <DunningLetterPrintLayout>X</DunningLetterPrintLayout>
  <TargetPdfFolder>c:\POLLEX\Mahnungen</TargetPdfFolder>
  <TargetPdfFilenamePattern>MAHNUNG_{CustomerNumber}.pdf</TargetPdfFilenamePattern>
  <SendDunningMail>True</SendDunningMail>
  <MailSuccessPdfFolder>c:\POLLEX\Mahnungen\Sent</MailSuccessPdfFolder>
  <MailFailedPdfFolder>c:\POLLEX\Mahnungen\Failed</MailFailedPdfFolder>
  <DunningMailBody>@GetTextModule("MAHN_MAILBODY")</DunningMailBody>
  <DunningMailSubject>Mahnung vom {Today}</DunningMailSubject>
   
  <OrgUnits>10</OrgUnits>
   
  <SmtpServer>mail.mustermann.com</SmtpServer>
  <SmtpUser>max</SmtpUser>
  <SmtpPassword>nnamretsum</SmtpPassword>
  <SmtpPortNumber></SmtpPortNumber>
  <SmtpUseSSL>True</SmtpUseSSL>
  <SenderEMail>noreply@mustermann.com</SenderEMail>
  <BccEMail>buchhaltung@mustermann.com</BccEMail>
   
  <ProtocolEMail>admin@mustermann.com</ProtocolEMail>
  <MailLevel>All</MailLevel>
   
</DunningRun>

Batch-Datei

CODE
LC.WpfInterfaces.exe /C=DunningRun.xml

Commandline-Aufruf für Test

CODE
LC.WpfInterfaces.exe /C=DunningRun.xml /Test

Commandline-Aufruf andere Datenbank

CODE
LC.WpfInterfaces.exe /C=DunningRun.xml /DB=DEMO /USER=DEMO /PASSWORD=TEST

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.