OFFICIUM INSERVIO
Your reliable partner for your business software...
Sage 100 Zahlungsvorschläge / Payment suggestions
(alle Versionen/all versions)
Montag, 19. Juni 2023
Deutsch
Situation/Hintergrund
Bei "Lastschriften vorschlagen" kommen keine Daten, obwohl vermeintlich fällige Offene Posten vorliegen.
Bei "Lastschriften manuell vorschlagen" kommen, obwohl die OP eines Kontokorrent ausgewählt werden, Fehlermeldungen wie die folgenden:
OP kann in Kategorie 'Lastschrift' wegen unpassendem Betrag nicht vorgeschlagen werden. Verrechnung ebenfalls nicht möglich.
Mögliche Ursachen
Zahlungsvorschläge, z.B. Lastschrift über SEPA-Mandat, werden ausschließlich für Offene Posten generiert, für die folgende Kriterien gelten:
Kontokorrent (bzw. die Adresse) verfügt über eine gültige Bankverbindung und ggf. SEPA-Mandat.
Kontokorrent nimmt überhaupt am Zahlungsverkehr teil (siehe Grundlagen im Kontokorrent).
Im Offenen Posten (KHKOpHauptsatz) ist eine Inkassoart eingetragen.
Der Offene Posten wird durch eine Gesamtverrechnung z.B. mit Gutschriften oder Stornorechnungen nicht "aufgehoben", d.h. in Summe 0 oder negativ.
"Falsches" Fälligkeitsdatum bzw. Selektionsdatum im Selektionsdialog
SQL Selektionlogik
Sage führt bei der Erstellung von Lastschrift-Vorschlägen z.B. nachfolgende SQL-Anweisung als Grundselektion aus.
Exemplarisch für einen bestimmten Mandanten und einen Debitor.
⚠️Liefert diese SQL schon keine Daten, dann wird ein Offener Posten auch gar nicht erst bei den Zahlungsvorschlägen berücksichtigt!⚠️
⚠️In nachfolgenden Verarbeitungsschritten wird in dem zuständigen Sage Geschäftsprozess dann aber auch noch geprüft, ob sich durch Verrechnungen durch Gutschriften oder Stornorechnungen z.B. überhaupt fällige Zahlungsbeträge ergeben!⚠️
DECLARE @nManId SMALLINT
DECLARE @sKto VARCHAR(20)
DECLARE @dtFaelligkeitNetto DATETIME
DECLARE @dtFaelligkeitSkonto DATETIME
-- TODO: Parameter
SET @nManId = 99
SET @sKto = 'D189434'
SET @dtFaelligkeitNetto = { d '2023-07-04' }
SET @dtFaelligkeitSkonto = { d '2023-06-27' }
SELECT KHKOpHauptsatz.Mandant
,KHKOpHauptsatz.KtoArt
,KHKOpHauptsatz.KtoKo
,KHKOpHauptsatz.OpNr
,(KHKOpHauptsatz.SRechnung - KHKOpHauptsatz.SZahlung - KHKOpHauptsatz.SSkonto) AS SRest
,(KHKOpHauptsatz.SRechnung)
,KHKOpHauptsatz.OpDatum
,KHKOpHauptsatz.Faelligkeit
,KHKOpHauptsatz.SkontoFaelligkeit1
,KHKOpHauptsatz.SkontoFaelligkeit2
,KHKOpHauptsatz.Zahlungskond
,KHKOpHauptsatz.Inkassoart
,KHKOpHauptsatz.Nettobedingung
,KHKOpHauptsatz.Skontobedingung1
,KHKOpHauptsatz.Skontobedingung2
,KHKOpHauptsatz.Skontoprozent1
,KHKOpHauptsatz.Skontoprozent2
,KHKOpHauptsatz.Mahnstufe
,KHKOpHauptsatz.Vertreter
,KHKOpHauptsatz.Referenz
,KHKOpHauptsatz.Adresse
,KHKOpHauptsatz.Wkz
,KHKOpHauptsatz.Azv
,KHKOPHauptsatz.Journal
,KHKOPHauptsatz.MandatsNummer
,(KHKOpHauptsatz.SZahlung)
,(KHKOpHauptsatz.SSkonto)
,(KHKOpHauptsatz.SRechnungNichtSkontierfaehig)
FROM KHKOpHauptsatz
INNER JOIN KHKKontokorrent
ON KHKOpHauptsatz.Mandant = KHKKontokorrent.Mandant
AND KHKOpHauptsatz.KtoKo = KHKKontokorrent.Kto
WHERE
(KHKOpHauptsatz.Mandant = @nManId)
AND (KHKOpHauptsatz.IstAusgebucht = 0)
AND (KHKOpHauptsatz.Klaerung = 0)
AND (KHKKontokorrent.Zahlungsverkehr <> 0)
AND
CASE
WHEN EXISTS (
SELECT Adresse
FROM KHKBankverbindungenD
WHERE KHKBankverbindungenD.Adresse = KHKOpHauptsatz.Adresse
AND KHKBankverbindungenD.Mandant = @nManId
)
THEN 1
ELSE CASE
WHEN EXISTS (
SELECT Adresse
FROM KHKBankverbindungenA
WHERE KHKBankverbindungenA.Adresse = KHKOpHauptsatz.Adresse
AND KHKBankverbindungenA.Mandant = @nManId
)
THEN 0
WHEN EXISTS (
SELECT Adresse
FROM KHKBankverbindungenCH
WHERE KHKBankverbindungenCH.Adresse = KHKOpHauptsatz.Adresse
AND KHKBankverbindungenCH.Mandant = @nManId
)
THEN 0
WHEN EXISTS (
SELECT Adresse
FROM KHKBankverbindungenL
WHERE KHKBankverbindungenL.Adresse = KHKOpHauptsatz.Adresse
AND KHKBankverbindungenL.Mandant = @nManId
)
THEN 0
ELSE 1
END
END = 1
AND (KHKOpHauptsatz.Zahlungsverkehr = 0)
AND
(
(
SELECT KHKInkassoarten.Zahlungsverkehr
FROM KHKInkassoarten
WHERE KHKInkassoarten.Inkassoart = KHKOpHauptsatz.Inkassoart
) <> 0
)
AND (
(
(KHKOpHauptsatz.Faelligkeit < @dtFaelligkeitNetto)
OR (
KHKOpHauptsatz.SkontoFaelligkeit1 >= @dtFaelligkeitSkonto
AND KHKOpHauptsatz.SkontoFaelligkeit1 < @dtFaelligkeitNetto
AND KHKOpHauptsatz.Skontoprozent1 > 0
)
OR (
KHKOpHauptsatz.SkontoFaelligkeit2 >= @dtFaelligkeitSkonto
AND KHKOpHauptsatz.SkontoFaelligkeit2 < @dtFaelligkeitNetto
AND KHKOpHauptsatz.Skontoprozent2 > 0
)
)
)
AND (KHKOpHauptsatz.KtoArt = 'D')
AND KHKOpHauptsatz.KtoKo >= @sKto
AND KHKOpHauptsatz.KtoKo <= @sKto
AND KHKOpHauptsatz.Journal IN (
SELECT Journal
FROM KHKAuswertungskreiseJournale
WHERE Auswertungskreis = 1
)
