Centurio Система и модульная документация
🏛️ Архитектура платформы 🔑 Login
🏠 Все модули / sales_billing / Расходы
📘

Расходы

expenses sales_billing 🛡️ RLS Protected

Расходы и расходы <unk> процессуальные и API-документации, полученные из кода.

Fachliche Bestimmung: Расходы и расходы <unk> Документация процессов и API, полученная из кода.

⚡ Рабочие процессы и жизненные циклы

Приказ пользователя: расходный агент plan:command_expense_agent

Проверенный план длительности (durable_plan), старт: manual_command.

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

Приказ пользователя: генеральный агент расходов plan:command_expense_general_agent

Проверенный план длительности (durable_plan), старт: manual_command.

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

Приказ пользователя: расписка plan:command_receipt_agent

Проверенный план длительности (durable_plan), старт: manual_command.

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

Приказ пользователя: поставщик plan:command_supplier_invoice_agent

Проверенный план длительности (durable_plan), старт: manual_command.

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

Выдача status:expense

Осуществляемая машина (особенно наблюдаемое)

1. detected
обнаруженные
Статус <unk>detected<unk> станции выпуск.
2. needs_review
needs_review
Статус <unk>needs_review<unk> выпуска станковой машины.
3. approved
утвержден
Статус <unk>утвержден <unk> выпуск станковой машины.
4. exported
экспортируемые
Статус <unk>экспортирован <unk> выпуск станции.

🗄️ Модели данных & поля

ExpenseItems expense_items RLS Aktiv
20 Поле / столбцы

Tabelle expense_items

Feldname Тип данных Обязательность Schlüssel Профессиональное значение
expense_id UUID Ja * FK ➔ expenses.id Feld expense_id
position INTEGER Ja * - Feld position
description TEXT Ja * - Feld description
product_id UUID Nein FK ➔ products.id Feld product_id
quantity NUMERIC(14, 4) Nein - Feld quantity
unit VARCHAR(16) Nein - Feld unit
unit_price NUMERIC(14, 2) Nein - Feld unit_price
net_amount NUMERIC(14, 2) Ja * - Feld net_amount
tax_rate NUMERIC(6, 4) Ja * - Feld tax_rate
tax_amount NUMERIC(14, 2) Ja * - Feld tax_amount
gross_amount NUMERIC(14, 2) Ja * - Feld gross_amount
project_id UUID Nein FK ➔ projects.id Feld project_id
material_action VARCHAR(48) Ja * - Feld material_action
inventory_action VARCHAR(48) Ja * - Feld inventory_action
confidence NUMERIC(4, 3) Nein - Feld confidence
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
Expenses expenses RLS Aktiv
31 Поле / столбцы

Tabelle expenses

Feldname Тип данных Обязательность Schlüssel Профессиональное значение
supplier_id UUID Nein FK ➔ suppliers.id Feld supplier_id
project_id UUID Nein FK ➔ projects.id Feld project_id
work_order_id UUID Nein FK ➔ work_orders.id Feld work_order_id
purchase_id UUID Nein FK ➔ purchases.id Feld purchase_id
goods_receipt_id UUID Nein FK ➔ goods_receipts.id Feld goods_receipt_id
document_id UUID Nein FK ➔ documents.id Feld document_id
expense_date DATE Ja * - Feld expense_date
receipt_number VARCHAR(64) Nein - Feld receipt_number
currency VARCHAR(3) Ja * - Feld currency
net_amount NUMERIC(14, 2) Ja * - Feld net_amount
tax_amount NUMERIC(14, 2) Ja * - Feld tax_amount
gross_amount NUMERIC(14, 2) Ja * - Feld gross_amount
payment_method VARCHAR(32) Nein - Feld payment_method
category VARCHAR(64) Nein - Feld category
cost_type_id UUID Nein FK ➔ cost_types.id Feld cost_type_id
cost_center_id UUID Nein FK ➔ cost_centers.id Feld cost_center_id
internal_order_id UUID Nein FK ➔ controlling_internal_orders.id Feld internal_order_id
status VARCHAR(48) Ja * - Feld status
confidence NUMERIC(4, 3) Nein - Feld confidence
totals_consistent BOOLEAN Nein - Feld totals_consistent
external_accounting_id VARCHAR(128) Nein - Feld external_accounting_id
idempotency_key VARCHAR(128) Nein - Feld idempotency_key
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

🔌 Входные пункты (UI & API)

Art Метод Конечный пункт / путь Titel & Zweck Право на
⚡ REST API DELETE /api/v1/expenses/{expense_id}
delete_expense
Semantic binding: operator_surface; mutation=True
expenses
⚡ REST API GET /api/v1/expenses
list_expenses
Semantic binding: inventory_only; mutation=False
expenses
⚡ REST API GET /api/v1/expenses/{expense_id}
get_expense
Semantic binding: inventory_only; mutation=False
expenses
⚡ REST API GET /api/v1/expenses/{expense_id}/3way-match
verify_3way_matching
Semantic binding: inventory_only; mutation=False
expenses
⚡ REST API GET /expenses
expenses_page
Semantic binding: inventory_only; mutation=False
expenses
⚡ REST API GET /expenses/new
expense_create_page
Semantic binding: inventory_only; mutation=False
expenses
⚡ REST API GET /expenses/{expense_id}
expense_detail_page
Semantic binding: inventory_only; mutation=False
expenses
⚡ REST API PATCH /api/v1/expenses/{expense_id}
update_expense
Semantic binding: operator_surface; mutation=True
expenses
⚡ REST API POST /api/v1/expenses
create_expense
Semantic binding: operator_surface; mutation=True
expenses
⚡ REST API POST /api/v1/expenses/batch-approve
batch_approve_expenses
Semantic binding: operator_surface; mutation=True
expenses
⚡ REST API POST /api/v1/expenses/upload
upload_receipt
Semantic binding: operator_surface; mutation=True
expenses
⚡ REST API POST /api/v1/expenses/{expense_id}/approve
approve_expense
Semantic binding: operator_surface; mutation=True
expenses
⚡ REST API POST /api/v1/expenses/{expense_id}/assign-project
assign_project
Semantic binding: operator_surface; mutation=True
expenses
⚡ REST API POST /api/v1/expenses/{expense_id}/items
add_expense_item
Semantic binding: operator_surface; mutation=True
expenses

🛡️ Регуляторство и соответствие

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • Проверяемость
  • Изоляция клиентов (PostgreSQL RLS)