Vaka: Bir Muhasebe Ofisinin Haftalık Excel Raporunu Python ile Otomatikleştirmesi

Ders 9/11 · yaklaşık 3 dk okuma

Bu derste kurgusal ama gerçekçi bir vakayı birlikte inceleyeceğiz. Amacımız yeni öğrendiğiniz temel yapıların (değişkenler, döngüler, listeler, fonksiyonlar) gerçek bir iş sorununda nasıl bir araya geldiğini görmek. Vaka öğretici amaçlıdır; sayısal sonuç verilmez, kazanç niteliksel olarak tartışılır.

Durum: Her Pazartesi Aynı Dert

Bursa'da orta ölçekli bir tekstil firmasının muhasebe ekibi, her hafta satış verilerini elle birleştiriyor. Her bölge temsilcisi kendi Excel dosyasını gönderiyor. Ekipten biri bu dosyaları tek tabloda toplayıyor, toplamları alıyor ve yönetime özet hazırlıyor. Bu iş her hafta günler alıyor ve en büyük risk, kopyala-yapıştır sırasında yapılan sessiz hatalar.

Ekipteki yeni çalışanımız Elif, kursun temel konularını yeni bitirmiş biri. Elif'in elindeki araçlar sınırlı ama yeterli: değişken, döngü, liste ve fonksiyon.

Adım 1: Sorunu Doğru Tanımlamak

Elif ilk iş olarak kod yazmadı. Bir kâğıda işin bugünkü akışını yazdı:

  • Girdi: Her temsilciden gelen, aynı sütun düzenine sahip satış dosyaları.
  • İşlem: Dosyaları birleştirmek, ürün grubu ve bölge bazında toplam almak.
  • Çıktı: Yönetime giden tek sayfalık özet.

Bu tanım kritik bir fark yarattı: Elif'in çözeceği sorun "Excel'i otomatikleştirmek" gibi bulanık bir hedef değil, "üç girdiden bir çıktı üretmek" gibi net bir iş oldu.

Adım 2: İşi Küçük Parçalara Bölmek

ParçaKursta kullanılan yapıGörevi
Dosya listesiListeHaftanın dosya adlarını tek listede tutar
Her dosyayı okumafor döngüsüListedeki her dosya için aynı adımı tekrarlar
Satırı kontrol etmeif / elseBoş veya hatalı satırı ayıklar
Toplam hesaplamaFonksiyonAynı hesabı tek yerde, tekrar yazmadan yapar
Sonucu yazdırmaDeğişkenler, printÖzeti okunur biçimde gösterir

Adım 3: Önce Basit Sürüm

Elif önemli bir karar aldı: ilk sürüm sadece tek bir bölgenin tek haftalık dosyasını okuyup toplamını yazdıracaktı. Grafik yok, otomatik e-posta yok, şık biçimlendirme yok.

Bu kararın gerekçesi şuydu: küçük sürüm hızlı çalışır, hatası kolay bulunur ve ekibe "işe yarıyor" diye gösterilebilir. Elif sonucu, kendi elle hesapladığı toplamla yan yana koydu. İki sonuç tutunca bir sonraki adıma geçti.

Adım 4: Adım Adım Genişletmek

  • Önce tek dosya yerine dosya listesi ve bir for döngüsü eklendi.
  • Sonra hesap mantığı bir fonksiyona taşındı; böylece aynı kod birden fazla yerde kopyalanmadı.
  • En son ürün grubu bazında ayrım eklendi.

Her eklemeden sonra Elif betiği yeniden çalıştırıp sonucu kontrol etti. Aynı anda çok şey değiştirmedi; hata çıktığında nedeni hemen biliyordu.

Karşılaşılan Sorunlar

  • Boş satırlar: Bazı dosyalarda tablo altında boş satırlar vardı ve hesap bozuldu. Çözüm: if ile boş değeri atlamak.
  • Sayı yerine metin: Bazı hücrelerde tutar metin olarak girilmişti. Çözüm: dönüştürme öncesi kontrol ve hatalı satırı atlamak yerine listeye not etmek.
  • Dosya adı tutarsızlığı: Her temsilci dosyayı farklı adlandırıyordu. Çözüm: ekip ortak bir adlandırma kuralı belirledi. Bu, kodla değil süreçle çözülen bir sorundu.

Alınan Kararlar: Hatalı Sonuç Riskini Yönetmek

Muhasebede yanlış toplam, yavaş toplamdan daha pahalıdır. Bu yüzden Elif ve ekip şu kuralları koydu:

  • Betik ilk haftalarda elle hazırlanan raporla paralel çalıştırıldı ve iki sonuç karşılaştırıldı.
  • Betik atladığı her satırı ekrana yazdırdı; hiçbir şey sessizce kaybolmadı.
  • Betiği değiştiren kişi, değişikliği ekipçe görülebilir bir yere not etti.
  • Yönetime giden son rapor, bir muhasebe uzmanının gözünden geçmeye devam etti.

Çıkarılan Dersler

  • Kod yazmadan önce işi kâğıtta tanımlayın.
  • Önce en küçük çalışan sürümü yapın, sonra genişletin.
  • Betiğin sonucunu bildiğiniz bir sonuçla karşılaştırın.
  • Hatayı gizlemeyin, görünür kılın.
  • Bazı sorunlar kodla değil, ortak kuralla çözülür.

Kendi İşiniz İçin Mini Şablon

SoruSizin cevabınız
Hangi iş her hafta tekrar ediyor?
Girdi nedir, çıktı nedir?
En küçük çalışan sürüm ne olur?
Sonucu neyle karşılaştıracağım?

Tartışma Soruları

  • Sizin işinizde hangi tekrar eden görev otomatikleştirilebilir?
  • Önce neyi küçük başlatırdınız? İlk sürümde neleri bilerek dışarıda bırakırdınız?
  • Betiğin hatalı sonuç vermesi riskini nasıl yönetirdiniz? Kontrolü kim ve nasıl yapardı?

Bu dersi kayıt olmadan izleyebilirsin. İlerlemeni kaydetmek, sertifika almak ve puan tablosuna girmek için ücretsiz üye ol: Kayıt Ol

İpucu: ← ve → tuşlarıyla dersler arasında geçebilirsin.