Skip to content

YigitErogluTr/Cost_Estimate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

🛠️ Maliyet Planlama (BOM & Costing Tool)

Bu proje, SAP Business One veritabanına bağlanarak ürün ağaçları (BOM – Bill of Materials) üzerinden maliyet planlaması yapmayı sağlayan bir masaüstü uygulamasıdır.
Uygulama Python + Tkinter ile geliştirilmiştir, veri kaynağı olarak SQL Server (pyodbc) kullanır. Sonuçlar Excel (openpyxl) ve PDF (reportlab) formatlarına aktarılabilir.


🚀 Özellikler

  • SQL Server (SAP B1) veritabanına güvenli bağlantı
  • Ürün ağaçlarını (BOM) görüntüleme
  • Malzeme maliyet hesaplama (son alış fiyatı, işçilik ve genel gider oranları dahil)
  • Kullanıcı dostu Tkinter arayüzü
  • Çıktıları Excel ve PDF olarak kaydetme
  • Ayarlar için .env veya config.ini desteği (gizli veriler koda gömülmez)

👨‍💻 Yazılımcılar İçin

📦 Kurulum

  1. Python 3.9+ kurulu olmalı.
  2. Gerekli kütüphaneleri yükle:
    pip install pyodbc openpyxl reportlab python-dotenv
  3. SQL Server ODBC sürücüsünü kur (Windows için “ODBC Driver 17/18 for SQL Server”).

⚙️ Yapılandırma

Uygulama, veritabanı bağlantısını 3 farklı şekilde alabilir:

1. Ortam Değişkenleri (ENV)

set DB_SERVER=YOUR_SQL_SERVER
set DB_DATABASE=YOUR_DB
set DB_USERNAME=YOUR_USER
set DB_PASSWORD=YOUR_PASS
set DB_TRUST_SERVER_CERT=yes
set DB_ENCRYPT=no

2. .env Dosyası

Projenin kök dizinine .env ekle:

DB_SERVER=YOUR_SQL_SERVER
DB_DATABASE=YOUR_DB
DB_USERNAME=YOUR_USER
DB_PASSWORD=YOUR_PASS
DB_TRUST_SERVER_CERT=yes
DB_ENCRYPT=no

3. config.ini Dosyası

Windows: %APPDATA%\bom_costing\config.ini
Linux/macOS: ~/.config/bom_costing/config.ini

[database]
server=YOUR_SQL_SERVER
database=YOUR_DB
username=YOUR_USER
password=YOUR_PASS
trust_server_certificate=yes
encrypt=no

🔒 Not: .env ve config.ini dosyalarını .gitignore içine eklemeyi unutma. Böylece GitHub’a çıkmazlar.


👥 Kullanıcılar İçin

📥 Kurulum

  1. Bilgisayarınızda Python 3.9+ kurulu olmalıdır.
  2. İlgili uygulama dosyalarını indirin (app.py, requirements.txt).
  3. Terminalden şu komutları çalıştırın:
    pip install -r requirements.txt
    python app.py

📖 Kullanım Mantığı

Bu uygulama, SAP Business One veritabanındaki ürün ağaçlarını (BOM) okuyarak maliyet hesaplaması yapar. Amaç, bir ürünün üretiminde kullanılan tüm alt bileşenlerin malzeme maliyetlerini, üzerine işçilik ve genel gider oranlarını ekleyerek toplam ürün maliyetini görmektir.

🖥️ Kullanım Adımları

Uygulamayı Aç

python app.py komutunu çalıştır. Ana pencere açılacaktır.

Veritabanı Bağlantısı

Program açılırken arka planda .env veya config.ini dosyasındaki bilgileri kullanarak SQL Server’a bağlanır. Kullanıcı olarak ekstra şifre girmen gerekmez (bilgiler gizli dosyalarda saklanır).

Ürün Seçimi Uygulama penceresinde bir ürün kodu gir veya listeden seç. Seçtiğin ürünün ürün ağacı (alt malzemeler) otomatik yüklenir.

Maliyet Hesaplama

Her bir alt malzemenin son alış fiyatı veritabanından alınır. Miktar × Fiyat hesaplanarak toplam alt malzeme maliyeti çıkarılır. Ardından sisteme tanımlı işçilik (%) ve genel gider (%) eklenir. Sonuçta ürünün toplam maliyeti ekranda gösterilir.

Çıktı Alma

“Excel’e Aktar” butonu ile tüm ürün ağacını Excel dosyası olarak kaydedebilirsin. “PDF Çıktı” butonu ile maliyet raporunu PDF formatında alabilirsin.

🔑 Özet

Arka planda: SQL’den ürün ağaçları çekilir → maliyetler hesaplanır → ekrana yansıtılır. Kullanıcı için: Ürün seç → maliyet hesapla → ister ekranda gör, ister Excel/PDF’e al. Avantajı: Manuel Excel hesaplama derdini ortadan kaldırır, maliyetleri her zaman güncel fiyatlarla verir.

📂 Proje Yapısı

project_root/
├─ app.py              # Ana uygulama
├─ requirements.txt    # Bağımlılıklar
├─ README.md           # Bu dosya
└─ .gitignore          # Gizli dosya ayarları (.env, config.ini dışarı çıkmaz)

🔒 Güvenlik

  • Kodun içinde hiçbir şifre bulunmaz.
  • Veritabanı bilgileri .env veya config.ini dosyasında tutulur.
  • GitHub’a yüklediğinizde gizli bilgiler paylaşılmaz.

🛠️ Gereksinimler

  • Python 3.9+
  • pyodbc
  • openpyxl
  • reportlab
  • python-dotenv
  • SQL Server (ODBC Driver 17/18)

🤝 Katkıda Bulunma

  1. Bu projeyi fork’la
  2. Yeni bir branch aç (feature/xyz)
  3. Kodunu commit et
  4. Pull request gönder

📜 Lisans

Bu proje MIT lisansı altındadır. İsteyen herkes kullanabilir, değiştirebilir, dağıtabilir.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages