Centurio Documentazione dei sistemi e dei moduli
🏛️ Architettura della piattaforma 🔑 Login
🏠 Tutti i moduli / sales_billing / Offerte e calcoli
📘

Offerte e calcoli

quotes sales_billing 🛡️ RLS Protected

Offerte e calcoli <unk> Documentazione processuale e API derivata dal codice.

Fachliche Bestimmung: Offerte & Calcolo <unk> Documentazione processuale e API derivata dal codice.

⚡ Flussi di lavoro e cicli di vita

Ordine d'uso: agente di flusso di lavoro plan:command_core_workflow_agent

Controllato piano duraturo (durable_plan), inizio: manual_command.

1. core_workflow_agent
core_workflow_agent
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Aktionen: core_workflow_agent

Ordine d'uso: agente di quote plan:command_quote_agent

Controllato piano duraturo (durable_plan), inizio: manual_command.

1. quote_agent
quote_agent
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Aktionen: quote_agent

Ordine d'uso: agente di follow-up plan:command_quote_followup_agent

Controllato piano duraturo (durable_plan), inizio: manual_command.

1. quote_followup_agent
quote_followup_agent
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Aktionen: quote_followup_agent

trasmesso plan:quote_followup

Consigli di controllo (durable_plan), start: domain_event.

1. quote_followup_agent
quote_followup_agent
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Aktionen: quote_followup_agent

- il numero di persone status:quote

La macchina in stato di osservazione (solo osservabile) non è obbligatoria.

1. draft
Progetto
Statuto <unk>draft <unk> della macchina di stato preventivo.
2. sent
Sottoscrizione
Statuto della macchina di stato preventivo.
3. accepted
Accettazione
Statuto <unk>accetta<unk> della macchina di stato preventivo.
4. rejected
rifiutato
Statuto <unk> rifiutato <unk> della macchina di stato preventivo.
5. expired
Espirato
Statuto della macchina di stato preventivo.

🗄️ Modelli di dati

QuoteItems quote_items RLS Aktiv
23 Feltri / colonne

Tabelle quote_items

Feldname Tipo di dati Dati Schlüssel Importanza professionale
quote_id UUID Ja * FK ➔ quotes.id Feld quote_id
position INTEGER Ja * - Feld position
product_id UUID Nein FK ➔ products.id Feld product_id
description TEXT Ja * - Feld description
quantity NUMERIC(14, 4) Ja * - Feld quantity
unit VARCHAR(16) Ja * - Feld unit
unit_price NUMERIC(14, 2) Ja * - Feld unit_price
discount_percent NUMERIC(5, 2) Ja * - Feld discount_percent
tax_rate NUMERIC(6, 4) Ja * - Feld tax_rate
net_total NUMERIC(14, 2) Ja * - Feld net_total
gross_total NUMERIC(14, 2) Ja * - Feld gross_total
fulfillment_route VARCHAR(16) Nein - Feld fulfillment_route
ship_to_address TEXT Nein - Feld ship_to_address
semantic_attributes JSONB Nein - Feld semantic_attributes
shop_url TEXT Nein - Feld shop_url
external_sku VARCHAR(128) Nein - Feld external_sku
variant_text VARCHAR(255) Nein - Feld variant_text
shop_supplier_id UUID Nein FK ➔ suppliers.id Feld shop_supplier_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
Quotes quotes RLS Aktiv
36 Feltri / colonne

Tabelle quotes

Feldname Tipo di dati Dati Schlüssel Importanza professionale
quote_number VARCHAR(32) Ja * - Feld quote_number
customer_id UUID Nein FK ➔ customers.id Feld customer_id
bill_to_customer_id UUID Nein FK ➔ customers.id Feld bill_to_customer_id
project_id UUID Nein FK ➔ projects.id Feld project_id
status VARCHAR(48) Ja * - Feld status
issue_date DATE Nein - Feld issue_date
valid_until DATE Nein - Feld valid_until
delivery_date DATE Nein - Feld delivery_date
sent_at DATETIME Nein - Feld sent_at
accepted_at DATETIME Nein - Feld accepted_at
currency VARCHAR(3) Ja * - Feld currency
payment_terms VARCHAR(128) Nein - Feld payment_terms
payment_term_code VARCHAR(32) Nein - Feld payment_term_code
customer_reference VARCHAR(128) Nein - Feld customer_reference
delivery_address TEXT Nein - Feld delivery_address
terms TEXT Nein - Feld terms
salesperson_id UUID Nein FK ➔ users.id Feld salesperson_id
signature_required BOOLEAN Ja * - Feld signature_required
subtotal NUMERIC(14, 2) Ja * - Feld subtotal
tax_total NUMERIC(14, 2) Ja * - Feld tax_total
total NUMERIC(14, 2) Ja * - Feld total
notes TEXT Nein - Feld notes
opportunity_id UUID Nein - Feld opportunity_id
portal_kind VARCHAR(24) Nein - Feld portal_kind
portal_order_key UUID Nein - Feld portal_order_key
portal_order_fingerprint VARCHAR(64) Nein - Feld portal_order_fingerprint
contract_id UUID Nein - Feld contract_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

🔌 Punto di partenza (UI & API)

Art Metodo Punto finale / percorso Titel & Zweck Il diritto
⚡ REST API DELETE /api/v1/quotes/templates/{template_id}
delete_quote_template
Semantic binding: operator_surface; mutation=True
quotes
⚡ REST API DELETE /api/v1/quotes/{quote_id}
delete_quote
Semantic binding: operator_surface; mutation=True
quotes
⚡ REST API DELETE /api/v1/quotes/{quote_id}/items/{item_id:uuid}
delete_quote_item
Semantic binding: operator_surface; mutation=True
quotes
⚡ REST API GET /api/v1/gaeb/documents
list_gaeb_documents
Semantic binding: inventory_only; mutation=False
quotes
⚡ REST API GET /api/v1/gaeb/documents/{document_id}
get_gaeb_document
Semantic binding: inventory_only; mutation=False
quotes
⚡ REST API GET /api/v1/gaeb/documents/{document_id}/export-x84
export_gaeb_x84
Semantic binding: inventory_only; mutation=False
quotes
⚡ REST API GET /api/v1/quotes
list_quotes
Semantic binding: inventory_only; mutation=False
quotes
⚡ REST API GET /api/v1/quotes/templates
list_quote_templates
Semantic binding: inventory_only; mutation=False
quotes
⚡ REST API GET /api/v1/quotes/templates/{template_id}
get_quote_template
Semantic binding: inventory_only; mutation=False
quotes
⚡ REST API GET /api/v1/quotes/{quote_id}
get_quote
Semantic binding: inventory_only; mutation=False
quotes
⚡ REST API GET /api/v1/quotes/{quote_id}/conversion-options
quote_conversion_options
Semantic binding: inventory_only; mutation=False
quotes
⚡ REST API GET /api/v1/quotes/{quote_id}/pdf
get_quote_pdf
Semantic binding: inventory_only; mutation=False
quotes
⚡ REST API GET /gaeb
gaeb_list_page
Semantic binding: inventory_only; mutation=False
quotes
⚡ REST API GET /gaeb/{document_id}
gaeb_detail_page
Semantic binding: inventory_only; mutation=False
quotes
⚡ REST API GET /portal/{slug}/angebote
quotes_page
Semantic binding: inventory_only; mutation=False
quotes
⚡ REST API GET /quotes
quotes_page
Semantic binding: inventory_only; mutation=False
quotes
⚡ REST API GET /quotes/new
quote_create_page
Semantic binding: inventory_only; mutation=False
quotes
⚡ REST API GET /quotes/templates
quote_templates_page
Semantic binding: inventory_only; mutation=False
quotes
⚡ REST API GET /quotes/{quote_id}
quote_detail_page
Semantic binding: inventory_only; mutation=False
quotes
⚡ REST API PATCH /api/v1/quotes/templates/{template_id}
update_quote_template
Semantic binding: operator_surface; mutation=True
quotes
⚡ REST API PATCH /api/v1/quotes/{quote_id}
update_quote
Semantic binding: operator_surface; mutation=True
quotes
⚡ REST API PATCH /api/v1/quotes/{quote_id}/items/reorder
reorder_quote_items
Semantic binding: operator_surface; mutation=True
quotes
⚡ REST API PATCH /api/v1/quotes/{quote_id}/items/{item_id:uuid}
update_quote_item
Semantic binding: operator_surface; mutation=True
quotes
⚡ REST API POST /api/v1/gaeb/documents/{document_id}/convert-to-quote
convert_gaeb_to_quote
Semantic binding: operator_surface; mutation=True
quotes
⚡ REST API POST /api/v1/gaeb/documents/{document_id}/prices
update_gaeb_prices
Semantic binding: operator_surface; mutation=True
quotes
⚡ REST API POST /api/v1/gaeb/upload
upload_gaeb_file
Semantic binding: operator_surface; mutation=True
quotes
⚡ REST API POST /api/v1/quotes
create_quote
Semantic binding: operator_surface; mutation=True
quotes
⚡ REST API POST /api/v1/quotes/templates
create_quote_template
Semantic binding: operator_surface; mutation=True
quotes
⚡ REST API POST /api/v1/quotes/{quote_id}/accept
accept_quote
Semantic binding: operator_surface; mutation=True
quotes
⚡ REST API POST /api/v1/quotes/{quote_id}/convert-to-project
convert_quote_to_project
Semantic binding: operator_surface; mutation=True
quotes
⚡ REST API POST /api/v1/quotes/{quote_id}/convert-to-workorder
convert_quote_to_workorder
Semantic binding: operator_surface; mutation=True
quotes
⚡ REST API POST /api/v1/quotes/{quote_id}/create-invoice
create_invoice_from_quote
Semantic binding: operator_surface; mutation=True
quotes
⚡ REST API POST /api/v1/quotes/{quote_id}/escalate-ticket
escalate_quote_to_ticket
Semantic binding: operator_surface; mutation=True
quotes
⚡ REST API POST /api/v1/quotes/{quote_id}/items
add_quote_item
Semantic binding: operator_surface; mutation=True
quotes
⚡ REST API POST /api/v1/quotes/{quote_id}/reject
reject_quote
Semantic binding: operator_surface; mutation=True
quotes
⚡ REST API POST /api/v1/quotes/{quote_id}/send
send_quote
Semantic binding: operator_surface; mutation=True
quotes
⚡ REST API POST /gaeb/upload
web_upload_gaeb
Semantic binding: operator_surface; mutation=True
quotes
⚡ REST API POST /gaeb/{document_id}/convert-quote
web_convert_to_quote
Semantic binding: operator_surface; mutation=True
quotes
⚡ REST API POST /gaeb/{document_id}/prices
web_update_prices
Semantic binding: operator_surface; mutation=True
quotes
⚡ REST API POST /portal/{slug}/angebote/{quote_id}/entscheiden
quote_decide
Semantic binding: operator_surface; mutation=True
quotes

🛡️ Regolamentazione e conformità

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • Capacità di verifica
  • Isolazione dei clienti (PostgreSQL RLS)