İndirimde "Son 10 Günün En Düşük Fiyatı" Kuralı: Yazılım Tarafında Ne Değişiyor?
1 Ağustos 2026'da yürürlüğe giren indirimli satış reklamı kuralı, fiyat geçmişi tutmayan e-ticaret sistemlerini doğrudan ilgilendiriyor. Teknik karşılığı ne?
2026-08-111 Temmuz 2026 tarihli Resmî Gazete’de yayımlanan bir yönetmelik değişikliği, 1 Ağustos 2026’da yürürlüğe girdi: indirimli satış reklamlarında “indirimden önceki fiyat” olarak, indirimin başlangıç tarihinden önceki on gün içinde uygulanan en düşük fiyat gösterilecek. Bu bir haber yazısı değil; kuralın asıl yükü hukuk tarafında değil, yazılım tarafında. Çünkü fiyat geçmişini tutmayan bir sistem bu kuralı fiziksel olarak yerine getiremez.

Düzenleme Tam Olarak Ne Diyor?
Değişiklik, 1 Temmuz 2026 tarihli ve 33297 sayılı Resmî Gazete’de yayımlanan yönetmelikle yapıldı ve 2015 tarihli Ticari Reklam ve Haksız Ticari Uygulamalar Yönetmeliği’nin 14. maddesini değiştirdi. Yeni üçüncü fıkra şöyle:
“İndirimden önceki fiyat tespit edilirken mal satışına ilişkin reklamlarda, indirimin başlangıç tarihinden önceki on gün içinde uygulanan en düşük fiyat; meyve ve sebze gibi çabuk bozulabilen mallar ile hizmetlere ilişkin reklamlarda ise indirimli fiyattan bir önceki fiyat esas alınır.”
Dikkat edilecek dört nokta var:
- Kapsam: Yönetmelik, 2. maddesine göre “tüketiciye yönelik her türlü ticari reklam”ı kapsıyor. Yani sadece bir kampanya sayfası değil; ürün kartındaki üstü çizili fiyat, e-posta bülteni, sosyal medya görseli, reklam metni.
- İstisna: Meyve sebze gibi çabuk bozulabilen mallar ve hizmetler on günlük hesabın dışında; onlarda “indirimli fiyattan bir önceki fiyat” esas alınıyor. Hizmetlerin bu istisnaya girmesi bu değişiklikle geldi.
- Pencere sabit: Referans, indirimin başlangıç tarihinden önceki on güne bakıyor. Kampanya boyunca kayan bir pencere değil; kampanya başladığı anda donuyor.
- Kanal ayrımı: Yeni beşinci fıkra, ürün birden çok kanalda satılıyorsa referans fiyatın “yalnızca indirimin yapıldığı kanaldaki fiyat dikkate alınarak” belirleneceğini söylüyor ve ekliyor: “Bir satış kanalında uygulanan fiyat, diğer kanallarda yapılacak indirimli satış için esas alınamaz.”
Süre eskiden daha uzundu: 1 Şubat 2022 tarihli değişiklikle getirilen metin “otuz gün” diyordu. Ayrıca yeni yedinci fıkrayla, indirimi bir şarta bağlayan koşullu satış reklamları (“3 al 2 öde” gibi) da bu maddenin kapsamına alındı. Ticaret Bakanlığı da 29 Temmuz 2026 tarihli duyurusunda aynı çerçeveyi teyit etti.
Etiket Tarafı Zaten Ekim 2025’te Değişmişti
Bu yeni bir mantık değil, bir hizalama. Fiyat etiketleri ve fiyat listeleri ayrı bir yönetmelikle düzenleniyor: Fiyat Etiketi Yönetmeliği. Onun 11. maddesindeki “en düşük fiyat” süresi 11 Ekim 2025 tarihli değişiklikle zaten on güne indirilmişti. Ağustos 2026 itibarıyla reklam tarafı da aynı süreye geldi.
Aynı maddede, teknik açıdan en önemli cümle duruyor: “Bu hususlara ilişkin ispat külfeti satıcı veya sağlayıcıya aittir.” Reklam tarafında da benzer bir genel kural var; Ticari Reklam Yönetmeliği’nin 9. maddesi, reklam verenin reklamındaki iddiaların doğruluğunu ispatla yükümlü olduğunu söylüyor.
Bu tek cümle, konuyu bir “kural” olmaktan çıkarıp bir veri saklama gereksinimine çeviriyor. Denetimde “bizde 149 TL’ydi” demek yetmiyor; ne zaman, hangi kanalda, kaç TL olduğunu gösterebilmek gerekiyor.
Tek Bir “Fiyat” Alanı Bu Kuralı Karşılayamaz
Çoğu e-ticaret veritabanında ürün tablosunda tek bir price sütunu vardır ve fiyat güncellendiğinde eski değer üzerine yazılır. Bu tasarımla on günlük en düşük fiyatı hesaplamak mümkün değildir — veri yoktur.
Gereken şey, fiyatın her değişiminde tarihli bir satır üreten ayrı bir tablo. Kabaca:
CREATE TABLE product_price_history (
id BIGSERIAL PRIMARY KEY,
product_id BIGINT NOT NULL,
variant_id BIGINT, -- beden/renk ayrı fiyatlanıyorsa
channel TEXT NOT NULL, -- 'web', 'trendyol', 'store-01'
price NUMERIC(12,2) NOT NULL, -- vergiler dahil satış fiyatı
currency CHAR(3) NOT NULL,
valid_from TIMESTAMPTZ NOT NULL,
valid_to TIMESTAMPTZ, -- güncel kayıtta NULL
source TEXT -- kaydı üreten sistem veya kullanıcı
);
Üç tasarım kararı önemli:
Kayıtlar değiştirilemez olmalı. Bu tablo bir çalışma alanı değil, bir kanıt defteri. Satırlar yalnızca eklenir; geriye dönük düzeltme yapılmaz. Bu yaklaşım bir audit log mantığıdır ve daha kapsamlı bir kurulumda event sourcing ile de kurulabilir.
Fiyatı kim değiştirirse değiştirsin kayıt düşmeli. Yönetim panelinden yapılan elle değişiklik kadar, ERP’den gelen toplu güncelleme, pazaryeri paneli, gece çalışan bir fiyat kuralı veya kampanya motoru da bu tabloyu beslemeli. Uygulama katmanında dağınık bırakmak yerine veritabanı seviyesinde bir tetikleyici ya da tek bir servis üzerinden geçirmek daha güvenli olur.
Sorgu maliyetini baştan düşünün. Kampanya hazırlarken binlerce ürün için aynı anda sorgu çalışır. (product_id, channel, valid_from) üzerine bileşik bir indeks bu tabloda pazarlık konusu değildir.
On Günlük Pencereyi Hesaplamak
Aranan değer, [kampanya başlangıcı − 10 gün, kampanya başlangıcı) aralığında geçerli olmuş fiyatların en küçüğü. Bir fiyat kaydı, geçerlilik aralığı bu pencereyle kesişiyorsa hesaba girer:
SELECT MIN(price)
FROM product_price_history
WHERE product_id = :product
AND channel = :channel
AND valid_from < :start
AND (valid_to IS NULL OR valid_to > :start - INTERVAL '10 days');
Pratikte takılınan noktalar:
- Zaman dilimi. Kayıtları UTC tutup hesabı Türkiye saatine göre yapın. Gün sınırındaki bir kampanya başlangıcında iki saatlik kayma, hesaba giren fiyat kaydını değiştirebilir.
- Referansı dondurun. Hesabı kampanya başlangıcında bir kez yapıp sonucu kampanya kaydına yazın. Her sayfa açılışında yeniden hesaplarsanız gösterilen “eski fiyat” kampanya sürerken değişebilir.
- Neyin fiyat olduğuna karar verin. Ürünün etiket fiyatı ile sepette uygulanan kupon farklı şeylerdir. Hangisinin geçmişe yazıldığı baştan netleşmeli.
- İstisnayı ayrı kurgulayın. Hizmetler ve çabuk bozulabilen mallarda hesap on günlük en düşük değil, “bir önceki fiyat”. Aynı sorguyu kullanamazsınız; ürün tipine göre farklı bir yol gerekir. Geçmiş kaydı yine şart, çünkü “bir önceki fiyat” da ancak kayıttan okunur.
Ürün Sayfası, Pazaryeri ve Çok Kanallı Satış
Gösterim tarafı görece basit: indirimli fiyatın yanında, referans fiyat okunabilir biçimde yer almalı. Yönetmeliğin 14. maddesinin birinci fıkrası, indirimden önceki fiyatın yanı sıra indirimin başlangıç ve bitiş tarihlerinin, miktar sınırlı ise miktarın da açıkça belirtilmesini istiyor. Bunlar çoğu temada bulunmayan alanlardır; kampanya veri modelinizde karşılıkları yoksa eklenmesi gerekir.
Asıl zorluk çok kanallı satışta. Beşinci fıkra nedeniyle kanal başına ayrı fiyat geçmişi tutmak zorunlu hâle geliyor: Trendyol üzerinde başlattığınız bir indirimin referansı, yalnızca Trendyol’daki son on günün en düşük fiyatıdır. Kendi sitenizdeki fiyatı oraya referans gösteremezsiniz — tersi de geçerli. Pratik sonuçları şunlar:
- Fiyat geçmişi tablosundaki
channelalanı süs değil; hesabın ayrılma noktası. - Pazaryeri fiyatlarını kendi sisteminiz üzerinden yönetiyorsanız, gönderdiğiniz her fiyat güncellemesinin karşı tarafta ne zaman yürürlüğe girdiğini kaydedin. Sizin gönderim anınız ile pazaryerinde fiyatın değiştiği an aynı olmayabilir.
- Pazaryeri panelinden elle yapılan değişiklikler de geçmişe düşmeli. Bunun için düzenli olarak pazaryeri API’sinden güncel fiyatı okuyup kendi kaydınızla karşılaştıran bir mutabakat işi kurmak gerekir.
Sorumluluğun satıcı ile pazaryeri arasında nasıl paylaşıldığı ayrı bir hukuki konu ve yönetmelik bunu kanal bazında dağıtmıyor. Yönetmelik “reklam veren”i, kendi firması veya markası yer alan reklamları yayınlatan kişi olarak tanımlıyor. Kendi ürününüzün fiyat iddiasının arkasındaki veriyi tutmak, her hâlükârda sizde.
Kısa Kontrol Listesi
Ağustos 2026 itibarıyla bir e-ticaret sistemi için asgari liste:
- Fiyat değişimlerini tarihli ve kanal bilgisiyle saklayan bir tablo var mı?
- Fiyatı değiştiren bütün yollar bu tabloya yazıyor mu?
- On günlük en düşük fiyat kampanya başlangıcında hesaplanıp saklanıyor mu?
- Ürün sayfasında referans fiyat, kampanya başlangıç ve bitiş tarihleri gösteriliyor mu?
- Hizmet ve çabuk bozulabilen ürünler için ayrı hesap yolu var mı?
- Denetim istendiğinde geçmişi dışa aktarabiliyor musunuz?
Çoğu işletmede eksik olan birinci madde ve genellikle geriye dönük olarak tamamlanamıyor: kayıt tutulmadıysa geçmiş fiyat üretilemez. Bu yüzden bu iş, kampanya sezonunun öncesinde yapılacak bir iştir.
Bu yazı bilgilendirme amaçlıdır, hukuki görüş değildir. Kendi durumunuz için resmî metne ve bir hukukçuya başvurun; ayrıca yönetmelik ceza tutarı içermiyor — dayanağı 6502 sayılı Tüketicinin Korunması Hakkında Kanun ve yaptırımlar orada düzenleniyor.
Fiyat geçmişi altyapısını mevcut sisteminize eklemek, pazaryeri fiyatlarını senkron tutmak veya kampanya modelinizi bu kurallara göre yeniden kurmak için e-ticaret geliştirme hizmetimize bakabilir, durumunuzu konuşmak isterseniz iletişim sayfamızdan bize ulaşabilirsiniz.
İlgili Hizmetler
Shopify, WooCommerce, OpenCart veya özel altyapıyla ödeme, kargo, stok, sipariş ve raporlama akışları entegre e-ticaret sitesi kurun.
Legacy Sistem ModernizasyonuLegacy sistem modernizasyonu ile eski PHP, ASP, VB6 ve veritabanı altyapınızı güvenli, sürdürülebilir teknolojilere taşıyın.
Stok & Envanter Yönetim SistemiStok ve envanter yönetim sistemi ile çok lokasyonlu depo, ERP ve pazaryeri stoklarını gerçek zamanlı, hatasız yönetin.
Üçüncü Parti Sistem EntegrasyonlarıÜçüncü parti entegrasyonlarla ERP, CRM, muhasebe ve pazaryeri verilerini otomatik, çift yönlü ve izlenebilir akışlara bağlayın.