Hauptmenü
Mahn-, Zahl-, Zinswesen
Stammdaten
Zahlungsarten
Direktsprung [FIZAH].
Die Zahlungsart ist ein im Kunden- und Lieferantenstamm eingetragenes Kennzeichen, über das gesteuert wird, wie die Zahlung im automatischen Zahlungsverkehr bei Ein- und Ausgang erfolgen soll.

|
|
Beschreibung |
|
Nummer |
Eindeutige Nummer der Zahlungsart, wie sie später im Kunden/Lieferantenstamm hinterlegt wird. Die nächste freie Nummer wird vorgeschlagen.
|
|
Formularklasse |
Wahlweise „Zahlungseingang“ oder „Zahlungsausgang“. Eine Auswahl mit F3 ist möglich. Beim Wechseln der Formularklasse wird im Feld eRechnung Zahlungsweg der sinnvollste eRechnungs-Zahlungsweg neu vorbelegt.
|
|
Bezeichnung |
Bezeichnung der Zahlungsart zur einfacheren Identifikation in Auswahllisten oder F3-Auswahlen. Ist der Steuerungsparameter 34 "Mehrsprachigkeit aktiv“ in A.eins gesetzt, so hat man auf diesem Feld die Möglichkeit mit F3 sprachabhängige Bezeichnungen zu pflegen.
|
|
Skontierbar |
Hier kann der Skontotyp eingetragen werden. Eine Auswahl mit F3 ist möglich
•immer Skonto: Skonto wir unabhängig vom Skontodatum immer gewährt/gezogen •nie Skonto: Selbst, wenn im Beleg Skonto vorgesehen ist und die Skontofrist noch nicht abgelaufen ist, wird kein Skonto gewährt. •Abzug gem. Datum: Dies ist die Vorbelegung. Skonto wird dann gewährt, wenn die Frist noch nicht abgelaufen ist.
|
|
Skontierbar bei Verrechnung |
Werden Rechnungen mit Gutschriften verrechnet, so kann es wünschenswert sein, bei den Gutschriften Skonto anders zu behandeln. Ist hier kein Wert eingetragen, so wird bei Gutschriften der Wert, der bei „Skontierbar“ eingetragen ist, verwendet.
|
|
DTA-Typ |
Zahlungsart bei Zahlung per Datenträgeraustausch. Der DTA-Typ wird nur bei der Formularklasse „Zahlungseingang“ abgefragt bzw. im Datenträgeraustausch verwendet. Bei Zahlungsausgang wird dieses Feld ausgeblendet. Der Hausbank muss beim DTA mitgeteilt werden, ob es sich bei den Lastschriften um eine Einzugsermächtigung oder um eine Abbuchung handelt.
Hinweis: Für das SEPA-Verfahren wird der Typ beim Mandat hinterlegt.
|
|
Echtzeitüberweisung |
Dieses Feld wird nur für Formularklasse „Zahlungsausgang“ abgefragt. Wir hier Ja eingetragen, so entfällt beim Erstellen der Zahlungsvorschläge die Vorlauf Frist von einem Tag und als Ausführungsdatum wird der verwendete Stichtag verwendet. Es werden bei der Berechnung keine Bankarbeitstage mehr berücksichtigt, da Echtzeitüberweisungen auch am Wochenende und an Feiertagen ausgeführt werden.
|
|
eRechnung
Zahlungsweg |
Dieses Feld ist nur sichtbar, wenn die eRechnungs-Lizenz erworben wurde.
Die Vorbelegung erfolgt anhand der Formularklasse. Bei Zahlungseingang wird der eRechnungs-Zahlungsweg mit Bankeinzug vorbelegt, bei Zahlungsausgang, wird er mit Überweisung vorbelegt.
|
|
OP-Raffung Zahlungsverkehr |
•Standard Raffung. Alle OPs werden wie bisher in einem Zahlungsbeleg zusammengefasst. •Einzel – OP. Es wird pro OP ein Zahlungsbeleg erstellt.
|
|
DB-Prozedur VWZ
|
Hier kann man eine private Datenbankprozedur hinterlegen, die den Verwendungszwecktext individuell zusammengestellt. Sie hat drei Parameter:
1. die csatz_id aus der Tabelle
AMIC_DTAUS_CSATZ 2. die Arte des DTA-Verfahrens. Mögliche Werte sind: #define
DTAVERFAHREN_UNDEF
-1 3. die Anzahl der erlaubten Zeilen. Im DTA sind maximal 13 Zeilen a 27 Zeichen zulässig. Werden diese Grenzen überschritten, so wird der Rest ignoriert.
Die Prozedur muss ein Resultset vom Typen Character der Länge 27 zurückgeben. Trägt man in dem Feld einen Namen einer Prozedur ein, die noch nicht existiert, dann wird ein Template mit den korrekten Parametern angelegt und zum Bearbeiten geöffnet. Eine Datenbankprozedur zur Erstellung des Verwendungszwecks könnte so aussehen:
create procedure p_dta_vwz( in in_csatz_id integer, in in_DTAVerfahren integer, in in_AnzahlZeilen integer ) result ( vwz char(27) ) BEGIN declare dc_zahlungid integer; declare dc_count integer;
select count(*), c.ZahlungId into dc_count, dc_Zahlungid from amic_dtaus_csatz c join zahlungsposition p on p.zahlungid = c.ZahlungId where csatz_id= in_csatz_id group by c.ZahlungId;
if dc_count>in_AnzahlZeilen then -- -- Bei Überschreitung der maximalen Länge nur den Text „AUSGL. Nnn BELEGE LT.AVIS“ -- ausgeben. Und WICHTIG dem Programm mitteilen, dass eine Avise gedruckt werden soll. -- Update Zahlungsbeleg set ZahlungAvise = 1 where ZahlungId = dc_ZahlungId; select cast ( ‘AUSGL.’|| dc_count ||’ BELEGE LT.AVIS’ as char(27)); else -- -- Und hier dem Programm mitteilen, dass keine Avise gedruckt werden soll -- Update Zahlungsbeleg set ZahlungAvise = 0 where ZahlungId = dc_ZahlungId; select cast( Left( ‘RNR ‘ || trim( if ( fibuv_klasse=4 or fibuv_klasse=5 ) and isnull(fibuv_FremdNr,’’)!=’’ then fibuv_FremdNr else fibuv_nummer endif ) || ‘ ‘ || dateformat(fibuv_datum,’dd.mm’) || repeat(‘ ‘ , 27 ) , 27 – length(trim(amic_fstr(ZahlPosBetrag ,15,2)) ) -1 ) || ‘ ‘ || trim(amic_fstr(ZahlPosBetrag ,15,2)) as char(27) ) from zahlungsposition p left outer join fibuvorgstamm s on s.Fibuv_id=p.Fibuv_id where zahlungid=dc_zahlungid; end if; END
Wichtig: Das Feld Zahlungsavise in der Tabelle Zahlungsbeleg muss auf 1 gesetzt werden, um dem Programm mitzuteilen, dass eine Avise gedruckt werden muss. Ansonsten muss das Feld auf 0 gesetzt werden.
|
|
DB-Funktion VWZ SEPA
|
Dieses Feld erscheint nur, wenn der Steuerungsparameter „DTA-Ausgabeformat“ auf „SEPA“ steht. Hier kann man eine private Datenbankfunktion hinterlegen, die den Verwendungszwecktext individuell zusammengestellt. Sie erhält als Parameter die csatz_id aus der Tabelle AMIC_DTAUS_CSATZ. Die Funktion muss einen Wert vom Typen Character zurückgeben. SEPA unterstützt nur Verwendungszwecktexte bis zu einer Länge von 140 Zeichen. Trägt man in dem Feld einen Namen einer Prozedur ein, die noch nicht existiert, dann wird ein Template mit den korrekten Parametern angelegt und zum Bearbeiten geöffnet. Eine Datenbankfunktion zur Erstellung des Verwendungszwecks könnte so aussehen:
create function p_sepa_vwz( in in_csatz_id integer ) returns char(255) begin declare out_character char(255); declare out_avise char(255); declare dc_zahlungid integer;
select List ( ‘BNr. ‘ || trim( if ( fibuv_klasse=4 or fibuv_klasse=5 ) and isnull(fibuv_FremdNr,’’)!=’’ then fibuv_FremdNr else fibuv_nummer endif ) || ‘ ‘ || dateformat(fibuv_datum,’dd.mm.yy’) || ‘ ‘ || trim(amic_fstr(ZahlPosBetrag ,15,2)) , ‘ ‘ order by p.fibuv_id,p.fibuv_poszaehler ) , ‘AUSGL.’||count(*)||’ BELEGE LT.AVIS’, c.ZahlungId into out_character, out_avise,dc_ZahlungId from amic_dtaus_csatz c join zahlungsposition p on p.zahlungid = c.ZahlungId join fibuvorgstamm s on s.Fibuv_id=p.Fibuv_id where csatz_id=in_csatz_id group by c.zahlungid; -- -- Bei Überschreitung der maximalen Länge nur den Text „AUSGL. Nnn BELEGE LT.AVIS“ -- ausgeben. Und !!WICHTIG!! dem Programm mitteilen, dass eine Avise gedruckt -- werden soll. -- if ( length(out_character)>140) then set out_character = out_avise; Update Zahlungsbeleg set ZahlungAvise = 1 where ZahlungId = dc_ZahlungId; else Update Zahlungsbeleg set ZahlungAvise = 0 where ZahlungId = dc_ZahlungId; end if; return out_character; end
Wichtig: Das Feld Zahlungsavise in der Tabelle Zahlungsbeleg muss auf 1 gesetzt werden, um dem Programm mitzuteilen, dass eine Avise gedruckt werden muss. Ansonsten muss das Feld auf 0 gesetzt werden.
|
|
SEPA-Purpose-Code(TextSchlüssel) |
Hier können nur Daten eingegeben werden, die in der Tabelle SEPAPurposeCode hinterlegt wurden. Eine Auswahl mit F3 ist möglich ACHTUNG: Ist in diesem Feld ein Wert eingetragen, so wird beim SEPA-Verfahren dieser Wert mit übertragen.
|
|
DTINT-Verfahren trotz SEPA |
Dieses Feld erscheint nur, wenn der Steuerungsparameter „DTINT-Verfahren aktiv“ auf Ja steht. Ob Belege im SEPA-Verfahren abgewickelt werden wird Anhand von diversen Einstellungen entschieden. Setzt man dieses Feld jedoch auf Ja, werden alle diese Einstellungen ignoriert und die Zahlungsbelege werden im DTINT-Verfahren abgewickelt.
|
|
Alle folgenden Felder erscheinen nur bei aktiver Belegversand-Lizenz | |
|
Versandprofil |
Versandprofil aus dem Versandprofilstamm, welches zur Versendung dieser Belege verwendet werden soll. Wird hier nichts angegeben, so wird auch keine Avise versendet.
|
|
Formular |
Man kann hier ein vom Standard abweichendes Formular vom Typ Avise (Formulartyp=290) angeben um die Versandausgabe anders als die Druckausgabe zu formatieren. In der F3-Auswahl werden nur Formulare angeboten, bei denen die Archivierung aktiviert ist. Ist hier kein Formular angegeben, so wird dasselbe Formular wie beim Druck verwendet.
|
|
Formular Mailbody |
Avisen werden immer als Anhang an eine Mail versendet. Um die Mail selber zu gestalten, kann dafür hier ein Formular vom Typ Avise (Formulartyp=290) hinterlegt werden. Hier kann zusätzlich der Formularbereich „Avise Mail Betreffzeile“ für die Betreffzeile eingerichtet werden. Dieser Bereich wird nur beim Mailversand ausgewertet. Ein Beispielformular ist unter der Nummer -1100 zu finden. HINWEIS: Um Grafiken in das Formular mit einzubinden, kann man den bekannten HTML-Syntax <img src="cid:XXXXXX" alt="mein bild" /> verwenden. Für XXXXXX muss die GUID aus dem Formulararchiv, in dem die Grafik hinterlegt sein muss, angegeben werden.
|
|
Anstelle des Formulars für den Mailbody können auch Datenbankprozeduren verwendet werden. Ist in dem Feld „DB-Funktion Mailbody“ etwas eingetragen, dann werden die Prozeduren verwendet und das „Formular Mailbody“ wird ignoriert | |
|
FA-Eintrag Mailbody |
FA-ID des Formulararchiv-Eintrags eines Mailbody-Templates, das mit Hilfe der Body-Funktion zu einem Mailbody verarbeitet werden kann. Der Eintrag hier ist optional, jedoch muss, wenn kein Template verwendet werden soll, die DB-Funktion das Dokument komplett aufbauen.
|
|
DB-Funktion Mailbody |
Wird hier eine Funktion hinterlegt, dann wird das „Formular Mailbody“ ignoriert und die Funktion liefert den Text der Mail. Sie erhält als Parameter die Zahlungsid aus der Tabelle ZAHLUNGSBELEG. Die Funktion muss einen Wert vom Typ „long varchar“ zurückgeben. Trägt man in dem Feld einen Namen einer Prozedur ein, die noch nicht existiert, dann wird ein Template mit den korrekten Parametern angelegt und zum Bearbeiten geöffnet.
-- -- Funktion zum Erzeugen des Verwendungszwecks für SEPA. -- CREATE FUNCTION p_fibu_Belegversand_Avise1 (in in_ZahlungId integer) returns long varchar BEGIN declare dc_return long varchar; declare dc_statustext long varchar; declare
dc_fa_id integer; -- hier dc_return mit Inhalt füllen. Auslesen des Mailbodys aus dem Formulararchiv set dc_fa_id = (select VersandBodyFaId from zahlungsbeleg b join zahlungsart a on a.zahlartid=b.zahlartid where zahlungid = in_zahlungid); if (dc_fa_id !=0) then set dc_return = (select cast(AMICBLOB as long varchar) from amic_fa_get_from_key(dc_fa_id));
endif; -- hier ggf. Platzhalter ersetzen return
dc_return; exception when others then set dc_StatusText = errormsg()||' '||traceback(); call fehlerprotokoll ( in_text = ' p_fibu_Belegversand_Avise1'||dc_StatusText); -- WICHTIG: Dem System mitteilen, dass etwas schiefgegangen ist; resignal; END
Die Mailbody Funktion sollte in jedem Fall eventuell auftretende Fehler abfangen und ins Fehlerprotokoll schreiben und anschließend resignal ausführen, weil ansonsten das verarbeitende Programm nicht mitbekommt, ob ein Fehler aufgetreten ist.
|
|
DB-Funktion Betreff |
Diese Funktion wird nur ausgeführt, wenn auch die Funktion für den Mailbody angegeben wurde. Es existiert eine einfache Funktion AMIC_BELEGVERSAND_BETREFF_AVISE, die Verwendet werden kann. Gibt man einen Namen einer nichtexistierenden Funktion an, um eine neue Funktion zu erstellen, dann wird die Funktion AMIC_BELEGVERSAND_BETREFF_AVISE als Vorlage verwendet und man kann seine Erweiterungen einbauen.
create function "admin"."AMIC_Belegversand_Betreff_AVISE"(in in_ZahlungId integer)
returns long varchar
BEGIN DECLARE dc_StatusText long varchar; DECLARE dc_res long varchar;
set dc_res = (select 'Avise' || in_ZahlungId || ' für Zahlung vom ' || zahlungdatum from Zahlungsbeleg where Zahlungid = in_ZahlungId); return dc_res;
exception when others then set dc_StatusText = errormsg()||' '||traceback(); call fehlerprotokoll ( in_text = 'AMIC_BELEGVERSAND_BETREFF_AVISE'||dc_StatusText); return dc_res;
END
Tritt hier ein Fehler auf und ist das Ergebnis leer, wird der Festtext Avise als Betreff eingetragen. |
Organisatorisch sollen die Zahlungsarten für eRechnung so angelegt werden, dass diese nicht mit FIBU-Zahlungsarten verwechselt werden können.