PDA

Vollständige Version anzeigen : Provisionsberechnung


pfadi
23.11.2003, 20:49
Hallo miteinander,

ich bin zur Zeit dabei eine Versicherungsdb zu erstellen. Nun klappt die Sache mit den Kunden und Verträgen soweit ganz gut. Im Form. Verträge sind Beginn und Ablauf des Vertrages hinterlegt. Nur das grosse Problem ist die Provisionsberechnung. Es gibt ja Veträge bzw Beträge, die 1x monatlich oder 1x jährlich bzw 4x jährlich oder auch halbjährlich bezahlt werden. Ich habe 1 Feld in dem ich die Zahlungsweise eintrage. Wie muß ich nun die Berechnung anstellen, dass ich die monatlichen bzw. 1/2 jährlichen bzw. 1/4 jährlichen Beiträge im aktuellen Monat berrechnen kann.
Wie kann ich über eine Abfrage die Sache lösen

Danke schon mal

Gruß

Pfadi

JBond
23.11.2003, 21:45
Hallo...

ich hab da ne Idee..

Mit der Funktion DatDiff kannst du die vergangenen Monate berechnen...

Nun kannst du eine Abfrage machen mit den Feldern Provision, und Provisionshäufigkeit, und natürlich dem datum, samt einem Feld mit der DatDiff Funktion (Monate) dazu noch ein ExtraFeld mit der Provisionssumme.

Im Summenfeld brauchst du nun die eigentliche Berechnung-ich würde es über wenn Funktionen regeln:

Wenn( [ProvHaeuf] = "jährlich"; [Provison] * int([Monate]/12) ; wenn ([ProvHaeuf] = "halbjährlich"; [Provision] * int([Monate]/6);... u.s.w.

Hoffe es hilft...

Gruß...JBond

Alle Angaben ohne Gewähr... :D

pfadi
25.11.2003, 22:39
Hallo JBond,

die Sache mit Datdiff und und der Berechnung klappt endlich. Leider hat die Sache den Haken, dass es zwei verschiedene Provisionen gibt. Es gibt eine Abschlußprov, die nach der ersten Zahlung des Kunden an den Vertreter gezahlt wird (nur einmal!). Dann gibt es die Bestandsprovision die jedesmal, wenn der Kunde zahlt an den Vertreter geht (dh.: monatlich, 1/4 , 1/2 jährlich). Mein Problem ist jetzt folgendes: Wenn der Kunde monatlich bezahlt kriegt der Vertreter auch seine Kohle. Um jetzt den Umsatz pro Monat zu kriegen brauche ich was. Ich habe Beginn des Vertrages und das Ende.
Wenn der Vertreter jetzt im November seine Prov wissen will und der Kunde zahlt monatlich 22€ und der Vertrag hat im Mai angefangen. kriegt der Vertreher auch im November sein Geld. Wie kann ich das anstellen, daß er mir das auch anzeigt?

Ich weiß, viele Fragen auf einmal, bin halt ein newbee


Gruß

Pfadi

JBond
26.11.2003, 06:58
also wenn ich dich richtig verstanden habe, möchtest du, dass dir angezeigt wird, wieviel der Vertreter in einem Monta durch Verträge mit monatlichen Raten bekommt...

dazu machst du eine neue Abfrage (Vertreter, Provision, Provisionshäufigkeit), lässt dir nur die monatlich zu vergütenden Verträge anzeigen (Kriterium bei Provisionshäufigkeit: "monatlich") und stellst den Funktionsassistenten an...
dann lässt du Gruppierung bei Vertreter und Provisionshäufigkeit, und stellst bei Provision Summe ein...
damit wird dir die Provisionssumme aller bestehenden Verträge mit monatlichen Zahlungen für jeden Vertreter berechnet...

Gruß...JBond

pfadi
26.11.2003, 16:22
Hallo JBond,

mit den monatlichen Beträgen ist das ja klar. Das läuft auch! Aber das Problem ist, dass die Beiträge, die nicht mtl. bezahlt werden zum Fälligkeitsdatum angezeigt werden z.B. der Vertrag beginnt am 01.06 und wird 1/2 jährl. bezahlt also zum 01.06 und zum 01.01 und der Vertreter ruft die Prov-Berechnung am 01.01 auf muß die Prov ja auch angezeigt werden usw.

Vielleicht weißt du ja einen Rat?

Gruß

Pfadi

JBond
27.11.2003, 06:39
Guten Morgen...

also, dafür brauchst du wieder das DatDiff-Feld mit der Anzahl der Monate, sowie das Feld mit dem Vertreter, und den Einzelprovisionen...

du benötigst also die Verträge, bei denen gerade eine volle Zahlungsperiode vorbei ist?
Dazu könntest du die "Mod"-Funktion nehmen, diese liefert dir den Rest bei einer ganzzahligen Division ( Bsp. 17 / 5 = 3 Rest 2.... 17 mod 5 = 2 ).
Auf deine Aufgabe bezogen heißt das, die Funktion liefert dir für jeden Vertrag die Anzahl der Monate bis zur nächsten Auszahlung.
Wenn dieses Feld 0 ist, muss eine Auszahlung erfolgen...

du machst also wieder eine wenn-Verknüpfung:

Wenn( [ProvHaeuf] = "jährlich"; [Monate] mod 12 ; wenn ([ProvHaeuf] = "halbjährlich"; [Monate] mod 6;(...);0)))

du musst hier alle Zahlungsmodi, bis auf monatlich aufführen...für monatlich gilt die letzte 0 als "Else"-Bedingung der letzten Schleife...heißt wenn keine der aufgezählten Bedingungen erfüllt wird, tritt das in Kraft....und da die monatlichen Verträge ja in jeder Berechnung drin sein müssen, muss ihr Wert immer 0 sein.

Als Kriterium für dieses Feld nimmst du nun = 0.

Nun gruppierst du bei Vertreter, und dem gerade erstellten Feld, und bildest bei den Provisionen die Summe...

Ich hoffe, das hilft dir weiter...

Gruß...JBond

pfadi
09.12.2003, 21:25
Hi JBond,

erstmal vielen Dank für deine Hilfe. :D :D War wirklich klasse und läuft fast so wie es soll. Aber halt leider nur fast!

Der Haken ist der, dass es BestandsProvision gibt. Das läuft so wie`s sein soll. Und es gibt eine Abschlussprovision, die nur einmalig bezahlt wird. Nämlich bei Abschluss. Wenn ich jetzt eine Abfrage erstellen will (mit Assistenten) die mir die Sparten, BestandsProv und AbschlussProv anzeigen soll fängt das Gemecker an, dass er die Tabellen nicht verbinden kann. Wenn ich alles über eine Abfrage laufen lasse bringt er mir bei der nächsten Zahlung wieder die AbschlussProv mit rein. Und das soll ja nicht sein, da einmalige Zahlung.

Weißt du vielleicht noch einen Rat

Gruß

pfadi

JBond
09.12.2003, 22:28
wie wär's mit einer zweiten Abfrage...die erste für die periodischen Zahlungen, lässt du wie beschrieben, und die zweite Abfrage zeigt die Abschlussprovisionen des aktuellen Monats...
diese beiden Ergebnisse kannst du dann separat in deinem Formular/Bericht anzeigen lassen, entweder die einzelnen Daten, oder nur die Provisionssummen...

wenn du's mit einer Abfrage lösen willst, dürftest du bei Abschlussprovision nichts in's Kriterium schreiben, sondern würdest etwas schreiben wie:

Wenn([Monate]=0;[Abschlussprovision];0)...um nur bei Verträgen des aktuellen Monats Werte anzuzeigen...

oder du schreibst in ein Feld

Wenn([Monate]=0;[Abschlussprovision];[Provision])...um bei neuen Verträgen die Abschlussprovision, bei laufenden Verträgen die Teilzahlungen(wenn vorhanden) anzuzeigen...

Alle Angaben ohne Gewähr... :D

HTH