İçeriğe geç
KURUMSAL Kurumsal teknoloji · İşletmenize özel mühendislik Kurumsal Yazılım · Yönetilen Sunucular · Kurumsal E-posta · LiteSpeed + CloudLinux · Imunify360 Güvenlik · cPanel Yönetim · Uygun pakette 3 Gbps'ye kadar ağ profili
AIOR

Satış Fiyatı Hesaplama: KDV, Komisyon, Kargo ve Kâr Marjı Formülü

  • Konu başlatıcısı Konu başlatıcısı Aior
  • Başlangıç tarihi Başlangıç tarihi

Aior

Administrator

Yetkili üye
Katıldı
2 Nis 2023
Mesajlar
929
Tepki puanı
2
Puan
18
Yaş
41
Konum
Turkey
Web sitesi
aior.com
Konu sahibi

Maliyetin üstüne %50 ekleyip KDV'yi koyarak fiyat belirleyen bir satıcı, kendi sitesinde kâr ettiği ürünü pazar yerinde zararına satıyor olabilir. Komisyon çoğu zaman KDV dahil fiyattan kesilir, kargo ve iade gideri her siparişe biner, kampanyalar da geriye kalan marjı eritir. Bu rehberde satış fiyatını hedef kâr marjından geriye doğru hesaplıyoruz: terimleri netleştiriyor, maliyet kalemlerini tek tabloda topluyor ve formülü, komisyonun KDV dahil ve KDV hariç fiyattan alındığı iki durum için çıkarıyoruz. Ardından Python fonksiyonu, Excel formülü, aynı ürünün kendi sitenizde ve pazar yerinde fiyatlandığı çözümlü örnek, marj-markup tablosu, ücretsiz kargo eşiği, indirim hesabı, yeniden fiyatlama kuralları ve sık yapılan hatalar geliyor.

Örneklerdeki komisyon, kargo, ödeme ve reklam değerleri gerçek tarifeler değil, hesabı göstermek için seçtiğimiz örnek parametrelerdir; kendi sözleşmelerinizdeki rakamları kullanın. Vergi açıklamaları KDV mükellefi bir satıcıyı varsayar ve Ekim 2026 itibarıyla yürürlükteki metinlere dayanır. Kendi durumunuzu mali müşavirinizle teyit edin.

Temel kavramlar: KDV dahil fiyat, kâr marjı, markup ve katkı payı​

  • Birim maliyet (landed cost): Ürünün satışa hazır hale gelene kadarki toplam maliyeti: KDV hariç alış fiyatı, ithal üründe birim başına navlun, sigorta ve gümrük vergisi payı. Alışta ödenen KDV indirilebildiği için maliyet her zaman KDV hariç yazılır.
  • KDV dahil ve KDV hariç fiyat: KDV hariç fiyat N, KDV oranı k ise KDV dahil fiyat P = N × (1 + k), tersi N = P / (1 + k) olur. %20 oranda KDV, KDV dahil fiyatın %20'si değil altıda biridir (%16,67): 1.200 TL'lik fiyatın 200 TL'si KDV'dir. Bu yazıyı hazırladığımız tarihte genel oran %20, indirimli oranlar %10 ve %1'dir; eski %18 ve %8 oranları 7346 sayılı Cumhurbaşkanı Kararı ile 10 Temmuz 2023'ten itibaren %20 ve %10'a çıkarıldı. Ürününüzün oranını kategori adından tahmin etmeyin; oranları belirleyen 2007/13033 sayılı Bakanlar Kurulu Kararı'nın ekindeki (I) ve (II) sayılı listelere bakın ya da mali müşavirinize sorun.
  • Brüt kâr: KDV hariç satış tutarından satılan malın maliyeti düşülünce kalan tutar. Komisyonu, kargoyu ve reklamı içermediği için fiyat kararında tek başına yetmez.
  • Kâr marjı (margin): Kârın KDV hariç satış fiyatına oranı. Bütün giderleri 80 TL olan ve KDV hariç 100 TL'ye satılan üründe marj %20'dir.
  • Maliyet üzerine kâr oranı (markup): Kârın maliyete oranı; aynı örnekte 20 / 80 = %25. Türkçede "kâr oranı" bazen marj anlamında da kullanılır, bu yüzden tabloda ve sözleşmede tabanı ("satışa göre" ya da "maliyete göre") mutlaka yazın.
  • Katkı payı (contribution margin): KDV hariç fiyattan, siparişle birlikte doğan bütün değişken giderler (ürün, komisyon, ödeme ücreti, kargo, ambalaj, iade payı, sipariş başına reklam) düşüldükten sonra kalan tutar. Kira, maaş ve yazılım abonelikleri gibi sabit giderleri bu tutar karşılar.
  • Başa baş noktası (break-even): Fiyat cinsinden, katkı payını sıfırlayan satış fiyatıdır. Adet cinsinden, aylık sabit giderlerin sipariş başına katkı payına bölümüdür: aylık sabit gider 90.000 TL, sipariş başına katkı payı 120 TL ise ayda 750 sipariş gerekir.

Maliyet yığını: fiyata girmesi gereken kalemler​

Bir siparişin size maliyeti alış fiyatından çok daha fazlasıdır. Tablodaki "fiyatla değişir mi?" sütununa dikkat edin: fiyat yükseldikçe büyüyen kalemler formülde paydaya, sabit kalanlar paya girer.

KalemNasıl hesaplanırFiyatla değişir mi?Dikkat edilecek nokta
Ürün maliyetiKDV hariç alış + navlun, sigorta ve gümrük vergisi payıHayırKurla değişir; yenileme maliyetini kullanın
KDVP × k / (1 + k)EvetGelir değildir, devlete aktarılır
Pazar yeri komisyonuOran × taban (KDV dahil ya da hariç fiyat)EvetOran ve taban kategoriye ve sözleşmeye göre değişir
Ödeme komisyonuOran × tahsil edilen toplam (kargo dahil) + varsa işlem başı sabit ücretEvetOran taksit sayısına ve valöre göre değişebilir
KargoDesi ile kg'dan büyük olanının baremine göre anlaşmalı tarifeHayırYurt içinde desi = en × boy × yükseklik (cm) / 3000
AmbalajKutu, dolgu, bant, etiketHayırKutu ölçüsü desiyi, dolayısıyla kargo ücretini belirler
İade ve iptal payıİade oranı × iade başına maliyetHayırGidiş ve dönüş kargosu, işçilik, satılamaz hale gelen ürün payı
ReklamSipariş başına maliyet (CPA) ya da ciroya oranYönteme göreCiroya oranla bütçeliyorsanız komisyon gibi paydaya girer
Platform ve yazılım payıAbonelik, entegratör ve e-fatura giderleri / aylık siparişHayırSipariş azaldıkça birim pay büyür
E-ticaret stopajıKDV hariç satış tutarının %1'i; pazar yeri hakedişten keserEvetGider değil, peşin ödenen vergi; nakit akışını etkiler

İade başına maliyeti hesaplarken yasal çerçeveyi de katın. Tüketici cayma hakkını kullandığında, müşteriden aldığınız teslimat ücreti dahil bütün ödemeleri iade edersiniz (Mesafeli Sözleşmeler Yönetmeliği md. 12/1). Müşteri malı ön bilgilendirmede iade için belirttiğiniz taşıyıcıyla geri gönderirse iade kargosunu da siz karşılarsınız; iade için taşıyıcı belirtmediyseniz müşteriden iade masrafı adı altında hiçbir bedel alamazsınız (md. 12/5). Yani tipik bir iadede gidiş kargosu, dönüş kargosu, kontrol ve yeniden paketleme işçiliği ve satılamaz hale gelen ürünlerin payı birlikte kaybedilir.

KDV, komisyon faturası ve indirimli oranlı ürünler​

Pazar yerinin komisyon faturasında ayrıca KDV bulunur. KDV mükellefi satıcı bu KDV'yi indirebildiği için hesapta komisyonun KDV hariç tutarını kullanırız; hakedişinizden düşülen komisyon ise KDV'lidir ve nakit planına öyle girer. Banka ve ödeme kuruluşu komisyonlarında vergi uygulaması farklı olabilir: örneğin banka ve sigorta muameleleri vergisi (BSMV) kapsamındaki işlemler KDV'den istisnadır (KDV Kanunu md. 17/4-e) ve BSMV indirilemez. Faturadaki ya da dekonttaki vergi satırına bakın; indiremediğiniz bir vergi varsa komisyon oranını o kadar yükselterek girin. Tüketiciye gösterilen fiyat her zaman tüm vergiler dahil olmalıdır (etiket ve fiyat listelerinde Fiyat Etiketi Yönetmeliği md. 5/2-c, reklamlarda Ticari Reklam ve Haksız Ticari Uygulamalar Yönetmeliği md. 13/2).

Ürününüz %1 veya %10 oranındaysa komisyon, kargo ve reklam faturalarındaki %20 KDV, satıştan hesapladığınız KDV'yi aşabilir. Aradaki fark sonraki dönemlere devreder; indirimli orana tabi teslimlerden doğan bu tutarın iadesi Cumhurbaşkanınca belirlenen sınır ve koşullara bağlıdır (KDV Kanunu md. 29/2). Bu durum kârı değil nakit akışını etkiler, ama aylarca bekleyen KDV alacağının da bir finansman maliyeti vardır.

%1 e-ticaret stopajı (tevkifat)​

1 Ocak 2025'ten beri pazar yerleri, yani 6563 sayılı Kanundaki adıyla elektronik ticaret aracı hizmet sağlayıcılar, satıcılara yaptıkları ödemelerden %1 vergi kesintisi yapıyor. Dayanak, 7524 sayılı Kanunla eklenen Gelir Vergisi Kanunu md. 94/19 ve Kurumlar Vergisi Kanunu md. 15/1-h; %1 oranını 9284 sayılı Cumhurbaşkanı Kararı belirledi, uygulama esasları da 330 Seri No.lu Gelir Vergisi Genel Tebliği'nde yer alıyor. Kesinti şahıs işletmelerine de şirketlere de uygulanır; basit usulde vergilendirilen mükelleflere, vergiden muaf esnafa ve vergi mükellefiyeti olmayanlara yapılan ödemeler ise kapsam dışıdır (Tebliğ md. 6). Matrah, satışın KDV hariç tutarıdır: pazar yerinin komisyonu, kargo ve hizmet bedelini hakedişten düşmesi matrahı küçültmez (Tebliğ md. 5). Trendyol'un hesap ekstresinde örneğin "E-ticaret Stopajı" ve "E-ticaret Stopaj İptali" kalemleri ayrı listelenir.

Kesilen tutar geçici vergi ve yıllık beyannamede hesaplanan vergiden mahsup edilir; yıllık beyannamede mahsup edilemeyen kısım iade talebine konu olur (Tebliğ md. 7). Bu yüzden kârlı bir satıcı için fiyat formülüne gider olarak girmez, nakit akışı planına girer. Marjı düşük ya da zarar eden satıcıda ise geri alınması zaman alan bir alacak birikir. Oran ve istisnalar değişebileceği için GİB duyurularını ve pazar yerinizin bildirimlerini takip edin.

Satış fiyatı formülü: hedef marjdan geriye hesap​

Kullanacağımız semboller:
  • P: KDV dahil satış fiyatı; N = P / (1 + k): KDV hariç fiyat
  • k: KDV oranı (0,20; 0,10 ya da 0,01)
  • C: KDV hariç birim maliyet
  • F: Sipariş başına fiyattan bağımsız giderler: kargo, ambalaj, iade payı, sipariş başına reklam, platform payı, varsa sabit işlem ücreti
  • c: Pazar yeri komisyon oranı; p: ödeme komisyonu oranı
  • m: Hedef kâr marjı (KDV hariç fiyata göre)
Sipariş başına kâr = N − C − F − komisyon − ödeme ücreti. Kartla tahsil edilen tutar KDV dahil olduğu için ödeme ücreti p × P = p × (1 + k) × N'dir. Hedefimiz kârın m × N olması.

Durum A: komisyon KDV dahil fiyattan alınıyorsa​

Komisyon = c × P = c × (1 + k) × N. Denklemi kurup N'yi yalnız bırakalım:
Kod:
N − C − F − c(1 + k)N − p(1 + k)N = m × N
N × (1 − m − (c + p)(1 + k))      = C + F
N = (C + F) / (1 − m − (c + p)(1 + k))

Durum B: komisyon KDV hariç fiyattan alınıyorsa​

Bu kez komisyon = c × N olur ve payda 1 − m − c − p(1 + k) şeklini alır. İki durumu tek formülde birleştirebiliriz:
Kod:
N = (C + F) / (1 − m − c × b − p × (1 + k))
P = N × (1 + k)

b = 1 + k   komisyon KDV dahil fiyattan alınıyorsa
b = 1       komisyon KDV hariç fiyattan alınıyorsa
Komisyonun hangi tabandan alındığını pazar yerinin komisyon sözleşmesinden ve hakediş ekstresinden doğrulayın, tahminle girmeyin. Pazar yerinde kart tahsilatını pazar yeri yapar, bu yüzden orada p çoğunlukla sıfırdır; ayrıca sipariş başına hizmet veya işlem bedeli kesiliyorsa onu F'ye ekleyin. Payda sıfır ya da negatifse o komisyon ve marj bileşimiyle hiçbir fiyatta hedef marja ulaşılamaz, çünkü fiyat yükseldikçe fiyata bağlı giderler de büyür. Bu durumda hedef marjı düşürmek, komisyonu pazarlıkla aşağı çekmek ya da kanalı değiştirmek gerekir. Formülde m = 0 koyarsanız başa baş fiyatını bulursunuz.

Python fonksiyonu​

Python:
import math

def satis_fiyati(maliyet, sabit, marj, kdv=0.20, komisyon=0.0,
                 komisyon_kdv_dahil=True, odeme=0.0):
    """Hedef marja göre KDV dahil satış fiyatı.
    maliyet, sabit: KDV hariç TL (sabit = kargo, ambalaj, reklam, iade payı...)
    marj, kdv, komisyon, odeme: oran olarak (0.15 = %15)"""
    b = (1 + kdv) if komisyon_kdv_dahil else 1.0
    payda = 1 - marj - komisyon * b - odeme * (1 + kdv)
    if payda <= 0:
        raise ValueError("Bu oranlarla hedef marja hiçbir fiyatta ulaşılamaz")
    return (maliyet + sabit) / payda * (1 + kdv)

def marj_kontrol(fiyat, maliyet, sabit, kdv=0.20, komisyon=0.0,
                 komisyon_kdv_dahil=True, odeme=0.0):
    """Verilen KDV dahil fiyatta sipariş başına kâr ve marj."""
    net = fiyat / (1 + kdv)
    kom = komisyon * (fiyat if komisyon_kdv_dahil else net)
    kar = net - maliyet - sabit - kom - odeme * fiyat
    return round(kar, 2), round(kar / net, 4)

def sonu_90(fiyat):
    """Fiyatı yukarı doğru en yakın ...9,90 TL'ye yuvarlar."""
    return round(math.ceil(round((fiyat + 0.10) / 10, 6)) * 10 - 0.10, 2)

p = satis_fiyati(400, 107.40, 0.15, komisyon=0.18)
r = sonu_90(p)
print(round(p, 2), r, marj_kontrol(r, 400, 107.40, komisyon=0.18))
# 960.38 969.9 (126.27, 0.1562)

Excel formülü​

B1 maliyet, B2 sipariş başına fiyattan bağımsız giderler (F), B3 hedef marj, B4 KDV oranı, B5 komisyon oranı, B6 komisyon KDV dahil fiyattan alınıyorsa 1 (değilse 0), B7 ödeme komisyonu oranı olsun. Türkçe Excel'de:
Kod:
B9  KDV hariç fiyat  : =(B1+B2)/(1-B3-B5*EĞER(B6=1;1+B4;1)-B7*(1+B4))
B10 KDV dahil fiyat  : =B9*(1+B4)
B11 ...9,90 sonlu    : =TAVANAYUVARLA(B10+0,1;10)-0,1
B12 gerçekleşen marj : =(B11/(1+B4)-B1-B2-B5*EĞER(B6=1;B11;B11/(1+B4))-B7*B11)/(B11/(1+B4))
İngilizce Excel'de EĞER yerine IF, TAVANAYUVARLA yerine CEILING yazın; bağımsız değişken ayırıcısı (; ya da ,) bölge ayarınıza bağlıdır. Google E-Tablolar'da hesap diliniz Türkçeyse işlev adları, Dosya > Ayarlar'daki İngilizce işlev adları seçeneğine göre Türkçe ya da İngilizce görünür.

Çözümlü örnek: aynı ürün kendi sitenizde ve pazar yerinde​

KDV oranı %20 olan bir masa lambası alalım. KDV hariç birim maliyet 400 TL, iki kanalda da hedef marj %15. Tablodaki oran ve tutarlar örnek parametrelerdir; iade başına 130 TL, iki yönlü kargo (2 × 60 TL) ile 10 TL kontrol ve paketleme işçiliğinden oluşur.

Parametre (örnek)Kendi sitePazar yeri
Ürün maliyeti C (KDV hariç)400,00 TL400,00 TL
Kargo (satıcı öder, KDV hariç)60,00 TL60,00 TL
Ambalaj8,00 TL8,00 TL
Sipariş başına reklam45,00 TL15,00 TL
İade payı (oran × 130 TL)%6 → 7,80 TL%8 → 10,40 TL
Platform ve entegrasyon payı6,00 TL4,00 TL
Sipariş başı hizmet bedeliYok10,00 TL
F toplamı126,80 TL107,40 TL
Komisyon cYok%18, KDV dahil fiyattan
Ödeme komisyonu p%3,2Komisyona dahil varsayıldı
Payda1 − 0,15 − 0,032 × 1,2 = 0,81161 − 0,15 − 0,18 × 1,2 = 0,634
KDV hariç fiyat N649,09 TL800,32 TL
KDV dahil fiyat P778,91 TL960,38 TL
Yukarı yuvarlanmış fiyat779,90 TL969,90 TL
Yuvarlanmış fiyatta marj%15,1%15,6

Pazar yeri fiyatını yükselten komisyondur: KDV dahil fiyattan alınan %18 komisyon, KDV hariç fiyata göre %21,6'ya denk gelir. 969,90 TL'lik pazar yeri satışının dökümü şöyle:
  • KDV: 969,90 − 808,25 = 161,65 TL; KDV hariç gelir 808,25 TL
  • Komisyon: 0,18 × 969,90 = 174,58 TL
  • Ürün maliyeti 400,00 TL ve sabit giderler 107,40 TL
  • Kâr: 808,25 − 174,58 − 400,00 − 107,40 = 126,27 TL; marj 126,27 / 808,25 = %15,6
  • Stopaj: 0,01 × 808,25 = 8,08 TL; pazar yeri keser, vergiden mahsup edilir, kâr hesabına girmez
Maliyetin üstüne %50 koyup KDV ekleyen yaklaşım bu ürün için 400 × 1,5 × 1,2 = 720 TL verir. Aynı parametrelerle kendi sitede sipariş başına 50,16 TL kâr (marj %8,4), pazar yerinde ise 37,00 TL zarar (marj −%6,2) çıkar. Komisyon KDV hariç fiyattan alınsaydı %15 marj için 908,78 TL, yuvarlanmış haliyle 909,90 TL yeterdi. Tabanı yanlış varsayıp 909,90 TL'ye satarsanız ve komisyon aslında KDV dahil fiyattan kesiliyorsa marjınız %15 yerine %11,5 olur. Başa baş fiyatları kendi sitede 657,40 TL, pazar yerinde 776,63 TL'dir (komisyon KDV hariç fiyattan alınsaydı 742,54 TL). Taban fiyatınızı bunların altına koymayın.

Kâr marjı ve markup dönüşüm tablosu​

Dönüşüm formülleri: markup = marj / (1 − marj) ve marj = markup / (1 + markup).
Kâr marjı (satışa göre)Markup (maliyete göre)
%10%11,1
%15%17,6
%20%25
%25%33,3
%30%42,9
%33,3%50
%40%66,7
%50%100
%60%150
Tablo, kârı ve maliyeti aynı kapsamda tanımladığınızda geçerlidir. Markup'ı yalnızca alış fiyatına, marjı ise bütün giderlerden sonra hesaplıyorsanız iki sayı arasında bu kadar basit bir ilişki kalmaz: yukarıdaki pazar yeri örneğinde %15,6 marj, kârın alış maliyetine oranı olarak %31,6'ya karşılık gelir.

Yuvarlama, fiyat sonları ve ücretsiz kargo eşiği​

Formülün verdiği fiyat bir alt sınırdır; yuvarlamayı her zaman yukarı yapın ve yuvarlanmış fiyatla marjı yeniden kontrol edin. ",90" ya da ",99" gibi fiyat sonlarını marka tercihi olarak tutarlı seçin; satışa etkisini genel kabullere değil kendi test verinize dayandırın. Pazar yerlerine genellikle KDV dahil fiyat girilir, KDV ise faturada kuruşa yuvarlanır. Ucuz ürünlerde kuruş farkları ve sipariş başı sabit ücretler oransal olarak büyür.

Ücretsiz kargo, kargo maliyetini sepete yüklemek demektir. Eşiği şöyle belirleyin:
  1. Sepet genelinde kargo hariç katkı payı oranınızı (M) bulun: kargo dışındaki bütün değişken giderler düşüldükten sonra kalanın KDV hariç sepet tutarına oranı.
  2. Başa baş eşiği: T0 = (1 + k) × S / M. Kargo maliyeti S = 60 TL (KDV hariç), M = %30 ve k = %20 ise T0 = 1,2 × 60 / 0,30 = 240 TL (KDV dahil).
  3. Sipariş başına en az G TL kâr bırakmak istiyorsanız T = (1 + k) × (S + G) / M. G = 25 TL için T = 1,2 × 85 / 0,30 = 340 TL.
  4. Ortalama sipariş tutarınızla (AOV) karşılaştırın. AOV KDV dahil 300 TL ise 240 TL'lik eşik, zaten gelecek pek çok siparişe ücretsiz kargo verir ve sepeti büyütmez; 340-350 TL bandı ortalamanın hemen üstündedir ve müşteriyi sepete bir ürün daha eklemeye yönlendirebilir.
  5. Eşiği değiştirdikten sonra ortalama sepeti, dönüşüm oranını ve sipariş başına kârı birkaç hafta izleyin; mümkünse iki eşiği A/B testiyle karşılaştırın.
Eşiğin altında müşteriden kargo ücreti alıyorsanız bu tutar KDV dahildir: 59,90 TL'lik kargo ücretinin 9,98 TL'si KDV, 49,92 TL'si gelirinizdir. Satıcının malı alıcının gösterdiği yere kadar taşımak için yaptığı gider teslimin matrahına girer (KDV Kanunu md. 24/a), bu yüzden kargo ücreti genellikle malın KDV oranıyla faturalanır. Kartla tahsil edildiği için ödeme komisyonu da bu tutar üzerinden kesilir. Teslimat ücretini ön bilgilendirmede açıkça gösterin: tüm vergiler dahil toplam fiyat ve nakliye masrafları zorunlu bilgiler arasındadır, bildirilmeyen ek masrafı tüketici ödemek zorunda değildir (Mesafeli Sözleşmeler Yönetmeliği md. 5/1-d ve 5/3).

İndirim ve kampanya: ne kadar fazla satmanız gerekir?​

Bir indirimden sonra aynı toplam katkı payını korumak için satış adedinin ne kadar artması gerektiğini şu formül verir: gerekli hacim artışı = d / (M − d). Burada d indirim oranı, M indirim öncesi katkı payı oranıdır; fiyatla birlikte değişen gider olmadığı varsayılır.
Katkı payı oranı M%5 indirim%10 indirim%15 indirim%20 indirim
%20+%33,3+%100+%300Mümkün değil
%30+%20+%50+%100+%200
%40+%14,3+%33,3+%60+%100
%50+%11,1+%25+%42,9+%66,7
Komisyon ve ödeme ücreti gibi fiyatla birlikte azalan giderler varsa formülde d yerine d × (1 − v) kullanın; v bu giderlerin KDV hariç fiyata oranıdır. Pazar yeri örneğimizde v = 0,18 × 1,2 = 0,216 ve M = %15,6'dır. %10 indirimde d × (1 − v) = 0,0784 olur ve gerekli hacim artışı 0,0784 / (0,156 − 0,0784) ≈ %101 çıkar: aynı katkı payı için satışların iki katına çıkması gerekir. Satışlar bu oranda artmazsa indirim, hacim getirse bile toplam katkı payını azaltır; marj inceldikçe gereken artış hızla büyür.

Kupon ve kampanyaların üst üste binmesi​

Sepet kuponu, ürün indirimi, "ikinci ürün %50" ve pazar yeri kampanyası aynı siparişte birleşebilir. Her ürün için bütün indirimler aynı anda uygulandığında oluşacak en düşük net fiyatı hesaplayın ve taban fiyatın altına düşen kombinasyonları kampanya kurallarıyla engelleyin. Pazar yeri kampanyalarında indirimi kimin karşıladığını ve komisyonun indirimli fiyattan mı hesaplandığını sözleşmeden kontrol edin.

İndirimi doğru göstermek: on gün kuralı​

İndirimli satışta etikette ve ürün sayfasında indirimli fiyatla birlikte indirimden önceki fiyat da gösterilir. Fiyat Etiketi Yönetmeliği'nin 11. maddesi 11 Ekim 2025'te Resmî Gazete'de yayımlanan değişiklikle şöyle düzenlendi: mal satışlarında indirimden önceki fiyat, indirimin uygulandığı tarihten önceki on gün içinde uygulanan en düşük fiyattır. Meyve ve sebze gibi çabuk bozulan mallarda ve hizmetlerde bir önceki fiyat esas alınır, ispat yükü satıcıdadır. Ticari Reklam ve Haksız Ticari Uygulamalar Yönetmeliği'nin 14. maddesi de 1 Ağustos 2026'dan itibaren indirimli satış reklamlarında aynı on günlük kuralı uyguluyor. Aynı madde, ürün birden çok kanalda satılıyorsa indirimden önceki fiyatın yalnızca indirimin yapıldığı kanaldaki fiyattan belirlenmesini, reklamda indirimin başlangıç ve bitiş tarihlerinin, stok sınırlıysa miktarın da yazılmasını istiyor. İnternette hâlâ 30 günlük kuralı anlatan yazılar var; güncel metinler on gün diyor. AB'deki fiyat gösterimi direktifi ise indirimden önceki en az 30 günün en düşük fiyatını esas alır; AB'deki tüketicilere satıyorsanız bunu da hesaba katın.

Pratik sonucu şu: her SKU için kanal bazında günlük fiyat geçmişi tutun. Kampanyadan birkaç gün önce fiyatı yükseltip indirim göstermek hem kurala aykırıdır hem de fiyat geçmişinde açıkça görünür.

Yeniden fiyatlama (repricing), buybox ve dibe yarış​

Rakip fiyatına göre otomatik fiyat değiştiren her kuralın üç sınırı olmalı:
  • Taban fiyat (floor): Kabul edebileceğiniz en düşük marjla formülden hesaplanır; kural ne derse desin altına inilmez.
  • Tavan fiyat (ceiling): Liste fiyatı ya da üzerinde dönüşümün belirgin biçimde düştüğünü bildiğiniz seviye.
  • Değişim sınırı ve sıklık: Tek seferde en fazla belirli bir tutar, günde sınırlı sayıda değişiklik ve küçük farklarda fiyatı oynatmayan bir eşik.
Python:
def yeni_fiyat(rakip, taban, tavan, mevcut, adim=1.0, esik=0.5):
    """Rakibin bir adım altına in; tabanın altına inme, tavanı aşma."""
    if rakip is None:               # rakip yok ya da stokta değil
        hedef = tavan
    else:
        hedef = min(tavan, max(taban, rakip - adim))
    if abs(hedef - mevcut) < esik:  # küçük farklar için fiyatı oynatma
        return mevcut
    return round(hedef, 2)

print(yeni_fiyat(989.90, 899.90, 1099.90, 969.90))  # 988.9
print(yeni_fiyat(850.00, 899.90, 1099.90, 969.90))  # 899.9 (taban)
Aynı ürünü satanlar arasından öne çıkarılan teklif (buybox) pazar yerine göre farklı kurallarla seçilir ve fiyat çoğu zaman tek ölçüt değildir; kendi pazar yerinizin satıcı panelindeki açıklamayı okuyun. İki satıcının kuralı da "rakibin 1 TL altına in" ise fiyat kısa sürede tabanı yüksek olan satıcının tabanına kadar iner ve orada takılır; iki taraf da marjının büyük kısmını boşuna kaybeder. Bunu önlemek için yalnızca gerçekten rakip saydığınız satıcıları izleyin, rakip tabanınıza yaklaştığında eşleşmeyi bırakıp teslimat hızı ve stok sürekliliğiyle yarışın ve günlük değişiklik sayısını sınırlayın. Pazar yeri ücret kalemlerine, repricing araçlarına ve buybox koşullarına genel bir bakış için pazar yerlerinde satış yazımıza bakabilirsiniz.

Fiyatı kullanıcının satın alma davranışını ve diğer kişisel verilerini analiz ederek kişiselleştiriyorsanız Ticari Reklam ve Haksız Ticari Uygulamalar Yönetmeliği (md. 13/10) bunun belirtilmesini ve güncel satış fiyatıyla kişiselleştirilmiş fiyatın aynı alanda gösterilmesini istiyor. Tanım tüketici verisinin analizine dayandığı için herkese aynı fiyatı gösteren, rakip fiyatına bağlı kurallar bu kapsamda görünmüyor.

Kur, maliyet güncelleme ve toplu fiyat değişikliği​

Döviz bazlı alım yapıyorsanız fiyatı stoktaki malın geçmiş maliyetine göre değil, aynı malı bugün yeniden almanın maliyetine (yenileme maliyeti) göre hesaplayın; yoksa stok bittiğinde satış gelirinizle aynı miktarı yeniden alamazsınız. İthal ürünün birim maliyeti kabaca şöyle bulunur: döviz fiyatı ile birim navlun ve sigorta toplanır, kurla çarpılır, üzerine gümrük vergisi ve diğer ithalat giderleri eklenir. İthalatta ödenen KDV indirilebildiği için maliyete eklenmez.

Pratikte işe yarayan düzen:
  1. Katalogda her SKU için maliyet para birimi, döviz maliyeti, navlun ve gümrük payı, KDV oranı, desi ve kanal bazında komisyon oranı alanları tutun. Ürün, varyant ve SKU yapısıyla fiyat modellerinin katalogda nasıl kurgulanacağı için ürün kataloğu yönetimi yazımıza bakın.
  2. Kur son fiyatlamadan bu yana belirlediğiniz eşikten (örneğin %3) fazla değiştiğinde ya da tedarikçi yeni fiyat listesi gönderdiğinde fiyatları yeniden hesaplayan zamanlanmış bir iş kurun.
  3. Yeni fiyatları önce taban fiyat kontrolünden geçirin, büyük değişiklikleri (örneğin %10'un üzerindekileri) onaya düşürün.
  4. Fiyatları pazar yerine API ya da entegratör üzerinden toplu güncellemeyle gönderin. Pazar yeri API'leri genellikle toplu stok-fiyat güncellemesi ve istek sınırları içerir; gönderdiğiniz her fiyatı zaman damgasıyla saklayın, on gün kuralı için de bu kayda ihtiyacınız olacak.

Sık yapılan hatalar​

HataSonucuDoğrusu
Komisyonu yanlış tabandan hesaplamakÖrneğimizde marj %15 yerine %11,5Tabanı sözleşmeden doğrulayıp formüldeki b'yi buna göre seçmek
Marjı KDV dahil fiyat üzerinden hesaplamakMarj olduğundan düşük görünür, KDV oranı farklı ürünler karşılaştırılamazMarjı her zaman KDV hariç fiyata göre hesaplamak
İadeleri unutmakİade oranı yüksek kategoride kârın büyük kısmı giderİade oranı × iade başına maliyeti F'ye eklemek
Marj ile markup'ı karıştırmak"%25 koydum" denen fiyatın marjı %20 çıkarTabanı yazmak, dönüşüm tablosunu kullanmak
Kargo tutarındaki ödeme komisyonunu atlamakKargo ücreti alınan her siparişte küçük ama sürekli kayıpÖdeme komisyonunu tahsil edilen toplam üzerinden hesaplamak
Kargo ücretindeki KDV'yi unutmak59,90 TL'nin 9,98 TL'si de gelir sanılırKargo gelirini KDV hariç yazmak
Geçmiş maliyetle fiyatlamakKur yükselince stok aynı parayla yenilenemezYenileme maliyeti ve kur eşiği kullanmak
Aşağı yuvarlamakTaban fiyatın altına inilirYukarı yuvarlayıp marjı yeniden kontrol etmek

Sık sorulan sorular​

KDV dahil fiyat nasıl hesaplanır?
KDV hariç fiyatı (1 + KDV oranı) ile çarpın: %20 oranda 1.000 TL × 1,20 = 1.200 TL. KDV dahil fiyattan KDV'yi ayırmak için (1 + oran) değerine bölün: 1.200 / 1,20 = 1.000 TL, aradaki 200 TL KDV'dir. KDV dahil fiyatın %20'sini KDV saymak (240 TL) yanlış sonuç verir.

İyi bir kâr marjı ne kadardır?
Herkese uyan bir sayı yok; alt sınırı kendi rakamlarınızdan çıkarın. Katkı payı oranınız, sabit giderlerinizin KDV hariç ciroya oranı ile hedeflediğiniz net kâr oranının toplamından büyük olmalı. Aylık sabit gider 150.000 TL ve KDV hariç ciro 1.000.000 TL ise katkı payı %15'in altına indiğinde zarar edersiniz; %5 net kâr hedefliyorsanız %20 gerekir. İade oranı ve reklam ihtiyacı yüksek kategoriler daha yüksek marj ister.

Kâr marjı mı, markup mı kullanmalıyım?
Fiyat kararı ve raporlama için marjı kullanın: komisyon, KDV ve indirimler satış fiyatı üzerinden işler, marj da kanallar arasında karşılaştırılabilir. Markup, maliyet artı fiyatlamada hızlı bir kısayoldur; kullanırken dönüşüm tablosuyla marja çevirin.

Ücretsiz kargo için fiyatı nasıl belirlerim?
İki yol var: kargo maliyetini F'ye ekleyip ürün fiyatına yaymak ya da ücretsiz kargoyu bir sepet eşiğine bağlamak. Tek ürünlü siparişlerde ilki, çok ürünlü sepetlerde ikincisi daha iyi işler. Eşiği T = (1 + k) × (S + G) / M ile hesaplayıp ortalama sepetinizle karşılaştırın.

%1 e-ticaret stopajı beni nasıl etkiler?
Pazar yeri, satışın KDV hariç tutarının %1'ini hakedişinizden keser ve vergi dairesine yatırır. Kesilen tutar geçici vergi ve yıllık beyannamede hesaplanan vergiden mahsup edilir, fazlası iade talebine konu olur. Kârlı bir satıcı için fiyat formülüne gider olarak girmez, nakit akışına girer. Ekstredeki stopaj ve stopaj iptali kalemlerini her ay muhasebe kayıtlarınızla mutabık tutun.

Sonuç ve sonraki adımlar​

Doğru satış fiyatı maliyete bir yüzde eklenerek değil, hedef marjdan geriye doğru ve her kanal için ayrı hesaplanır. Sırasıyla:
  1. Her SKU için KDV hariç maliyet, KDV oranı, desi ve iade oranını içeren bir maliyet kartı oluşturun.
  2. Kanal sözleşmelerinden komisyon oranını ve tabanını, ödeme komisyonunu, sabit ücretleri ve kargo tarifesini girin.
  3. Formülle her kanal için taban fiyatı (başa baş artı güvenlik payı) ve hedef fiyatı hesaplayın; yuvarladıktan sonra marjı kontrol edin.
  4. Fiyat geçmişini kanal bazında günlük kaydedin ve indirim gösterirken on gün kuralını uygulayın.
  5. Kur ve maliyet değişikliklerinde fiyatları yeniden hesaplayan bir iş kurun; her ay gerçekleşen marjı iade ve reklam dahil hedefle karşılaştırın.
Bu hesabı katalog, pazar yeri ve muhasebe entegrasyonlarına bağlayıp otomatikleştirmek isterseniz AIOR'un e-ticaret hizmetlerine göz atabilirsiniz. Kendi parametrelerinizle ilgili sorularınızı bu konuya yazabilirsiniz.

Adding 50% to cost and then VAT is how many sellers set prices, and it is exactly how a product that makes money in your own store can lose money on a marketplace. The commission is often charged on the VAT-inclusive price, shipping and returns land on every order, and campaigns eat whatever margin is left. This guide works backwards from a target margin to the selling price. We define the terms, put every cost into one table and derive the formula for two cases: commission charged on the VAT-inclusive price and on the VAT-exclusive price. Then come a Python function, a spreadsheet formula, a worked example of one product sold in your own store and on a marketplace, a margin-to-markup table, the free-shipping threshold, discount maths, repricing rules and the most common mistakes.

The formulas work under any VAT or GST system. The tax and price-display rules quoted here are Turkey's (Türkiye's), where VAT is called KDV, as in force in October 2026. Commission, carrier, payment and advertising figures in the examples are illustrative parameters, not real tariffs; use the numbers from your own contracts. The tax notes assume a VAT-registered seller, so confirm your own situation with an accountant.

Key terms: VAT-inclusive price, margin, markup, contribution margin​

  • Landed cost: everything it takes to get a unit ready to sell: the VAT-exclusive purchase price and, for imports, the per-unit share of freight, insurance and customs duty. A VAT-registered seller reclaims input VAT, so cost is always entered net of VAT.
  • VAT-inclusive and VAT-exclusive price: with net price N and VAT rate k, the gross price is P = N × (1 + k), and N = P / (1 + k). At 20%, VAT is one sixth of the gross price (16.67%), not 20% of it: a 1,200 TL price contains 200 TL of VAT. At the time of writing Turkey's standard rate is 20% and the reduced rates are 10% and 1%; Presidential Decision 7346 raised the former 18% and 8% rates to 20% and 10% from 10 July 2023. Look up your product's rate in lists I and II annexed to Council of Ministers Decree 2007/13033, or ask your accountant, instead of guessing from the category name.
  • Gross profit: VAT-exclusive revenue minus the cost of goods sold. It ignores commission, shipping and advertising, so it cannot set a price on its own.
  • Margin: profit divided by the VAT-exclusive selling price. A product sold for 100 TL net with total costs of 80 TL has a 20% margin.
  • Markup: profit divided by cost, so 20 / 80 = 25% in the same example. In Turkish, "kâr oranı" is often used for both ideas, which is why every spreadsheet and contract should name the base: on sales or on cost.
  • Contribution margin: the net price minus every variable cost that comes with an order: product, commission, payment fee, shipping, packaging, returns allowance and advertising per order. It is what pays for fixed costs such as rent, salaries and software.
  • Break-even: as a price, the price at which the contribution margin is zero; as a volume, monthly fixed costs divided by contribution per order. With 90,000 TL of fixed costs and 120 TL of contribution per order you need 750 orders a month.

The cost stack: what has to be in the price​

An order costs you far more than the purchase price. Watch the "scales with price?" column: costs that grow with the price go into the denominator of the formula, the others into the numerator.

Cost itemHow to calculate itScales with price?Watch out for
Product costVAT-exclusive purchase price + share of freight, insurance and dutyNoMoves with the exchange rate; use replacement cost
VATP × k / (1 + k)YesNot revenue; it goes to the tax office
Marketplace commissionRate × base (VAT-inclusive or VAT-exclusive price)YesRate and base vary by category and contract
Payment feeRate × total charged (shipping included) + any fixed fee per transactionYesRate can depend on instalments and settlement time
ShippingContract tariff for the higher of desi (volumetric weight) and kgNoTurkish carriers use desi = L × W × H (cm) / 3000 for domestic parcels
PackagingBox, filler, tape, labelNoBox size sets the desi, and so the shipping price
Returns and cancellationsReturn rate × cost per returnNoOutbound and return shipping, handling, unsellable stock
AdvertisingCost per order (CPA) or a share of revenueDependsBudgeted as a share of revenue, it behaves like commission
Platform and softwareSubscriptions, integrator and e-invoicing fees / monthly ordersNoThe per-order share rises when volume drops
E-commerce withholding (Turkey)1% of the VAT-exclusive sale amount, deducted from payoutsYesA tax prepayment, not a cost; it affects cash flow

Build the legal side into the cost per return. When a consumer in Turkey withdraws from a distance sale, you refund everything collected, delivery fee included (Distance Contracts Regulation, Mesafeli Sözleşmeler Yönetmeliği, art. 12/1). If the customer sends the item back with the carrier you named for returns in the pre-contract information, the customer cannot be charged for the return, and if you named no carrier you cannot charge any return fee at all (art. 12/5). A typical return therefore costs the outbound shipping, the return shipping, inspection and repacking labour, and a share of items that can no longer be sold.

VAT on fees and reduced-rate products​

The marketplace's commission invoice carries VAT. A VAT-registered seller deducts it, so the formula uses the net commission, while the commission deducted from your payout includes the VAT and belongs in the cash plan. Bank and payment-institution fees may be taxed differently: transactions within the scope of Turkey's banking and insurance transactions tax (BSMV) are exempt from VAT (VAT Law art. 17/4-e), and BSMV cannot be deducted. Check the tax line on the invoice or bank statement and, if part of it cannot be deducted, raise the fee rate you enter accordingly. Prices shown to consumers must include all taxes (Price Label Regulation, Fiyat Etiketi Yönetmeliği, art. 5/2-c for labels and price lists; Commercial Advertising and Unfair Commercial Practices Regulation, Ticari Reklam ve Haksız Ticari Uygulamalar Yönetmeliği, art. 13/2 for advertising).

If your product is in the 1% or 10% band, the 20% VAT on commission, shipping and advertising invoices can exceed the VAT you charge on sales. The excess carries forward, and refunds of excess VAT from reduced-rate supplies depend on limits and conditions set by presidential decision (VAT Law art. 29/2). That hits cash flow rather than profit, but VAT credit that waits for months has a financing cost of its own.

Turkey's 1% e-commerce withholding​

Since 1 January 2025, marketplaces (e-commerce intermediary service providers in the language of Law 6563) withhold 1% from their payments to sellers. The legal basis is Income Tax Law art. 94/19 and Corporate Tax Law art. 15/1-h, both added by Law 7524; Presidential Decision 9284 set the rate at 1%, and Income Tax General Communiqué No. 330 sets out how it is applied. It covers sole traders and companies alike, but payments to simple-method taxpayers, tax-exempt small traders and people with no tax registration are excluded (Communiqué art. 6). The base is the VAT-exclusive sale amount: the marketplace netting its commission, shipping and service fees off your payout does not reduce it (Communiqué art. 5). Trendyol's account statement, for example, lists "E-ticaret Stopajı" (e-commerce withholding) and "E-ticaret Stopaj İptali" (withholding cancellation) as separate items.

The amount withheld is credited against provisional tax and the annual return, and whatever the annual return cannot absorb can be reclaimed (Communiqué art. 7). For a profitable seller it is therefore a prepayment of tax, not a cost: it belongs in the cash-flow plan, not in the pricing formula. For a low-margin or loss-making seller it builds up as a receivable that takes time to recover. Rates and exemptions can change, so follow announcements from the Revenue Administration (GİB) and from your marketplace.

The pricing formula: solving for a target margin​

Symbols used below:
  • P: VAT-inclusive selling price; N = P / (1 + k): VAT-exclusive price
  • k: VAT rate (0.20, 0.10 or 0.01 in Turkey)
  • C: VAT-exclusive unit cost
  • F: per-order costs that do not depend on price: shipping, packaging, returns allowance, advertising per order, platform share, any fixed transaction fee
  • c: marketplace commission rate; p: payment fee rate
  • m: target margin on the VAT-exclusive price
Profit per order = N − C − F − commission − payment fee. Card payments are collected gross, so the payment fee is p × P = p × (1 + k) × N. We want the profit to equal m × N.

Case A: commission on the VAT-inclusive price​

Commission = c × P = c × (1 + k) × N. Set up the equation and isolate N:
Kod:
N − C − F − c(1 + k)N − p(1 + k)N = m × N
N × (1 − m − (c + p)(1 + k))      = C + F
N = (C + F) / (1 − m − (c + p)(1 + k))

Case B: commission on the VAT-exclusive price​

Now commission = c × N and the denominator becomes 1 − m − c − p(1 + k). Both cases fit one formula:
Kod:
N = (C + F) / (1 − m − c × b − p × (1 + k))
P = N × (1 + k)

b = 1 + k   if commission is charged on the VAT-inclusive price
b = 1       if commission is charged on the VAT-exclusive price
Confirm the commission base in the marketplace's commission agreement and on a settlement statement; never assume it. On a marketplace the platform collects the card payment, so p is usually zero there, but add any per-order service or transaction fee to F. If the denominator is zero or negative, no price can reach the target margin with that commission, because price-linked costs grow with the price. Lower the target, negotiate the commission or change the channel. Setting m = 0 gives the break-even price.

Python function​

Python:
import math

def selling_price(cost, fixed, margin, vat=0.20, commission=0.0,
                  commission_on_gross=True, payment=0.0):
    """VAT-inclusive price that yields the target margin.
    cost, fixed: VAT-exclusive amounts (fixed = shipping, packaging, ads, returns...)
    margin, vat, commission, payment: fractions (0.15 = 15%)"""
    b = (1 + vat) if commission_on_gross else 1.0
    denom = 1 - margin - commission * b - payment * (1 + vat)
    if denom <= 0:
        raise ValueError("No price reaches this margin with these rates")
    return (cost + fixed) / denom * (1 + vat)

def check_margin(price, cost, fixed, vat=0.20, commission=0.0,
                 commission_on_gross=True, payment=0.0):
    """Profit per order and margin at a given VAT-inclusive price."""
    net = price / (1 + vat)
    fee = commission * (price if commission_on_gross else net)
    profit = net - cost - fixed - fee - payment * price
    return round(profit, 2), round(profit / net, 4)

def end_90(price):
    """Round up to the next price ending in 9.90."""
    return round(math.ceil(round((price + 0.10) / 10, 6)) * 10 - 0.10, 2)

p = selling_price(400, 107.40, 0.15, commission=0.18)
r = end_90(p)
print(round(p, 2), r, check_margin(r, 400, 107.40, commission=0.18))
# 960.38 969.9 (126.27, 0.1562)

Spreadsheet formula​

Put cost in B1, the per-order costs that do not depend on price (F) in B2, the target margin in B3, the VAT rate in B4, the commission rate in B5, 1 in B6 if commission is charged on the VAT-inclusive price (0 otherwise) and the payment fee rate in B7. In English Excel or Google Sheets:
Kod:
B9  net price      : =(B1+B2)/(1-B3-B5*IF(B6=1,1+B4,1)-B7*(1+B4))
B10 gross price    : =B9*(1+B4)
B11 ending in 9.90 : =CEILING(B10+0.1,10)-0.1
B12 actual margin  : =(B11/(1+B4)-B1-B2-B5*IF(B6=1,B11,B11/(1+B4))-B7*B11)/(B11/(1+B4))
In locales with a decimal comma, such as Turkish or German, the argument separator is a semicolon, and localized Excel also translates function names: Turkish Excel uses EĞER for IF and TAVANAYUVARLA for CEILING. Google Sheets shows localized function names only when "Always use English function names" is unticked under File > Settings.

Worked example: one product, own store vs marketplace​

Take a desk lamp at 20% VAT with a VAT-exclusive unit cost of 400 TL and a 15% target margin in both channels. Every rate and amount in the table is illustrative; the 130 TL cost per return is two-way shipping (2 × 60 TL) plus 10 TL of inspection and repacking.

Parameter (illustrative)Own storeMarketplace
Product cost C (net of VAT)400.00 TL400.00 TL
Shipping (paid by seller, net of VAT)60.00 TL60.00 TL
Packaging8.00 TL8.00 TL
Advertising per order45.00 TL15.00 TL
Returns allowance (rate × 130 TL)6% → 7.80 TL8% → 10.40 TL
Platform and integration share6.00 TL4.00 TL
Per-order service feeNone10.00 TL
F total126.80 TL107.40 TL
Commission cNone18% of the VAT-inclusive price
Payment fee p3.2%Assumed included in commission
Denominator1 − 0.15 − 0.032 × 1.2 = 0.81161 − 0.15 − 0.18 × 1.2 = 0.634
Net price N649.09 TL800.32 TL
Gross price P778.91 TL960.38 TL
Rounded up779.90 TL969.90 TL
Margin at the rounded price15.1%15.6%

The commission is what pushes the marketplace price up: 18% of the VAT-inclusive price is 21.6% of the VAT-exclusive price. The 969.90 TL marketplace sale breaks down like this:
  • VAT: 969.90 − 808.25 = 161.65 TL, leaving 808.25 TL of net revenue
  • Commission: 0.18 × 969.90 = 174.58 TL
  • Product cost 400.00 TL and per-order costs 107.40 TL
  • Profit: 808.25 − 174.58 − 400.00 − 107.40 = 126.27 TL; margin 126.27 / 808.25 = 15.6%
  • Withholding: 0.01 × 808.25 = 8.08 TL, deducted by the marketplace and credited against tax, so it stays out of the profit calculation
The cost-plus-50% approach gives 400 × 1.5 × 1.2 = 720 TL for this lamp. With the same parameters that earns 50.16 TL per order in your own store (8.4% margin) and loses 37.00 TL per order on the marketplace (−6.2%). Had the commission been charged on the VAT-exclusive price, 908.78 TL, or 909.90 TL rounded, would have delivered 15%. Assume that base, list at 909.90 TL while the marketplace actually charges on the gross price, and the margin falls from 15% to 11.5%. Break-even prices are 657.40 TL in your own store and 776.63 TL on the marketplace (742.54 TL if commission were charged on the net price). Never set a floor price below these.

Margin vs markup conversion table​

Conversions: markup = margin / (1 − margin) and margin = markup / (1 + markup).
Margin (on sales)Markup (on cost)
10%11.1%
15%17.6%
20%25%
25%33.3%
30%42.9%
33.3%50%
40%66.7%
50%100%
60%150%
The table only holds when profit and cost are defined on the same basis. If you calculate markup on the purchase price alone but margin after all costs, the two numbers no longer convert this simply: in the marketplace example above, a 15.6% margin is a 31.6% return on the purchase cost.

Rounding, price endings and the free-shipping threshold​

The formula gives a minimum, so always round up and re-check the margin at the rounded price. Choose endings such as .90 or .99 consistently as a brand decision, and judge their effect on your own test data rather than on rules of thumb. Marketplaces usually take VAT-inclusive prices and round VAT to the kuruş on the invoice; on cheap items, rounding differences and fixed per-order fees become a large share of the price.

Free shipping moves the shipping cost into the basket. Set the threshold like this:
  1. Find your basket-level contribution margin before shipping (M): what is left after every variable cost except shipping, divided by the VAT-exclusive basket value.
  2. Break-even threshold: T0 = (1 + k) × S / M. With a shipping cost S of 60 TL net, M = 30% and k = 20%, T0 = 1.2 × 60 / 0.30 = 240 TL including VAT.
  3. To keep at least G TL of profit per order: T = (1 + k) × (S + G) / M. For G = 25 TL, T = 1.2 × 85 / 0.30 = 340 TL.
  4. Compare the result with your average order value (AOV). If AOV is 300 TL including VAT, a 240 TL threshold gives free shipping to orders that would have come anyway and does not grow the basket, while 340-350 TL sits just above the average and can nudge customers to add one more item.
  5. After changing the threshold, watch AOV, conversion rate and profit per order for a few weeks, and A/B test two thresholds if your traffic allows it.
If you charge for shipping below the threshold, that fee includes VAT: of a 59.90 TL shipping fee, 9.98 TL is VAT and 49.92 TL is revenue. Under VAT Law art. 24/a, transport that the seller provides to the place the buyer designates is part of the taxable amount of the sale, so the shipping fee is usually invoiced at the product's VAT rate. The fee is charged to the card, so the payment fee applies to it as well. Show delivery charges clearly in the pre-contract information: the total price including taxes and any delivery costs are mandatory items there, and the consumer does not have to pay extra charges that were not disclosed (Distance Contracts Regulation art. 5/1-d and 5/3).

Discounts and campaigns: how much more must you sell?​

This formula gives the extra volume needed after a discount to keep the same total contribution: required volume increase = d / (M − d), where d is the discount and M the contribution margin ratio before it, assuming no costs scale with the price.
Contribution margin M5% off10% off15% off20% off
20%+33.3%+100%+300%Impossible
30%+20%+50%+100%+200%
40%+14.3%+33.3%+60%+100%
50%+11.1%+25%+42.9%+66.7%
When some costs fall with the price, such as commission and payment fees, replace d with d × (1 − v), where v is those costs as a share of the VAT-exclusive price. In the marketplace example v = 0.18 × 1.2 = 0.216 and M = 15.6%. A 10% discount gives d × (1 − v) = 0.0784, and the required increase is 0.0784 / (0.156 − 0.0784) ≈ 101%: sales must double just to keep the same contribution. If sales do not grow by at least that much, the discount lowers total contribution even though it brings volume, and the hurdle rises steeply as the margin gets thinner.

Coupon stacking​

A basket coupon, a product discount, a "second item 50% off" deal and a marketplace campaign can all land on the same order. For each product, calculate the lowest net price with every discount applied at once, and use the campaign rules to block combinations that fall below the floor price. For marketplace campaigns, check in the agreement who funds the discount and whether commission is calculated on the discounted price.

Showing discounts correctly in Turkey: the 10-day rule​

A discounted price must be shown together with the price before the discount, on the label and on the product page. Article 11 of the Price Label Regulation was amended in the Official Gazette on 11 October 2025: for goods, the price before the discount is the lowest price applied in the ten days before the discount started; for perishables such as fruit and vegetables, and for services, it is the immediately preceding price, and the burden of proof lies with the seller. From 1 August 2026, article 14 of the Commercial Advertising and Unfair Commercial Practices Regulation applies the same ten-day rule to discount advertising. It also says that when a product is sold in several channels, the pre-discount price must come only from the channel where the discount is offered, and that the advertisement must state the start and end dates of the discount, plus the quantity if stock is limited. Many articles online still describe a 30-day rule; the current Turkish texts say ten days. The EU's Price Indication Directive, by contrast, uses the lowest price over at least the previous 30 days, which matters if you also sell to EU consumers.

The practical consequence: keep a daily price history per SKU and per channel. Raising a price a few days before a campaign to show a bigger discount breaks the rule, and the history makes it obvious.

Repricing, the buy box and the race to the bottom​

Any rule that changes your price automatically in response to competitors needs three limits:
  • Floor price: calculated with the formula at the lowest margin you will accept; never go below it, whatever the rule says.
  • Ceiling price: your list price, or the level above which you know conversion drops sharply.
  • Change limits and frequency: a maximum change per update, a cap on changes per day and a dead band that ignores small differences.
Python:
def new_price(competitor, floor, ceiling, current, step=1.0, deadband=0.5):
    """Undercut by one step, never below the floor or above the ceiling."""
    if competitor is None:            # no competitor, or out of stock
        target = ceiling
    else:
        target = min(ceiling, max(floor, competitor - step))
    if abs(target - current) < deadband:  # ignore tiny differences
        return current
    return round(target, 2)

print(new_price(989.90, 899.90, 1099.90, 969.90))  # 988.9
print(new_price(850.00, 899.90, 1099.90, 969.90))  # 899.9 (floor)
The featured offer among sellers of the same product (the buy box) is chosen by rules that differ from one marketplace to the next, and price is rarely the only factor, so read your marketplace's seller documentation. If two sellers both run "undercut by 1 TL", the price soon slides to the higher of their two floors and sticks there, and both give away most of their margin for nothing. To avoid that, track only the sellers you really compete with, stop matching when a competitor nears your floor and compete on delivery speed and stock availability instead, and cap the number of changes per day. For an overview of marketplace fee structures, repricing tools and buy-box eligibility, see our article on selling on marketplaces.

If you personalise prices by analysing a user's purchase behaviour and other personal data, the same Turkish advertising regulation (art. 13/10) requires you to say so and to show the current standard price in the same area as the personalised one. Because the definition rests on analysing consumer data, rules that show everyone the same competitor-driven price do not appear to fall under it.

FX-linked costs and bulk price updates​

If you buy in foreign currency, price from what it would cost to buy the same unit again today (replacement cost), not from the historical cost of the stock on hand; otherwise the revenue from today's stock will not buy the same quantity again. An imported unit's cost is roughly the foreign-currency price plus per-unit freight and insurance, converted at the exchange rate, plus customs duty and other import charges. Import VAT is deductible, so it stays out of cost.

A setup that works in practice:
  1. Store these fields per SKU in the catalogue: cost currency, foreign-currency cost, freight and duty share, VAT rate, desi and commission rate per channel. For how products, variants and SKUs, and the pricing models built on them, are structured in the catalogue, see our product catalogue data model article.
  2. Schedule a job that recalculates prices when the exchange rate has moved past a threshold you choose (say 3%) since the last pricing run, or when a supplier sends a new price list.
  3. Run every new price through the floor-price check and send large changes (for example above 10%) for approval.
  4. Push prices to marketplaces as bulk updates through their APIs or an integrator. Marketplace APIs usually offer batch stock-and-price updates and enforce rate limits; keep every price you send with a timestamp, because the 10-day rule needs that record too.

Common mistakes​

MistakeWhat happensFix
Commission on the wrong baseMargin of 11.5% instead of 15% in our exampleConfirm the base in the agreement and set b accordingly
Margin calculated on the VAT-inclusive priceMargin looks lower, and products with different VAT rates cannot be comparedAlways calculate margin on the VAT-exclusive price
Forgetting returnsHigh-return categories lose most of their profitAdd return rate × cost per return to F
Mixing up margin and markup"I put 25% on it" turns out to be a 20% marginName the base and use the conversion table
Ignoring the payment fee on shippingA small, constant leak on every order with a shipping chargeApply the payment fee to the total charged
Forgetting the VAT inside the shipping fee9.98 TL of a 59.90 TL fee is treated as revenueBook shipping income net of VAT
Pricing from historical costStock cannot be replaced after the currency weakensUse replacement cost and an FX trigger
Rounding downThe price slips below the floorRound up, then re-check the margin

Frequently asked questions​

How do I calculate a VAT-inclusive price?
Multiply the net price by (1 + VAT rate): at 20%, 1,000 TL × 1.20 = 1,200 TL. To take VAT out of a gross price, divide by (1 + rate): 1,200 / 1.20 = 1,000 TL, so 200 TL is VAT. Taking 20% of the gross price (240 TL) gives the wrong answer.

What is a good profit margin?
There is no universal number, so derive your minimum from your own figures. Your contribution margin must exceed fixed costs as a share of net revenue plus the net profit you want. With 150,000 TL of monthly fixed costs and 1,000,000 TL of monthly net revenue, you lose money below a 15% contribution margin and need 20% for a 5% net profit. Categories with high return rates or heavy advertising need more.

Should I use margin or markup?
Use margin for pricing decisions and reporting: commission, VAT and discounts all work on the selling price, and margin compares cleanly across channels. Markup is a handy shortcut for cost-plus pricing; convert it with the table before you compare.

How do I price for free shipping?
Either add shipping to F and spread it over the product price, or tie free shipping to a basket threshold. The first suits single-item orders, the second multi-item baskets. Calculate the threshold with T = (1 + k) × (S + G) / M and compare it with your average order value.

How does Turkey's 1% e-commerce withholding affect me?
The marketplace deducts 1% of the VAT-exclusive sale amount from your payout and pays it to the tax office. The amount is credited against provisional tax and the annual return, and any excess can be reclaimed. For a profitable seller it is a cash-flow item, not a cost in the pricing formula. Reconcile the withholding and cancellation lines on your statement with your books every month.

Conclusion and next steps​

A sound selling price is not cost plus a percentage; it is worked backwards from a target margin, separately for each channel. In order:
  1. Create a cost card per SKU with net cost, VAT rate, desi and return rate.
  2. Enter each channel's commission rate and base, payment fee, fixed fees and shipping tariff from the contracts.
  3. Use the formula to set a floor price (break-even plus a safety margin) and a target price for every channel; round up and re-check the margin.
  4. Log prices daily per channel and apply the 10-day rule whenever you show a discount.
  5. Set up a job that reprices on exchange-rate and cost changes, and compare the realised margin, returns and advertising included, with the target every month.
If you want this calculation wired into your catalogue, marketplace and accounting integrations, AIOR's e-commerce services page describes what we do. Questions about your own parameters are welcome in this thread.
 
Son düzenleyen:

Forum istatistikleri

Konular
925
Mesajlar
932
Üyeler
26
En son üye
Jessicawatson

Çevrimiçi üyeler

Şu anda çevrimiçi üye yok.

Öne çıkan içerik

AIOR
AIOR TEKNOLOJİ

Tüm ihtiyaçlarınız için Teklif alın

Hosting · Domain · Sunucu · Tasarım · Yazılım · Mühendislik · Sektörel Çözümler

Teklif al

7/24 Destek · Anında yanıt

Geri
Üst