ecspand Vertragsmanagement – Leasingverträge: Barwertberechnung

Aufbauend auf meinem letzten Post möchte ich heute die Barwertberechnung für Leasingverträge im Rahmen des #ecspand Vertragsmanagements näher beschreiben.

Die Berechnung des Barwertes für Leasingverträge ist in Excel über die Formel BW möglich:

= BW(Zins;Zzr;RMZ;Zw;F)

Hierbei ist

  • Zins = der Zinssatz pro Periode
  • Zzr = die Anzahl der Zahlungszeiträume
  • RMZ = der Betrag (die Annuität), der in jeder Periode gezahlt wird
  • Zw = der zukünftige Wert/Zielwert der nach der letzten Zahlung erreicht sein soll
  • F = die Fälligkeit der Rate

Leider werden finanzmathematische Formeln in SharePoint 2010 nicht unterstützt.

Die Barwertberechnung kann dennoch realisiert werden. Wir benötigen dazu folgende Metadaten aus einem Leasingvertrag:

  • Leasingrate / Datentyp Zahl
  • Verrechnung p.a. / Datentyp Zahl
  • Vorschüssig / Nachschüssig / Datentyp Boolean
  • Laufzeit in Jahren / Datentyp Zahl
  • Zins100 / Berechnetes Feld, Ausgabe Datentyp Zahl

Die Felder ecs_Laufzeit (in Jahren) und ecs_Zins100 werden für die Formel über Hilfsfelder realisiert.

ecs_Laufzeit =([Laufzeit in Monaten]/12)

ecs_Zins100 =(Zinssatz/100)

Der Bearbeiter gibt die Laufzeit in Monaten und den Zinssatz als nummerischen Wert an.


Als Formel der Barwertberechnung wird folgende Formel zugrunde gelegt:

=(1+ecs_Zins100/[Verrechnungen p.a.])^([Verrechnungen p.a.]/360)*WENN(UND([Vorschüssig / Nachschüssig]=1);(ecs_Zins100+[Verrechnungen p.a.])/[Verrechnungen p.a.];1)*Leasingrate*[Verrechnungen p.a.]*(1-([Verrechnungen p.a.]/([Verrechnungen p.a.]+ecs_Zins100))^([Verrechnungen p.a.]*[Laufzeit in Jahren]))/ecs_Zins100

In Excel gestaltet sich die Formel wie folgt:


Der Barwert wird in der ecspand Vertragsmanagement Oberfläche wie folgt angezeigt:


Neben dem Barwert werden weiterhin noch die Mindestleasingzahlung, der Barwert in % und der Restwert benötigt. Da der Barwert in % auf Basis des Zeitwertes berechnet wird, muss dieser als einfache Dreisatzrechnung berechnet werden.


Die Mindestleasingzahlung wird wie folgt berechnet:

ecs_Mindestleasingzahlung =(Leasingrate*([Laufzeit in Jahren]*12)) / Ausgabe Zahl

ecs_BerechnungBarwertinProzent =((Barwert*100)/Zeitwert)

Interessant ist die Restwertberechnung:

ecs_Restwert =(Investitionssumme-(([Laufzeit in Jahren]*12)*(Leasingrate+[Leasingrate / Service]+[Leasingrate / Sonstiges])))*-1

Für Leasingverträge sind weiterhin noch die Entscheidungen nach der Betrachtung der Wirtschaftlichkeit und aufgrund von IFRS Grundsätzen interessant. Beide Felder werden wieder über berechnete Spalten auf Basis von Ja/Nein Auswahlfeldern realisiert:

Entscheidung nach Betrachtung der Wirtschaftlichkeit =WENN([Entscheidung nach Betrachtung der Wirtschaftlichkeit (Ja/Nein)];“Ja“;“Nein“)

Entscheidung aufgrund IFRS-Grundsätzen =WENN([Entscheidung aufgrund IFRS-Grundsätzen (Ja/Nein)];“Ja“;“Nein“)


Die Berechnung der Bewertung Operate/Finance Lease wird im Blogbeitrag ecspand Vertragsmanagement – Leasingverträge: Berechnung der Unterscheidung nach IFRS Operate/Finance Lease behandelt.

ecspand Vertragsmanagement – Leasingverträge: Berechnung der Unterscheidung nach IFRS Operate/Finance Lease

Im einem meiner Vertragsmanagement Projekte muss für Leasingverträge die Unterscheidung nach IFRS in Operate/Finance Lease mit berechneten Spalten als Ergebnis einer WENN/ODER Funktion mit SharePoint Mitteln umgesetzt werden.

Zum Verständnis der Thematik: Laut Wiki –>

IFRS definiert in der Bestimmung IAS 17 eine Unterscheidung in Finance Lease und Operate Lease. Beispielsweise qualifiziert IFRS einen Vertrag als Finance Lease, wobei das Objekt analog dem Mietkauf dem Anlagevermögen des Leasingnehmers zugeordnet wird, wenn der Barwert aller vom Leasingnehmer garantierter Zahlungen aus dem Vertrag 95 % des Objektwertes übersteigt. Eine analoge Bedingung kennt US GAAP für die Klassifikation als Capital Lease, definiert jedoch die Grenze des Barwerts aller garantierter Zahlungen als 90 % des Verkehrswertes des Objektes bei Leasingbeginn.

Finance Leases (Capital Leases) sind wirtschaftlich als Finanzierungskäufe zu werten, während Operate Leases reine Mietverhältnisse darstellen.

Die Rechnungslegung von Verträgen mit Klassifizierung Finance Leases erfolgt wie bei Capital Lease nach US GAAP mit gleichen Nachteilen für den Leasingnehmer.

Ein Leasingvertrag wird nach IFRS als Finance Lease qualifiziert, wenn eine der folgenden fünf Bedingungen zutrifft, ansonsten handelt es sich um Operate Lease:

  • Es erfolgt ein Eigentumsübertrag am Ende der Vertragslaufzeit.
  • Es gibt eine für den Leasingnehmer vorteilhafte Kaufoption am Ende der Vertragslaufzeit. (bargain option)
  • Die Vertragslaufzeit ist 75 % oder mehr der wirtschaftlichen Nutzungszeit des Objektes. (Die Regel spricht nur von major part, was unterschiedlich ausgelegt wird.)
  • Der Barwert aller vom Leasingnehmer zu leistenden Zahlungen (minimum lease payments), berechnet mit dem Effektivzins des Vertrages, beträgt nahezu den Verkehrswert des Objekts bei Vertragsbeginn. (substantially all of fair market value) (meist mit 90 % angesetzt)
  • Es handelt sich um Spezialleasing, das Objekt ist ohne größere Modifikationen für Dritte nicht nutzbar.

Soweit zum Verständnis. In SP2010 beruht somit die Berechnung der Entscheidungsgrundlage auf 5 Spalten:

  • Rechtlicher Eigentümer bei Vertragsende –> JA/NEIN Feld: Rückgabewert Boolean
  • Kauf-/ Übernahmeoption –> JA/NEIN Feld: Rückgabewert Boolean
  • Gegenstand auf Unternehmen zugeschnitten –> JA/NEIN Feld: Rückgabewert Boolean
  • Berechnete Spalte: Beträgt der Barwert der Mindestleasingzahlung mind.90% des Zeitwertes? mit der Excelformel =WENN(Barwert>0,9;1;0) Rückgabewert Boolean
  • Berechnete Spalte: Beträgt die Leasinglaufzeit mehr als 75% der wirtschaftl.Lebensdauer? mit der Excelformel =WENN([Berechnung wirtschaftliche Lebensdauer in %]>75;1;0) Rückgabewert Boolean

Nun möchte man annehmen, dass es ohne Probleme möglich ist aus den gegebenen Variablen mittels berechneter Spalte und der Formel

=WENN(ODER([Rechtlicher Eigentümer bei Vertragsende];[Kauf-/ Übernahmeoption];[Beträgt der Barwert der Mindestleasingzahlung mind.90% des Zeitwertes?];[Beträgt die Leasinglaufzeit mehr als 75% der wirtschaftl.Lebensdauer?];[Gegenstand auf Unternehmen zugeschnitten]);“ Finance Lease“;“Operate Lease“)

die gewünschte Entscheidungsgrundlage zu errechnen. Wer dies ohne Hilfsfelder versucht, wird sehr schnell feststellen, dass SharePoint bei der Berechnung etwas falsch macht.

Die oben angezeigte Formel verlangt gleiche Datentypen – in Excel funktioniert die Formel mit den Werten 0 = Nein und 1 = Ja. Der Rückgabewert der beiden berechneten Spalten ist Boolean, ABER: lassen wir uns den Rückgabewert anzeigen, sehen wir, dass das Ergebnis der berechneten Spalten als Ja/Nein konfiguriert ist und auch Ja und Nein ausgegeben wird.

Schauen wir uns nun die Rückgabewerte der Boolean Felder an, sehen wir das ebenfalls Ja/Nein als Rückgabewert konfiguriert ist, und ebenfalls Ja/Nein ausgegeben wird. Obige Formel funzt trotzdem nicht.

Ok. Um dem Fehler auf die Schliche zu kommen konfiguriere ich Hilfsfelder, welche noch einmal expliziert alle Ausgaben anzeigen:

ecs_HelpBarwertMindest =([Beträgt der Barwert der Mindestleasingzahlung mind.90% des Zeitwertes ORIG?])

ecs_HelpBarwertMindest =([Beträgt die Leasinglaufzeit mehr als 75% der wirtschaftl.Lebensdauer ORIG?])

ecs_HelpGegenstandUnt =([Gegenstand auf Unternehmen zugeschnitten])

ecs_HelpGuenstKauf =([Kauf-/ Übernahmeoption])

ecs_HelpRechtlEigent =([Rechtlicher Eigentümer bei Vertragsende])

Der von der Formel zurückgegebene Datentyp ist jeweils Ja/Nein.


In der Tat ist die Anzeige der beiden Hilfsfelder für die Berechnung des Barwerts der Mindestleasingzahlung und die Berechnung der Leasinglaufzeit als 75% der wirtschaftl.Lebensdauer sehr interessant.

Für die als Boolean ist der Rückgabewert und die Anzeige: Ja/Nein

Für die beiden Berechnungen ist der Rückgabewert ebenfalls Ja/Nein – angezeigt wird 0/1.

Die Formel baue ich nun mit den Hilfsfeldern zusammen:

=WENN(ODER(ecs_HelpRechtlEigent;ecs_HelpGuenstKauf;ecs_HelpBerechWirtLeben;ecs_HelpBarwertMindest;ecs_HelpGegenstandUnt);“Finance Lease“;“Operate Lease“)

Auf Basis dieser Formel stimmt das Ergebnis und die Formel funktioniert wie in Excel:



Der Kunde möchte natürlich für die berechneten Felder eine Ja/Nein Anzeige. Daher wird in der Formel auch ein Feld mit dem Anzeigename + ORIG verwendet.

Für die korrekte Berechnung nach IFRS wird offensichtlich die Ausgabe 0/1 benötigt . Also verwenden wir wieder 2 Hilfsfelder:

Beträgt der Barwert der Mindestleasingzahlung mind.90% des Zeitwertes? =WENN(ecs_HelpBarwertMindest=1;“Ja“;“Nein“)

Beträgt die Leasinglaufzeit mehr als 75% der wirtschaftl.Lebensdauer? =WENN(ecs_HelpBerechWirtLeben=1;“Ja“;“Nein“)

Als Ausgabeformat wähle ich „Eine Textzeile“.

Problem gelöst – alle glücklich …

Hide „Close“ Button on Disp- or Editform / Ausblenden des „Schließen“ Buttons in der Disp- oder Editform

Nachdem ich ein paar jQuery und Java Scripts für diese Anforderung ausprobiert habe, nutze ich nun ein simples StyleSheet um den „Schließen“ Button auszublenden:

<style>

    .ms-toolbar input

    {

    display:none;

    }

</style>

Den Style packe ich in eine .txt Datei und setze das Ganze mit einem CEWP auf die Disp- und Editform .. that´s all.

Fixed Width Master Pages in SharePoint 2010 / Dynamischer Design Mode

Nach gut 9 Monaten Abstinenz möchte ich heute wieder einen Beitrag posten.

In den vergangen Monaten war sehr viel zu tun – nachdem  ich meinen AG gewechselt habe, stand in erster Linie das Einarbeiten in neue Thematiken und Projektbereiche im Vordergrund. Dazu zählen nun in erster Linie Projekte im ecspand und ecspand Contract Management Umfeld.

Ab jetzt möchte ich meine Zeit wieder nutzen, um spezielle Probleme meiner täglichen Arbeit und insbesondere Lösungsmöglichkeiten, sofern für die Allgemeinheit bestimmt, darzustellen.

Ich hatte in der letzten Woche eine kurze Anfrage an meine Kollegen hier bei der d.velop Portal Systems gestellt, ob jemand eine Lösungsmöglichkeit kennt um die feste breite eines SharePoint 2010 Portals im Design Mode zu umgehen. D.h.: es soll nach Möglichkeit nicht horizontal gescrollt werden wenn ich einen WebPart bearbeiten möchte.

Nach einiger Recherche im Netz war diesmal eine schnelle Lösung leider nicht in Sicht. Ich habe zwar einiges an Material gefunden, z.B. wie ich eine feste Master Pager Breite trotz Ribbon oder mit dynamischem Ribbon erstellte, gepasst hat leider auf das spezielle Projektproblem nichts. Die nachfolgenden Links haben dennoch zum Verständnis der Problematik beigetragen:

Letztendlich hat das Projektteam 2 Lösungen erarbeitet.

  1. Die einfachste Lösung: um den in der master Datei in einer Tabelle festgelegter und in unser css angepassten „s4-bodyContainer“ wird ein <div> id=“s4-bodyContainer“  </div> gepackt .. das reicht im Grunde genommen für die Dynamisierung aus, sofern andere CSS Bestandteile nicht weiter angepasst sind.
    Die Definition in der CSS kann so erfolgen:#s4-bodyContainer {
    width: 980px !important;
    margin-left:auto;
    margin-right:auto;
    }
  2. Wer das Ganze hochdynamisch will, macht es mit JavaScript so:

<script language=“javascript“>

var ribbon=document.getElementById(„ctl00_PageStateActionButton“);

if(ribbon) {

document.write(„<style type=’text/css‘>#s4-bodyContainer {width: auto !important;</style>“);

}

</script>

Der Dank geht an Herrn Stroink für die Skript Lösung.

Einbinden von YouTube Videos auf SharePoint 2010 Seiten (via SharePoint and relevant Technologies)

Danke für den Post – ich nutze sonst eine andere Möglichkeit (Inhaltseditor mit .txt File) .. dieser Workaround hier ist eleganter.

Einbinden von YouTube Videos auf SharePoint 2010 Seiten Vor kurzem kam die Frage auf, wie man am besten YouTube Videos in SharePoint Seiten einbindet (embedded). Out-of-the-Box gibt es dazu keine einfache Funktionalität. Bloßes Copy & Paste in den HTML Editor des Inhalts-Editor-Webparts führen zu keinem Erfolg, da der Editor den eingefügten Code nochmals modifiziert/encodiert (XHTML). Ich habe nun zwei Lösungen gefunden: man benutzt den HTML Form Web Part und bindet den auf der YouTube abgerufenen … Read More

via SharePoint and relevant Technologies

Migration strategies and Step by Step – Migrating from MOSS 2007 to SharePoint 2010 (via Mrin’s Blog)

Thx 4 this post …

Migration strategies and Step by Step – Migrating from MOSS 2007 to SharePoint 2010 I was reading a post from Apoorv Durga, about migration strategies on software development. It is a fantastic post. It is really true that many of the migration falls due to poor planning or sometime negligence towards the basic. SharePoint 2010 lunched yesterday and a very interesting product from Microsoft. Many organisations already considering migrate from the existing version of MOSS 2007 to SP 2010. Organisations need to be very careful as … Read More

via Mrin’s Blog

SharePoint 2010 Service Accounts

Da grad die Frage bzgl. der Service Account´s in SP2010 an mich herangetragen wurde hier eine kurze Aufstellung zu den benötigten Accounts mit Berechtigungen als Zusammenfassung aus dem Todd Klindt´s Admin Blog:

Source: Todd Klindt´s Admin Blog

Author: Todd Klindt

Account name

Role

Domain rights

Local SharePoint Server rights needed

SQL rights needed

sp_install Used to install SharePoint binaries. Domain User Local administrator on all SharePoint boxes dbcreator and securityadmin SQL roles
sp_farm Farm account. Used for Windows Timer Service, Central Admin and User Profile serve Domain User Local Admin during UPS provisioning, log on locally right None
sp_webapp App pool id for content web apps Domain User None None
sp_serviceapps Service app pool id Domain User None None, unless using Office Web Apps. Them must give access to content databases manually
sp_search Search process id Domain User None None
sp_content Account used to crawl content Domain User None None
sp_userprofile1 Account used by the User Profile services to access Active Directory Must have Replicating Change permissions to AD. Must be given in BOTH ADUC and ADSIEDIT. If domain is Windows 2003 or early, must also be a member of the „Pre-Windows 2000“ built-in group. None None
sp_superuser2 Cache account Domain User Web application Policy Full Control

Web application super account setting

None
sp_superreader2 Cache account Domain User Web application Policy Full read

Web application super reader account setting

None

 

1) See http://technet.microsoft.com/en-us/library/ee721049.aspx and http://www.harbar.net/articles/sp2010ups.aspx

2) http://www.sharepointchick.com/archive/2010/10/06/resolving-the-super-user-account-utilized-by-the-cache-is.aspx

Daneben ist dies hier eine hilfreiche Quelle: http://technet.microsoft.com/en-us/library/ee662513.aspx