Belege: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(99 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== Belegkopf ==
[[Bild:Belege.png|800px]]
* Typ
 
==Weitere Themen==
 
*[[Buchfuehrung|Buchführung]]
**[[Zahlungstypen]]
**[[Zahlung]]
**[[HBCI|HBCI-Anbindung]]
**[[DATEV|DATEV(tm) eG Anbindung]]
*[[Jahresabschluss]]
*[[Order]]
**[[Buchungsfolge]]
**[[Agent]]
**[[Buchfuehrung|Buchführung]]
 
*[[Mahnsystem]]
*[[Zahlungsart]]
*[[Rabatt]]
 
*[[Rechnungsnummer]]
 
 
__TOC__
 
==Definition==
 
<b><u>Belege sind auftragsbezogene Dokumente, die sich an den Kunden richten.</u></b>
<br><br>
 
==Unterteilung==
 
<b>Angebote</b> In Vorbereitung eines Auftrages.<br>
<b>[[Vertrag|Verträge]]</b> Vorlagen zur Autoerzeugung von Rechnungsbelegen aus den Vertragsdaten heraus. Verträge werden dann gepflegt, sobald eine mehrfache Rechnungsstellung erwartet wird.<br>
<b>Packlisten</b> Dienen dem Kommisionierer als Hinweisliste für Lagerplätze und richtliste.<br>
<b>Lieferscheine</b> Als Beilage zur aktuellen Lieferung beschreiben sie den Umfang der aktuellen Lieferung.<br>
<b>Rechnungen</b> Formulierung von Leistungen und Stellung von Forderungen an den Kunden.<br>
<b>Garantielisten</b> Ein Garantiebeleg enthält alle relevanten Daten, die für einen eventuellen spätere Garantieabwicklung notwendig sind<br>
 
Der Begriff 'Beleg' wurde als Überbegriff gewählt, um zu verdeutlichen, dass es sich um eine Zusammenstellung von mehreren Belegposten zu einem Belegdokument handelt.<br>
<br>
<br>
  p (kleines P) bedeutet "portofrei" in allen Teillieferungen. Es wird gar  
== Belegkopf Eingenschaften ==
  keine Versandregel angewendet.
 
  P (grosses P) bedeutet "Porto erzwingen" in allen Teillieferungen
=== STATUS ===
 
==== Rechnungsbelege ====
 
  STATUS        1fabrg
                  ^^^^^
                  ││││└Geliefert
                  │││└Rechnung
                  ││└Bestellt
                  │└Agent
                  └Fehler
 
==== Oderbelege ====
 
  STATUS        1fuzeg
                  ^^^^^
                  ││││└Geliefert
                  │││└Erwartet
                  ││└Zurück
                  │└unbestellt
                  └Fehler
 
 
 
=== TYP ===
 
*      normale Versandartikel Logik verwenden.
  p       (kleines P) bedeutet "portofrei" in allen Teillieferungen. Es wird gar  
        keine Versandregel angewendet.
  P       (grosses P) bedeutet "Porto erzwingen" in allen Teillieferungen
<br>
<br>


OrgaMon entscheidet anhand eines Regelwerkes, welcher Versandartikel zu der aktuellen Lieferung passt. Dabei werden erstmal grundsätzlich in 3 Gruppen unterteilt:
=== GN ===
 
GENERATION ist ein Zähler der sich bei Relevanten Änderungen aus Kundensicht ändert. Relevante Änderungen sind die, die den Auftrag verändern so dass ein erneuter Ausdruck notwendig wird. So zum Beispiel MENGEN Änderungen, PREIS Änderung, Änderungen in den ZUTATEN
 
=== Vorlage-Präfix ===


* Frei: Es wird kein Versandartikel hinzugefügt.
* Internes Datenbank-Feld <code>VORLAGE_PREFIX</code>
* Zwang: Der Warenwert der aktuellen Lieferung wird auf "0" gesetzt. Damit wird das weitere Regelwerk benutzt.
* die Wahl des Namens der HTML-Vorlage bei der Beleg-Ausbelichtung kann umfassend gesteuert werden
* Auto: Mit dem echten Warenwert wird das Regelwerk benutzt.
* Zwingend kann man hier einen vorangestellten Namens-Vorspann speichern, z.B. "Alt"
** danach wird die HTML-Vorlage "<b>Alt</b>Rechnung.html" gesucht, anstelle von "Rechnung.html"
* Des weiteren gelten die Einstellungen in der Spalte STA ...


Vorgehensweise bei der Einteilung
=== STA ===


'P' im BTYP -> Zwang
* internes Datenbankfeld <code>BSTATUS</code>
'p' im BTYP -> Frei
* beinflusst die Wahl der Druckvorlage, die zum Ausbelichten verwendet wird
Rabattkunde -> Zwang
* beinflusst das Verbuchen (Briefumschlag)
Teillieferung>0 -> Frei
** entweder wird das Ausbelichtete Dokument nur dauerhaft umbenannt uns wegkopiert (z.B. bei "Z")
Ausländer -> Zwang
** oder es wird eine echte Verbuchung des Beleges durchgeführt
Auftragswert>=[[PortoFreiAbBrutto]] -> Frei
-> Auto


Auto und Zwang Versand gehen in die Versandregel, dabei wird die Tabelle VREGEL wird zu Rate gezogen, welcher Portoartikel zum aktuellen Beleg automatisch hinzugefügt werden soll.


== Versand Buchungstypen ==
STA Bedeutung                                            Vorlage
*  default, normale Rechnung                            "Rechnung3spaltig_n.html" wenn nicht vorhanden "Rechnung.html"
A  Angebot                                              "Angebot.html"
G  Garantiebeleg                                        "Garantie.html"
Z  Zeiterfassungsbeleg (ohne Ausgangsrechnungsbuchung)  "Zeitabrechnung.html"
V  Vertrag                                              wie default
[x] als Lieferschein                                    "Lieferschein.html"


Typ "2" (erstmals für Deutsche Post)
=== TLL ===


  die erste Programmierung erfolgte in Hinblick auf EASYLOG, kann aber auf
  <leer>  in Teillieferungen
  andere Systeme erweitert werden!
  3      an den 3 angegebenen (Wunsch) Terminen
* für jeden Vorgang wird eine eigene Datei angelegt
  Z      Alles zusammen in einer Lieferung sobald alles da.
  * alle Parameter werden mit in die Datei ausgegeben (neues Memo-Feld beim
  Versender: Beispiel für Post: Trennzeichen ist "|" ("AltGr"+">").
  Code ist "ANSI".


    folgende Mussfelder sind notwendig in den Parametern, es können aber
=== N ===
    weitere Postfelder hinzugenommen werden. Diese "Parameter" Felder
    werden immer als "hintere" Felder in die Ausgabe-Datei übernommen.


    POOL_V_ABS_REFNR= <Inhalt siehe Polling-Dokument>
* N Netto JA/NEIN Feld
    POOL_V_MAND_REFNR= <Inhalt siehe Polling-Dokument>
    POOL_V_TEILNAHME= <Inhalt siehe Polling-Dokument>
    POOL_V_PRODUKT_CN=12
    POOL_V_NN_WAEHRUNG=EUR
    POOL_WERT_WAEHRUNG=EUR


  Info
bei Rechnungen in der Regel angekreuzt. Diese Einstellung wird bei der Neuanlage eines Beleges aus dem Systemparameter [[Systemeinstellungen#EinzelpreisNetto|EinzelpreisNetto]] übernommen. Sieht auch dortige Erklärung.<br>
  ====
In Der Buchführung ergibt sich aus der MwSt Problematik ein Rundungsproblem, da [[Buchfuehrung#Rundungsproblem_im_Sortimentbucher|hier]] besprochen wird.<br>


    * Post-Pfad (liegt im Netz) angeben in "EXPORTPFAD" (mit Slash am ende!)
Belege wählen sich über die Person, an die sie gerichtet ist, den Nummernkreis. Siehe dazu [[Stempel]].
    * Maske für Datei ist "DP_*.txt"
    * POOL_GEWICHT ist in kg ohne weitere volumenangaben
    * Die Txt-Datei enthält immer die Spalten-Titel, ich hoffe man kan sowas
      einstellen wie "erst ab 2. Zeile kommen Daten". Wenn nicht -> anrufen


  Zur Anwendung: Ihr legt für jedes Post-Produkt, das Ihr Nutzen wollt einen
=== INTERN_INFO ===
                  eigenen Versender an (mit den jeweiligen Produkt-Parametern).
                  Über eine automatische Auswahl des Produktes können wir dann
                  auch noch sprechen. Oder über die automatische Generierung
                  der Produkt-Ziffern kann man auch noch sprechen...


  Fehlt noch: wie können wir eine z.B. für Tracking/Paket-Rückfragen aussage-
* Druckauftrag=JA|<b>NEIN</b>: bewirkt eine Kopie des html Beleges in das Spool-Verzeichnis "Druckauftrag"
              kräftige Paket-ID-Nummer zurücklesen. Wie lauten hier die Pfade
* verbuchen=JA|<b>NEIN</b>: bewirkt sofortiges verbuchen beim Kopieren!
              und Ausgabe Dateien?
* label=JA|<b>NEIN</b>: bewirkt eine "JA" für den Paket-Kleber Aufdruck!
              --> Programmierung in "German Parcel Inspect" -> wieder typ
                  bezogen "iGermanParcelID" sollte wegfallen, das kann er
                  selbst ermitteln (alle Versender mit eingetragenem Pfad)
                  Auswertungsart wieder über den Typ!
                  Typ ev. auftrennen in "ImportTyp" und "ExportTyp"


== Spalteneinstellungen ==


Danach greift die Versandregel.
* Folgendes Symbol wird verwendet, es symbolisiert eine Spaltengrenze mit 2 Pfeilen (Spalte)
 
    |
  <-|->
    |
 
* Jedes Mal, wenn Sie an den Spalteneinstellungen etwas geändert haben müssen Sie diese Taste oberhalb der Tabelle drücken.
* Dadurch wird die Einstellung im Anwender-Verzeichnis gespeichert (Reihenfolge, Breite und Umfang).
* Wollen Sie dies als Standard für ALLE OrgaMon-Anwender sichern, dann speichern Sie diese Datei eine Ebene höher (als in .\Anwender\)
** dadurch werden in der Zukunft auch Änderungen ignoriert. Wollen Sie die Standard-Einstellungen wiederherstellen so müssen Sie diese "globale" Datei löschen
 
=== Spaltenbreiten ===
 
Sie können bei der Beleg-Tabelle, sowie bei der Postentabelle die Breite der Spalten anpassen. Bewegen Sie dazu die Maus auf die Tabellenüberschriften. Zielt man genau auf die Grenzen zwischen 2 Spalten verändert sich der Mauszeiger, und man kann durch Gedrückthalten der linken Maustaste die Grenze verschieben.
 
=== Spalten unterdrücken ===
 
Spalten, die für Sie völlig unterinteressant sind schieben Sie auf nur wenige (weniger als 9) Pixel zusammen. Bei Speichern wird die Spalte dann entfernt.
 
=== Spalten wiederherstellen ===
 
Rechter Mausklick auf die "Spalten Speicherungs Symbol Taste".


* Art
<br>
A (grosses A) bedeutet der Belege ist ein ANGEBOT
G (grosses G) bedeutet der Belege ist ein GARANTIERBELEG
<br>
== Postenblock ==
== Postenblock ==
<br>
<br>
linker Mausklick auf die "rote" Belegsumme liefert mehr Berechnungs-Infos.<br>
linker Mausklick auf die "rote" Belegsumme liefert mehr Berechnungs-Infos.<br>
"Texte"-Reiter ist dunkelblau sobald hier Text enthalten sind<br>
"Texte"-Reiter ist dunkelblau sobald hier Text enthalten sind<br>
== Mengenlogik ==
-negative Rechnungsmengen vermindern die Auftragsmenge<br>
-positive Rechnungsmengen erhöht die Rechnungsmenge
== spezielle Aufgaben ==
Bei jeder Belegberechnung kann eine freie Programmierung für besondere Aufgaben verwendet werden. Dazu wird das in den OrgaMon integrierte D - BASIC verwendet. Im Verzeichnis D-BASIC des OrgaMon Ordners können entsprechende Programme in Form von .txt Dateien angelegt werden. Typische Aufgaben sind ...
* Sicherstellen dass passende Zugabe/Promo-Artikel zum Beleg hinzugefügt werden.
* Sicherstellen dass ein gewisser HTML-Vorlage-Prefix ausgewählt wird.
* Automatische Rabattierung ab einer gewissen Umsatzsumme.
* Automatische Ergänzung von speziellen Artikeln um Zusatzinfos im Beleg.
=== <code>BerechneBeleg-1.txt</code> ===
* Dieses Programm wird direkt VOR jeder Beleg-Summen-Berechnung (Beleg durchrechnen, Symbol "Daumen") gestartet
* Im Programm stehen die Variablen <code>PERSON_R</code> und <code>BELEG_R</code> zur Verfügung.
* Im Beispiel wird eine Artikel-Zugabe zum Beleg hinzugebucht wenn der Kunde diese nicht bereits erhalten hat.
LET ZUGABE_ARTIKEL_R="164312"
LET ZUGABE_TEXT = "Susi Polka - Musikstück"
LET COUNT = SQL("select COUNT(BELEG.RID) from BELEG join POSTEN on (POSTEN.ARTIKEL_R=" & ZUGABE_ARTIKEL_R & ") and (POSTEN.BELEG_R=BELEG.RID) where BELEG.PERSON_R=" & PERSON_R)
IF COUNT>"0" THEN "ENDE"
PRINT SQL("insert into POSTEN (RID,POSNO,BELEG_R,MENGE,ARTIKEL_R,PREIS,ARTIKEL,ZUTAT) VALUES (0,1," & BELEG_R & ",1," & ZUGABE_ARTIKEL_R & ",0,'" & ZUGABE_TEXT & "','Y')")
"ENDE"
=== <code>BelegStatusBuchen-1.txt</code> ===
* Der Beleg-Status wird ganz am Ende jeder Beleg-Berechnung aufgerufen, nachdem alle Buchungen bereits durchgeführt wurden
* Im Programm stehen die Variablen <code>PERSON_R</code> und <code>BELEG_R</code> zur Verfügung.
* Im Beispiel wird der Beleg-Prefix gesetzt, abhängig davon ob mehr als 45% Umsatz des Beleges aus einem gewissen Sortiment stammen. Ein anderer Prefix ermöglicht es ganz andere HTML-Vorlagen zu verwenden für die Ausbelichtung des Beleges.
PRINT "BelegStatusBuchen-1-Version 16.03.2018"
LET PREFIX=SQL("select VORLAGE_PREFIX from BELEG where RID=" & BELEG_R)
PRINT "Aktueller Prefix : '" & PREFIX & "'"
IF PREFIX="" THEN "DO_JOB"
IF PREFIX="SIEBKJOS" THEN "DO_JOB"
PRINT "Respektiere alternativen Prefix!"
GOTO "FERTIG"
 
"DO_JOB"
IF PERSON_R="289" THEN "DO_SIEBKJOS"
LET GESAMT_ANZAHL = SQL("select SUM(POSTEN.MENGE) from POSTEN where (BELEG_R=" & BELEG_R & ") and ((ZUTAT<>'Y') or (ZUTAT is null))")
LET GESAMT_ANZAHL = VAL(GESAMT_ANZAHL,"0","0")
IF GESAMT_ANZAHL="0" THEN "FERTIG"
LET SIEBKJOS_ANZAHL = SQL("select SUM(POSTEN.MENGE) from POSTEN join ARTIKEL on (POSTEN.ARTIKEL_R=ARTIKEL.RID) and (ARTIKEL.VERLAG_R in (142,457,495,2595988)) where (POSTEN.BELEG_R=" & BELEG_R & ")")
PRINT "Gesamt  : " & GESAMT_ANZAHL
PRINT "SIEBKJOS : " & SIEBKJOS_ANZAHL
LET PERCENT = VAL((SIEBKJOS_ANZAHL / GESAMT_ANZAHL) * "100","2","1")
PRINT "Percent : " & PERCENT & "%"
IF PERCENT="45,0" THEN "DO_HEBU"
IF PERCENT<"45,0" THEN "DO_HEBU"
"DO_SIEBKJOS"
PRINT "DO_SIEBKJOS"
IF PREFIX="SIEBKJOS" THEN "FERTIG"
PRINT "Trage 'SIEBKJOS' ein"
PRINT SQL("update BELEG set VORLAGE_PREFIX='SIEBKJOS' where RID=" & BELEG_R)
GOTO "FERTIG"
"DO_HEBU"
PRINT "DO_HEBU"
IF PREFIX="" THEN "FERTIG"
PRINT "Lösche 'SIEBKJOS' raus"
PRINT SQL("update BELEG set VORLAGE_PREFIX=null where RID=" & BELEG_R)
"FERTIG"
PRINT "ENDE"
END
== Storno ==
* Rechnungsstorno: In "Z" die Forderung löschen. Den "Rechnungsbetrag" des Beleges um den in "Z" gelöschten Betrag vermindern.
'''Verbuchte Rechnung rückabwickeln'''
# (<i>Arbeitszeit</i>) Alle Arbeitszeiten wieder in den Zustand "Nicht abgerechent" setzen.<br>Budget->Reiter "Arbeitszeit Belege"->bei "abgerechnetes in den Belegen" die Belegnummer eintragen.<br>In der Spalte Beleg steht eingeklammert die RIDs der einzelnen Zeiteinträge. Bei all diesen RIDs muss die Spalte BELEG_R gelöscht werden; dies erfolgt im Programmpunkt "Zeiterfassung".
# (<i>Rechnungsbeleg</i>) Vor Löschung, wenn gewünscht den Beleg mit der Kopie-Funktion in eine Neuanlage kopieren. Beleg nun mit "-" löschen.
# (<i>Forderungen löschen</i>) Durch die Beleglöschung werden die dazugehörigen Forderungen nicht ausgeglichen. Dies muss manuell storniert oder gelöscht werden. Durch "Z" beim Kunden. Danach auf den grünen Stern bei "Beleg" um ALLE Beleg anzuzeigen (danach auf Start). Der entsprechenden Forderung wurde bereits durch die Beleglöschung die Belegnummer entzogen. Die entsprechende Forderung mit "-" löschen.<br>

Aktuelle Version vom 16. März 2023, 16:09 Uhr

Weitere Themen


Definition

Belege sind auftragsbezogene Dokumente, die sich an den Kunden richten.

Unterteilung

Angebote In Vorbereitung eines Auftrages.
Verträge Vorlagen zur Autoerzeugung von Rechnungsbelegen aus den Vertragsdaten heraus. Verträge werden dann gepflegt, sobald eine mehrfache Rechnungsstellung erwartet wird.
Packlisten Dienen dem Kommisionierer als Hinweisliste für Lagerplätze und richtliste.
Lieferscheine Als Beilage zur aktuellen Lieferung beschreiben sie den Umfang der aktuellen Lieferung.
Rechnungen Formulierung von Leistungen und Stellung von Forderungen an den Kunden.
Garantielisten Ein Garantiebeleg enthält alle relevanten Daten, die für einen eventuellen spätere Garantieabwicklung notwendig sind

Der Begriff 'Beleg' wurde als Überbegriff gewählt, um zu verdeutlichen, dass es sich um eine Zusammenstellung von mehreren Belegposten zu einem Belegdokument handelt.

Belegkopf Eingenschaften

STATUS

Rechnungsbelege

 STATUS         1fabrg
                 ^^^^^
                 ││││└Geliefert
                 │││└Rechnung
                 ││└Bestellt
                 │└Agent
                 └Fehler

Oderbelege

 STATUS         1fuzeg
                 ^^^^^
                 ││││└Geliefert
                 │││└Erwartet
                 ││└Zurück
                 │└unbestellt
                 └Fehler


TYP

*       normale Versandartikel Logik verwenden.
p       (kleines P) bedeutet "portofrei" in allen Teillieferungen. Es wird gar 
        keine Versandregel angewendet.
P       (grosses P) bedeutet "Porto erzwingen" in allen Teillieferungen


GN

GENERATION ist ein Zähler der sich bei Relevanten Änderungen aus Kundensicht ändert. Relevante Änderungen sind die, die den Auftrag verändern so dass ein erneuter Ausdruck notwendig wird. So zum Beispiel MENGEN Änderungen, PREIS Änderung, Änderungen in den ZUTATEN

Vorlage-Präfix

  • Internes Datenbank-Feld VORLAGE_PREFIX
  • die Wahl des Namens der HTML-Vorlage bei der Beleg-Ausbelichtung kann umfassend gesteuert werden
  • Zwingend kann man hier einen vorangestellten Namens-Vorspann speichern, z.B. "Alt"
    • danach wird die HTML-Vorlage "AltRechnung.html" gesucht, anstelle von "Rechnung.html"
  • Des weiteren gelten die Einstellungen in der Spalte STA ...

STA

  • internes Datenbankfeld BSTATUS
  • beinflusst die Wahl der Druckvorlage, die zum Ausbelichten verwendet wird
  • beinflusst das Verbuchen (Briefumschlag)
    • entweder wird das Ausbelichtete Dokument nur dauerhaft umbenannt uns wegkopiert (z.B. bei "Z")
    • oder es wird eine echte Verbuchung des Beleges durchgeführt


STA Bedeutung                                            Vorlage
*   default, normale Rechnung                            "Rechnung3spaltig_n.html" wenn nicht vorhanden "Rechnung.html"
A   Angebot                                              "Angebot.html"
G   Garantiebeleg                                        "Garantie.html"
Z   Zeiterfassungsbeleg (ohne Ausgangsrechnungsbuchung)  "Zeitabrechnung.html"
V   Vertrag                                              wie default
[x] als Lieferschein                                     "Lieferschein.html"

TLL

<leer>  in Teillieferungen
3       an den 3 angegebenen (Wunsch) Terminen
Z       Alles zusammen in einer Lieferung sobald alles da.

N

  • N Netto JA/NEIN Feld

bei Rechnungen in der Regel angekreuzt. Diese Einstellung wird bei der Neuanlage eines Beleges aus dem Systemparameter EinzelpreisNetto übernommen. Sieht auch dortige Erklärung.
In Der Buchführung ergibt sich aus der MwSt Problematik ein Rundungsproblem, da hier besprochen wird.

Belege wählen sich über die Person, an die sie gerichtet ist, den Nummernkreis. Siehe dazu Stempel.

INTERN_INFO

  • Druckauftrag=JA|NEIN: bewirkt eine Kopie des html Beleges in das Spool-Verzeichnis "Druckauftrag"
  • verbuchen=JA|NEIN: bewirkt sofortiges verbuchen beim Kopieren!
  • label=JA|NEIN: bewirkt eine "JA" für den Paket-Kleber Aufdruck!

Spalteneinstellungen

  • Folgendes Symbol wird verwendet, es symbolisiert eine Spaltengrenze mit 2 Pfeilen (Spalte)
    |
  <-|->
    |
  • Jedes Mal, wenn Sie an den Spalteneinstellungen etwas geändert haben müssen Sie diese Taste oberhalb der Tabelle drücken.
  • Dadurch wird die Einstellung im Anwender-Verzeichnis gespeichert (Reihenfolge, Breite und Umfang).
  • Wollen Sie dies als Standard für ALLE OrgaMon-Anwender sichern, dann speichern Sie diese Datei eine Ebene höher (als in .\Anwender\)
    • dadurch werden in der Zukunft auch Änderungen ignoriert. Wollen Sie die Standard-Einstellungen wiederherstellen so müssen Sie diese "globale" Datei löschen

Spaltenbreiten

Sie können bei der Beleg-Tabelle, sowie bei der Postentabelle die Breite der Spalten anpassen. Bewegen Sie dazu die Maus auf die Tabellenüberschriften. Zielt man genau auf die Grenzen zwischen 2 Spalten verändert sich der Mauszeiger, und man kann durch Gedrückthalten der linken Maustaste die Grenze verschieben.

Spalten unterdrücken

Spalten, die für Sie völlig unterinteressant sind schieben Sie auf nur wenige (weniger als 9) Pixel zusammen. Bei Speichern wird die Spalte dann entfernt.

Spalten wiederherstellen

Rechter Mausklick auf die "Spalten Speicherungs Symbol Taste".

Postenblock


linker Mausklick auf die "rote" Belegsumme liefert mehr Berechnungs-Infos.
"Texte"-Reiter ist dunkelblau sobald hier Text enthalten sind

Mengenlogik

-negative Rechnungsmengen vermindern die Auftragsmenge
-positive Rechnungsmengen erhöht die Rechnungsmenge

spezielle Aufgaben

Bei jeder Belegberechnung kann eine freie Programmierung für besondere Aufgaben verwendet werden. Dazu wird das in den OrgaMon integrierte D - BASIC verwendet. Im Verzeichnis D-BASIC des OrgaMon Ordners können entsprechende Programme in Form von .txt Dateien angelegt werden. Typische Aufgaben sind ...

  • Sicherstellen dass passende Zugabe/Promo-Artikel zum Beleg hinzugefügt werden.
  • Sicherstellen dass ein gewisser HTML-Vorlage-Prefix ausgewählt wird.
  • Automatische Rabattierung ab einer gewissen Umsatzsumme.
  • Automatische Ergänzung von speziellen Artikeln um Zusatzinfos im Beleg.

BerechneBeleg-1.txt

  • Dieses Programm wird direkt VOR jeder Beleg-Summen-Berechnung (Beleg durchrechnen, Symbol "Daumen") gestartet
  • Im Programm stehen die Variablen PERSON_R und BELEG_R zur Verfügung.
  • Im Beispiel wird eine Artikel-Zugabe zum Beleg hinzugebucht wenn der Kunde diese nicht bereits erhalten hat.
LET ZUGABE_ARTIKEL_R="164312"
LET ZUGABE_TEXT = "Susi Polka - Musikstück"
LET COUNT = SQL("select COUNT(BELEG.RID) from BELEG join POSTEN on (POSTEN.ARTIKEL_R=" & ZUGABE_ARTIKEL_R & ") and (POSTEN.BELEG_R=BELEG.RID) where BELEG.PERSON_R=" & PERSON_R)
IF COUNT>"0" THEN "ENDE"
PRINT SQL("insert into POSTEN (RID,POSNO,BELEG_R,MENGE,ARTIKEL_R,PREIS,ARTIKEL,ZUTAT) VALUES (0,1," & BELEG_R & ",1," & ZUGABE_ARTIKEL_R & ",0,'" & ZUGABE_TEXT & "','Y')")
"ENDE"

BelegStatusBuchen-1.txt

  • Der Beleg-Status wird ganz am Ende jeder Beleg-Berechnung aufgerufen, nachdem alle Buchungen bereits durchgeführt wurden
  • Im Programm stehen die Variablen PERSON_R und BELEG_R zur Verfügung.
  • Im Beispiel wird der Beleg-Prefix gesetzt, abhängig davon ob mehr als 45% Umsatz des Beleges aus einem gewissen Sortiment stammen. Ein anderer Prefix ermöglicht es ganz andere HTML-Vorlagen zu verwenden für die Ausbelichtung des Beleges.
PRINT "BelegStatusBuchen-1-Version 16.03.2018"

LET PREFIX=SQL("select VORLAGE_PREFIX from BELEG where RID=" & BELEG_R)
PRINT "Aktueller Prefix : '" & PREFIX & "'"
IF PREFIX="" THEN "DO_JOB"
IF PREFIX="SIEBKJOS" THEN "DO_JOB"
PRINT "Respektiere alternativen Prefix!"
GOTO "FERTIG"
 
"DO_JOB"
IF PERSON_R="289" THEN "DO_SIEBKJOS"
LET GESAMT_ANZAHL = SQL("select SUM(POSTEN.MENGE) from POSTEN where (BELEG_R=" & BELEG_R & ") and ((ZUTAT<>'Y') or (ZUTAT is null))")
LET GESAMT_ANZAHL = VAL(GESAMT_ANZAHL,"0","0")
IF GESAMT_ANZAHL="0" THEN "FERTIG"
LET SIEBKJOS_ANZAHL = SQL("select SUM(POSTEN.MENGE) from POSTEN join ARTIKEL on (POSTEN.ARTIKEL_R=ARTIKEL.RID) and (ARTIKEL.VERLAG_R in (142,457,495,2595988)) where (POSTEN.BELEG_R=" & BELEG_R & ")")

PRINT "Gesamt   : " & GESAMT_ANZAHL
PRINT "SIEBKJOS : " & SIEBKJOS_ANZAHL

LET PERCENT = VAL((SIEBKJOS_ANZAHL / GESAMT_ANZAHL) * "100","2","1")

PRINT "Percent : " & PERCENT & "%"

IF PERCENT="45,0" THEN "DO_HEBU"
IF PERCENT<"45,0" THEN "DO_HEBU"

"DO_SIEBKJOS"
PRINT "DO_SIEBKJOS"
IF PREFIX="SIEBKJOS" THEN "FERTIG"
PRINT "Trage 'SIEBKJOS' ein"
PRINT SQL("update BELEG set VORLAGE_PREFIX='SIEBKJOS' where RID=" & BELEG_R)
GOTO "FERTIG"

"DO_HEBU"
PRINT "DO_HEBU"
IF PREFIX="" THEN "FERTIG"
PRINT "Lösche 'SIEBKJOS' raus"
PRINT SQL("update BELEG set VORLAGE_PREFIX=null where RID=" & BELEG_R)

"FERTIG"
PRINT "ENDE"
END

Storno

  • Rechnungsstorno: In "Z" die Forderung löschen. Den "Rechnungsbetrag" des Beleges um den in "Z" gelöschten Betrag vermindern.

Verbuchte Rechnung rückabwickeln

  1. (Arbeitszeit) Alle Arbeitszeiten wieder in den Zustand "Nicht abgerechent" setzen.
    Budget->Reiter "Arbeitszeit Belege"->bei "abgerechnetes in den Belegen" die Belegnummer eintragen.
    In der Spalte Beleg steht eingeklammert die RIDs der einzelnen Zeiteinträge. Bei all diesen RIDs muss die Spalte BELEG_R gelöscht werden; dies erfolgt im Programmpunkt "Zeiterfassung".
  2. (Rechnungsbeleg) Vor Löschung, wenn gewünscht den Beleg mit der Kopie-Funktion in eine Neuanlage kopieren. Beleg nun mit "-" löschen.
  3. (Forderungen löschen) Durch die Beleglöschung werden die dazugehörigen Forderungen nicht ausgeglichen. Dies muss manuell storniert oder gelöscht werden. Durch "Z" beim Kunden. Danach auf den grünen Stern bei "Beleg" um ALLE Beleg anzuzeigen (danach auf Start). Der entsprechenden Forderung wurde bereits durch die Beleglöschung die Belegnummer entzogen. Die entsprechende Forderung mit "-" löschen.