Centurio Documentazione dei sistemi e dei moduli
🏛️ Architettura della piattaforma 🔑 Login
🏠 Tutti i moduli / supply_chain / Acquisto e ordini
🛒

Acquisto e ordini

purchasing supply_chain 🛡️ RLS Protected

Ordini da parte dei fornitori, domande di prezzo (RFQ), registrazione delle entrate di merci e bilanciamento a tre vie.

Fachliche Bestimmung: Controlla l'intero processo di acquisto. Produce ordini a partire da esigenze di acquisto, negozi di rotta o regole di scorte minime. Supporta le prenotazioni di entrata di merci con trasferimento LVS e automatizza il tri-way-decompensation (ordine <unk> entrata di merci <unk> fattura di acquisto).

⚡ Flussi di lavoro e cicli di vita

Ciclo di acquisto da procure a pagamento (P2P) procure_to_pay_lifecycle

Dalla richiesta di fabbisogno al prelievo di fornitori fino all'arrivo delle merci.

graph LR A[Bedarfsanforderung / BTO] --> B[Bestellung an Lieferant] B --> C[Wareneingang & Prüfung] C --> D[LVS-Lagerzubuchung] D --> E[3-Wege-Rechnungsprüfung]
1. RFQ
Prezzi
Richiesta di un o più fornitori.
Aktionen: Confrontazione delle offerte
2. ORDER
Ordini
- Innescare un ordine obbligatorio.
Aktionen: Gettare documenti di origine
3. RECEIPT
Invio di merci
Raccogliere le voci della merce e verificare la quantità/qualità.
Aktionen: Raccogliere le quote di LVS
4. INVOICE_MATCH
Scavi di fattura
- il tasso di cambio di prezzo di mercato,
Aktionen: Per il pagamento

Verifica dell'affidazione cascade:business.order_confirmation.check

Cascade (review_gated).

1. match
AB <unk> controllare gli ordini
Acquisto
Aktionen: order_confirmation.match
2. project
- il numero di persone che hanno diritto all'assegnazione di un'attività di lavoro
Progetti
Aktionen: link_project
3. task
Termine di consegna / controllo dei prezzi
compiti
Aktionen: create_task

Confirmazione dell'ordine <unk> contratto dell'ordine cascade_target:business.order_confirmation.match

Cascade (review_gated).

1. cascade
Confirmazione dell'ordine <unk> contratto dell'ordine

Ordine d'uso: agente di ricezione delle merci plan:command_goods_receipt_agent

Controllato piano duraturo (durable_plan), inizio: manual_command.

1. goods_receipt_agent
goods_receipt_agent
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Aktionen: goods_receipt_agent

Ordine d'uso: coordinatore degli appalti plan:command_procurement_coordinator_agent

Controllato piano duraturo (durable_plan), inizio: manual_command.

1. procurement_coordinator_agent
procurement_coordinator_agent
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Aktionen: procurement_coordinator_agent

Ordine d'uso: regola di appalto plan:command_procurement_rule_function_agent

Controllato piano duraturo (durable_plan), inizio: manual_command.

1. procurement_rule_function_agent
procurement_rule_function_agent
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Aktionen: procurement_rule_function_agent

Ordine d'uso: agente di gestione degli appalti plan:command_procurement_run_function_agent

Controllato piano duraturo (durable_plan), inizio: manual_command.

1. procurement_run_function_agent
procurement_run_function_agent
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Aktionen: procurement_run_function_agent

Ordine d'uso: agente di acquisto plan:command_purchase_agent

Controllato piano duraturo (durable_plan), inizio: manual_command.

1. purchase_agent
purchase_agent
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Aktionen: purchase_agent

Ordine d'uso: agente di corrispondenza a tre modi plan:command_three_way_match_agent

Controllato piano duraturo (durable_plan), inizio: manual_command.

1. three_way_match_agent
three_way_match_agent
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Aktionen: three_way_match_agent

Invio di merci plan:goods_receipt_followup

Consigli di controllo (durable_plan), start: domain_event.

1. three_way_match_agent
three_way_match_agent
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Aktionen: three_way_match_agent

Scavo status:dropship_line

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

1. needs_supplier
needs_supplier
Statuto <unk>needs_supplier<unk> della macchina di stato Dropship.
2. requested
richiesto
Statuto <unk> richiesto <unk> della macchina di stato
3. ordered
ordinato
Statuto della macchina di stato
4. confirmed
Confirmato
Statuto della macchina di scarico in stato
5. shipped
di merci
Statuto della macchina di stato
6. delivered
di cui al capitolo
Statuto della macchina di stato
7. issue
- il numero
Statuto della macchina di stato
8. cancelled
Cancellato
Statuto della macchina di stato

Invio di merci status:goods_receipt

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

1. draft
Progetto
Statuto <unk>progetto <unk> della macchina di stato
2. posted
di cui
Statuto <unk>postato<unk> della macchina di stato
3. cancelled
Cancellato
Statuto di entrata di merci della macchina di stato annullato.

Ordini status:purchase

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

1. draft
Progetto
Statuto <unk>progetto <unk> dell'ordine della macchina di stato.
2. sent
Sottoscrizione
Statuto della macchina di stato
3. partially_received
partially_received
Statuto <unk>partialmente_ricevuta<unk> dell'ordine della macchina in stato.
4. received
ricevuti
Statuto <unk> ricevuta <unk> dell'ordine della macchina in stato.
5. cancelled
Cancellato
Statuto dell'ordine della macchina in stato di cancellazione.

Richiesta di ordine status:purchase_requisition

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

1. draft
Progetto
Statuto della macchina di stato
2. submitted
Presente
Statuto <unk>Sottomesso <unk> della macchina di stato richiesta di ordine.
3. approved
approvato
Statuto <unk>approved<unk> della macchina di stato
4. rejected
rifiutato
Statuto <unk> rifiutato<unk> della macchina di stato
5. ordered
ordinato
Statuto <unk>ordinato <unk> della macchina di stato
6. cancelled
Cancellato
Statuto della macchina di stato

Prezzi status:purchase_rfq

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

1. draft
Progetto
Statuto della macchina di stato
2. sent
Sottoscrizione
Statuto della macchina di stato
3. partially_quoted
partially_quoted
Statuto della macchina di stato
4. quoted
Cito
Statuto della macchina di stato
5. ordered
ordinato
Statuto della macchina di stato
6. cancelled
Cancellato
Statuto della macchina di stato

Offerta di fornitura status:supplier_quote

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

1. draft
Progetto
Statuto della macchina di stato di fornitura.
2. received
ricevuti
Statuto <unk> ricevuta <unk> della macchina di stato
3. accepted
Accettazione
Statuto <unk>accettazione <unk> della macchina di stato di fornitura.
4. rejected
rifiutato
Statuto <unk> rifiutato <unk> della macchina di stato di fornitura.

🗄️ Modelli di dati

ProcurementNeeds procurement_needs RLS Aktiv
24 Feltri / colonne

Tabelle procurement_needs

Feldname Tipo di dati Dati Schlüssel Importanza professionale
run_id UUID Ja * FK ➔ procurement_runs.id Feld run_id
rule_id UUID Ja * FK ➔ reordering_rules.id Feld rule_id
product_id UUID Ja * FK ➔ products.id Feld product_id
location_id UUID Nein FK ➔ locations.id Feld location_id
supplier_info_id UUID Nein FK ➔ product_supplierinfo.id Feld supplier_info_id
physical_quantity NUMERIC(14, 4) Ja * - Feld physical_quantity
reserved_quantity NUMERIC(14, 4) Ja * - Feld reserved_quantity
incoming_quantity NUMERIC(14, 4) Ja * - Feld incoming_quantity
forecast_quantity NUMERIC(14, 4) Ja * - Feld forecast_quantity
requested_quantity NUMERIC(14, 4) Ja * - Feld requested_quantity
ordered_quantity NUMERIC(14, 4) Ja * - Feld ordered_quantity
status VARCHAR(48) Ja * - Feld status
purchase_id UUID Nein FK ➔ purchases.id Feld purchase_id
purchase_item_id UUID Nein FK ➔ purchase_items.id Feld purchase_item_id
explanation TEXT Ja * - Feld explanation
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
ProcurementRuns procurement_runs RLS Aktiv
16 Feltri / colonne

Tabelle procurement_runs

Feldname Tipo di dati Dati Schlüssel Importanza professionale
status VARCHAR(48) Ja * - Feld status
trigger VARCHAR(32) Ja * - Feld trigger
started_at DATETIME Ja * - Feld started_at
finished_at DATETIME Nein - Feld finished_at
idempotency_key VARCHAR(128) Nein - Feld idempotency_key
summary JSONB Ja * - Feld summary
error_message TEXT Nein - Feld error_message
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/purchasing/procurement/rules/{rule_id}
delete_reordering_rule
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API GET /api/v1/dropshipping
list_lines
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /api/v1/dropshipping/meta
di cui al paragrafo 1
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/goods-receipts
list_receipts
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/goods-receipts/{receipt_id}
get_receipt
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/goods-receipts/{receipt_id}/labels.pdf
goods_receipt_labels_pdf
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/goods-receipts/{receipt_id}/landed-costs
list_landed_costs
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/procurement/rules
list_reordering_rules
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/procurement/runs
list_procurement_runs
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/procurement/runs/{run_id}/needs
list_procurement_needs
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/purchases
list_purchases
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/purchases/open
list_open_purchases
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/purchases/{purchase_id}
get_purchase
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/purchases/{purchase_id}/matching
get_purchase_matching
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/purchases/{purchase_id}/pdf
get_purchase_pdf
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/reports/supplier-scorecard
supplier_scorecard_report
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/requisitions
list_purchase_requisitions
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/requisitions/{requisition_id}
get_purchase_requisition
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/rfqs
list_rfqs
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/rfqs/{rfq_id}
get_rfq
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/rfqs/{rfq_id}/compare
compare_rfq_quotes
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/settings
get_purchasing_settings
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/supplier-portal/purchases
list_purchases
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/supplier-portal/rfqs
list_rfqs
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /dropshipping
dropshipping_page
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /purchasing
purchasing_page
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /purchasing/new
purchase_create_page
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /purchasing/orders/{purchase_id}
purchase_order_detail_page
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /purchasing/receipts/{receipt_id}
goods_receipt_detail_page
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /purchasing/tab/procurement
purchasing_tab_procurement
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /purchasing/tab/purchases
purchasing_tab_purchases
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /purchasing/tab/receipts
purchasing_tab_receipts
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /purchasing/{purchase_id}
purchase_order_detail_page
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API GET /purchasing/{purchase_id}/pdf
purchase_order_pdf_view
Semantic binding: inventory_only; mutation=False
purchasing
⚡ REST API PATCH /api/v1/purchasing/goods-receipts/{receipt_id}
update_receipt_draft
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API PATCH /api/v1/purchasing/goods-receipts/{receipt_id}/items/{item_id}/tracking
update_receipt_item_tracking
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API PATCH /api/v1/purchasing/procurement/rules/{rule_id}
update_reordering_rule
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/dropshipping/quotes/{quote_id}/create
create_for_quote
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/dropshipping/{line_id}/cancel
Cancellare
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/dropshipping/{line_id}/delivered
di cui al capitolo
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/dropshipping/{line_id}/issue
- il numero
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/dropshipping/{line_id}/release-billing
release_billing
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/dropshipping/{line_id}/supplier
assign_supplier
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/dropshipping/{line_id}/tracking
di tracciamento
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/goods-receipts
create_receipt
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/goods-receipts/{receipt_id}/landed-costs
create_landed_cost
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/goods-receipts/{receipt_id}/post
post_receipt
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/goods-receipts/{receipt_id}/print-labels
print_goods_receipt_labels
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/procurement/rules
create_reordering_rule
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/procurement/run
run_procurement
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/purchases
create_purchase
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/purchases/{purchase_id}/approve
approve_purchase
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/purchases/{purchase_id}/confirm-supplier
confirm_purchase_supplier
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/purchases/{purchase_id}/items
add_item_to_purchase
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/purchases/{purchase_id}/receive
quick_receive_purchase
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/purchases/{purchase_id}/send
send_purchase
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/purchases/{purchase_id}/send-email
send_purchase_email
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/purchases/{purchase_id}/tax-context
confirm_purchase_tax_context
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/requisitions
create_purchase_requisition
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/requisitions/{requisition_id}/approve
approve_purchase_requisition
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/requisitions/{requisition_id}/convert-to-purchase
convert_purchase_requisition
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/requisitions/{requisition_id}/reject
reject_purchase_requisition
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/requisitions/{requisition_id}/submit
submit_purchase_requisition
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/rfqs
create_rfq
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/rfqs/{rfq_id}/quotes
record_supplier_quote
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/rfqs/{rfq_id}/quotes/{quote_id}/purchase
create_purchase_from_quote
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/rfqs/{rfq_id}/suppliers
add_rfq_supplier
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/supplier-portal/invoices
upload_invoice
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/supplier-portal/rfqs/{rfq_id}/respond
respond_rfq
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/supplier-portal/suppliers/{supplier_id}/access-token
issue_access_token
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /purchasing/settings/grouping
web_update_purchasing_grouping
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API PUT /api/v1/purchasing/settings
update_purchasing_settings
Semantic binding: operator_surface; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing
Ordine di acquisto
Produzione di nuovi ordini di acquisto
purchasing:write

🛡️ Regolamentazione e conformità

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • Capacità di verifica
  • HGB §377 (obbligo di rientro all'entrata in vigore delle merci)
Moduli collegati:
➔ suppliers ➔ inventory ➔ dropship ➔ crossdock