Verträge und Rechnungen

6. Juni 2013 10:10

Hallo zusammen,

ich habe ein paar Fragen und hoffe Ihr könnt mir weiterhelfen.
Um unsere Vertriebsprozesse etwas zu optimieren muss ich das CRM-System etwas anpassen.

Folgende Punkte sind gerade bei uns offen:
1. Mitarbeiter kann aus einem erfüllten Auftrag einen (Service-) Vertrag erstellen.
2. Zu diesem (Service-) Vertrag soll der Mitarbeiter direkt eine Rechnung stellen.


Zu 1:
Ich habe eine Workflow erstellt, den der Mitarbeiter ausführen kann bei Bedarf.
Dieser funktioniert, nachdem ich einen kleinen Fehler gefunden habe. (Service-) Verträge haben jedoch ein Feld "Vertragsendedatum".
Dieses "Vertragsendedatum" ist abhängig bei uns vom "Vertragsstartdatum".
Vertragsendedatum = Verstragsstartdatum + 1 Jahr.
Zur Frage:
Wie kann ich diese Berechnung durchführen?
Ein Beispiel einer Implementierung wäre hilfereich.

zu 2:
Im MS CRM 4.0 konnte man Rechnungen erzeugen auf Basis der Seriendruckvorlage.
Derzeit kann unser CRM-System nur die Entität Rechnung erzeugen. Auf Basis dieser Entität möchte ich gerne eine PDF/ Word Rechnung erzeugen. (Bei der Seriendurckvorlage kann ich diese Entität nicht auswählen)
Gibt es die Möglichkeit eine Seriendruckvorlage zu erstellen mit dem ich einfach Rechnungen erstellen kann?


Allgemeine Verständnisprobleme:
Einen erstellen Vertrag kann fakturieren, kopieren.
Einen fakturierten Vertrag kann ich zurückstellen, kündigen und kopieren.

- Ein Fakturierter Vertrag ist nicht änderbar.
- Ein kopierter Vertrag hat eine neue Vertragsnummer
- Ein zurückgestellter Vertrag ist pausiert.
- Gekündigte Verträge kann ich erneuern und behalten somit die bestehende Vertragsnummer

Was ist der Best-Practise bei Verträgen die sich automatisch verlängern, für die es keinen zweiten Auftrag im CRM gibt.
Beispiel:
Ein Vertrag wird am 1.6.2013 abgeschlossen läuft bis zum 31.5.2014, wenn der Kunde nicht kündigt verlängert sich der Vertrag automatisch um 1 Jahr.

Wie würdet ihr in diesem Fall vorgehen?

Ich danke euch für eure Unterstützung.

Gruß

Bastian

Re: Verträge und Rechnungen

6. Juni 2013 16:36

Hallo Bastian,

ich gebe mal eine Antwort zu Frage 1:
Ich gehe davon aus, dass du einen Workflow zu dem Auftrag erstellt hat. Dieser Workflow erstellt einen Datensatz für die Entität Vertrag und du füllst vermutlich das Startdatum mit einem Datumfeld aus dem Auftrag. Dann kannst du auch das Vertragsendedatum im gleichen Schritt automatisch berechnen lassen. Mit Cursor in das Feld Vertragsendedatum gehen, dann über den Formular-Assistenten die folgende Feldeinstellungen von oben nach unten durchführen: Dynamische werte / Festlegen auf / 12 Monate / Nach / Auftrag / "feld für Vertragsstartdatum"

Ich würde grundsätzlich überlegen, ob man für die Verträge (statt der Standardentität) eine eigene, benutzerdefinierte Entität verwendet. Dann kommt man um die Verständnisprobleme herum (-> Vertrag muss fakturiert sein, Vertrag kann nicht geändert werden). Das kommt aber darauf an, wie Ihr das System nutzen wollt. Da ist im Regelfall etwas Beratung sinnvoll. Im Standard ist es halt gut, dass die aufgewendete Zeit aggregiert wird.


Überlegung zu Automatischer Verlängerung (spontan, ohne Proof of concept)
Da gibt es mehrere Optionen. Ich würde eine Relation zum zugrundeliegenden Vertrag ergänzen und beim Auftrag auf jeden Fall noch ein Feld "gekündigt am" ergänzen. Im Auftrag kann man das Feld jederzeit ändern, auch wenn der Vertrag selbst gesperrt ist. Und über die Relation kann ein Workflow vom Vertrag auf den Auftrag schauen. Wenn das Feld beim Ablaufdatum des Vertrages leer ist, dann ist das ein Fall für die automatische Verlängerung.

Option1: Du kannst sofort bei Vertragsbeginn einen Workflow starten, der bis zum Ablauftermin wartet. Dann wacht der WF auf und prüft das Feld "gekündigt am". Wenn das Feld leer ist, dann legt der Workflow einen neuen Datensatz an (oder verlängert bei das Ablaufdatum des vorhandenen DS) und erstellt dann auch sofort wieder einen wartenden Workflow für die nächste Prüfung. Da sind halt dann ggf. viele Workflow im Wartestatus, die man auch regelmäßig im Rahmen der Systemwartung im Auge haben muss.

Option2: du machst dir eine erweiterte Suche, die ein Anwender immer zum Monatsende durchführt: Alle Verträge, die letzten Monat ausgelaufen sind und bei denen das verknüpfte Feld "gekündigt am" noch leer ist -> An jeden diese Datensätze hängst du dann einen Workflow, der die Laufzeit um 12 Monate verlängert (oder dir einen neuen Vertrag für die nächsten 12 Monate anlegt). Bei den Workflow kannst du dann auch in vorgeschalteten Schritten den Status auf Entwurf ändern, Daten aktualisieren und dann wieder den Status zurücksetzen.

Option3: Du programmierst ein Plugin, das regelmäßig alle Vertrage durchackert und die o.g. Schritte durchführt