Vertrag signieren lassen
Kommt ein Vertrag an, sendet ihn die Karte „Zur Signatur senden“ der Reihe nach an die anfordernde Person als „Auftraggeber“ und an den Vertragspartner als „Auftragnehmer“, mit einer einfachen elektronischen Signatur (EES) und 14 Tagen Frist, ohne Skript. Vorname, Nachname und E-Mail-Adresse des Vertragspartners stehen in drei Feldern, die der Workflow am Vertrag anlegt; nach dem Hochladen sind sie meist noch leer. Dann wartet der Workflow, bevor er etwas sendet: Die anfordernde Person bekommt die Aufgabe „Vertragspartner erfassen“, trägt die drei Felder am Vertrag ein und markiert die Aufgabe als erledigt; das geht erst, wenn jedes Feld einen Wert hat. Nach zwei Arbeitstagen erinnert Acriva sie einmal daran, und der Workflow wartet, bis die Aufgabe erledigt ist oder jemand ihn abbricht. Stehen die Angaben schon am Vertrag, sendet der Workflow sofort; hat die KI-Erfassung sie gelesen, prüft die anfordernde Person sie vor dem Versand. Acriva erkennt die Signaturfelder selbst; findet es keinen sicheren Platz, legt die anfordernde Person die Felder in der Aufgabe „Signaturfelder prüfen“ fest. Unterschreiben beide, legt Acriva das signierte PDF mit dem Signaturprotokoll als neue Version ab. Lehnt jemand ab, klärt die anfordernde Person das in einer Aufgabe; läuft die Frist ab, wird sie informiert. Ist die E-Mail-Adresse ungültig, nimmt die Karte den Ausgang „übersprungen“, und der Verlauf nennt den „Auftragnehmer“. Der Workflow braucht eine Person, die den Vertrag hochgeladen hat: Ohne anfordernde Person, etwa bei einem Vertrag aus einem E-Mail-Postfach, findet die Aufgabe niemanden, und der Workflow endet mit einem Fehler. Braucht das Add-on E-Signatur.
Der Workflow
Abschnitt betitelt „Der Workflow“Der Workflow startet für jedes Dokument vom Typ contract. Seine Datei workflow.yaml:
$schema: 'https://docs.acriva.de/schemas/workflow.schema.json'format: 1schemaVersion: 8sdk: '1.0.0'key: sign-contractname: Vertrag signieren lassentemplate: customtrigger: documentType: contractfields: - key: partnerFirstName kind: text labelDe: Vorname Vertragspartner labelEn: Partner's first name documentTypes: - contract - key: partnerLastName kind: text labelDe: Nachname Vertragspartner labelEn: Partner's last name documentTypes: - contract - key: partnerEmail kind: text labelDe: E-Mail Vertragspartner labelEn: Partner's email documentTypes: - contractstart: partnerKnownsteps: - kind: condition name: partnerKnown label: Vertragspartner vollständig? branches: - when: kind: or conditions: - kind: compare field: partnerFirstName operator: isEmpty constants: [] - kind: compare field: partnerLastName operator: isEmpty constants: [] - kind: compare field: partnerEmail operator: isEmpty constants: [] next: capturePartner default: sign - kind: humanTask name: capturePartner label: Vertragspartner erfassen taskKind: capture assignees: [] fallback: kind: requester options: remindAfterWorkingDays: 2 excludeRequester: false excludeActorsOfSteps: [] pickFile: false next: sign requiredFields: fields: - partnerFirstName - partnerLastName - partnerEmail requireComment: false - kind: signature name: sign label: Vertrag signieren lassen signers: - kind: requester label: Auftraggeber - kind: external label: Auftragnehmer firstNameField: partnerFirstName lastNameField: partnerLastName emailField: partnerEmail ordered: true level: ses expiryDays: 14 fieldMode: detect reviewer: kind: requester allowConfidential: false language: de next: signed onDeclined: clarify onExpired: expired onSkipped: skipped - kind: humanTask name: clarify label: Ablehnung klären taskKind: review assignees: [] fallback: kind: requester options: excludeRequester: false excludeActorsOfSteps: [] pickFile: false next: declined onRejected: declined - kind: notification name: expired label: Anfordernde Person informieren recipients: - kind: requester notice: forInformation next: expiredEnd - kind: end name: signed label: Signiert outcome: completed - kind: end name: declined label: Abgelehnt outcome: completed - kind: end name: expiredEnd label: Abgelaufen outcome: completed - kind: end name: skipped label: Übersprungen outcome: completed