Belege: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
 
(19 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 8: Zeile 8:
**[[HBCI|HBCI-Anbindung]]
**[[HBCI|HBCI-Anbindung]]
**[[DATEV|DATEV(tm) eG Anbindung]]
**[[DATEV|DATEV(tm) eG Anbindung]]
 
*[[Jahresabschluss]]
*[[Order]]
*[[Order]]
**[[Buchungsfolge]]
**[[Buchungsfolge]]
Zeile 76: Zeile 76:


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
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 ===
=== STA ===
Zeile 117: Zeile 125:
== Spalteneinstellungen ==
== Spalteneinstellungen ==


''Spalten Speicherungs Symbol Taste''
* Folgendes Symbol wird verwendet, es symbolisiert eine Spaltengrenze mit 2 Pfeilen (Spalte)
<br>
Jedes Mal, wenn Sie an den Spalteneinstellungen etwas geändert haben müssen Sie diese Taste oberhalb der Tabelle drüchen. Sie symbolisiert eine Spaltengrenze mit 2 Pfeilen.


     |
     |
Zeile 125: Zeile 131:
     |
     |


''Spaltenbreiten''
* Jedes Mal, wenn Sie an den Spalteneinstellungen etwas geändert haben müssen Sie diese Taste oberhalb der Tabelle drücken.
<br>
* Dadurch wird die Einstellung im Anwender-Verzeichnis gespeichert (Reihenfolge, Breite und Umfang).
Sie könnenn 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.  
* Wollen Sie dies als Standard für ALLE OrgaMon-Anwender sichern, dann speichern Sie diese Datei eine Ebene höher (als in .\Anwender\)
<br>
** dadurch werden in der Zukunft auch Änderungen ignoriert. Wollen Sie die Standard-Einstellungen wiederherstellen so müssen Sie diese "globale" Datei löschen
''Spalten unterdrücken''
 
<br>
=== Spaltenbreiten ===
Spalten, die für Sie völlig unterinteressant sind schieben Sie auf nur wenige Pixel zusammen. Bei Speichern wird die Spalte dann entfernt.
 
<br>
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 wiederherstellen''
 
=== 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".
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 ==
Zeile 155: Zeile 160:
== spezielle Aufgaben ==
== 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.
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 ...


=== BerechneBeleg-1.txt ===
* 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.


Im Beispiel wird eine Artikel-Zugabe zum Beleg hinzugebucht wenn der Kunde diese nicht bereits erhalten hat.
=== <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_ARTIKEL_R="164312"
  LET ZUGABE_TEXT = "Susi Polka - HeBu Musikverlag"
  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)
  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"
  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')")
  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"
  "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 ==
== Storno ==

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.