Docs

VERTRAG

Documentation
Back

VERTRAG

What is this for?

With VERTRAG you manage rental agreements / cases between landlord and tenant.

For each contract you can record:

  • Landlord and tenant (see VERMIETER, MIETER)
  • Period (start, end)
  • Assigned inventory (quantities, optional prices)
  • Technicians / helpers
  • Comments and documents (uploads)
  • Status / Kanban column (see KANBAN)
  • Digital signatures (landlord & tenant)
  • Generated PDF of the contract

Common tasks (day-to-day)

  • Create a contract and maintain its data
  • Assign inventory
  • Generate a PDF
  • Get the contract signed by landlord and/or tenant
  • Move via Kanban drag & drop into another column
  • Upload attachments (e.g., ID, terms and conditions, order confirmation)
  • Filter contracts (e.g., only open, only completed)
  • Delete contracts (soft) and possibly restore or delete permanently

Step by step

1) Create a contract

1. Open Contract → Contracts (/vertrag/vertraege).
2. Click "New" (/vertrag/vertraege/new).
3. Fill in the required fields:

  • Tenant (select or create new)
  • Landlord
  • Period

4. Save.

2) Edit a contract

1. Click the contract in the list (/vertrag/vertraege/{id}).
2. Change fields and save.
3. The detail page additionally allows you to:

  • Add comments
  • Upload / download / delete documents
  • Assign inventory (selection list or quick search by name)
  • Assign technicians
  • Generate a PDF
  • Capture signatures / generate a signature link

3) Add inventory to a contract

1. On the detail page, open the Inventory section.
2. Select an item (or search by name, "Quick add").
3. Set the quantity.
4. Save. The item is added with its daily rate, if one is configured.

To remove items: click the X / "Remove" next to the entry.

4) Move a contract in the Kanban view

  • In the Kanban overview, drag & drop the card into another column.
  • In the background, /vertrag/vertraege/kanban/move is called.
  • See the KANBAN plugin for column configuration.

5) Generate the contract PDF

1. On the detail page, choose "Generate PDF" (/vertrag/vertraege/{id}/generate).
2. The finished PDF can be opened directly (/vertrag/vertraege/{id}/pdf) or downloaded.

> The layout / content of the PDF is controlled via the TEMPLATING plugin. There you create contract templates and choose the default template.

6) Get the contract signed

#### a) Landlord signature (internal)
1. On the detail page, click "Sign as landlord" (POST /vertrag/vertraege/{id}/sign-vermieter).
2. Sign with mouse / touchpad / pen → save.

#### b) Tenant signature (via external link)
1. On the detail page, click "Generate signature link" (POST /vertrag/vertraege/{id}/sign/generate-token).
2. A token link is generated: /vertrag/sign/{token}.
3. Send this link to the tenant (e.g., via email).
4. The tenant opens the link, sees the contract overview, and signs directly in the browser. No login is required.
5. After saving, the signature appears on the contract.

> The link is only valid as long as the token is active and the contract has not yet been fully signed.

7) Delete / restore a contract

  • Delete (soft): POST /vertrag/vertraege/{id}/delete — the contract is hidden but remains in the database.
  • Restore: POST /vertrag/vertraege/{id}/restore
  • Permanently delete: POST /vertrag/vertraege/{id}/permanent-delete — not recoverable.

8) Filter & search

In the list you can filter by status / Kanban column / tenant / landlord / period. The filters are passed in the URL as query parameters, so you can save the view as a bookmark.


Admin settings

Options (/settings/admin/vertrag/options)

Global settings around the contract, e.g.:

  • Default tax rate / default values
  • Visible fields in the form
  • Defaults when creating from a homepage inquiry

Uploads (/settings/admin/vertrag/uploads)

Defaults for document uploads (e.g., allowed file types, max size). The uploaded files are physically stored under <tenant-root>/contract-uploads.


Common questions / problems

"PDF is empty / looks wrong"

  • Check the contract template in the TEMPLATING plugin (default template set?).
  • Images/logos: is the path correct in the template?

"Tenant cannot open the signature link"

  • Was the token really copied and sent unchanged?
  • Has the contract already been fully signed? Then the link is "used up".
  • A new token may have been generated (the old link becomes invalid).

"Inventory item is missing in the PDF"

  • Was the item really saved?
  • The inventory block must be active in the template (TEMPLATING).

"Contract is not in the Kanban"

  • Is KANBAN active? Is a category assigned? Is the contract not soft-deleted?

Technical URLs (quick reference)

User area (/vertrag/vertraege):

  • GET /vertrag/vertraege — list
  • GET /vertrag/vertraege/new — new contract
  • POST /vertrag/vertraege — create
  • GET /vertrag/vertraege/{id} — detail
  • POST /vertrag/vertraege/{id} — save
  • GET /vertrag/vertraege/{id}/pdf — show PDF
  • GET /vertrag/vertraege/{id}/generate — generate PDF
  • POST /vertrag/vertraege/{id}/comments — comment
  • POST /vertrag/vertraege/{id}/documents — upload document
  • GET /vertrag/vertraege/{id}/documents/{docId} — fetch document
  • POST /vertrag/vertraege/{id}/documents/{docId}/delete — delete document
  • POST /vertrag/vertraege/{id}/inventar — assign inventory
  • POST /vertrag/vertraege/{id}/inventar/by-name — quick-search inventory
  • POST /vertrag/vertraege/{id}/inventar/{itemId}/remove — remove item
  • POST /vertrag/vertraege/{id}/techniker — set technician
  • POST /vertrag/vertraege/{id}/sign-vermieter — landlord signature
  • POST /vertrag/vertraege/{id}/sign/generate-token — generate tenant signature link
  • POST /vertrag/vertraege/kanban/move — move card between columns
  • POST /vertrag/vertraege/{id}/delete — soft delete
  • POST /vertrag/vertraege/{id}/restore — restore
  • POST /vertrag/vertraege/{id}/permanent-delete — permanently delete

Public (token only):

  • GET /vertrag/sign/{token} — signature page
  • POST /vertrag/sign/{token} — submit signature

Admin (/settings/admin/vertrag):

  • GET /settings/admin/vertrag/options
  • POST /settings/admin/vertrag/options
  • GET /settings/admin/vertrag/uploads
  • POST /settings/admin/vertrag/uploads

Notes

  • VERTRAG is a core plugin: it relies on MIETER, VERMIETER, INVENTAR, TEMPLATING, KANBAN, and MAIL. Only enable what you actually need.
  • Soft-deleted contracts continue to count in the statistics until they are permanently deleted.