Centurio System- og moduldokumentasjon
🏛️ Plattformarkittektur 🔑 Login
🏠 Alle moduler / sales_billing / Utgifter
📘

Utgifter

expenses sales_billing 🛡️ RLS Protected

Utgifter og utgifter <unk> Process og API-dokumentasjon avledet fra kode.

Fachliche Bestimmung: Utgifter & utgifter <unk> Process og API-dokumentasjon avledet fra kode.

⚡ Arbeidsstrømme og livssykluser

Brukeroppdrag: utgiftsansvarlig plan:command_expense_agent

Kontrollert varig plan (durable_plan), Start: 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

Brukeroppgave: utgift general agent plan:command_expense_general_agent

Kontrollert varig plan (durable_plan), Start: 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

Brukeroppdrag: mottaker plan:command_receipt_agent

Kontrollert varig plan (durable_plan), Start: 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

Brukeroppgave: leverandør faktura agent plan:command_supplier_invoice_agent

Kontrollert varig plan (durable_plan), Start: 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

Utgift status:expense

Observativ tilstand (observativ_only).

1. detected
Detekter
Status <unk>detected<unk> av tilstandsmaskinen utgave.
2. needs_review
needs_review
Status <unk>needs_review<unk> av standemaskinen utgave.
3. approved
godkjent
Status <unk>godkjente<unk> av maskinens tilstand utgave.
4. exported
utført
Status <unk>exported<unk> av maskinens statusutgang.

🗄️ Datamodeller & felt

ExpenseItems expense_items RLS Aktiv
20 Feltet / kolonne

Tabelle expense_items

Feldname Data-type Tiltak Schlüssel Spesialdekst
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 Feltet / kolonne

Tabelle expenses

Feldname Data-type Tiltak Schlüssel Spesialdekst
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

🔌 Startpunkter (UI og API)

Art Metode Endpunkt / vei Titel & Zweck Tillatelse
⚡ REST API DELETE /api/v1/expenses/{expense_id}
delete_expense
Semantic binding: not_evaluated; mutation=True
expenses
⚡ REST API GET /api/v1/expenses
list_expenses
Semantic binding: not_evaluated; mutation=False
expenses
⚡ REST API GET /api/v1/expenses/{expense_id}
get_expense
Semantic binding: not_evaluated; mutation=False
expenses
⚡ REST API GET /api/v1/expenses/{expense_id}/3way-match
verify_3way_matching
Semantic binding: not_evaluated; mutation=False
expenses
⚡ REST API GET /expenses
expenses_page
Semantic binding: not_evaluated; mutation=False
expenses
⚡ REST API GET /expenses/new
expense_create_page
Semantic binding: not_evaluated; mutation=False
expenses
⚡ REST API GET /expenses/{expense_id}
expense_detail_page
Semantic binding: not_evaluated; mutation=False
expenses
⚡ REST API PATCH /api/v1/expenses/{expense_id}
update_expense
Semantic binding: not_evaluated; mutation=True
expenses
⚡ REST API POST /api/v1/expenses
create_expense
Semantic binding: not_evaluated; mutation=True
expenses
⚡ REST API POST /api/v1/expenses/batch-approve
batch_approve_expenses
Semantic binding: not_evaluated; mutation=True
expenses
⚡ REST API POST /api/v1/expenses/upload
upload_receipt
Semantic binding: not_evaluated; mutation=True
expenses
⚡ REST API POST /api/v1/expenses/{expense_id}/approve
approve_expense
Semantic binding: not_evaluated; mutation=True
expenses
⚡ REST API POST /api/v1/expenses/{expense_id}/assign-project
assign_project
Semantic binding: not_evaluated; mutation=True
expenses
⚡ REST API POST /api/v1/expenses/{expense_id}/items
add_expense_item
Semantic binding: not_evaluated; mutation=True
expenses

🛡️ Reglering og etterlevelse

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • Forbrukere
  • Forbruker isolering (PostgreSQL RLS)