Centurio System- & Moduldokumentation
🏛️ Plattform-Architektur 🔑 Login
🏠 Alle Module / sales_billing / Vertragsmanagement
📑

Vertragsmanagement

contracts sales_billing 🛡️ RLS Protected

Rahmenverträge mit Laufzeiten, Konditionen, Kontingenten, Line-Billing und automatischer Abruferfassung.

Fachliche Bestimmung: Verwaltet Kunden- und Lieferantenverträge, Rahmenvereinbarungen und Service-Level-Agreements (SLA). Unterstützt Line-Billing (zeilenbasierte Abrechnung) sowie Abrufaufträge (Call-Offs), bei denen vereinbarte Preise und Kontingente automatisch überwacht und bis zur Vertragsgrenze abgerechnet werden.

⚡ Workflows & Lebenszyklen

Vertragslebenszyklus cascade:business.contract.lifecycle

Kaskade (review_gated).

1. contract
Vertrag anlegen
contracts
Aktionen: contract.create
2. task
Fristen / Kündigungsüberwachung
tasks
Aktionen: create_task

Vertrag anlegen cascade_target:business.contract.apply

Kaskade (review_gated).

1. cascade
Vertrag anlegen

Benutzerbefehl: contract agent plan:command_contract_agent

Geprüfter Durable-Plan (durable_plan), Start: manual_command.

1. contract_agent
contract_agent
{"key": "execute_command", "label": "Befehl prüfen, ausführen oder zur Freigabe vorlegen", "adapter": "agent.execute", "agent": "contract_agent", "condition_fact": null}
Aktionen: contract_agent

Benutzerbefehl: contract crud subagent plan:command_contract_crud_subagent

Geprüfter Durable-Plan (durable_plan), Start: manual_command.

1. contract_crud_subagent
contract_crud_subagent
{"key": "execute_command", "label": "Befehl prüfen, ausführen oder zur Freigabe vorlegen", "adapter": "agent.execute", "agent": "contract_crud_subagent", "condition_fact": null}
Aktionen: contract_crud_subagent

Vertrag status:contract

Beobachtbare Zustandsmaschine (observable_only). Übergänge hier nicht erzwungen — siehe Service-Validierung.

1. draft
draft
Status «draft» der Zustandsmaschine Vertrag.
2. pending
pending
Status «pending» der Zustandsmaschine Vertrag.
3. active
active
Status «active» der Zustandsmaschine Vertrag.
4. expired
expired
Status «expired» der Zustandsmaschine Vertrag.
5. terminated
terminated
Status «terminated» der Zustandsmaschine Vertrag.
6. renewed
renewed
Status «renewed» der Zustandsmaschine Vertrag.

🗄️ Datenmodelle & Felder

ContractAmendments contract_amendments RLS Aktiv
10 Felder / Spalten

Tabelle contract_amendments

Feldname Datentyp Pflicht Schlüssel Fachliche Bedeutung
contract_id UUID Ja * FK ➔ contracts.id Feld contract_id
title VARCHAR(255) Ja * - Feld title
effective_date DATE Nein - Feld effective_date
description TEXT Nein - Feld description
document_id UUID Nein - Feld document_id
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
ContractBillingRuns contract_billing_runs RLS Aktiv
11 Felder / Spalten

Tabelle contract_billing_runs

Feldname Datentyp Pflicht Schlüssel Fachliche Bedeutung
contract_id UUID Ja * FK ➔ contracts.id Feld contract_id
period_start DATE Ja * - Feld period_start
period_end DATE Ja * - Feld period_end
invoice_id UUID Nein - Feld invoice_id
net_amount NUMERIC(14, 2) Ja * - Feld net_amount
recipient_id UUID Nein - Feld recipient_id
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
ContractClauses contract_clauses RLS Aktiv
13 Felder / Spalten

Tabelle contract_clauses

Feldname Datentyp Pflicht Schlüssel Fachliche Bedeutung
title VARCHAR(255) Ja * - Feld title
category VARCHAR(64) Nein - Feld category
body TEXT Ja * - Feld body
active BOOLEAN Ja * - Feld active
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
ContractCommissions contract_commissions RLS Aktiv
14 Felder / Spalten

Tabelle contract_commissions

Feldname Datentyp Pflicht Schlüssel Fachliche Bedeutung
contract_id UUID Ja * FK ➔ contracts.id Feld contract_id
agent_id UUID Ja * FK ➔ sales_agents.id Feld agent_id
invoice_id UUID Nein - Feld invoice_id
period_start DATE Nein - Feld period_start
period_end DATE Nein - Feld period_end
base_amount NUMERIC(14, 2) Ja * - Feld base_amount
percent NUMERIC(5, 2) Ja * - Feld percent
amount NUMERIC(14, 2) Ja * - Feld amount
status VARCHAR(16) Ja * - Feld status
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
ContractDocuments contract_documents RLS Aktiv
8 Felder / Spalten

Tabelle contract_documents

Feldname Datentyp Pflicht Schlüssel Fachliche Bedeutung
contract_id UUID Ja * FK ➔ contracts.id Feld contract_id
document_id UUID Ja * - Feld document_id
relation_type VARCHAR(32) Ja * - Feld relation_type
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
ContractLines contract_lines RLS Aktiv
26 Felder / Spalten

Tabelle contract_lines

Feldname Datentyp Pflicht Schlüssel Fachliche Bedeutung
contract_id UUID Ja * FK ➔ contracts.id Feld contract_id
position INTEGER Ja * - Feld position
line_type VARCHAR(24) Ja * - Feld line_type
product_id UUID Nein FK ➔ products.id Feld product_id
description VARCHAR(255) Ja * - Feld description
quantity NUMERIC(14, 4) Ja * - Feld quantity
unit VARCHAR(32) Ja * - Feld unit
billing_method VARCHAR(24) Ja * - Feld billing_method
billing_unit_id UUID Nein FK ➔ units_of_measure.id Feld billing_unit_id
billing_interval VARCHAR(16) Nein - Feld billing_interval
unit_price NUMERIC(14, 2) Nein - Feld unit_price
discount_percent NUMERIC(5, 2) Ja * - Feld discount_percent
tax_rate NUMERIC(6, 3) Nein - Feld tax_rate
included_quantity NUMERIC(14, 4) Nein - Feld included_quantity
overage_unit_price NUMERIC(14, 2) Nein - Feld overage_unit_price
basis VARCHAR(24) Nein - Feld basis
subject_id UUID Nein - Feld subject_id
start_date DATE Nein - Feld start_date
end_date DATE Nein - Feld end_date
last_billed_at DATE Nein - Feld last_billed_at
active BOOLEAN Ja * - Feld active
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
ContractMilestones contract_milestones RLS Aktiv
16 Felder / Spalten

Tabelle contract_milestones

Feldname Datentyp Pflicht Schlüssel Fachliche Bedeutung
contract_id UUID Ja * FK ➔ contracts.id Feld contract_id
kind VARCHAR(32) Ja * - Feld kind
title VARCHAR(255) Ja * - Feld title
due_date DATE Nein - Feld due_date
status VARCHAR(32) Ja * - Feld status
completed_at DATETIME Nein - Feld completed_at
work_order_id UUID Nein - Feld work_order_id
project_id UUID Nein - Feld project_id
service_plan_id UUID Nein - Feld service_plan_id
amount NUMERIC(14, 2) Nein - Feld amount
note TEXT Nein - Feld note
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
ContractObligations contract_obligations RLS Aktiv
13 Felder / Spalten

Tabelle contract_obligations

Feldname Datentyp Pflicht Schlüssel Fachliche Bedeutung
contract_id UUID Ja * FK ➔ contracts.id Feld contract_id
description TEXT Ja * - Feld description
due_date DATE Nein - Feld due_date
status VARCHAR(32) Ja * - Feld status
responsible_id UUID Nein - Feld responsible_id
reminder_days_before INTEGER Nein - Feld reminder_days_before
amount NUMERIC(14, 2) Nein - Feld amount
notes TEXT Nein - Feld notes
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
ContractParties contract_parties RLS Aktiv
13 Felder / Spalten

Tabelle contract_parties

Feldname Datentyp Pflicht Schlüssel Fachliche Bedeutung
contract_id UUID Ja * FK ➔ contracts.id Feld contract_id
party_type VARCHAR(32) Ja * - Feld party_type
name VARCHAR(255) Ja * - Feld name
vat_id VARCHAR(32) Nein - Feld vat_id
contact_name VARCHAR(255) Nein - Feld contact_name
email VARCHAR(320) Nein - Feld email
phone VARCHAR(64) Nein - Feld phone
address_text TEXT Nein - Feld address_text
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
ContractRebateSettlements contract_rebate_settlements RLS Aktiv
16 Felder / Spalten

Tabelle contract_rebate_settlements

Feldname Datentyp Pflicht Schlüssel Fachliche Bedeutung
contract_id UUID Ja * FK ➔ contracts.id Feld contract_id
period_start DATE Ja * - Feld period_start
period_end DATE Ja * - Feld period_end
revenue_net NUMERIC(14, 2) Ja * - Feld revenue_net
percent NUMERIC(5, 2) Ja * - Feld percent
amount NUMERIC(14, 2) Ja * - Feld amount
credit_note_id UUID Nein - Feld credit_note_id
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
ContractReminders contract_reminders RLS Aktiv
9 Felder / Spalten

Tabelle contract_reminders

Feldname Datentyp Pflicht Schlüssel Fachliche Bedeutung
contract_id UUID Ja * FK ➔ contracts.id Feld contract_id
reminder_date DATE Ja * - Feld reminder_date
reminder_type VARCHAR(32) Ja * - Feld reminder_type
sent_at DATETIME Nein - Feld sent_at
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
ContractRenewals contract_renewals RLS Aktiv
10 Felder / Spalten

Tabelle contract_renewals

Feldname Datentyp Pflicht Schlüssel Fachliche Bedeutung
contract_id UUID Ja * FK ➔ contracts.id Feld contract_id
previous_end_date DATE Nein - Feld previous_end_date
new_end_date DATE Nein - Feld new_end_date
notice_sent_at DATETIME Nein - Feld notice_sent_at
renewed_at DATETIME Nein - Feld renewed_at
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
ContractScopeItems contract_scope_items RLS Aktiv
16 Felder / Spalten

Tabelle contract_scope_items

Feldname Datentyp Pflicht Schlüssel Fachliche Bedeutung
contract_id UUID Ja * FK ➔ contracts.id Feld contract_id
item_type VARCHAR(16) Ja * - Feld item_type
product_id UUID Nein FK ➔ products.id Feld product_id
category_id UUID Nein FK ➔ product_categories.id Feld category_id
label VARCHAR(255) Nein - Feld label
mode VARCHAR(8) Ja * - Feld mode
note TEXT Nein - Feld note
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
ContractServicePlans contract_service_plans RLS Aktiv
17 Felder / Spalten

Tabelle contract_service_plans

Feldname Datentyp Pflicht Schlüssel Fachliche Bedeutung
contract_id UUID Ja * FK ➔ contracts.id Feld contract_id
name VARCHAR(255) Ja * - Feld name
subject_id UUID Nein - Feld subject_id
interval_months INTEGER Ja * - Feld interval_months
lead_days INTEGER Ja * - Feld lead_days
next_due_date DATE Ja * - Feld next_due_date
last_generated_for DATE Nein - Feld last_generated_for
order_type VARCHAR(32) Ja * - Feld order_type
work_order_id UUID Nein - Feld work_order_id
billable BOOLEAN Ja * - Feld billable
estimated_hours NUMERIC(6, 2) Nein - Feld estimated_hours
active BOOLEAN Ja * - Feld active
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
ContractStorageAreas contract_storage_areas RLS Aktiv
20 Felder / Spalten

Tabelle contract_storage_areas

Feldname Datentyp Pflicht Schlüssel Fachliche Bedeutung
contract_id UUID Ja * FK ➔ contracts.id Feld contract_id
location_id UUID Ja * FK ➔ locations.id Feld location_id
stock_owner VARCHAR(16) Ja * - Feld stock_owner
policy VARCHAR(16) Ja * - Feld policy
capacity_qty NUMERIC(14, 4) Nein - Feld capacity_qty
capacity_unit VARCHAR(16) Nein - Feld capacity_unit
valid_from DATE Nein - Feld valid_from
valid_until DATE Nein - Feld valid_until
in_route_id UUID Nein FK ➔ warehouse_routes.id Feld in_route_id
out_route_id UUID Nein FK ➔ warehouse_routes.id Feld out_route_id
active BOOLEAN Ja * - Feld active
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
ContractSubjects contract_subjects RLS Aktiv
19 Felder / Spalten

Tabelle contract_subjects

Feldname Datentyp Pflicht Schlüssel Fachliche Bedeutung
contract_id UUID Ja * FK ➔ contracts.id Feld contract_id
subject_type VARCHAR(16) Ja * - Feld subject_type
role VARCHAR(16) Ja * - Feld role
asset_id UUID Nein FK ➔ assets.id Feld asset_id
name VARCHAR(255) Ja * - Feld name
address TEXT Nein - Feld address
unit_no VARCHAR(64) Nein - Feld unit_no
area_sqm NUMERIC(10, 2) Nein - Feld area_sqm
rent_amount NUMERIC(14, 2) Nein - Feld rent_amount
service_charges NUMERIC(14, 2) Nein - Feld service_charges
deposit NUMERIC(14, 2) Nein - Feld deposit
tax_rate NUMERIC(6, 3) Nein - Feld tax_rate
attributes JSONB Ja * - Feld attributes
active BOOLEAN Ja * - Feld active
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
ContractTemplates contract_templates RLS Aktiv
15 Felder / Spalten

Tabelle contract_templates

Feldname Datentyp Pflicht Schlüssel Fachliche Bedeutung
key VARCHAR(64) Ja * - Feld key
name VARCHAR(255) Ja * - Feld name
scope VARCHAR(32) Ja * - Feld scope
description TEXT Nein - Feld description
config JSONB Ja * - Feld config
active BOOLEAN Ja * - Feld active
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
ContractTerms contract_terms RLS Aktiv
21 Felder / Spalten

Tabelle contract_terms

Feldname Datentyp Pflicht Schlüssel Fachliche Bedeutung
contract_id UUID Ja * FK ➔ contracts.id Feld contract_id
term_type VARCHAR(24) Ja * - Feld term_type
product_id UUID Nein FK ➔ products.id Feld product_id
category_id UUID Nein FK ➔ product_categories.id Feld category_id
params JSONB Ja * - Feld params
valid_from DATE Nein - Feld valid_from
valid_until DATE Nein - Feld valid_until
active BOOLEAN Ja * - Feld active
note TEXT Nein - Feld note
source_clause_ref VARCHAR(64) Nein - Feld source_clause_ref
source_document_id UUID Nein - Feld source_document_id
source_workflow_run_id UUID Nein - Feld source_workflow_run_id
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
ContractUsageEntries contract_usage_entries RLS Aktiv
14 Felder / Spalten

Tabelle contract_usage_entries

Feldname Datentyp Pflicht Schlüssel Fachliche Bedeutung
contract_id UUID Ja * FK ➔ contracts.id Feld contract_id
line_id UUID Nein - Feld line_id
product_id UUID Nein - Feld product_id
occurred_on DATE Ja * - Feld occurred_on
quantity NUMERIC(14, 4) Ja * - Feld quantity
description VARCHAR(255) Nein - Feld description
source_type VARCHAR(32) Ja * - Feld source_type
source_id UUID Nein - Feld source_id
billed_run_id UUID Nein - Feld billed_run_id
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
Contracts contracts RLS Aktiv
65 Felder / Spalten

Tabelle contracts

Feldname Datentyp Pflicht Schlüssel Fachliche Bedeutung
contract_number VARCHAR(64) Nein - Feld contract_number
title VARCHAR(255) Ja * - Feld title
status VARCHAR(48) Ja * - Feld status
contract_type VARCHAR(48) Ja * - Feld contract_type
currency VARCHAR(3) Ja * - Feld currency
total_value NUMERIC(14, 2) Nein - Feld total_value
start_date DATE Nein - Feld start_date
end_date DATE Nein - Feld end_date
renewal_type VARCHAR(48) Ja * - Feld renewal_type
renewal_notice_days INTEGER Nein - Feld renewal_notice_days
termination_notice_days INTEGER Nein - Feld termination_notice_days
minimum_term_months INTEGER Nein - Feld minimum_term_months
terms TEXT Nein - Feld terms
notes TEXT Nein - Feld notes
billing_interval VARCHAR(32) Nein - Feld billing_interval
billing_amount NUMERIC(14, 2) Nein - Feld billing_amount
next_billing_date DATE Nein - Feld next_billing_date
owner_id UUID Nein - Feld owner_id
customer_id UUID Nein FK ➔ customers.id Feld customer_id
supplier_id UUID Nein FK ➔ suppliers.id Feld supplier_id
counterparty_id UUID Nein - Feld counterparty_id
counterparty_role VARCHAR(32) Nein - Feld counterparty_role
document_id UUID Nein - Feld document_id
confidence NUMERIC(4, 3) Nein - Feld confidence
scope VARCHAR(32) Ja * - Feld scope
contract_subtype VARCHAR(24) Nein - Feld contract_subtype
template_key VARCHAR(64) Nein - Feld template_key
parent_contract_id UUID Nein FK ➔ contracts.id Feld parent_contract_id
pricelist_id UUID Nein FK ➔ pricelists.id Feld pricelist_id
billing_mode VARCHAR(16) Ja * - Feld billing_mode
agent_id UUID Nein FK ➔ sales_agents.id Feld agent_id
agent_commission_percent NUMERIC(5, 2) Nein - Feld agent_commission_percent
agent_markup_percent NUMERIC(5, 2) Nein - Feld agent_markup_percent
invoice_policy VARCHAR(16) Ja * - Feld invoice_policy
billing_anchor_day INTEGER Nein - Feld billing_anchor_day
renewal_term_months INTEGER Nein - Feld renewal_term_months
commitment_value NUMERIC(14, 2) Nein - Feld commitment_value
price_adjustment_percent NUMERIC(6, 3) Nein - Feld price_adjustment_percent
price_adjustment_interval_months INTEGER Nein - Feld price_adjustment_interval_months
next_price_adjustment_date DATE Nein - Feld next_price_adjustment_date
payment_terms VARCHAR(128) Nein - Feld payment_terms
payment_term_code VARCHAR(32) Nein - Feld payment_term_code
cost_center VARCHAR(64) Nein - Feld cost_center
project_id UUID Nein - Feld project_id
attributes JSONB Ja * - Feld attributes
auto_invoice_mode VARCHAR(16) Ja * - Feld auto_invoice_mode
invoice_lead_days INTEGER Ja * - Feld invoice_lead_days
payment_method VARCHAR(16) Ja * - Feld payment_method
mandate_reference VARCHAR(64) Nein - Feld mandate_reference
mandate_date DATE Nein - Feld mandate_date
paused_from DATE Nein - Feld paused_from
paused_until DATE Nein - Feld paused_until
pause_reason VARCHAR(32) Nein - Feld pause_reason
free_until DATE Nein - Feld free_until
auto_pause_dunning_level INTEGER Nein - Feld auto_pause_dunning_level
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
deleted_at DATETIME Nein - Feld deleted_at

🔌 Einstiegspunkte (UI & APIs)

Art Methode Endpunkt / Pfad Titel & Zweck Berechtigung
⚡ REST API DELETE /api/v1/contract-clauses/{clause_id}
delete_clause
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API DELETE /api/v1/contract-control/{contract_id}/scope/{item_id}
remove_scope
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API DELETE /api/v1/contract-control/{contract_id}/terms/{term_id}
delete_term
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API DELETE /api/v1/contracts/{contract_id}
delete_contract
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API DELETE /api/v1/contracts/{contract_id}/lines/{line_id}
delete_line
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API DELETE /api/v1/contracts/{contract_id}/obligations/{obligation_id}
delete_contract_obligation
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API DELETE /api/v1/contracts/{contract_id}/service-plans/{plan_id}
remove_plan
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API DELETE /api/v1/contracts/{contract_id}/storage/areas/{location_id}
release_area
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API DELETE /api/v1/contracts/{contract_id}/subjects/{subject_id}
remove_subject
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API GET /api/v1/contract-clauses
list_clauses
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /api/v1/contract-control/{contract_id}
overview
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /api/v1/contract-control/{contract_id}/check
check
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /api/v1/contract-control/{contract_id}/rebates
rebates
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /api/v1/contracts
list_contracts
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /api/v1/contracts/billing-options
billing_options
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /api/v1/contracts/scenarios
scenarios
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /api/v1/contracts/storage/overview
storage_overview
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /api/v1/contracts/tax-rates
tax_rates
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /api/v1/contracts/warehouse-routes
warehouse_routes
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /api/v1/contracts/{contract_id}
get_contract
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /api/v1/contracts/{contract_id}/amendments
list_contract_amendments
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /api/v1/contracts/{contract_id}/billing-preview
billing_preview
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /api/v1/contracts/{contract_id}/documents
list_contract_documents
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /api/v1/contracts/{contract_id}/invoices
get_contract_invoices
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /api/v1/contracts/{contract_id}/obligations
list_contract_obligations
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /api/v1/contracts/{contract_id}/renewals
list_contract_renewals
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /api/v1/contracts/{contract_id}/semantic-attributes
contract_semantic_attributes
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /api/v1/contracts/{contract_id}/storage/articles
storage_articles
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /api/v1/contracts/{contract_id}/storage/orders
storage_orders
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /api/v1/contracts/{contract_id}/storage/stock
storage_stock
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /api/v1/contracts/{contract_id}/workspace
workspace
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /api/v1/sales-agents
list_agents
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /contracts
contracts_page
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /contracts/new
contract_create_page
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /contracts/storage
contract_storage_page
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /contracts/wizard
contract_wizard_page
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /contracts/{contract_id}
contract_detail_page
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /contracts/{contract_id}/edit
contract_detail_page
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /contracts/{contract_id}/terms
contract_terms_page
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /contracts/{contract_id}/workspace
contract_workspace_page
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /portal/{slug}/vertraege
contracts_page
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /portal/{slug}/vertraege/{contract_id}/dokument
contract_document_download
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /sales-agents
sales_agents_page
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /sales-agents/new
sales_agents_new_page
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API GET /sales-agents/{agent_id}/edit
sales_agents_edit_page
Semantic binding: not_evaluated; mutation=False
contracts
⚡ REST API PATCH /api/v1/contracts/commissions/{commission_id}
commission_status
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API PATCH /api/v1/contracts/{contract_id}
update_contract
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API PATCH /api/v1/contracts/{contract_id}/commercial
update_commercial
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API PATCH /api/v1/contracts/{contract_id}/lines/{line_id}
patch_line
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API PATCH /api/v1/contracts/{contract_id}/obligations/{obligation_id}
update_contract_obligation
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API PATCH /api/v1/sales-agents/{agent_id}
update_agent
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contract-clauses
create_clause
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contract-control/agb-policies
propose_agb_policies_endpoint
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contract-control/policy-releases/{release_id}/activate
activate_policy_release
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contract-control/{contract_id}/apply-clauses
apply_contract_clauses
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contract-control/{contract_id}/gateways/billing
gateway_billing
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contract-control/{contract_id}/gateways/call-off
gateway_call_off
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contract-control/{contract_id}/gateways/return
gateway_return
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contract-control/{contract_id}/gateways/service-orders
gateway_service_orders
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contract-control/{contract_id}/gateways/warranty
gateway_warranty
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contract-control/{contract_id}/policy-package
propose_policy_package
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contract-control/{contract_id}/propose-workflow
propose_contract_workflow
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contract-control/{contract_id}/rebates/settle
settle_rebate
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contract-control/{contract_id}/scope
add_scope
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contract-control/{contract_id}/terms
add_term
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contract-templates
save_template
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts
create_contract
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/from-template
from_template
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/run-automation
run_automation
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/storage/orders/{order_id}/cancel
storage_order_cancel
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/storage/orders/{order_id}/post
storage_order_post
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/trigger-recurring-billing
trigger_recurring_billing
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/{contract_id}/amendments
create_contract_amendment
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/{contract_id}/bill-now
bill_now
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/{contract_id}/call-off
call_off
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/{contract_id}/consignment/replenish
consignment_replenish
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/{contract_id}/consignment/withdraw
consignment_withdraw
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/{contract_id}/generate-invoice
generate_contract_invoice
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/{contract_id}/lines
add_line
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/{contract_id}/obligations
create_contract_obligation
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/{contract_id}/price-adjustment/apply
apply_adjustment
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/{contract_id}/promote-intake-attributes
promote_intake_attributes
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/{contract_id}/renew
renew_contract
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/{contract_id}/save-as-template
save_as_template
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/{contract_id}/service-plans
add_plan
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/{contract_id}/service-plans/{plan_id}/generate
generate_plan
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/{contract_id}/settle-supplier
settle_supplier
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/{contract_id}/storage/areas
assign_area
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/{contract_id}/storage/articles
storage_article_create
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/{contract_id}/storage/consume
storage_consume
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/{contract_id}/storage/count
storage_count
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/{contract_id}/storage/orders
storage_order_create
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/{contract_id}/subjects
add_subject
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/{contract_id}/terminate
terminate_contract
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/{contract_id}/upload-document
upload_contract_document
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/contracts/{contract_id}/usage
add_usage
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /api/v1/sales-agents
create_agent
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API POST /portal/{slug}/vertraege/{contract_id}/kuendigen
contract_termination_request
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API PUT /api/v1/contract-control/{contract_id}/terms/{term_id}
update_term
Semantic binding: not_evaluated; mutation=True
contracts
⚡ REST API PUT /api/v1/contracts/{contract_id}/semantic-attributes/{field_key}
set_contract_semantic_attribute
Semantic binding: not_evaluated; mutation=True
contracts

🛡️ Regulatorik & Compliance

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • BGB Vertragsrecht
  • DSGVO Art. 28 (AVV-Fristen)
  • GoBD Aufbewahrungspflichten
Verknüpfte Module:
➔ finance ➔ customers ➔ suppliers