Bloga Dön
Kurumsal Çözümler

B2B Bayi Sipariş Sistemi Nasıl Kurulur?

Bayi sipariş sistemi nedir, normal e-ticaretten farkı ne? Bayiye özel fiyat listesi, cari bakiye ve onay akışı; ERP entegrasyonu, hazır modül ile özel portal karşılaştırması, maliyet kalemleri ve projeyi bozan hatalar.

Kurumsal ÇözümlerB2BE-ticaretEntegrasyon

B2B bayi sipariş sistemi, bayilerinizin ve toptan müşterilerinizin kendi fiyat listesi, iskonto oranı, cari bakiyesi ve gerçek stok bilgisiyle 7/24 sipariş geçebildiği kapalı bir sipariş panelidir. Normal bir e-ticaret sitesinden üç noktada ayrılır: fiyat müşteriye göre değişir, ödeme çoğunlukla peşin değil cari hesap üzerinden ilerler ve siparişin bir onay akışı vardır. Kurmak için üç yol var — hazır e-ticaret altyapısının B2B modülünü açmak (birkaç gün), standart bir altyapının üzerine bayi katmanı yazdırmak (2-6 hafta) veya ERP’ye bağlı özel bir bayi portalı geliştirmek (8-16 hafta). Hangisinin size uyduğunu belirleyen asıl değişken ürün sayınız değil, fiyatlandırma kurallarınızın karmaşıklığıdır.

B2B bayi paneli normal e-ticaretten neyi farklı yapar?

Perakende bir e-ticaret sitesinde ürünün tek bir fiyatı vardır, herkes aynı fiyatı görür, ödeme sipariş anında alınır ve sipariş onaysız düşer. Bayi tarafında bu dört cümlenin dördü de yanlıştır. Bu yüzden “mevcut siteye bayi girişi ekleyelim” fikri çoğu projede ilk üç haftada tıkanır: eklenmesi gereken şey bir giriş ekranı değil, ayrı bir ticaret modelidir.

  • Müşteriye göre fiyat — Aynı ürün A bayisine liste fiyatından %18, B bayisine %27 iskontolu, C bayisine sözleşmeyle sabitlenmiş bir birim fiyattan satılır. Fiyat üründe değil, ürün ile müşteri arasındaki ilişkide durur.
  • Cari hesap ve risk limiti — Ödeme çoğu zaman sipariş anında alınmaz. Sistem bayinin bakiyesini, vade gününü ve risk limitini bilmek, limit aşıldığında siparişi bloke etmek ya da onaya düşürmek zorundadır.
  • Onay akışı — Bayinin satın alma sorumlusu sipariş oluşturur, kendi müdürü onaylar; sizin tarafınızda da bölge müdürü iskontoyu onaylar. Sipariş, onaydan geçmeden üretime veya sevkiyata gitmez.
  • Koli / paket katları — B2B’de adet serbest değildir: ürün 12’li koli ise 17 adet sipariş edilemez. Miktar alanı koli katına yuvarlanmalı ya da baştan engellenmelidir.
  • KDV ve fiyat gösterimi — Bayi ekranlarında fiyatlar genellikle KDV hariç gösterilir, sepet toplamında KDV ayrı satır olur. Perakende mantığıyla yazılmış bir sepet bu ayrımı taşımaz.
  • Hızlı sipariş — Bayi vitrin gezmez. Ürün kodunu bilir ve 60 kalemi tek ekranda girmek ister; Excel yükleme, kod ile arama ve geçmiş siparişi tekrarlama en çok kullanılan üç özelliktir.

Bayi sisteminin çekirdek modülleri

  • Bayi yönetimi — Bayi kartı, alt kullanıcılar ve yetkileri (sipariş oluşturan / onaylayan / sadece görüntüleyen), bağlı olduğu fiyat listesi ve bölge.
  • Fiyat listesi ve kampanya motoru — Liste bazlı iskonto, miktar kademesi, bayiye özel anlaşmalı fiyat ve tarihli kampanyalar.
  • Katalog ve stok — Her bayinin görmesi gereken ürün kümesi farklı olabilir; stok bilgisi ERP’den gelir ve “stokta yok” yerine “tedarik süresi 5 gün” demek dönüşümü belirgin biçimde artırır.
  • Sipariş ve onay akışı — Sepet, koli katına yuvarlama, sipariş notu, onay adımları, kısmi sevkiyat ve iptal.
  • Cari hesap ekranı — Bakiye, vadesi geçen tutar, açık siparişler, irsaliye ve fatura dökümü. Bayilerin panele en sık girdiği ekran budur; sipariş ekranından bile fazla kullanılır.
  • Sevkiyat takibi — Sipariş durumu, kargo takip numarası ve teslim bilgisi. Kurulumu kargo entegrasyonu nasıl yapılır yazımızda anlattık.
  • Raporlama — Bayi bazlı ciro, ürün kırılımı, hedef gerçekleşme ve saha ekibi için mobil erişim.

Fiyat mantığı: işin asıl zor kısmı

B2B projelerinde en çok zaman alan iş katalog ya da tasarım değil, “bu bayi bu üründen 40 adet alırsa birim fiyat kaç TL?” sorusuna her koşulda aynı cevabı veren bir kural motoru kurmaktır. Kuralların önceliği baştan yazılmazsa panel ile faturanın tutmadığı ilk gün proje güven kaybeder. Yaygın öncelik sırası şudur: bayiye özel anlaşmalı fiyat, sonra miktar kademesi, sonra bayi grubunun liste iskontosu, en son temel liste fiyatı.

// Bir bayinin bir üründe göreceği birim fiyatı çözer.
// Öncelik: bayiye özel fiyat > miktar kademesi > liste iskontosu > liste fiyatı
type FiyatKurali = {
  urunId: string;
  bayiId?: string; // bayiye özel anlaşma
  listeId?: string; // bayi grubunun fiyat listesi
  birimFiyat?: number;
  iskontoOrani?: number; // 0.18 = %18
  minAdet: number;
  baslangic: string; // 'YYYY-MM-DD'
  bitis?: string;
};

export function birimFiyatCoz(
  urun: { id: string; listeFiyati: number },
  bayi: { id: string; listeId: string },
  adet: number,
  tarih: string,
  kurallar: FiyatKurali[],
): { fiyat: number; kaynak: string } {
  const gecerli = kurallar.filter(
    (k) =>
      k.urunId === urun.id &&
      adet >= k.minAdet &&
      tarih >= k.baslangic &&
      (!k.bitis || tarih <= k.bitis),
  );

  // 1) Bayiye özel sabit fiyat — en yüksek minAdet kademesi kazanır
  const ozel = gecerli
    .filter((k) => k.bayiId === bayi.id && k.birimFiyat !== undefined)
    .sort((a, b) => b.minAdet - a.minAdet)[0];
  if (ozel?.birimFiyat !== undefined) {
    return { fiyat: ozel.birimFiyat, kaynak: 'bayiye-ozel' };
  }

  // 2) Bayi grubunun liste iskontosu
  const liste = gecerli
    .filter((k) => k.listeId === bayi.listeId && k.iskontoOrani !== undefined)
    .sort((a, b) => b.minAdet - a.minAdet)[0];
  if (liste?.iskontoOrani !== undefined) {
    const fiyat = urun.listeFiyati * (1 - liste.iskontoOrani);
    return { fiyat: Math.round(fiyat * 100) / 100, kaynak: `liste:${bayi.listeId}` };
  }

  // 3) Hiçbir kural eşleşmediyse liste fiyatı
  return { fiyat: urun.listeFiyati, kaynak: 'liste-fiyati' };
}

Fonksiyonun döndürdüğü “kaynak” alanı kozmetik değil: bayi fiyata itiraz ettiğinde hangi kuralın uygulandığını saniyeler içinde göstermenizi sağlar. Bu alanı sipariş satırına da yazın; ay sonunda fatura farkı tartışmalarının çoğu burada biter.

ERP ve muhasebe entegrasyonu olmadan bayi paneli çalışmaz

Bayi portalı bağımsız bir ada değildir; şirketin mevcut sisteminin bayiye açılan yüzüdür. Stok, cari bakiye ve fiyat listesi ERP’den ya da muhasebe programından gelir; sipariş ise ters yönde, portaldan ERP’ye akar. Bu iki yönlü akış kurulmazsa panel “sipariş toplayan bir form”a döner ve elle veri girişi geri gelir. Kurumsal tarafta hangi verinin hangi yöne aktığını ERP nedir ve muhasebe programı entegrasyonu yazılarında ayrıntılı anlattık; entegrasyonun teknik temeli için API entegrasyonu nedir iyi bir başlangıç.

Pratik kural: stok ve bakiye gibi sık değişen veriler için anlık sorgu (canlı API çağrısı) ya da kısa aralıklı senkron kullanın; fiyat listesi gibi seyrek değişen veriler için günlük toplu aktarım yeterlidir. Siparişi ERP’ye yazarken mutlaka kuyruk ve idempotency anahtarı kullanın — ERP bir dakika cevap vermediğinde bayinin siparişi kaybolmamalı, tekrar denendiğinde de iki kez düşmemelidir. Stok tarafındaki kaynak sistem tartışmasına stok takip programı mı özel yazılım mı yazısında girdik.

Bayi portalının başarı ölçüsü ciro değil, telefonla/WhatsApp ile gelen sipariş oranının düşmesidir. Bayilerin bir kısmı eski alışkanlığını sürdürdüğü sürece iç ekip iki kanalı birden işletmek zorunda kalır ve otomasyondan beklenen tasarruf gerçekleşmez. Devreye alma planında “telefon siparişini kapatma tarihi” yazılı olmalıdır.

Hazır altyapı mı, özel bayi portalı mı?

  • Hazır altyapının B2B modülü — Ticimax, İdeasoft, Shopify Plus gibi platformların B2B/toptan modülleri müşteri grubu bazlı fiyat ve KDV hariç gösterimi hazır verir. Kurulum birkaç gün. Sınır: cari bakiye, risk limiti ve çok adımlı onay akışı ya hiç yoktur ya da çok yüzeyseldir.
  • Standart altyapı + bayi katmanı — Mevcut e-ticaret sitenizin üzerine ayrı bir bayi alanı yazılır; katalog ve ödeme altyapısı paylaşılır, fiyat ve onay mantığı özel yazılır. 2-6 hafta. Ürün sayısı çok ama fiyat kuralları orta karmaşıklıktaysa en dengeli yol budur.
  • Özel bayi portalı — ERP’ye bağlı, kendi kural motoru olan bağımsız bir uygulama. 8-16 hafta. Çok kademeli iskonto, bölge/temsilci yetkilendirmesi, sözleşmeli fiyatlar ve saha ekibi mobil uygulaması gerekiyorsa tek gerçekçi seçenek.

Karar için tek soru yeterli: fiyat kurallarınızı iki cümleyle anlatabiliyor musunuz? Anlatabiliyorsanız hazır modül işinizi görür. “Şu bayi grubu şu kampanyada, ama sözleşmeli üç bayi hariç, onlarda da 50 adet üstü farklı” diye devam ediyorsa hazır modülü zorlamak yerine özel yazılıma bakın. Bu tercihin genel çerçevesini özel yazılım mı hazır çözüm mü yazısında tarttık.

Maliyet nasıl çıkar?

B2B projelerinde tek bir “paket fiyat” yoktur; teklif isterken kalemleri ayrı ayrı istemek hem karşılaştırmayı hem de kapsam tartışmasını kolaylaştırır. Adam-gün üzerinden düşünmek, tekliflerin neden birbirinden ayrıldığını da görünür kılar.

  • Analiz ve fiyat kuralı çıkarımı — Genelde 3-8 adam-gün. Atlanırsa proje geliştirme sırasında iki kez yazılır; en pahalı tasarruf kalemi budur.
  • Portal geliştirme — Katalog, sepet, onay akışı, cari ekranı, raporlar. Kapsama göre 25-60 adam-gün bandında değişir.
  • ERP / muhasebe entegrasyonu — Karşı sistemin API kalitesine bağlı olarak 8-25 adam-gün. Bulut tabanlı bir programda düşük, kurulu bir sistemde ara katman gerektiği için yüksek uçtadır.
  • Veri hazırlığı — Bayi kartları, fiyat listeleri ve ürün kodlarının temizlenmesi. Çoğu şirkette bu iş yazılımdan uzun sürer ve teklife girmez.
  • Devreye alma ve bayi eğitimi — Pilot bayi grubu, kullanım videosu, geçiş dönemi desteği.
  • Bakım ve geliştirme — Yıllık, çalışan sistemin üzerine gelen değişiklikler. Yaklaşımımızı özel yazılım maliyeti yazısında kalem kalem açtık.

Bayilerinizden peşin ya da kredi kartıyla tahsilat da yapacaksanız sanal POS ve komisyon tarafı ayrı bir kalemdir; ayrıntısı web sitesine ödeme entegrasyonu yazımızda. Perakende tarafını da yenileyecekseniz bütçeyi birlikte planlamak için e-ticaret sitesi kurma maliyeti yazısına bakabilirsiniz.

Bayi portalı projelerini bozan beş hata

  • Fiyat kurallarını koda gömmek — İskonto oranları ve kampanyalar pazarlamanın işidir; her değişiklik için sürüm çıkmak zorunda kalıyorsanız tasarım yanlıştır. Kurallar veri olmalı, kod değil.
  • Stoğu gece senkronuyla göstermek — Sabah stokta görünen ürün öğleden sonra yoktur; bayi siparişi geçer, siz iptal edersiniz. Kritik ürünlerde anlık sorgu ya da rezervasyon mantığı şart.
  • Cari bakiyeyi göstermemek — Bayinin en çok baktığı bilgidir. Göstermeyen panel, bayiyi yine muhasebeyi aramak zorunda bırakır ve “zaten telefon ediyorum, siparişi de söylerim” döngüsü kırılmaz.
  • Mobili sonraya bırakmak — Saha ekibi ve küçük bayiler siparişi telefondan geçer. Masaüstü için tasarlanmış bir tablo ekranı mobilde kullanılamaz; portal ilk günden mobil öncelikli düşünülmelidir.
  • Tek seferde tüm bayilere açmak — Önce 5-10 bayilik bir pilot grup seçin, iki hafta gerçek siparişle çalışın, sonra yayın. Fiyat ve stok hatalarının tamamı bu iki haftada çıkar.

Sonuç

B2B bayi sipariş sistemi bir e-ticaret sitesinin kapalı hali değil, şirketin ticari kurallarını yazılıma çeviren bir kurumsal projedir. Doğru soruyu baştan sorarsanız yolun tamamı kısalır: fiyat nasıl belirleniyor, bakiyeyi kim görecek, siparişi kim onaylayacak ve bu üç bilgi hangi sistemde duruyor? Cevaplar netse hazır modülden özel portala kadar her seçenek değerlendirilebilir; net değilse en pahalı yazılım bile eski telefon siparişlerini geri getirir. Kendi bayi yapınıza uygun bir kurgu için kurumsal çözümler hizmetimize göz atabilir ya da teklif alarak kapsamı birlikte çıkarabiliriz.

Projenizi Hayata Geçirelim

Web sitesi, mobil uygulama veya kurumsal yazılım projeniz için ücretsiz danışmanlık alın.

Ücretsiz Teklif AlKurumsal Çözümler hizmetimizi inceleyin