Montag, 7. Juli 2014

Verkaufspreise runden

In AvERP gibt es ein Verfahren um Verkaufspreise zu runden. Da ich etwas Zeit in die Klärung der Anforderung: ";... wie VK-Preise mit Cent-Beträgen für Geräte im Wert > 10.000,00€ verhindert werden können"; investiert habe - hier kurz die Ergebnisse:
Blick in AvERPedia zum Firmenstamm,Verkaufpreisberechnung und Preislisten:
"Im Feld VK-Rundungsschema kann eine mögliche Rundung der Kundenpreise definiert werden. Die Rundungen werden bei der Verkaufspreisberechnung berücksichtigt und wirken sich auf die Preise in 'Artikelstamm – Kundenpreise' aus. Bisher wird nur das 'Kennzeichen 1' als VK-Rundungsschema berücksichtigt. Dies bewirkt Folgendes: Alle Preise bis 500€ werden auf eine Nachkommastelle (0,1 bzw. ein Zehntel)) gerundet. Alle Preise über 500€ bis 1000€ werden auf 0,5, alle Preise über 1000€ auf 1 gerundet (keine Nachkommastellen). 

Die Verkaufspreisberechnung in AvERP beruht auf der Grundlage von Preislisten mit prozentuellen Zuschlagsätzen, kundenindividuellen Preisen und Rabattgruppen. 

Grundsätzlich wird jedem Kunden im Kundenstamm eine Preisliste zugeordnet.
Falls für einen oder mehrere Mandanten andere Preislisten gelten, können diese hier definiert werden. Dadurch berechnen sich die Verkaufspreise für diesen Kunden in Abhängigkeit zu den mandantenbezogenen Preislisten und Zuschlägen.
Die Preise für denselben Artikel können von Preisliste zu Preisliste variieren, wodurch der Verkaufspreis für den Kunden festgelegt werden kann.
Im Feld Währung kann die preislistenspezifische Währung hinterlegt werden. Diese muss mit der Währung im Kundenstamm in der Registerkarte Merkmale, Feld 'Währung' übereinstimmen.
Im Feld Zuschlag kann jeder Preisliste eine pauschale Erhöhung zugeordnet werden. Negative Werte gleichen allerdings einem Rabatt.
Ist im Firmenstamm hinterlegt, dass die Verkaufspreisberechnung nach Zuschlag erfolgen soll, so werden einem Artikel im Artikelstamm, nach Eingabe der VK – Grundlage, automatisch alle Preislisten mit dem entsprechenden Zuschlag zugeordnet, die im Zuschlag von der Basispreisliste abweichen. Die Basispreisliste ist in der Mandantenverwaltung unter der Registerkarte Verkauf definiert.
Daraufhin kann im Artikelstamm dem entsprechenden Artikel in der neuen Preisliste ein Preis zugewiesen werden, den der Artikel nur in dieser Preisliste hat. Indem einem Kunden die eigene Preisliste zugeordnet wird , ist es möglich, aufgrund dieser Preisliste differenzierte Kundenpreise für einen Artikel festzulegen.
Da AvERP mehrere Mandanten verwalten kann, kann pro Mandant eine Preisliste hinterlegt werden. Dies erfolgt im Unterprogramm zum Kunden. Die Preisliste, die dem Kunden im Kundenstamm zugeordnet wird, wird automatisch im Unterprogramm gespeichert. "

Wichtig ist es also die Basiseinstellung zum "VK-Preis Runden", das VK-Rundingsschema im Firmenstamm zu setzen.
Wenn im Firmenstamm Rundungsschema 0 eingestellt ist werden VK-Preisen in den Preislisten nicht gerundet!
In der zentralen SQL Procedure P_VK_RUNDEN sind die Rundungsschemen1 bis 3 angelegt, auch wenn die 3-Punkte-Taste im Firmenstamm wie z.B. in der Version 2011.A02 nur die Eahl zwischen 0 und 1 läßt.
Zentrale Prozedur zum Runden von VK_Preisen ist P_VK_RUNDEN. Dort ist hinterlegt:
Rundungsschema 1:
-- VK-Preis runden -- bis 500 = 0.1 auf Zehntel € -- bis 1000 = 0.5 auf Halbe € -- über 1000 = 1 auf Ganze €
Da drüber hinaus Rundungsschema 2:
-- bis Betrag 10 = 0.1-- bis Betrag 100 = 1-- bis Betrag 10000 = 10-- > 10000 = 50
Rundungsschema 3:
-- bis 1 = 0.05 -- bis 500 = 0.1-- bis 1000 = 0.5-- über 1000 = 1
Die Prozedur P_VK_RUNDEN wird grundsätzlich nämlich über die Update imd Insert-Trigger auf den Kundenpreislisten aufgrufen, wenn sich in den Preislisten etwas ändert.

Stellt sich die Fragen:
Wann erfolgt die Berechnung der VK-Preise
1. Artikel wird neu angelegt K_VK zugelassen ist gesetzt. Es wird das Preisberechnungsschema aus dem Mandantenstamm ausgewertet.
2. Die VK-Grundlage im Artikelstamm-Preise wird geändert
 
BMAND. HK1_BER_SCHEMA

0 – Standard
eine Preisliste je Mandant

Berechnung nur für die Standard-Preisliste (hier VK1)

1 – mit Margen
benutzt P_VK_MARGE BERECHNUNG

Holt HK1 und MARGE_
BRUTTO aus Mandant. Spezf. Kalkulationsblatt BSAHK
(Funktion auf den1.Blick unklar.)

2. Alle Preislisten
Nach Änderung in Basis-Preisliste (VK-Grundlage HK1) werden Preise in allen Kundenpreislisten Neu berechnet.

 

Anmerkung:

VK-Preise werden zusätzlich nach den Einstellungen in der Währungstabelle BWAER zum EURo gerundet.

Konsequent werden alle Gesamt-VK-Preise je Auftragsposition
nach dem Rundungsschema zur Mandantenwährung EUR gerundet.

Blöd, wenn man nach Programm-Update auf eine Version 2015 oder höher
die Vorbelegung auf 0 Nachkommastellen im Verkauf lässt und grundsätzlich "immer aufrundet"