Centurio System and module documentation
🏛️ Platform architecture 🔑 Login
🏠 All modules / supply_chain / Purchases and orders
🛒

Purchases and orders

purchasing supply_chain 🛡️ RLS Protected

Supplier orders, price inquiries (RFQ), collection of goods and three-way settlement.

Fachliche Bestimmung: Controls the entire procurement process. Generates orders from buy-to-order requirements, routes or minimum inventory rules. Supports booking of goods with LVS transfer and automates the three-way settlement (order <unk> goods receipt <unk> incoming invoice).

⚡ Workflows and life cycles

Procurement cycle from procurement to payment (P2P) procure_to_pay_lifecycle

From the requirement of the supplier to the order of the goods.

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
Price demand
Request from one or more suppliers.
Aktionen: Comparison of offers
2. ORDER
Order
The Commission shall adopt the following measures:
Aktionen: Production of PO
3. RECEIPT
Import of goods
Recover the goods and verify quantity/quality.
Aktionen: The following items are included in the list:
4. INVOICE_MATCH
Accounting
The Commission will examine the situation of the Member States in the light of the above.
Aktionen: Release for payment

Verification of the order confirmation cascade:business.order_confirmation.check

The following information shall be provided:

1. match
AB <unk> Comparison of orders
The purchase
Aktionen: Order_confirmation.match
2. project
The Commission shall adopt the following measures:
Projects
Aktionen: link_project
3. task
The Commission shall adopt the following implementing acts:
other tasks
Aktionen: create_task

Confirmation of order <unk> Balancing order cascade_target:business.order_confirmation.match

The following information shall be provided:

1. cascade
Confirmation of order <unk> Balancing order

User order: receipt agent plan:command_goods_receipt_agent

The following is the list of the main functions of the system:

1. goods_receipt_agent
goods_receipt_agent
The following is the list of the products:
Aktionen: goods_receipt_agent

User order: procurement coordinator plan:command_procurement_coordinator_agent

The following is the list of the main functions of the system:

1. procurement_coordinator_agent
procurement_coordinator_agent
The following is the list of the products:
Aktionen: procurement_coordinator_agent

User order: procurement rule function agent plan:command_procurement_rule_function_agent

The following is the list of the main functions of the system:

1. procurement_rule_function_agent
procurement_rule_function_agent
The following is the list of the products:
Aktionen: procurement_rule_function_agent

User order: procurement run function agent plan:command_procurement_run_function_agent

The following is the list of the main functions of the system:

1. procurement_run_function_agent
procurement_run_function_agent
The following is the list of the products:
Aktionen: procurement_run_function_agent

The following information shall be provided: plan:command_purchase_agent

The following is the list of the main functions of the system:

1. purchase_agent
purchase_agent
The following is the list of the products:
Aktionen: purchase_agent

The following is the list of the following: plan:command_three_way_match_agent

The following is the list of the main functions of the system:

1. three_way_match_agent
three_way_match_agent
The following is the list of the products:
Aktionen: three_way_match_agent

The goods entered plan:goods_receipt_followup

The following is the list of the types of data that are used for the purpose of the report:

1. three_way_match_agent
three_way_match_agent
The following is the list of the products:
Aktionen: three_way_match_agent

Drop ship status:dropship_line

The following information is provided by the Commission on the basis of the information provided by the Member States:

1. needs_supplier
needs_supplier
Status of the ship.
2. requested
requested
Status of the conditioning machine dropship.
3. ordered
ordered
Status of the ship.
4. confirmed
Confirmed
Status of the ship
5. shipped
shipped
Status of the shipment of the shipment of the shipment of the shipment.
6. delivered
Delivered
Status of the ship
7. issue
issue
Status of the conditioning machine dropship.
8. cancelled
cancelled
Status of the ship

Import of goods status:goods_receipt

The following information is provided by the Commission on the basis of the information provided by the Member States:

1. draft
Draft
Status of the machine's draft goods.
2. posted
posted
Status of the goods in the goods
3. cancelled
cancelled
Status of the goods in the conditioning machine

Order status:purchase

The following information is provided by the Commission on the basis of the information provided by the Member States:

1. draft
Draft
State <unk>draft <unk> of the condition machine order.
2. sent
(c)
Status of the ordering machine
3. partially_received
partially_received
Status <unk>partially_received<unk> of the condition machine order.
4. received
received
Status of the order of the condition machine.
5. cancelled
cancelled
Status of the order of the condition machine

Order requirements status:purchase_requisition

The following information is provided by the Commission on the basis of the information provided by the Member States:

1. draft
Draft
Status of the machine order ordering
2. submitted
submitted
Status <unk>submitted <unk> to the condition machine order request.
3. approved
approved
Status of the machine ordering condition
4. rejected
Rejected
Status of the condition machine order request
5. ordered
ordered
Status of the ordered ordering machine
6. cancelled
cancelled
Status of the condition machine order request

Price demand status:purchase_rfq

The following information is provided by the Commission on the basis of the information provided by the Member States:

1. draft
Draft
Status of the state machine
2. sent
(c)
Status of the condition machine price request.
3. partially_quoted
partially_quoted
Status of the condition machine
4. quoted
Cited
Status of the condition machine price request.
5. ordered
ordered
Status of the condition machine
6. cancelled
cancelled
Status of the condition machine

Supply and distribution status:supplier_quote

The following information is provided by the Commission on the basis of the information provided by the Member States:

1. draft
Draft
Status of the state machine
2. received
received
Status of the condition machine
3. accepted
accepted
Status of the condition machine
4. rejected
Rejected
Status of the condition machine

🗄️ Data models and fields

ProcurementNeeds procurement_needs RLS Aktiv
24 Fields and columns

Tabelle procurement_needs

Feldname Type of data The Commission Schlüssel The technical significance
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 Fields and columns

Tabelle procurement_runs

Feldname Type of data The Commission Schlüssel The technical significance
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

🔌 The Commission shall adopt delegated acts in accordance with Article 21 of this Regulation.

Art The method Endpoint / path Titel & Zweck The Commission shall adopt the following:
⚡ REST API DELETE /api/v1/purchasing/procurement/rules/{rule_id}
delete_reordering_rule
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API GET /api/v1/dropshipping
list_lines
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /api/v1/dropshipping/meta
Other
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/goods-receipts
list_receipts
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/goods-receipts/{receipt_id}
get_receipt
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/goods-receipts/{receipt_id}/labels.pdf
goods_receipt_labels_pdf
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/goods-receipts/{receipt_id}/landed-costs
list_landed_costs
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/procurement/rules
list_reordering_rules
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/procurement/runs
list_procurement_runs
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/procurement/runs/{run_id}/needs
list_procurement_needs
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/purchases
list_purchases
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/purchases/open
list_open_purchases
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/purchases/{purchase_id}
get_purchase
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/purchases/{purchase_id}/matching
get_purchase_matching
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/purchases/{purchase_id}/pdf
get_purchase_pdf
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/reports/supplier-scorecard
supplier_scorecard_report
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/requisitions
list_purchase_requisitions
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/requisitions/{requisition_id}
get_purchase_requisition
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/rfqs
list_rfqs
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/rfqs/{rfq_id}
get_rfq
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/rfqs/{rfq_id}/compare
compare_rfq_quotes
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/settings
get_purchasing_settings
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/supplier-portal/purchases
list_purchases
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /api/v1/purchasing/supplier-portal/rfqs
list_rfqs
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /dropshipping
dropshipping_page
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /purchasing
purchasing_page
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /purchasing/new
purchase_create_page
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /purchasing/orders/{purchase_id}
purchase_order_detail_page
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /purchasing/receipts/{receipt_id}
goods_receipt_detail_page
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /purchasing/tab/procurement
purchasing_tab_procurement
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /purchasing/tab/purchases
purchasing_tab_purchases
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /purchasing/tab/receipts
purchasing_tab_receipts
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /purchasing/{purchase_id}
purchase_order_detail_page
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API GET /purchasing/{purchase_id}/pdf
purchase_order_pdf_view
Semantic binding: not_evaluated; mutation=False
purchasing
⚡ REST API PATCH /api/v1/purchasing/goods-receipts/{receipt_id}
update_receipt_draft
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API PATCH /api/v1/purchasing/goods-receipts/{receipt_id}/items/{item_id}/tracking
update_receipt_item_tracking
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API PATCH /api/v1/purchasing/procurement/rules/{rule_id}
update_reordering_rule
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/dropshipping/quotes/{quote_id}/create
create_for_quote
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/dropshipping/{line_id}/cancel
Cancel
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/dropshipping/{line_id}/delivered
Delivered
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/dropshipping/{line_id}/issue
issue
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/dropshipping/{line_id}/release-billing
release_billing
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/dropshipping/{line_id}/supplier
assign_supplier
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/dropshipping/{line_id}/tracking
Tracking
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/goods-receipts
create_receipt
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/goods-receipts/{receipt_id}/landed-costs
create_landed_cost
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/goods-receipts/{receipt_id}/post
post_receipt
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/goods-receipts/{receipt_id}/print-labels
print_goods_receipt_labels
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/procurement/rules
create_reordering_rule
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/procurement/run
run_procurement
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/purchases
create_purchase
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/purchases/{purchase_id}/approve
approve_purchase
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/purchases/{purchase_id}/confirm-supplier
confirm_purchase_supplier
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/purchases/{purchase_id}/items
add_item_to_purchase
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/purchases/{purchase_id}/receive
quick_receive_purchase
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/purchases/{purchase_id}/send
send_purchase
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/purchases/{purchase_id}/send-email
send_purchase_email
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/purchases/{purchase_id}/tax-context
confirm_purchase_tax_context
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/requisitions
create_purchase_requisition
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/requisitions/{requisition_id}/approve
approve_purchase_requisition
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/requisitions/{requisition_id}/convert-to-purchase
convert_purchase_requisition
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/requisitions/{requisition_id}/reject
reject_purchase_requisition
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/requisitions/{requisition_id}/submit
submit_purchase_requisition
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/rfqs
create_rfq
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/rfqs/{rfq_id}/quotes
record_supplier_quote
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/rfqs/{rfq_id}/quotes/{quote_id}/purchase
create_purchase_from_quote
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/rfqs/{rfq_id}/suppliers
add_rfq_supplier
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/supplier-portal/invoices
upload_invoice
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/supplier-portal/rfqs/{rfq_id}/respond
respond_rfq
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing/supplier-portal/suppliers/{supplier_id}/access-token
issue_access_token
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /purchasing/settings/grouping
web_update_purchasing_grouping
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API PUT /api/v1/purchasing/settings
update_purchasing_settings
Semantic binding: not_evaluated; mutation=True
purchasing
⚡ REST API POST /api/v1/purchasing
Ordering
Producing new purchase order
purchasing:write

🛡️ Regulatory and compliance

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • The Commission shall adopt the following implementing acts:
  • HGB § 377 (requirement to return goods when they are brought in)
Connected modules:
➔ suppliers ➔ inventory ➔ dropship ➔ crossdock