OĞUZ EROLAI·ADS·APPS

Kontrollü Excel Aktarım Ekranı: Bayi ve Şube Dosyalarını Alt Alta Yapıştırmayı Bırakın

17 dk okuma

Birleştirilmiş Excel tablosu hatayı göstermez, sadece yanlış toplamı gösterir. Kurgusal bir ısıtma-soğutma yedek parça üreticisinin 12 bayisinden gelen satış dosyaları eskisi gibi alt alta yapıştırılsaydı, bayi B08 bu ay hedefini yüzde 106,9 ile geçmiş görünür ve prim alırdı. Aktarım ekranı B08’in dosyasındaki 37 satırın önceki aya ait olduğunu ve zaten alındığını gösteriyor. Gerçek oran yüzde 94,8, prim ödenmiyor.

Kontrollü Excel aktarım ekranı; bayiden, şubeden, tedarikçiden ya da eski bir sistemden gelen Excel ve CSV dosyalarını merkezi veritabanına almadan önce satır satır kontrol eden, sorunlu satırı aktarımdan önce gösteren ve her yüklemeyi geri alınabilir bir kayıt olarak saklayan ekrandır. Bu ekranı şirketinize özel bir web uygulaması olarak geliştiriyorum.

Önce kendinize üç soru sorun: aynı dosya iki kez gelince fark ediyor musunuz, önceki ayla çakışan satırı görüyor musunuz, yanlış bir yüklemeyi diğerlerine dokunmadan geri alabiliyor musunuz? Üçünün de cevabı evetse ya da bütün kaynaklarınız tek bir sistemden, her ay aynı yapıda geliyorsa Excel ya da Power Query yeter, bu ekrana gerek yoktur. Hangi noktada yetmediğini aşağıda örnek bir ayla gösteriyorum.

Klasöre her ay aynı yapıda gelen dosyaları yalnız alt alta eklemek istiyorsanız bunun Power Query ile nasıl yapıldığını Excel dosyalarını birleştirme sayfasında anlattım. Bu sayfa birleştirmenin önüne konan kontrolü, onayı ve geri almayı anlatıyor.

Aktarım ekranı nasıl çalışır?

Aktarım ekranı onay verilmeden hiçbir satırı veritabanına yazmaz. Aşağıdaki akış önerdiğim yapıdır, hangi adımın ilk sürüme gireceği ilk adımda yazılı belirlenir. Sayfada dört kavramı aynı adla kullanıyorum:

  • Yükleme partisi (kısaca parti): bir yüklemenin bütün satırları. Stok partisiyle karışmasın, burada mal değil dosya yüklemesi kastediliyor. Her partinin bir numarası olur, geri alma parti bazında yapılır.
  • Kaynak profili: bir bayinin ya da sistemin dosyası için kaydedilmiş sütun eşleştirme şablonu ve biçim ayarları (tarih biçimi, ondalık ayırıcı, kodlama).
  • Satır anahtarı: bir satırı tek başına tanımlayan alanlar. Bu örnekte bayi kodu + belge numarası + belge satır numarası. Dosya adı anahtar değildir.
  • Bekleyen kuyruk: aktarılmayıp düzeltilmeyi bekleyen satırların listesi.

Dosya yüklenir, kaynak profili uygulanır, biçim temizlenir. Her satır uygun, düzeltilerek uygun, tutulan (sorunlu) ya da atlanan (zaten var) diye ayrılır. Bu önizlemede veritabanına hiçbir şey yazılmaz. Yükleyen tutulan satırları düzeltir ya da kısmi aktarım ister. Yükleyenden farklı biri onaylar, satırlar parti numarasıyla yazılır ve partinin özeti iz kaydına düşer. Hangi satırın neden tutulduğu aşağıdaki kural tablosunda.

Örnek ay: 12 bayi, 1.845 satır

Örnek veri, kurgusaldır. Bir sanayi bölgesinde ısıtma-soğutma yedek parçası üreten bir firma düşünün. Ürünleri 12 bayi üzerinden satılıyor, bayiler B01’den B12’ye kodlandı. Her bayi ayın ilk günlerinde son kullanıcıya yaptığı satışların dosyasını gönderiyor. Satış operasyon uzmanı dosyaları yüklüyor, finans kontrol uzmanı onaylıyor, satış müdürü bayi primini bu veriden hesaplıyor. Prim kuralı basit: aylık adet hedefinin yüzde 100’ünü geçen bayi prim alır. Ürün kodları altı hanelidir ve bazıları sıfırla başlar.

Önceki aya kadar dosyalar tek bir Excel çalışma kitabında alt alta yapıştırılıyordu. Ekran bu ay devreye girdi. Kurulumda önceki ayın birleşik dosyası ekrana bir kez “geçmiş veri” partisi olarak yüklendi, önceki ayın satır anahtarları oradan geliyor. Bu ayın kaynakları:

bayidosyasatır
B01, B03, B04, B06, B08, B10Bayi ERP’sinden Excel148, 131, 176, 143, 188, 232
B02Bayi ERP’sinden Excel, miktarlar metin olarak kayıtlı162
B05CSV, bayide Excel’de açılıp kaydedilmiş154
B07ABD bölge ayarlı ERP’den Excel119
B09UTF-8 CSV, ondalık virgül ve binlik nokta167
B11Windows-1254 kodlamalı CSV126
B12Elle hazırlanmış Excel, ürün kodu yerine ürün adı99

Ayın akışında olanlar:

  • B06 aynı dosyayı farklı adlarla iki kez gönderdi. İkinci yükleme içerik özeti aynı olduğu için parti açmadan durdu.
  • B03 düzeltilmiş dosya gönderdi. 131 satırın 128’i aynıydı, 3’ü aynı belge ve satır numarasıyla farklı tutar taşıyordu. Ekran aynı anahtarlı farklı değeri sessizce üzerine yazmadı, karar istedi. İlk partinin satırları henüz hiçbir hesapta kullanılmamıştı. Yükleyen geri alma talebi açtı, onaylayan o partinin tamamını geri aldı, düzeltilmiş dosya yeni parti olarak yüklendi.
  • B04’te 4 satırda belge numarası, B12’de 6 satırda iade işareti olmayan eksi miktar vardı. Bu satırlar tutuldu, uygun 172 ve 93 satır ilk partilerde kısmi aktarımla alındı (yüzde 2,3 ve 6,1 tutuldu). Bayiler dosyanın tamamını yeniden gönderince değişmeyen satırlar atlandı, yalnız düzeltilen 4 ve 6 satır aktarıldı.
  • B05’in ürün kodları kısalmıştı. Bayi CSV’yi Excel’de açıp kaydetmiş, “004512” gibi kodlar “4512” olmuştu. 97 satır kataloğa uymadı. Ekran “altı haneye sıfırla tamamla” önerdi, kural sahibi bu kuralı yalnız B05’in profili için onayladı. Bu 97 satır otomatik düzeltilen biçim sınıfına girdi, tutulan sayılmadı.
  • B07’nin tarihleri ay/gün/yıl biçimindeydi. 119 satırın 66’sında ikinci sayı 12’den büyüktü, yani biçim kesindi. Profil bu biçime kilitlendi.
  • B02, B09 ve B11’de profil biçimi düzeltti. B02’nin metin olarak kayıtlı miktarları sayıya çevrildi, B09’un ondalık virgülü okundu. B11 için ekran Windows-1254 kodlamasını önerdi, önizlemede Türkçe karakterler doğru görününce profil buna sabitlendi. 3 satırdaki “ad” birimi “adet”e eşlendi.
  • B10’da 18 satırın ürün kodu katalogda yoktu. Bunlar ay ortasında satışa çıkan yeni ürünlerdi. 214 satır aktarıldı, 18 satır bekleyen kuyruğunda kaldı.

Ay sonunda, geçmiş veri partisi hariç, 16 yükleme denemesinden 15 parti açılmış, biri geri alınmıştı. Aktarılan satır 1.790, bekleyen kuyrukta B10’un 18 satırı vardı. B08’in 37 satırı ise atlandı.

Ay sonunda çıkan karar

B08’in hedefi 1.500 adet. Dosyalar eskisi gibi yapıştırılsaydı bu ay B08’in satışı 1.604 adet, hedefin yüzde 106,9’u görünecekti. Ekran 37 satırın tarihinin önceki aya düştüğünü ve geçmiş veri partisinde aynı belge ve satır numarasıyla bulunduğunu gösterdi. Bu 37 satır 182 adet. Çıkınca B08’in bu ayki satışı 1.422 adet, yüzde 94,8. Hedefe 78 adet kalıyor.

Satış müdürü primi ödemedi ve bayiye raporun tarih aralığını sordu: bayinin ERP’si raporu takvim ayıyla değil, “son 30 gün” ile alıyormuş. Önerdiğim kural: B08’in kaynak profiline dönem filtresi eklenir. Dönem dışı satır yine görünür ama aktarılacaklar listesine hiç girmez. Bekleyen kuyruğu boşalmayan bayinin, örnekte B10’un, primi kuyruk kapanmadan kesinleşmez.

Bu kararı Excel’de de verebilirdiniz, yeter ki önceki ayın satırları elinizin altında olsun ve her satırın bir anahtarı bulunsun.

Excel’de kalacaksanız önerdiğim düzen ve formüller

Birleştirilmiş tabloda her satır bir belge satırıdır. Sütunlar: A Bayi kodu, B Belge no, C Belge satır no, D Tarih, E Ürün kodu, F Miktar, G Kaynak dosya adı. Önceki ayın aktarılmış satırları aynı yapıyla “Önceki” sayfasında durur. M1’e dönem başı, M2’ye dönem sonu tarihi yazılır. Yardımcı sütunlar:

  • H, satır anahtarı: =A2&"|"&B2&"|"&C2
  • I, önceki ayda var mı: =EĞERSAY(Önceki!H:H;H2)>0
  • J, dönem içinde mi: =VE(D2>=$M$1;D2<=$M$2)
  • K, aktarılacak mı: =VE(J2;DEĞİL(I2))
  • Bayinin prim adedi: =ÇOKETOPLA(F:F;A:A;"B08";K:K;DOĞRU)

İngilizce Excel’de COUNTIF, AND, NOT, SUMIFS ve TRUE yazılır, ayırıcı virgüldür. E sütunu metin biçiminde olmalı, yoksa baştaki sıfırlar düşer. Belge numarasında * ya da ? varsa EĞERSAY onları joker sayar, gerçek karakter için önüne ~ konur (Microsoft Destek, 15 Ekim 2026). I ile J’nin ikisi de gerekli: J yalnız tarihe bakar. Bayi dönem içi tarihli bir dosyayı yeniden gönderirse daha önce alınmış satırları yalnız I yakalar.

Formüllerin mantığını Python’da, örnek ayın kurgusal B08 satırlarıyla yeniden hesapladım. Excel’de çalıştırmadım, kendi dosyanızın bir kopyasında bir kez deneyin:

ölçümformülün sonucubeklenen
I sütunu DOĞRU olan satır3737
J sütunu YANLIŞ olan satır3737
ÇOKETOPLA ile prim adedi1.422 adet, %94,81.422 adet, %94,8

Excel’in Yinelenenleri Kaldır komutu bu işi neden yapmıyor? 15 Ekim 2026’da okuduğum Microsoft yardım sayfasına göre komut seçtiğiniz sütunları karşılaştırır, ilk geçen satırı tutar, karşılaştırmayı hücrede görünen değere göre yapar ve yinelenenleri kalıcı olarak siler. Microsoft bu yüzden önce verinin kopyasını almayı öneriyor, Excel’in web sürümünde Geri Al ile hemen geri alınabildiğini de yazıyor (Microsoft Destek). Komutun bu tarifini örnek ayın üç durumunda Python’da yeniden hesapladım:

durumtüm sütunlar seçiliG hariçyalnız A, B, Cdoğrusu
B06 farklı adla iki kez (286 satır)286143143143
B03’ün iki sürümü, eskisi üstte (262 satır)262134131, 3 satırda eski tutar131, düzeltilmiş tutarla
B08, önceki ay satırları başka kitapta (188 satır)188188188151

G sütunu dosya adı olduğu için bütün sütunlar seçiliyken B06’nın farklı adla gelen kopyası yakalanmaz. Yalnız anahtar sütunlarını seçerseniz B03 doğru satır sayısına iner, ama Excel ilk geçen satırı tuttuğu için 3 satırın eski tutarı kalır, düzeltilmiş tutar sessizce silinir. Bu son sonuç Microsoft’un tarifini benim örneğime uygulamamdan çıkıyor.

Formüller kimin yüklediğini, kimin onayladığını ve yanlış bir yüklemenin nasıl tek hamlede geri alınacağını söylemez. Ekranın Excel’den farkı tek cümle: tanımlanan iş kuralı ay sonunda biri tabloyu temizlerken değil, dosya yüklenirken uygulanır.

Bayiye gönderilebilecek yarım sayfalık not

Hataların çoğu dosya merkeze gelmeden önce, gönderenin bilgisayarında oluşuyor. Aktarım ekranı bunları yakalıyor. Ama aynı hatanın her ay tekrar gelmesi, hem bayiyi hem merkezi yoruyor. Bu yüzden aktarım kapsamına bayiler için kısa bir şablon notu eklemek yararlı olur. Excel’de kalacaksanız da aynı notu kullanabilirsiniz:

  1. Şablonun sütunlarını silmeyin, yerini değiştirmeyin, yenisini eklemeyin. Eklemeniz gereken bir bilgi varsa “Açıklama” sütununa yazın.
  2. Birleştirilmiş hücre kullanmayın. Başlıkta güzel duruyor ama aktarımda o satırın yarısı boş okunuyor.
  3. Birimi sütundaki gibi yazın. Sütun “adet” diyorsa koli sayısını yazmayın. Koli satıyorsanız bunu ayrı satırda ve ayrı birimle bildirin. Adet ile koli karışınca miktar sessizce yanlış yorumlanabilir.
  4. Hücrenin sol üst köşesinde yeşil üçgen görürseniz göndermeden bakın. Çoğu zaman “bu sayı metin olarak kaydedilmiş” demek. Merkezde toplanırken o satır sayılmayabilir. Üçgeni hiç görmüyorsanız bu, sorun yok demek olmayabilir: bu uyarı Excel ayarlarından kapatılabiliyor.
  5. Ürün kodunu kopyalarken başındaki sıfırı kontrol edin.
  6. Düzeltilmiş dosyayı gönderirken eskisinin üstüne değil, “düzeltme” diye gönderin. Ekran ikinci dosyayı tekrar olarak işaretleyip size soruyor. Böylece aynı ay iki kez sayılmıyor.

Geri bildirimin biçimi de önemli. “Dosyanızda hata var” diye yazmak işe yaramıyor. Aktarım ekranında reddedilen satırlar satır numarası ve sebebiyle listelenmeli; ayrı dosya çıktısı gerekiyorsa kapsamda ayrıca belirtilmeli. “Satır 14: birim ‘koli’, beklenen ‘adet’” gibi. Bayi ilgili satırları düzeltip tanımlanan düzeltme akışıyla geri gönderebilir. Hatanın azalıp azalmadığı aynı ölçütle takip edilir.

Formül hatası (#YOK, #DEĞER!) için arama yaptıysanız bu sayfa o konu için değil. O hatalar dosyanın içindeki formüllerle ilgili. Burada konu dosyanın başka bir sisteme doğru girmesi.

Power Query nerede yeter, tam olarak nerede kırılır?

Power Query aynı yapıdaki dosyaları bir klasörden birleştirmekte iyidir. Kırıldığı yer, dosyaların yapısının ve kodlamasının kaynaktan kaynağa değiştiği yerdir. Aşağıdakileri 15 Ekim 2026’da Microsoft’un resmî belgelerinden okudum.

Yettiği yerler:

  • Klasördeki aynı türde ve aynı sütunlara sahip dosyaları birleştirir. Bir örnek dosyada kurduğunuz dönüşüm bütün dosyalara uygulanır, hata veren dosyalar atlanabilir (Microsoft Learn).
  • Farklı bölge biçimindeki tarih ve sayıları “Using locale” (yerel ayar kullanarak) tür değişikliğiyle doğru okur (Microsoft Learn).
  • Dönüşemeyen hücreleri “Keep errors” ile ayrı bir listeye alabilir. Microsoft bunu bir denetim aracı olarak anlatıyor (Microsoft Learn).
  • CSV’nin kodlamasını “File Origin” (dosya kaynağı) ayarıyla elle seçebilirsiniz. Microsoft bu ayarı Windows kod sayfalarına bağlıyor, Türkçenin Windows kod sayfası 1254’tür (Microsoft Learn).

Kırıldığı yerler:

  • Bir adım sütunu adıyla çağırıyorsa, ad değişince sorgu durur. Kaynak dosyada o ad değiştiyse Power Query “The column … of the table wasn’t found” hatası verir ve sorgu yüklenmez (Microsoft Learn). Bu benim çıkarımım: her dosyaya uygulanan örnek sorguda sütun adıyla bir çağrı varsa hata o bayinin dosyasında çıkar. “Skip files with errors” seçiliyse sonuç o bayi olmadan, haber vermeden gelir.
  • Tür tahmini varsayılan olarak ilk 200 satıra bakar. 200. satırdan sonra farklı biçimde veri varsa yanlış tür seçilebilir. Microsoft’a göre yanlış tür her zaman hata vermez, bazen değer sessizce yanlış olur (Microsoft Learn). CSV bağlayıcısında tahmin bütün veriye çevrilebilir ya da kapatılabilir.
  • Kodlama tahmin edilmez. CSV’de karakter seti tahmin edilmiyor. UTF-8 yalnız dosya BOM ile başlıyorsa anlaşılıyor (Microsoft Learn). Bu da benim çıkarımım: örnek dosyanın ayarları bütün dosyalara uygulandığı için aynı klasörde hem UTF-8 hem Windows-1254 dosya varsa biri bozuk okunur. Microsoft’un sayfasında bu cümle yok.
  • Yinelenen kaldırma büyük/küçük harfe duyarlıdır ve hangi kopyanın kalacağı garanti değildir (Microsoft Learn). “AB-12” ile “ab-12” iki ayrı satır sayılır.
  • Parti, onay ve geri alma kavramı yok. Bu benim değerlendirmem: sorgu bir dönüşüm tarifidir, her yenilemede sonucu klasördeki dosyalardan yeniden kurar. “Bu dosya geçen ay yüklendi mi”, “bu yüklemeyi kim onayladı”, “yalnız şu yüklemeyi geri al” sorularının sorguda karşılığı yok.

Excel’in kendisi de dosyayı açarken değiştirir. 15 Ekim 2026’da okuduğum Microsoft yardım sayfasına göre Excel bir veriyi çalışma kitabına eklerken, örneğin bir .csv dosyasını açarken, varsayılan olarak baştaki sıfırları siler, 15 haneden uzun sayıyı bilimsel gösterime çevirip 15. haneden sonrasını sıfıra yuvarlar, “E” harfi çevresindeki sayıyı bilimsel gösterime ve harf-sayı dizisini tarihe çevirebilir. Microsoft 365 ve Excel 2024’te bu dönüşümler Dosya > Seçenekler > Veri > Otomatik Veri Dönüştürme altından kapatılabiliyor (Microsoft Destek). B05’in kodları bu yüzden kısalmıştı. BOM’suz kaydedilmiş UTF-8 CSV’nin Türkçe karakterleri için Microsoft Veri > Veri Al > Metin/CSV’den yolunu öneriyor (Microsoft Destek).

Excel ya da Power Query yetiyorsa bu ekrana gerek yok

Şu durumlarda ayrı bir aktarım ekranı yaptırmanızı önermem:

  • Dosyaları tek kişi birleştiriyor ve sonucu yine kendisi kullanıyor. Onay ve rol ayrımı gerekmiyor.
  • Bütün kaynaklar aynı sistemden, her ay aynı sütunlarla ve aynı kodlamayla geliyor. Power Query’nin klasör birleştirmesi bu iş için yeterli.
  • Geçmiş aylar ayrı çalışma kitaplarında donmuş duruyor ve bir yüklemeyi geri almanız gerekmiyor.
  • ERP’nizin ya da muhasebe programınızın kendi içe aktarma ekranı var, hata raporu veriyor ve ekibiniz onu kullanıyor. Önce onu sonuna kadar kullanmanızı öneririm.
  • Verinin dosya olarak gelmesi hiç gerekmiyor. Şube ya da bayi kaydı doğrudan girebiliyorsa dosya aktarmak yerine şube bazlı veri giriş sistemi daha temiz bir yoldur.

Aktarım kuralları: başlangıç önerim

Aşağıdaki kurallar başlangıç önerimdir, ölçülmüş bir doğru değildir, ilk iki ayın dosyalarıyla ayarlanır. Katalog, birim listesi ve satır türleri sizin sisteminizden gelir, ekran bunları aktarım sırasında uygular.

kuralönerimneyi önler
Aynı dosyaİçerik özeti daha önce yüklenmiş bir dosyayla aynıysa parti açılmaz, ada bakılmaz. Özet yalnız bayt düzeyinde aynı dosyayı tanır, yeniden kaydedilmiş dosya satır anahtarı kuralına düşerAynı dosyanın iki kez yüklenmesi
Satır anahtarıKaynak profili hangi alanların bir satırı tanımladığını yazarSatırın tahminle silinmesi ya da iki kez sayılması
Aynı anahtarDeğerler aynıysa atlanır ve sayılır. Farklıysa üzerine yazılmaz, geri alma ya da düzeltme kaydı istenirEski satırların yeniden eklenmesi, tutarın sessizce değişmesi
Dönem dışı tarihProfilde dönem filtresi varsa aktarılmaz, ayrı listede görünürÖnceki ayın satırlarının bu aya sayılması
Tarih ve sayı biçimiProfilde sabittir. Profil yoksa ve günlerin hepsi 12 ve altındaysa aktarım durur, biçim sorulur. Aynı sütunda 1.250,00 ile 1,250.00 karışıksa satır tutulur03.04’ün 3 Nisan mı 4 Mart mı olduğunun tahmin edilmesi
Sayı ve kod alanlarıMetin olarak kayıtlı sayı boşluklardan arındırılıp çevrilir, çevrilemeyen tutulur. Kod alanı hep metin okunur, kısalmış kod için uzunluk kuralı onayla profile yazılırToplamda görünmeyen satır, 004512’nin 4512 olması
KodlamaÖnce UTF-8 denenir. Geçersiz baytta Windows-1254 önerilir, önizlemede Türkçe karakterli örnek satır gösterilir“Işık”ın bozuk kaydedilmesi
Zorunlu alan ve listelerBelge no, tarih, ürün kodu, miktar dolu olmalı. Kod katalogda, birim birim listesinde olmalı, onaylanan eşleme (“ad” → “adet”) sözlüğe yazılırAnahtarsız satır, “ad” ile “adet”in iki birim sayılması
Eksi miktarYalnız satır türü “iade” ise kabul edilirİadenin satıştan sessizce düşülmesi

Banka ekstresi ya da POS gün sonu gibi dosyalarda iş aktarımla bitmez, hareketin faturayla eşleşmesi gerekir. O konuyu banka hareketi mutabakat uygulamasında ayrıca anlattım.

Kısmi aktarım ne zaman kabul edilir?

Kısmi aktarım, bir dosyanın uygun satırlarının aktarılması, sorunlu satırlarının bekleyen kuyruğunda kalmasıdır. Önerim, kararı sorunun kaynağına göre ayırmak. Ürün kodu için başlangıç önerim üç sınıf:

  • Biçim bozuk ama profil kuralı düzeltiyor (baştaki sıfırı düşmüş, kısalmış kod, örnekte B05’in 97 satırı): onaylı kuralla düzeltilir, tutulan sayılmaz, orana girmez.
  • Biçim bozuk ve düzeltilemiyor ya da başka bir bayi kaynaklı hata var (boş zorunlu alan, iade işareti olmayan eksi miktar): tutulan satırlar dosyanın yüzde 10’unu geçiyorsa dosya bayiye geri döner. Geçmiyorsa onaylayan gerekçe yazarak kısmi aktarım yapabilir. Eşiğin mantığı benim varsayımım: tutulan satır çoksa sorun genelde tek tek satırlarda değil dosyanın kendisindedir (yanlış dönem, kaymış sütun). Oran ilk iki ayın verisiyle ayarlanır.
  • Biçim geçerli (altı hane) ama kod katalogda yok: ana veri eksiğidir (örnekte B10’un 18 satırı), oran uygulanmaz, dosya bayiye dönmez. Satırlar bekleyen kuyruğa girer, kuyruğu ana veri sorumlusu ürünü kataloğa ekleyerek kapatır. Başlangıç önerim 3 iş günü. Süre aşılırsa kuyruk onaylayanın listesine düşer.

Kuyruk kapanmadan o bayinin verisine dayanan prim ya da fatura gibi hesaplar kesinleşmez.

Geri alma: bir yüklemenin tamamını iptal etmek

Geri alma, bir partinin bütün satırlarını tek hamlede etkin veriden çıkarmaktır. Satırlar silinmez, “geri alındı” işaretiyle iz kaydında kalır. Önerdiğim kurallar:

  • Geri alma parti bazındadır. Tek satırı değiştirmek için düzeltme kaydı açılır.
  • Dönem kapanmadan ve partinin satırları başka bir hesapta kullanılmadan geri alınabilir. B03’ün ilk partisi bu yüzden geri alınabildi.
  • Kullanılmış partiyi geri almak yerine düzeltme partisi yüklenir. Prim hesaplandıktan sonra bir partiyi geri almak, hesabı kaynağı olmadan ortada bırakır.
  • Geri alma talebini yükleyen de açabilir, ama yükleyenden farklı biri onaylar.

Kim yükler, kim onaylar, kim geri alır?

Önerdiğim temel kural: kimse kendi yüklemesini onaylamaz. Roller şöyle:

  • Yükleyen (örnekte satış operasyon uzmanı): dosyayı yükler, tutulan satırları düzeltir, kısmi aktarım ya da geri alma talebi açar.
  • Onaylayan (finans kontrol uzmanı): başkasının partisini onaylar, kısmi aktarım kararını gerekçesiyle verir, geri almayı onaylar. Kendi yüklediği partiyi başka bir onaylayan ya da yöneticisi onaylar.
  • Kural sahibi (satış operasyon müdürü): kaynak profilini, birim sözlüğünü ve eşikleri değiştirir. Profil değişikliği yeni bir profil sürümü olarak kaydedilir.
  • Ana veri sorumlusu (ürün kataloğunu tutan kişi): yeni ürünü kataloğa ekleyerek bekleyen kuyruğu kapatır.
  • Rapor kullanan, yönetim ve denetçi: aktarılan veriyi ve bekleyen kuyruğu görür, hiçbir şeyi değiştiremez.

Herkesin kendi hesabıyla girmesini öneririm, “kimse kendi yüklemesini onaylamaz” kuralı ancak ayrı hesaplarla anlam taşır.

İz kaydı, her partinin ve her kararın silinemeyen satırıdır: parti numarası, dosya adı, içerik özeti, yükleyen, zaman, kullanılan profil sürümü, gelen, aktarılan, düzeltilen, tutulan ve atlanan satır sayıları, onaylayan, kısmi aktarım ya da geri alma gerekçesi. Örnekte B03’ün ilk partisi “geri alındı” olarak gerekçesiyle duruyor, yeni parti onun numarasına bağlı. B05 profilinin önceki sürümü, yeni kuralı onaylayan kişiyle birlikte kayıtta.

Yapay zekâ ne yapar, nerede durur?

Yapay zekâ bu ekranda öneri yapar, karar vermez. Satır kontrolleri, biçim temizliği ve mükerrer koruma ekranın kendi kurallarıdır. Onayı insan verir. İki yerde işe yarayabilir:

  1. Sütun adından eşleştirme önerisi. Yeni bir kaynak geldiğinde ya da bir başlık değiştiğinde model “Stok Kodu”, “Mal No”, “Item No” gibi başlıklar için hedef alanı önerir. Yükleyen öneriyi kabul eder ya da düzeltir. Onaylanan eşleştirme kaynak profiline yazılır, o bayinin sonraki dosyasında model hiç çağrılmaz.
  2. Serbest metindeki ürün adını koda eşleme önerisi. B12’nin dosyasında 23 farklı ürün adı vardı. Model 21 ad için katalogdan kod önerdi, 2 ad için öneri yapamadı. Yükleyen önerilerin birini düzeltti, kalan 2 adı elle eşledi. Onaylanan ad-kod çiftleri B12’nin sözlüğüne yazıldı, aynı ad bir daha geldiğinde kayıtlı eşleme kullanılır.

Modele hiçbir satır yetki filtresinden geçmeden gitmez: ürün adı eşlemesinde model yalnız o bayinin dosyasındaki satırları ve kataloğun kod ve ad sütunlarını görür, başka bayinin satırını görmez. Sütun eşleştirme için modele başlıklar ve maskelenmiş birkaç örnek değer gider, dosyanın tamamı gitmez.

Bayi dosyası kişisel veri taşıyabilir. Garanti kaydı için son kullanıcının adı ve telefonu satış dosyasında yer alabilir. KVKK, kişisel verinin işlendiği amaçla bağlantılı, sınırlı ve ölçülü işlenmesini istiyor (6698 sayılı Kanun, md. 4/2-ç). Prim ve satış raporu için müşteri adı gerekmiyorsa önerim, ekranın bu sütunu hiç almaması ya da aldığı anda maskelemesidir. Bu sütunlar modele hiç gitmez.

Kişisel veri taşıyan bir satırı yurt dışında çalışan bir yapay zekâ servisine göndermek KVKK’nın 9. maddesine girer. Madde 7499 sayılı Kanun’un 34. maddesiyle değiştirildi (Resmî Gazete 12.03.2024, sayı 32487), değişiklik 1 Haziran 2024’te yürürlüğe girdi. Maddelerin güncel hâlini 15 Ekim 2026’da mevzuat.gov.tr’deki metinden okudum. Hukuki görüş vermiyorum. Hangi alanın modele gittiğini ilk adımın çıktısında yazılı veririm, değerlendirmeyi hukuk danışmanınız yapar.

Nasıl başlanır, veri ve kod kimin?

İlk adımda son iki ayın dosyalarına (müşteri adları maskeli) ve bugünkü birleştirme tablonuza bakarız. Çıktısında kaynak profillerini, satır anahtarını, kural tablosunu sizin kataloğunuz ve birim listenizle, rol listesini, ilk sürümün kapsamını ve tahmini süresini yazılı veririm. Otomasyon projelerinde en sık gördüğüm hata, ilk otomasyonu en karmaşık süreçten seçmek. Bu yüzden ilk sürüm ERP’den düzenli dosya gönderen birkaç kaynakla başlar. Elle hazırlanan dosyalar, kısmi aktarım ve yapay zekâ önerileri sonra eklenir.

Uygulama şirketiniz adına açılabilen bir sunucuda (VPS) çalışır. Veri sizindir, istediğiniz zaman Excel ya da CSV olarak alırsınız. İz kaydının ve kaynak dosyaların nasıl teslim edileceği ilk adımda yazılır. Küçük ve orta ölçekli bir ekipte kullanıcı başına lisans yok, maliyet sunucunun aylık ücreti ve bakımdan oluşur. Kaynak kodun tamamı sizin erişiminizdeki bir depoda, çalıştırma talimatı, bağımlılık listesi ve bilinen sınırlar listesiyle durur. Dosyalar kişisel veri taşıyabildiği için erişim, güvenlik, barındırma ve bakım gereksinimlerini başlangıçta ayrıca değerlendiririm.

Bayinin ERP’si ya da sizin sisteminiz değişirse ne olur? Önceki partiler ve iz kaydı olduğu gibi kalır. Değişen kaynağın profilinin nasıl güncelleneceği ve aktarılan verinin sizin ERP’nize ya da muhasebe programınıza ayrıca yazılıp yazılmayacağı, kapsamı ilk adımda yazılı belirlenir. Hedef sisteme yazmak onun içe aktarma imkânına bağlıdır, onu da ilk adımda görüp yazılı söylerim.

Son ayın bayi dosyalarından üçünü, müşteri adlarını maskeleyerek WhatsApp’tan +90 549 654 64 89 ya da iletişim sayfasından gönderin. İlk görüşmede hangi kaynakta sütunların, tarihlerin ve kodların en sık bozulduğuna, bugün aynı satırın iki kez sayılıp sayılmadığına bakarız.

Sıkça Sorulan Sorular

Eski sistemden geçmiş yılların verisini ilk kez aktarırken de bu ekran kullanılır mı?

Kullanılabilir, kurallar aynıdır. Önerim geçmişi yıl yıl ayrı partiler hâlinde aktarmak ve önce tek bir yılla denemek. Bir yılın aktarımında sorun çıkarsa yalnız o parti geri alınır.

Dosyaları bayiler kendileri yükleyebilir mi, e-postayla gelenler ne olur?

İkisi de ihtiyaca göre kurulabilir. Önerim, bayi yüklüyorsa yalnız kendi partilerini görmesi ve onayın merkezde kalması. Dosya e-postayla geliyorsa merkezdeki yükleyen aynı ekrandan yükler. Hangisinin ilk sürüme gireceği ilk adımda yazılı belirlenir.

Aynı belge numarası iki farklı bayide olabilir mi?

Olabilir, bayilerin sistemleri birbirinden habersiz numara verir. Bu yüzden satır anahtarının başında bayi kodu durur, alanları her kaynak profilinde yazılır.

Bayilere şablon kuralı nasıl anlatılır?

Sütun düzeni, birim, ürün kodu ve düzeltme dosyası kuralını kısa bir notla verin. Bayi notu örneğini kendi şablonunuza uyarlayabilirsiniz.

Başa dön ↑
NE İSTEYEBİLİRSİNİZ

Nasıl çalışıyorum?
Çalışma saati paketleri

WhatsApp’tan ya da telefonda işinizden ve ihtiyacınızdan bahsedin; 5 ile 40 saat arasında bir çalışma paketinde anlaşalım, ben gerekenleri yapmaya başlayayım. Aldığınız şey bir takvim aralığı değil, doğrudan sizin işinize harcanacak net mesai. 40 saati üç gün aralıksız çalışarak da kullanabiliriz, bilerek zamana yayıp bir yılda da bitirebiliriz — işin gerektirdiği neyse o. İşin ne kadar süreceğini tahmin etmeye değil, işi yapmaya vakit harcarım; harcadığım her saatin işinizde kalıcı bir karşılığı olur. Faydalı olduğunu düşündüğünüz sürece bu şekilde devam ederiz.

ÇALIŞMA BLOKLARI

Neden aylık değil?
40 saat 1 hafta mı oluyor?

Aylık sabit ücrette iki taraf da yanlış yere bakar: siz sabit gidere, karşı taraf kaç tane daha böyle sözleşme bağlayabileceğine. Saat üzerinden çalışınca ikimizin de baktığı yer aynı olur — yapılan işin gerçek değeri. "Toplamda ne kadar tutar?" sorusunun peşinen net bir cevabı olmaması bu modelin doğal maliyeti, farkındayım. Ama sonuç üretmeyen bir yapıya aylarca sabit ücret ödemek yerine yalnızca işinize ayrılan nitelikli zamanı ödersiniz, o zamanın nereye gittiğini de baştan sona görürsünüz. Müşterilerimin benimle tekrar tekrar çalışmasının sebebi bu.

5saat10.000₺ + KDVsaat başı 2.000₺Bu bloğu seç
10saat15.000₺ + KDVsaat başı 1.500₺Bu bloğu seç
20saat24.000₺ + KDVsaat başı 1.200₺Bu bloğu seç
40saat40.000₺ + KDVsaat başı 1.000₺Bu bloğu seç