Bu sayfa src/cluster_erp/modules/procurement/ içindeki iki alt modülü anlatır: bir tedarikçiyle bir dönem için yapılan çerçeve anlaşmalar olan purchase_contracts/ ve tedarikçi ile ürün kırılımı başına fiyat ana verisi ile fiyat geçmişini tutan info_records/. Her ikisini besleyen tedarikçi teklifleri purchasing quotations modülü sayfasında anlatılır.
Kapsam ve kaynak¶
- Tanımlandığı yer:
purchase_contractsveinfo_recordsalt modüllerininmodels.py,services.py,routes.pyvemetadata.pydosyaları. - Sayım: 4 tablo; 16 sözleşme ucu ve 8 info kaydı ucu (
@router.dekoratörleri); tamamı sözleşmelerde olan 5ActionMetagirdisi.
Sözleşme alanları¶
| Ad | Anlam | Kaynak |
|---|---|---|
code |
purchase_contract yıllık dizisinden gelen iş anahtarı |
src/cluster_erp/modules/procurement/purchase_contracts/models.py:35, src/cluster_erp/modules/procurement/purchase_contracts/services.py:145 |
contract_type |
quantity (varsayılan) veya value |
src/cluster_erp/modules/procurement/purchase_contracts/models.py:37-42, src/cluster_erp/modules/procurement/purchase_contracts/schemas.py:10 |
vendor_id, vendor_name_cache |
Tedarikçi taraf ve önbelleğe alınmış ad | src/cluster_erp/modules/procurement/purchase_contracts/models.py:43-44 |
source_quotation_id, purchase_rfq_id |
Sözleşmenin kökeni | src/cluster_erp/modules/procurement/purchase_contracts/models.py:46-49 |
status |
Varsayılan draft |
src/cluster_erp/modules/procurement/purchase_contracts/models.py:51-57 |
valid_from, valid_to, currency, incoterm, payment_terms |
Geçerlilik ve koşullar | src/cluster_erp/modules/procurement/purchase_contracts/models.py:58-62 |
target_value, released_value |
Değer hedefi ve serbest bırakılan değer, Numeric(19, 4) |
src/cluster_erp/modules/procurement/purchase_contracts/models.py:64-67 |
activated_at, activated_by, closed_at, cancelled_at, cancelled_by, cancel_reason |
Yaşam döngüsü kaydı | src/cluster_erp/modules/procurement/purchase_contracts/models.py:71-76 |
Sözleşme kalemleri (PurchaseContractItem, tablo procurement_purchase_contract_items) line_no, ürün kırılımı, description, target_qty, released_qty, net_unit_price ve unit_id taşır (src/cluster_erp/modules/procurement/purchase_contracts/models.py:83-109).
Sözleşme durumları ve aksiyonları¶
Servis her aksiyonu bir hedef duruma ve izin verilen kaynak durumlara eşler (src/cluster_erp/modules/procurement/purchase_contracts/services.py:39-45).
stateDiagram-v2 [*] --> draft draft --> active: activate active --> closed: close active --> expired: expire draft --> cancelled: cancel active --> cancelled: cancel cancelled --> draft: reopen
Düz anlatımla: activate eksiksiz bir taslak ister: en az bir kalem, başlangıcı bitişten sonra olmayan bir geçerlilik dönemi ve değer sözleşmesi için bir hedef değer (src/cluster_erp/modules/procurement/purchase_contracts/services.py:234-256, src/cluster_erp/modules/procurement/purchase_contracts/services.py:308-346). Her geçiş eşzamanlı düzenlemelere karşı kayıt sürümünü denetler (src/cluster_erp/modules/procurement/purchase_contracts/services.py:213-232).
| Aksiyon | Etiket | Koşul | Uç | İzin | Kaynak |
|---|---|---|---|---|---|
activate |
Aktifleştir | status değeri draft |
POST /purchase-contracts/{id}/activate |
purchase_contract.activate |
src/cluster_erp/modules/procurement/purchase_contracts/metadata.py:242-255, src/cluster_erp/modules/procurement/purchase_contracts/routes.py:170 |
close |
Kapat | status değeri active |
POST /purchase-contracts/{id}/close |
purchase_contract.update |
src/cluster_erp/modules/procurement/purchase_contracts/metadata.py:256-267, src/cluster_erp/modules/procurement/purchase_contracts/routes.py:184 |
expire |
Süresini Doldur | status değeri active |
POST /purchase-contracts/{id}/expire |
purchase_contract.update |
src/cluster_erp/modules/procurement/purchase_contracts/metadata.py:268-281, src/cluster_erp/modules/procurement/purchase_contracts/routes.py:196 |
cancel |
İptal Et | status değeri draft veya active |
POST /purchase-contracts/{id}/cancel |
purchase_contract.cancel |
src/cluster_erp/modules/procurement/purchase_contracts/metadata.py:282-308, src/cluster_erp/modules/procurement/purchase_contracts/routes.py:210 |
reopen |
Yeniden Aç | status değeri cancelled |
POST /purchase-contracts/{id}/reopen |
purchase_contract.update |
src/cluster_erp/modules/procurement/purchase_contracts/metadata.py:309-320, src/cluster_erp/modules/procurement/purchase_contracts/routes.py:227 |
Sözleşme uçları¶
| Yöntem ve yol | İzin | Kaynak |
|---|---|---|
GET, POST /purchase-contracts/; GET, PUT, DELETE /purchase-contracts/{contract_id}; POST /purchase-contracts/bulk-delete |
purchase_contract.read, .create, .update, .delete |
src/cluster_erp/modules/procurement/purchase_contracts/routes.py:55-140 |
GET /purchase-contracts/{contract_id}/completeness |
purchase_contract.read |
src/cluster_erp/modules/procurement/purchase_contracts/routes.py:155 |
Kalemler: GET, POST /purchase-contracts/{contract_id}/items; PUT, DELETE /purchase-contract-items/{item_id} |
purchase_contract.read, purchase_contract.update |
src/cluster_erp/modules/procurement/purchase_contracts/routes.py:242-290 |
Info kaydı alanları¶
| Ad | Anlam | Kaynak |
|---|---|---|
code |
info_record yıllık dizisinden gelen iş anahtarı |
src/cluster_erp/modules/procurement/info_records/models.py:44, src/cluster_erp/modules/procurement/info_records/services.py:175 |
vendor_party_id, vendor_name_cache |
Tedarikçi | src/cluster_erp/modules/procurement/info_records/models.py:45-48 |
product_id, product_model_id, product_version_id |
Ürün kırılımı | src/cluster_erp/modules/procurement/info_records/models.py:51-59 |
currency, net_unit_price |
Güncel fiyat Numeric(18, 4) |
src/cluster_erp/modules/procurement/info_records/models.py:62-64 |
lead_time_days, min_order_qty, incoterm, payment_terms |
Tedarik koşulları | src/cluster_erp/modules/procurement/info_records/models.py:66-71 |
source, source_ref_id, source_ref_code |
Fiyatın kaynağı: manual veya quotation |
src/cluster_erp/modules/procurement/info_records/models.py:73-79, src/cluster_erp/modules/procurement/info_records/services.py:179 |
valid_from, valid_to, is_active, notes |
Geçerlilik | src/cluster_erp/modules/procurement/info_records/models.py:82-87 |
Fiyat geçmişi satırları (PurchasingInfoRecordPrice, tablo procurement_info_record_prices) unit_price, currency, valid_from, source, source_ref_code ve recorded_at tutar (src/cluster_erp/modules/procurement/info_records/models.py:94-121).
Info kaydı uçları¶
| Yöntem ve yol | İzin | Kaynak |
|---|---|---|
GET, POST /info-records/; GET, PUT, DELETE /info-records/{record_id}; POST /info-records/bulk-delete |
info_record.read, .create, .update, .delete |
src/cluster_erp/modules/procurement/info_records/routes.py:32-110 |
GET /info-records/{record_id}/prices |
info_record.read |
src/cluster_erp/modules/procurement/info_records/routes.py:125 |
GET /info-record-lookup |
info_record.read |
src/cluster_erp/modules/procurement/info_records/routes.py:140-149 |
Kısıtlar ve doğrulama¶
- Bir sözleşme yalnızca
draftdurumunda değişir; yalnızcadraftveyacancelledsözleşmeler silinebilir (src/cluster_erp/modules/procurement/purchase_contracts/services.py:36,src/cluster_erp/modules/procurement/purchase_contracts/services.py:198-210). - Tedarikçi ve ürün kırılımı başına bir canlı info kaydı bulunur; elle girilen bir kopya reddedilir (
src/cluster_erp/modules/procurement/info_records/models.py:33-41,src/cluster_erp/modules/procurement/info_records/services.py:160-173). upsertbir kayıt oluşturur veya fiyatı günceller, kaydı yeniden etkinleştirir ve fiyat değiştiyse bir geçmiş satırı ekler (src/cluster_erp/modules/procurement/info_records/services.py:229-292).SupplierQuotationAwardedgeldiğinde modül, tam kırılım taşıyan her ihale edilmiş kalem için bir info kaydını kendi kayıt noktasında günceller (src/cluster_erp/modules/procurement/module.py:813-862).CreateFollowOnFromSupplierQuotation, ihale edilmiş bir tedarikçi teklifinden bir satın alma siparişi veya sözleşme oluşturur; metin kalemleri metin kalemi olur (src/cluster_erp/modules/procurement/module.py:711-810).- Satın alma siparişi kalemleri varsayılan birim fiyatlarını tam kırılımla
lookup_priceüzerinden alır (src/cluster_erp/modules/procurement/purchase_orders/services.py:297-303).
Tutarsızlıklar¶
Tanıtılan terimler¶
| Terim | Kod tanımlayıcısı | Tanım | Türkçe terim | Kaynak |
|---|---|---|---|---|
| purchase contract | PurchaseContract |
Bir tedarikçiyle bir dönem için miktar veya değer bazlı çerçeve anlaşma. | Satın alma sözleşmesi | src/cluster_erp/modules/procurement/purchase_contracts/models.py:23 |
| info record | PurchasingInfoRecord |
Bir ürün kırılımının bir tedarikçiden güncel fiyatı ve koşulları. | Info kaydı | src/cluster_erp/modules/procurement/info_records/models.py:25 |
İlgili sayfalar¶
92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.