Kaynak: https://oguzerol.com/varyant-stok-takip-uygulamasi/ [ Görseli büyüt](https://oguzerol.com/gorseller/senaryo/varyant-stok-takip-uygulamasi-senaryo-tr.webp) # Varyant Stok Takibi: Beden ve Renk Bazında Stok, Kanal Tamponu ve Yeniden Sipariş Noktası [Oğuz Erol](https://oguzerol.com/hakkimda/) | 19 dk okuma Varyant stok takibi, aynı ürünün her renk, beden ya da ölçü birleşimini ayrı bir stok birimi olarak izlemektir: siyah 41 numara ile siyah 42 numara aynı modelin iki ayrı rafıdır, her birinin merkez depoda, her mağazada ve her satış kanalında kendi miktarı vardır. Bu işi Excel’de satır satır yürüten firmalarda üç tuzak var. Model toplamı yeterli görünürken en çok satan beden biter. Aynı çift, stok dosyası iki güncelleme arasında beklerken iki kanalda birden satılır. Sayımda bir bedende eksik, yanındakinde fazla çıkar ve ikisi de “kayıp” diye düzeltilir. Bu üç tuzağı kurallarla kapatan, ekibin farklı yetkilerle kullandığı bir web uygulamasını işletmenize özel kuruyorum. Bu ihtiyaç adıyla pek aranmıyor: Ekim 2026’daki Anahtar Kelime Planlayıcı ölçümümde “varyant stok takibi” ve “beden stok takibi” Türkiye’de aylık 0 arama gösterdi, “stok takip programı” 1.900. Aşağıda kurgusal bir ayakkabı markasının bir ayını izliyorum. Giyim, çanta ya da yedek parçada yalnız varyantın adı değişir (beden yerine ölçü, renk yerine uyumlu araç); kurallar aynı kalır. ## Varyant matrisi: ürün ailesi ile stok birimini ayırmak Varyant matrisi, bir modelin satılan bütün renk ve beden birleşimlerini, her birine ayrı stok kodu (SKU) vererek listeleyen tablodur. *Örnek veri:* KS-210 adlı spor ayakkabı üç renkte (siyah, beyaz, kahve) ve 36–43 arası sekiz numarada üretiliyor. Teorik olarak 24 birleşim var, ama kahve renk 36, 37 ve 38 numarada hiç üretilmiyor. Uygulamada yalnız gerçekten satılan 21 birleşim açılır. Kapalı birleşim seçim listesinde görünmez, kimse yanlışlıkla “kahve 36” satamaz. Her SKU aynı desenle adlandırılır: `KS210-SYH-41` (model, renk, numara). Barkod SKU’ya bağlıdır, modele değil. Satıştan kalkan varyant silinmez, pasife alınır; geçmiş satışı, sayımı ve iadesi yerinde kalır. Sayfada altı kavram geçiyor; her yerde aynı adla ve aynı tanımla kullanıyorum: - **Fiziksel stok:** rafta duran çift sayısı. - **Kullanılabilir stok:** fiziksel stoktan siparişe ayrılan ve hasarlı ayrılan çiftler düşüldükten sonra kalan, satışa açılabilecek miktar. Siparişe ayırma kurallarını [rezerve stok takip uygulaması](https://oguzerol.com/rezerve-stok-takip-uygulamasi/) sayfasında ayrıca anlattım. - **Tampon:** kullanılabilir stoktan bir kanala hiç gösterilmeyen pay. Büyüklüğü: kendisi hariç, merkez depodan satan kanalların, bu kanalın en uzun güncelleme aralığında son sekiz haftada sattığı en yüksek adet. Her varyant ve her kanal için ayrı hesaplanır. - **Kanal kotası:** bir kanalın belirli bir süre boyunca (örneğin kampanyada) olağan satışının üstüne yapabileceği kampanya ek satışına konan üst sınır. - **Yeniden sipariş noktası (ROP):** kullanılabilir ve yoldaki stok toplamı bu sayıya indiğinde tedarik siparişi verilmesi gereken eşik. - **Eş fark:** sayımda aynı model ve renkte, aynı mağaza ya da depoda, iki numarada aynı büyüklükte ve ters işaretli çıkan fark (siyah 42’de −3, siyah 43’te +3). ## Örnek şirket ve örnek ay: dört kanal, bir tükenme, bir aşırı satış *Örnek veri, kurgusaldır.* Fason üretimle çalışan bir ayakkabı markası düşünün: 140 model, 2.380 aktif SKU, bir merkez depo ve altı mağaza. Mağazalar yalnız kendi raflarından satıyor. Markanın e-ticaret sitesi ile iki pazaryeri mağazası (Pazaryeri A ve Pazaryeri B) ise merkez depodan satıyor; aşağıdaki merkez depo rakamlarının hepsi yalnız bu üç kanalı kapsar. Fasoncunun tedarik süresi 21 gün. Uygulamanın ilk ayında Pazaryeri A’ya bağlantı kurulmuş; kullanılabilir stok o kanala on beş dakikada bir gönderiliyor (örnek). Pazaryeri B için henüz bağlantı yok; stok dosyası eskisi gibi günde iki kez, 09.00 ve 16.00’da elle yükleniyor. | ilk ay | çift / adet | | --- | --- | | Mağaza satışı (6 mağaza) | 5.200 | | E-ticaret sitesi | 1.600 | | Pazaryeri A | 2.000 | | Pazaryeri B | 600 | | **Toplam satış** | **9.400** | | Yeniden sipariş uyarısı veren SKU | 46 (39’u onaylandı, 7’si sezon sonu modeli olduğu için ertelendi) | | Ay içinde en az bir gün sıfıra düşen SKU | 18 (11’i kampanyadaki modellerden) | | Aşırı satış yüzünden iptal edilen sipariş | 3 (hepsi Pazaryeri B) | | Ay sonu dönemsel sayım | 52 model-renk grubu, 410 SKU; 23 SKU’da fark | Ayın dört olayı şunlar: **9. gün, uyarı.** `KS210-BYZ-40` (beyaz 40) merkez depoda ayı 150 çiftle açtı. Üç çevrim içi kanal birlikte bu numaradan günde ortalama 4,5 çift satıyordu. 9. gün sonunda kullanılabilir stok 110’a indi ve yeniden sipariş noktası olan 111’in altına düştü. Uygulama uyarıyı planlama uzmanının listesine düşürdü. Uzman 10. gün kontrol edip siparişi onayladı; 21 günlük tedarikle mal 31. gün gelecekti. **14.–21. gün, tükenme.** E-ticaret ve pazaryeri sorumlusu Pazaryeri A’da yedi günlük bir kampanyaya girmişti ve bunu planlamaya bildirmemişti. Kampanya haftasında beyaz 40 merkez depodan 90 çift çıktı. Bunun 31’i kampanyasız hızdaki satıştı (site, Pazaryeri B ve A’nın olağan payı); 59’u kampanyanın Pazaryeri A’ya getirdiği ek satıştı. 21. gün stok sıfırlandı. Mal 31. gün geldiği için beyaz 40 çevrim içi kanallarda 21. günden 30. güne kadar, yaklaşık on gün yoktu. O gün KS-210 ailesinin toplamı ekranda 312 çift gösteriyordu; toplam yeterliydi, ama müşterilerin istediği numara yoktu. **16. gün, aşırı satış.** `KS210-SYH-41` (siyah 41) için merkez depoda sabah 6 çift vardı. Saat 13.40’a kadar site 2, Pazaryeri A 4 çift sattı. Uygulama kullanılabilir stoku sıfırladı, Pazaryeri A en geç on beş dakika içinde sıfır gösterdi. Pazaryeri B ise sabah dosyasındaki 6 rakamıyla satmaya devam etti ve 16.00 yüklemesine kadar 3 sipariş aldı. Bu üç sipariş, rafta karşılığı olmadığı için iptal edildi. **Ay sonu, sayım.** 23 SKU’da fark çıktı. Bunların 14’ü 7 eş fark çiftiydi; örneğin 4. mağazada siyah 42’de −3, siyah 43’te +3. 9 SKU’da tekil fark kaldı; örneğin 2. mağazada kahve 39’da −2. **Ayın dökümü.** Beyaz 40’ta 21.–30. gün arasında yaklaşık 43 çiftlik talep karşılanamadı. Bu sayı gün gün hesaptan geliyor, 10 × 4,5 = 45’ten değil: 21. gün 2 çift, 22.–30. gün 9 gün × 4,5 = 40,5, toplam 42,5 (tahmin; talebin kampanyasız hızla sürdüğü varsayımıyla). 3 sipariş aşırı satıştan iptal edildi. **Ay sonu kararları.** Operasyon müdürü iki kural koydu. Birincisi: kampanyaya girecek varyantların listesi kampanyadan en az bir tedarik süresi (21 gün) önce planlamaya iletilecek. Süre kalmadıysa kampanyaya, aşağıdaki formülle hesaplanan kanal kotasıyla girilecek; kota sıfır da çıkabilir. İkincisi: Pazaryeri B’nin bağlantısı kurulana kadar, kullanılabilir stoku o varyantın B tamponuna eşit ya da altında kalan varyant (siyah 41 için tampon 11) o kanala gönderilmeyecek. ## Kurallar tablosu Örnek şirket için önerdiğim kurallar aşağıda. Hepsi *önerim* etiketlidir; eşikler satış hızınıza, tedarik sürenize ve kanal sözleşmelerinize göre değişir. | kural | önerim | neyi önler | | --- | --- | --- | | Kanala giden miktar | kanallara fiziksel değil kullanılabilir stok gönderilir; siparişe ayrılan çift başka kanalda görünmez | aynı çiftin iki siparişe verilmesini | | Tampon ve az stok | kanala gösterilen = kullanılabilir stok − tampon, sıfırın altına inmez; tampon yukarıdaki tanımla, varyant ve kanal başına hesaplanır | güncelleme beklenirken son çiftlerin satılmasını, elle güncellenen kanalda aşırı satışı | | Kanal kotası | formülü aşağıda; planlama uzmanı hesaplar, operasyon müdürü onaylar, kampanya bitince kalkar | bir kanalın bütün stoğu tüketmesini | | Yeniden sipariş noktası | formülü aşağıda; tetik: kullanılabilir + yoldaki ≤ ROP; parametreler dört haftada bir yenilenir | bedenin sessizce bitmesini | | Sayım farkı onayı | sayım model-renk grubu bütünüyle yapılır; eş farkı operasyon müdürü, ±2 çifte kadar tekil farkı depo sorumlusu ya da mağaza müdürü, üstünü operasyon müdürü onaylar; sayan kişi kendi sayımını onaylamaz, o farkı da operasyon müdürü onaylar | yanlış varyant seçiminin kayıp diye silinmesini, farkın sayan kişi tarafından kapatılmasını | ## Yeniden sipariş noktası varyant başına nasıl hesaplanır? Yeniden sipariş noktası her SKU için ayrı hesaplanır, çünkü aynı modelin 40 numarası ile 36 numarası aynı hızda satmaz. Kullandığım başlangıç formülü: **ROP = ortalama günlük satış × tedarik süresi (gün) + emniyet stoğu** **Emniyet stoğu = 1,65 × günlük satışın standart sapması × √tedarik süresi** Standart sapma, günlük satışın günden güne ne kadar dalgalandığını gösterir: hep 4–5 çift satan numarada küçük, bir gün 0 bir gün 12 satan numarada büyüktür. 1,65 katsayısı, tedarik süresinin sabit, günlük satışların birbirinden bağımsız ve normal dağıldığı varsayımıyla, her tedarik döngüsünde yaklaşık %95 olasılıkla stoksuz kalmamayı hedefler. Bu bir varsayımdır, ölçülmüş garanti değildir. Emniyet stoğu ile tampon farklı şeylerdir. Emniyet stoğu, tedarik süresi boyunca talebin dalgalanmasına karşı hesaba katılan paydır ve ne zaman sipariş verileceğini belirler; kanallardan gizlenmez, satışa açıktır ve yalnız kampanya kotası hesabında korunur. Tampon ise bir kanala hiç gösterilmeyen paydır ve yalnız o kanalın güncelleme gecikmesine karşıdır: kanalda gösterilen miktardan yalnız tampon düşülür, emniyet stoğu düşülmez. *Örnek veri, beyaz 40:* son sekiz haftanın kampanyasız günlerinden ortalama günlük satış 4,5 çift, standart sapma 2,0 (örnek değerler). Tedarik süresi 21 gün. - Emniyet stoğu: 1,65 × 2,0 × √21 = 15,12 → yukarı yuvarlanır, **16 çift** - ROP: 4,5 × 21 + 16 = 110,5 → yukarı yuvarlanır, **111 çift** Ortalamayı ve standart sapmayı hesaplarken kampanya günlerini dışarıda bırakın; yoksa ikisi de şişer ve ROP olduğundan yüksek çıkar. Kampanyanın talebi aşağıda ayrıca eklenir. Excel’de aynı hesap şu sütunlarla kurulur: `A` SKU, `B` ortalama günlük satış, `C` tedarik süresi (gün), `D` günlük satışın standart sapması (son 8 haftanın kampanyasız günlük satışından `STDSAPMA.S` ile), `E` emniyet stoğu, `F` ROP, `G` kullanılabilir stok, `H` yoldaki stok, `I` karar. - `E2`: `=YUKARIYUVARLA(1,65*D2*KAREKÖK(C2);0)` → 16 - `F2`: `=YUKARIYUVARLA(B2*C2+E2;0)` → 111 - `I2`: `=EĞER(G2+H2<=F2;"Sipariş ver";"")` → G2 = 110, H2 = 0 iken “Sipariş ver” **Formülün bilmediği şey kampanyadır.** Örnek ayda uyarı zamanında geldi, ama sipariş 31. gün gelecekti ve beyaz 40 kampanya yüzünden 21. gün bitti. Kampanya ayın başında biliniyor olsaydı, tedarik süresi boyunca beklenen talep 14 kampanyasız gün × 4,5 + 7 kampanya günü × 13 (90 ÷ 7 = 12,9 günlük satış, 13’e yuvarlandı) = 154 çift olurdu. ROP 154 + 16 = 170’e çıkar. Eldeki 150 çift bu eşiğin altında olduğu için sipariş 1. gün verilir, mal 22. gün gelir. Kotasız bu durumda stok 20. gün sonunda 2 çifte iner, 21. gün biter: emniyet stoğu tamamen erimiş olur ve malın bir günlük gecikmesi tükenmeyi uzatır. Bu yüzden ikinci araç kanal kotası. Kota şöyle hesaplanır: **Kota = kampanya başındaki kullanılabilir stok − mal gelene kadar kampanyasız hızdaki beklenen satış − emniyet stoğu** (sıfırın altına inmez) Kota yalnız kampanyanın olağan satışın üstüne getirdiği çifti sınırlar; kanalın olağan payı 4,5 çiftlik hızın içindedir. - Sipariş 1. gün verilmiş, mal 22. gün geliyor: 92 − (14.–21. gün, 8 gün × 4,5 = 36) − 16 = **40 çift**. Pazaryeri A’nın kampanya ek satışı 40 çiftle sınırlansaydı 20. gün sonunda 21, 21. gün sonunda 17 çift kalırdı; stok emniyet stoğunun (16) altına inmez, mal yetişirdi. - Kampanya ancak 14. gün öğrenilmiş, mal 31. gün geliyor: 92 − (17 gün × 4,5 = 76,5) − 16 = −0,5, yani **kota 0**. Bu kampanyaya ancak emniyet stoğunu bilerek eriterek girilebilirdi. Kota satılan toplam çift sayısını artırmaz: stok sabittir, kota yalnız çiftleri hangi kanalın alacağını ve stokun ne zaman biteceğini değiştirir. Karşılaştırmayı aynı tedarik zamanı içinde kurun: - **Sipariş 1. gün verildiyse:** kotasız hâlde stok 21. gün biter ve 2 çiftlik normal talep kaçar. Kota 40 ile Pazaryeri A’nın 59 çiftlik kampanya talebinden 19’u karşılanmaz; o 19 çift stokta kalır, 21. gün sonunda elde 17 çift olur. - **Gerçek ayda (sipariş 10. gün, mal 31. gün):** kotasız hâlde 59 kampanya çifti satıldı ve 21.–30. gün arasında yaklaşık 43 çiftlik normal talep kaçtı. Kota 0 olsaydı normal talep kaçmazdı, A’nın 59 çiftlik kampanya talebi karşılanmazdı ve mal gelirken elde yaklaşık 16 çift kalırdı. Kotanın asıl kazancı iki şeydir. Birincisi sigortadır: mal gecikirse kotasız hâlde tükenme uzar, kotalı hâlde uzamaz. İkincisi iki kanal arasındaki marj farkıdır: kampanya çiftinin marjı normal satıştan düşükse kota, sınırlı stoku daha kârlı satışa ayırır. Hangisinin ağır bastığını kendi kampanya ve normal satış marjınızla, birkaç gün hiçbir kanalda ürün olmamasının size maliyetiyle karşılaştırın; bunları örnek veride ölçmedim. **Az satan varyantta bu formül çöker.** Kahve 43 gibi günde 0,2 çift satan numarada ortalama ve sapma birkaç satıştan çıkar, anlamsızdır. Önerim: tahmini model ailesi düzeyinde yapıp son iki sezonun beden payıyla (örneğin 43 numara ailenin %4’ü) bölüştürmek ya da basit bir en az / en çok aralığı kullanmak; hangi SKU’nun hangi yöntemle hesaplandığı ekranda görünür. Eşik altına inen varyantın satın alma talebine dönüşmesini [minimum stok ve satın alma takibi](https://oguzerol.com/minimum-stok-satin-alma-takip-uygulamasi/) sayfasında anlattım. ## Kanallar arasında stok paylaşımı: aşırı satış nereden çıkar, tampon ne kadar olmalı? Aşırı satış, iki ya da daha çok kanalın aynı çifti aynı anda satılabilir sanmasıdır ve sebebi neredeyse her zaman güncelleme aralığıdır: Pazaryeri A stok bitince kısa sürede sıfır gösterdi, B sabahki dosyayla saatlerce sattı. Tampon için yüzde vermiyorum; yukarıdaki tanımı kullanıyorum. Kanalın kendi satışı tampona girmez; kanalın kendi siparişini kendi listesinden düştüğü varsayılır, bunu kanal bazında doğrulamak gerekir. Mağazalar kendi raflarından sattığı için girmez. Siyah 41 için (örnek değerler): - **Pazaryeri A** (on beş dakikada bir): site ve Pazaryeri B’nin herhangi bir on beş dakikada sattığı en yüksek adet 2. Tampon 2; 6 çift kullanılabilirken A’ya 4 gösterilir. - **Pazaryeri B** (09.00 ve 16.00’da elle): B’nin iki aralığı var. 09.00–16.00 arası 7 saat, 16.00’dan ertesi sabah 09.00’a 17 saat. Site ve Pazaryeri A’nın gündüz aralığında sattığı en yüksek adet 7, gece aralığında 11. Tampon iki aralığın büyüğüne göre 11 olur. 6 çift kullanılabilirken 6 − 11 < 0; gösterilen miktar sıfıra tabanlanır, yani siyah 41 B’de listelenmez. Olay günü site ve A’nın gündüz aralığındaki satışı 6’ydı, yani gündüz aralığı için sayılan 7’nin içinde. Bu kuralın dürüst sonucu şu: stok dosyasını günde iki kez elle yüklüyorsanız, az stoklu varyantları o kanalda satmamanız gerekir. Bedeli de ölçülebilir: örnek veride kural 290 SKU’yu B’den kaldırıyor ve bu SKU’lar önceki ay B’nin 600 çiftlik satışının 85’ini (yaklaşık %14) getirmişti; kuralı açmadan önce bu sayıyı kendi son sekiz haftanızla sayın. **Pazaryeri ve e-ticaret bağlantısı için söz vermiyorum.** Stokun bir pazaryerine ya da e-ticaret altyapısına ne sıklıkla, hangi yolla gönderilebileceğini o platformun satıcılara sunduğu bağlantı (API, dosya yükleme ya da entegratör) belirler. Platformun bağlantısını görmeden “anlık senkron” sözü vermem. Bağlantı yoksa ya da sınırlıysa, uygulama o kanal için güncel dosyayı hazırlar, tampon da o kanalın gerçek güncelleme aralığına göre büyütülür. ## Sayım farkı: eş fark bir kayıp değil, yanlış varyant seçiminin işareti olabilir Varyantlı ürünlerde sayım farklarının bir kısmı kayıp değil, yanlış varyant seçimi olabilir. Kasada siyah 43 yerine siyah 42 okutulmuşsa ya da iki kutu rafta yer değiştirmişse, sayımda biri eksik, öteki fazla çıkar. Bu iki farkı ayrı ayrı “kayıp” ve “fazla” diye düzeltmek iki yanlış kayıt üretir; gerçek sorun (kasadaki seçim ya da raf düzeni) görünmez olur. Eşleştirmenin çalışması için sayımın birimi tek SKU değil, model-renk grubudur: bir modelin bir rengindeki bütün numaralar aynı gün sayılır. Model-renk bazında sayılmazsa siyah 42’deki −3’ün karşılığı olan siyah 43 sayıma hiç girmeyebilir ve eş fark görünmez. Örnek aydaki 410 SKU bu yüzden 52 model-renk grubundan oluşuyor. Sayım bitince uygulama fark listesini önce eşleştirir ve eş farkları yan yana gösterir. Eşleştirme bir öneridir: onaylayan, kasa hareketlerinden ya da raf düzeninden karşılığı doğrular. Onaylanan eş fark, iki varyant arasında tek bir düzeltme hareketi olarak kaydedilir; kalan tekil farklar kurallar tablosundaki onay kuralına gider. Aynı mağazada tekrar eden eş fark raporda öne çıkar, çünkü o mağazada kasa seçimi ya da raf etiketi kontrol edilmelidir. Örnek ayda 23 farkın 14’ü (7 çift) bu şekilde kapandı, onaya 9 tekil fark kaldı. Sayım oturumu, barkodla okuma ve onay gelene kadar stokun değişmemesi gibi kuralları [barkodlu stok sayım uygulaması](https://oguzerol.com/barkodlu-stok-sayim-uygulamasi/) sayfasında ayrıca anlattım. ## Rol ve iz kaydı: kim neyi görür, kim neyi değiştirir? | işlem | depo sorumlusu | mağaza müdürü | e-ticaret ve pazaryeri sorumlusu | planlama uzmanı | operasyon müdürü | | --- | --- | --- | --- | --- | --- | | Stok görme | merkez depo | yalnız kendi mağazası | merkez depo kullanılabilir stoku ve kanal gösterimleri | tüm depolar ve kanallar | tümü | | Giriş, çıkış, transfer | merkez depoda girer | kendi mağazasında girer | — | — | düzeltir | | Tampon | — | — | görür | uygulama hesaplar; gerekçeyle elle yükseltir | elle değişikliği onaylar | | Kanal kotası | — | — | önerir | hesaplar | onaylar | | Yeniden sipariş uyarısı | görür | görür | görür | onaylar ya da gerekçeyle erteler | görür | | Sayım | sayar ya da depo çalışanına saydırır | sayar ya da mağaza çalışanına saydırır | — | — | — | | Tekil fark onayı (±2’ye kadar) | saymadığı sayımı onaylar | kendi mağazasında, saymadığı sayımı onaylar | — | — | depo sorumlusunun ya da mağaza müdürünün kendi saydığı sayımı onaylar | | Tekil fark (±2 üstü) ve eş fark onayı | — | — | — | — | onaylar | İz kaydında her değişikliğin kimin yaptığı, ne zaman yaptığı, eski ve yeni değer ve gerekçe tutulur: tampon 2’den 4’e elle yükseltildi, kampanya kotası açıldı ya da kapandı, ROP parametresi yenilendi, sayım farkı onaylandı. Ertelenen 7 yeniden sipariş uyarısının her birinde “sezon sonu modeli” gerekçesi ve erteleyen kişi görünür. ## Yapay zekâ ne yapar, ne yapmaz? Bu uygulamada stok miktarını, tamponu, kotayı ve ROP’u yapay zekâ değil tablo hesaplar. Kararı da insan onaylar. Yapay zekânın iki işi var ve ikisi de öneridir: 1. **Talep tahmini önerisi.** Geçmiş satış, kampanya takvimi ve sezonla önümüzdeki dört hafta için varyant başına tek sayı değil, aralık önerir; örneğin beyaz 40 için “95–140 çift”. ROP’a giren talebi planlama uzmanı seçer. Belirsizlik gerçektir; az satan numarada ve yeni modelde aralık yerine yukarıdaki aile payı yöntemi kullanılır. Kampanya takvime girilmemişse model onu bilemez; örnek aydaki tükenmeyi yapay zekâ da önleyemezdi. 2. **Ürün açıklamasından varyant eşleme.** Pazaryeri sipariş dosyasındaki “Erkek Spor Ayakkabı Siyah 41 Numara” satırını ya da fasoncunun irsaliyesindeki serbest metni `KS210-SYH-41` koduna eşlemeyi önerir. Emin olmadığı satır eşleşmemiş kuyruğuna düşer. Model yeni SKU açmaz, stok miktarı değiştirmez. Modele hiçbir satır kullanıcının yetki filtresinden geçmeden gitmez. Tahmin için ürün kodu, açıklama ve satış adedi yeterlidir; müşteri adı ve adresi gönderilmez. Sipariş dosyasında kişisel veri varsa ve model yurt dışındaki bir sağlayıcıda çalışıyorsa bu aktarım [6698 sayılı KVKK md. 9](https://www.mevzuat.gov.tr/mevzuatmetin/1.5.6698.pdf) hükümlerine tabidir ([7499 sayılı Kanun md. 34](https://www.resmigazete.gov.tr/eskiler/2024/03/20240312-1.htm), RG 12.03.2024/32487, yürürlük 1 Haziran 2024). Maddenin bu hâlini 15 Ekim 2026’da mevzuat.gov.tr’deki güncel metinden okudum. Hukuki görüş vermiyorum; modele hangi alanların gittiğini yazılı veririm. ## Excel varyant stokunda nerede kırılır? Excel ROP’u hesaplar. Kırıldığı yer verinin toplanması ve aynı anda satıştır: - **Kanal raporları farklı biçimde gelir.** Kasa, site ve pazaryerleri ayrı dosya verir; biri `KS210-SYH-41`, öteki “KS-210 Siyah 41” yazar. `DÜŞEYARA` eşleşmeyen satırda hata verir ya da hata sıfıra çevrilmişse sessizce sıfır döner; 2.380 SKU’da bu satırları kimse görmez. - **Stok dosyası bir anlık görüntüdür.** Yüklendiği andaki stoku taşır, sonra başka kanalın sattığı çifti bilemez. Örnek aydaki 3 iptal budur. - **Sayım düzeltmesi hücrenin üzerine yazılır.** Sürüm geçmişi dosyayı kimin değiştirdiğini gösterir, siyah 42’nin neden 3 düştüğünü ve karşılığının siyah 43’te olup olmadığını göstermez. ## ERP’niz ya da e-ticaret paneliniz yetiyorsa bu uygulamaya gerek yok Şu durumlarda ayrı bir uygulama yaptırmayın: 1. Tek kanaldan satıyorsunuz ya da kanallarınız aynı stoku paylaşmıyor. 2. ERP’nizde ya da e-ticaret altyapınızda varyant matrisi, kanal başına tampon ve pazaryeri bağlantısı zaten var ve ekibiniz bunları kullanıyor. 3. Son üç ayınızı ölçtüğünüzde şu dört sayı düşük çıkıyor: (a) en az bir gün sıfıra düşen varyant sayısı ve her birinin sıfırda kaldığı gün; (b) aşırı satış yüzünden iptal ettiğiniz sipariş; (c) sayımda çıkan fark sayısı; (d) stok planlamasına haber verilmeden açılan kampanya. Örnek ayda bunlar 18 SKU, 3 iptal, 23 fark ve 1 habersiz kampanyaydı. Kaçan satışı kabaca sıfırda kalınan gün × o varyantın normal günlük satışı diye tahmin edin (beyaz 40’ta 21. gün 2 çift + 9 gün × 4,5 ≈ 43 çift); bunu kendi marjınızla çarpıp mevcut sistemin ek modülüyle ya da özel uygulamanın sunucu ve bakım maliyetiyle kıyaslayın. 4. Sayım farklarınız küçük ve kimin onayladığı sizin için bir denetim konusu değil. Bu durumlarda mevcut sistemin ayarlarını düzeltmek genellikle daha az emek ister. Özel uygulama; birden çok kanal aynı stoku paylaşırken, kanal kuralları (tampon, kampanya kotası, eş fark onayı) mevcut sistemde kurulamıyorsa ya da ekip zaten Excel’e dönmüşse fayda sağlar. Bu uygulamada ilk ekran yalnız uyarı bekleyen SKU’ları gösterir. ## Nasıl başlanır, veri ve kod kimin, kullanıcılar nasıl girer? Otomasyon işlerinde en sık gördüğüm hata, ilk işi en karmaşık süreçten seçmek. Burada da bütün kanalları, tahmini ve sayımı birden açmıyorum. İlk sürümü en çok satan birkaç model ailesi, merkez depo ve bağlantısı en net olan tek kanalla kuruyorum. Uygun olduğunda mevcut stok dosyanızı varyant matrisine bağlarım; kapsama giren model ailelerinin açılış stoku tek bir sayımla doğrulanır. Varyant matrisini, kullanılabilir stok tanımını ve tampon kuralını gerçek hareketlerle sınıyoruz, sonra mağazaları ve diğer kanalları ekliyoruz. Mevcut düzeninizi inceledikten sonra kapsamı ve teslim takvimini yazılı paylaşırım. Uygulama bir sunucuda (VPS) çalışır, kayıtlar oradaki veritabanında durur. Sunucu sizin adınıza açılabilir. Veri sizindir; tamamını istediğiniz zaman Excel ya da CSV olarak alabilirsiniz. Kaynak kodun tamamı erişiminizdeki bir depoda; yanında çalıştırma talimatı, bağımlılık listesi ve bilinen sınırlar yazılı olarak teslim edilir. Anahtarlar ve hesaplar da sizin adınıza açılır. Kullanıcı başına lisans yok; maliyet sunucunun aylık ücreti ve bakımdan oluşur, küçük ve orta ölçekli bir ekipte kullanıcı eklemek bu maliyeti değiştirmez. Herkes kendi kullanıcı adıyla girer, işine ait alanları görür ve değiştirir; her değişiklik kimin yaptığıyla birlikte kaydedilir. Telefondan ve bilgisayardan, tarayıcıyla kullanılır. Ödeme, kişisel veri ya da kritik operasyon söz konusuysa erişim, güvenlik, barındırma ve bakım gereksinimlerini ayrıca değerlendiririm. Kaç model ve SKU’nuz olduğunu, hangi kanallardan sattığınızı ve stoku bugün hangi dosyalarla güncellediğinizi [iletişim sayfasından](https://oguzerol.com/iletisim/) paylaşın. İlk adımda varyant matrisinizi ve kanal kurallarınızı birlikte çıkaralım. ## Sıkça Sorulan Sorular ### İade gelen çift hemen satışa açılır mı? Önerim, açılmaması. Geri gelen çift “kontrol bekliyor” durumunda fiziksel stokta görünür ama kullanılabilir stoka katılmaz; sağlam çıkarsa kullanılabilire geçer, hasarlıysa hasarlı stoka ayrılır. Pazaryerinden gelen iadenin stok hareketi, kanalın iade bildirimi geldiğinde değil, ürün depoya ulaşıp kontrol edildiğinde yazılır. Bu bir tasarım önerisidir; kontrol adımını iade düzeninize göre birlikte kurarız. ### Müşteri ürünü farklı bir bedenle değiştirirse stok nasıl kaydedilir? Geri gelen varyant için iade, verilen yeni varyant için çıkış kaydı oluşturulur. İki hareket aynı değişim işlemi altında bağlanır; miktarlar birbirine karışmaz ve değişim raporunda hangi bedenin hangisiyle değiştirildiği görünür. ### Mağaza satışları kasa programından geliyorsa uygulamaya nasıl aktarılır? Kasa programınızın sunduğu yola göre: dışa aktarılan gün sonu dosyası, zamanlanmış aktarım ya da programın bağlantısı. Hangisinin mümkün olduğunu programınızı görmeden söylemem. Dosya yoluyla başlanırsa mağaza stoku gün içinde değil gün sonunda güncellenir; o mağazanın stoğu bu yüzden çevrim içi kanallara açılmaz. ### Hiç satış geçmişi olmayan yeni modelde yeniden sipariş noktası nasıl kurulur? İlk sezon için formül kullanılamaz. Benzer bir modelin satış hızı ve beden payıyla geçici bir eşik konur ve bu eşik ekranda “geçici” diye işaretlenir. İlk birkaç haftanın gerçek satışı birikince varyant başına hesaba geçilir. Geçici eşiği kim koyduysa, iz kaydında onun adıyla durur. [Başa dön ↑](https://oguzerol.com/varyant-stok-takip-uygulamasi/#icerik) ## Bunları da okumak ister misiniz? [İşinize Özel Stok Takip Programı: Ekibin Birlikte Kullandığı Web UygulamasıHazır stok programı işinize uymuyorsa Excel'deki stok düzeninizi depoya, rezerveye ve rollere göre çalışan, ekibin telefondan kullandığı programa çeviriyorum.](https://oguzerol.com/stok-takip-sistemi/)[Hangi Depoda Ne Kadar Ürün Var, Tek Ekrandan GörünDepo bazında miktarı, yoldaki ürünleri ve teslim alınan transferleri ortak panelden izleyin. Excel veya Google Sheets listelerinizle başlayalım.](https://oguzerol.com/coklu-depo-stok-takip-uygulamasi/)[Siparişe Ayrılan Stokla Satılabilir Miktarı AyırınFiziksel stok, siparişe ayrılan miktar ve satılabilir miktar ayrı görünsün. Excel veya Google Sheets rezervasyon sürecinize özel uygulama kurulsun.](https://oguzerol.com/rezerve-stok-takip-uygulamasi/) [Tüm yazılara göz atın →](https://oguzerol.com/yazilarim/) 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ç](https://wa.me/905496546489?text=Merhaba%2C%205%20saatlik%20%C3%A7al%C4%B1%C5%9Fma%20blo%C4%9Fu%20hakk%C4%B1nda%20bilgi%20almak%20istiyorum.) 10saat15.000₺ + KDVsaat başı 1.500₺[Bu bloğu seç](https://wa.me/905496546489?text=Merhaba%2C%2010%20saatlik%20%C3%A7al%C4%B1%C5%9Fma%20blo%C4%9Fu%20hakk%C4%B1nda%20bilgi%20almak%20istiyorum.) 20saat24.000₺ + KDVsaat başı 1.200₺[Bu bloğu seç](https://wa.me/905496546489?text=Merhaba%2C%2020%20saatlik%20%C3%A7al%C4%B1%C5%9Fma%20blo%C4%9Fu%20hakk%C4%B1nda%20bilgi%20almak%20istiyorum.) 40saat40.000₺ + KDVsaat başı 1.000₺[Bu bloğu seç](https://wa.me/905496546489?text=Merhaba%2C%2040%20saatlik%20%C3%A7al%C4%B1%C5%9Fma%20blo%C4%9Fu%20hakk%C4%B1nda%20bilgi%20almak%20istiyorum.)