Belege: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
 
(97 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Bild:Belege.png|800px]]
==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>
== Belegkopf Eingenschaften ==
== Belegkopf Eingenschaften ==
* Typ
 
<br>
=== STATUS ===
  p (kleines P) bedeutet "portofrei" in allen Teillieferungen. Es wird gar  
 
  keine Versandregel angewendet.
==== Rechnungsbelege ====
  P (grosses P) bedeutet "Porto erzwingen" in allen Teillieferungen
 
  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>


== Versandkostenberechnung für den Endkunden ==
=== 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 <code>VORLAGE_PREFIX</code>
* 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 "<b>Alt</b>Rechnung.html" gesucht, anstelle von "Rechnung.html"
* Des weiteren gelten die Einstellungen in der Spalte STA ...
 
=== STA ===
 
* internes Datenbankfeld <code>BSTATUS</code>
* 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"


''Auftragswert'' : Bruttowert des ganzen Auftragsvolumens, unabhängig von der Lieferbarkeit.
=== TLL ===
''Warenwert'' : Bruttowert dieser Teillieferung, also Wert von allem lieferbaren.


OrgaMon entscheidet anhand eines Regelwerkes, welcher Versandartikel zu der aktuellen Lieferung passt. Dabei werden erstmal grundsätzlich in 3 Gruppen unterteilt:
<leer>  in Teillieferungen
3      an den 3 angegebenen (Wunsch) Terminen
Z      Alles zusammen in einer Lieferung sobald alles da.


* Frei: Es wird kein Versandartikel hinzugefügt.
=== N ===
* Zwang: Der Warenwert der aktuellen Lieferung wird auf "0" gesetzt. Damit wird das weitere Regelwerk benutzt.
* Auto: Mit dem echten Warenwert wird das Regelwerk benutzt.


Vorgehensweise bei der Einteilung: Die Regeln werden von oben nach unten abgearbeitet, trifft eine zu, so wird die Regelkette verlassen, und der Status neben dem "->" wird als gesetzt angekommen.
* N Netto JA/NEIN Feld


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>


'P' im BTYP -> Zwang
Belege wählen sich über die Person, an die sie gerichtet ist, den Nummernkreis. Siehe dazu [[Stempel]].
'p' im BTYP -> Frei
Rabattkunde -> Zwang
Teillieferung>0 -> Frei
Ausländer -> Zwang
Auftragswert>=[[PortoFreiAbBrutto]] -> Frei
-> Auto


"Frei" führt dazu, dass kein neuer versandartikel hinzugenommen wird.
=== INTERN_INFO ===
"Auto" und "Zwang" gehen in die Versandregel (Zwang mit dem Warenwert=0), dabei wird die Tabelle VREGEL wird zu Rate gezogen, welcher Portoartikel zum aktuellen Beleg automatisch hinzugefügt werden soll.


== Versand Buchungstypen ==
* Druckauftrag=JA|<b>NEIN</b>: bewirkt eine Kopie des html Beleges in das Spool-Verzeichnis "Druckauftrag"
* verbuchen=JA|<b>NEIN</b>: bewirkt sofortiges verbuchen beim Kopieren!
* label=JA|<b>NEIN</b>: bewirkt eine "JA" für den Paket-Kleber Aufdruck!


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


die erste Programmierung erfolgte in Hinblick auf EASYLOG, kann aber auf
* Folgendes Symbol wird verwendet, es symbolisiert eine Spaltengrenze mit 2 Pfeilen (Spalte)
andere Systeme erweitert werden!
* für jeden Vorgang wird eine eigene Datei angelegt
* 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
    |
    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>
* Jedes Mal, wenn Sie an den Spalteneinstellungen etwas geändert haben müssen Sie diese Taste oberhalb der Tabelle drücken.
    POOL_V_MAND_REFNR= <Inhalt siehe Polling-Dokument>
* Dadurch wird die Einstellung im Anwender-Verzeichnis gespeichert (Reihenfolge, Breite und Umfang).
    POOL_V_TEILNAHME= <Inhalt siehe Polling-Dokument>
* Wollen Sie dies als Standard für ALLE OrgaMon-Anwender sichern, dann speichern Sie diese Datei eine Ebene höher (als in .\Anwender\)
    POOL_V_PRODUKT_CN=12
** dadurch werden in der Zukunft auch Änderungen ignoriert. Wollen Sie die Standard-Einstellungen wiederherstellen so müssen Sie diese "globale" Datei löschen
    POOL_V_NN_WAEHRUNG=EUR
    POOL_WERT_WAEHRUNG=EUR


  Info
=== Spaltenbreiten ===
  ====


    * Post-Pfad (liegt im Netz) angeben in "EXPORTPFAD" (mit Slash am ende!)
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.  
    * 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
=== Spalten unterdrücken ===
                  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-
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.
              kräftige Paket-ID-Nummer zurücklesen. Wie lauten hier die Pfade
              und Ausgabe Dateien?
              --> 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"


=== Spalten wiederherstellen ===


Danach greift die Versandregel.
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, 17: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.