Tedarikçiden bir XML adresi aldığınızda en kısa yol, dosyayı okuyup satırları doğrudan ürün olarak yayına almak gibi görünür. İlk gün her şey çalışıyor izlenimi verir. Birkaç gün sonra sorunlar birikmeye başlar: marka filtresinde aynı marka üç kez listelenir, bir ürün 10’lu paket fiyatıyla tek adet gibi satılır, stoğu biten ürün yayında kalır, döviz fiyatı TL gibi okunur.
Bunların hiçbiri XML’in kusuru değildir. Tedarikçi XML’i bir taşıma biçimidir; tedarikçinin kendi sistemindeki veriyi size ulaştırır. O veri sizin katalog standardınıza, fiyat kurallarınıza ve satış kanallarınızın beklentilerine göre hazırlanmamıştır. Bir otomotiv e-ticaret operasyonunda tedarikçi entegrasyonu XML çekmek değildir; çekilen veriyi işletmenin kurallarına uygun hâle getirmektir.
Otomotivde bu sorun neden daha büyük?
Genel perakendede bir tedarikçi dosyasındaki küçük bir tutarsızlık çoğu zaman yalnızca görünüşü etkiler. Yedek parçada ise aynı tutarsızlık yanlış parçanın satılmasına, zararına satışa ya da karşılanamayan siparişe dönüşür. Bunun birkaç nedeni vardır:
- Kataloglar büyüktür ve tek bir tedarikçi dosyası çok sayıda satır içerir; hatayı elle yakalamak mümkün değildir.
- Aynı parça birden fazla tedarikçiden gelir; her tedarikçinin kodu, adı ve kategorisi farklıdır.
- Fiyatlar çoğu zaman döviz cinsinden ve iskonto öncesi liste fiyatı olarak gelir.
- Stoğun önemli kısmı tedarikçidedir ve gün içinde değişir.
- Müşteri parçayı aracına göre seçer; tedarikçi dosyası ise uyumluluk bilgisini çoğu zaman hiç içermez.
Tipik bir tedarikçi satırı
Aşağıdaki örnek, sık karşılaşılan bir yapının sadeleştirilmiş hâlidir:
<urun>
<kod>flt-12345</kod>
<ad>BALATA ON BOSCH AUTOMOTIVE FLT12345</ad>
<marka>BOSCH AUTOMOTIVE</marka>
<kategori>FREN-BALATA-DISK</kategori>
<fiyat doviz="EUR">42,00</fiyat>
<paket>1</paket>
<stok>VAR</stok>
</urun>
Bu satır doğrudan yayına alınırsa neredeyse her alan ayrı bir soruna dönüşür.
Doğrudan yayının riskleri
| Alan | Tedarikçiden gelen | Doğrudan yayında sonuç |
|---|---|---|
| Marka | BOSCH AUTOMOTIVE | Katalogda “Bosch” markasından ayrı, ikinci bir marka oluşur |
| Kategori | FREN-BALATA-DISK | Balata ve disk aynı kategoriye düşer; menünüzle örtüşmez |
| Ad | BALATA ON BOSCH… | Büyük harf, eksik Türkçe karakter, tutarsız sözcük sırası |
| Fiyat | 42,00 EUR | Liste fiyatıdır; iskonto, kur ve KDV uygulanmadan satış fiyatı olamaz |
| Paket | 1 (başka satırda 10) | Paket fiyatı adet fiyatı sanılırsa ürün zararına satılır |
| Stok | VAR | Kaç adet olduğu belli değildir; siparişin karşılanıp karşılanamayacağı bilinmez |
| Kod | flt-12345 | Başka tedarikçideki “FLT 12.345” ile aynı parça olduğu anlaşılmaz |
Bunlara iki risk daha eklenir. Görsel ya hiç yoktur ya da tedarikçinin sunucusundan bağlantıyla gösterilir ve bir gün kaybolur. Araç uyumluluğu ise çoğu tedarikçi dosyasında yer almaz; ürün yayına çıksa bile müşteri “aracıma uyar mı?” sorusunun cevabını bulamaz.
Doğru yol: tedarikçi ile yayın arasında bir ara katman
Tedarikçi verisi yayına giden yolda sırasıyla şu adımlardan geçmelidir.
1. Al ve ayrıştır
Veri, tedarikçi için belirlediğiniz saatlerde alınır ve alanlar kendi şemanıza okunur. Bu adımda veri henüz hiçbir şeyi değiştirmez; yalnızca okunur ve kaydedilir. Her alımın bir kaydı tutulmalıdır: ne zaman çalıştı, kaç satır geldi, kaç satır değişti, hata var mı. Bu kayıt olmadan “fiyat neden değişti?” ya da “ürün neden kayboldu?” sorularına cevap verilemez.
2. Normalize et
Bu adımda yapılan işe normalizasyon denir: farklı biçimlerde gelen veri ortak bir standarda dönüştürülür. Marka ve kategori adları sizin listenize bağlanır, üretici kodları yazım farklarından arındırılır, stok ifadeleri sayıya çevrilir, fiyat para birimi ve KDV esasıyla birlikte kaydedilir. Normalizasyonun amacı tedarikçinin verisini değiştirmek değil, onu sizin standardınıza tercüme etmektir; ham değer her zaman saklanmalıdır.
3. Eşleştir
Normalize edilmiş satır katalogdaki mevcut ürünlerle karşılaştırılır. Aynı parça zaten varsa satır o ürüne teklif olarak bağlanır; yoksa yeni ürün adayı olur. Emin olunamayan eşleşmeler bir kişinin onayına düşer. Eşleştirmenin kimlik kuralları Yedek Parça Katalog Yönetimi Rehberi’nde anlatılıyor.
4. Maliyeti ve fiyatı hesapla
Liste fiyatından tedarikçi iskontosu düşülür, paket adedi hesaba katılır (payda) ve döviz TL’ye çevrilir. Tedarikçi fiyatı KDV dahil gönderiyorsa KDV bu aşamada ayrılır. Satış fiyatı bu maliyetin üzerine fiyat kurallarıyla kurulur; tedarikçinin gönderdiği fiyat hiçbir zaman doğrudan satış fiyatı olmaz.
5. Hazırlık kontrolünden geçir
Ürün yayına çıkmadan önce marka, kategori, fiyat, stok ve görsel koşullarını sağlamalıdır. Sağlamayan ürün sistemde kalır ama yayına çıkmaz; eksik olan koşul sade bir dille görünür.
6. Yayınla ve kanallara dağıt
Yalnızca hazırlıktan geçen ürünler vitrine ve pazaryerlerine gider. Pazaryerleri için kanalın kategori, özellik ve marka eşlemeleri ayrıca yapılır.
Görseller ayrı bir iş kalemidir
Tedarikçi dosyasındaki görsel bağlantıları doğrudan vitrine koymak, görselin tedarikçinin sunucusuna bağlı kalması demektir. Tedarikçi sunucusunu değiştirdiğinde ya da bağlantıları yenilediğinde ürün sayfalarınız görselsiz kalır. Görselleri kendi depolamanıza alın, çözünürlüklerini kontrol edin ve aynı görselin birden fazla tedarikçiden gelmesi durumunda tek kopyayı kullanın. Görseli olmayan ürünleri ayrı bir listede izleyin; görsel, hem vitrin hem pazaryeri için hazırlık koşuludur.
Senkron ritmi: tam ve hızlı güncelleme
Tedarikçi verisinin her alanı aynı hızla değişmez. Ürün adı, kategori ve görsel nadiren değişir; fiyat ve stok gün içinde birkaç kez değişebilir. Bu yüzden iki tür güncelleme kurmak mantıklıdır:
- Tam senkron: Tüm alanlar okunur, yeni ürünler ve eşleşme değişiklikleri işlenir. Günde birkaç kez yapılması çoğu tedarikçi için yeterlidir.
- Hızlı fiyat ve stok güncellemesi: Yalnızca fiyat ve stok okunur. Tedarikçi destekliyorsa tam senkronlar arasında daha sık çalıştırılabilir.
Senkron saatlerini tedarikçinin kendi güncelleme saatlerine göre seçin. Tedarikçi verisini sabah 08.00’de yeniliyorsa, 07.30’da çalışan senkron bir önceki günün verisini getirir.
Dosyadan düşen ürünler
Bir ürün tedarikçi dosyasında bir gün görünmeyebilir. Bunun nedeni ürünün kalıcı olarak kaldırılması olabileceği gibi, tedarikçi tarafındaki geçici bir hata da olabilir. Güvenli yaklaşım, dosyadan düşen ürünü silmek değil, o tedarikçinin teklifini pasife almaktır. Ürün başka tedarikçilerden teklif almaya devam eder; sipariş geçmişi, pazaryeri ilanları ve arama görünürlüğü korunur.
Dosya olağandışı biçimde küçük geldiğinde (örneğin önceki alıma göre belirgin biçimde az satır içerdiğinde) toplu pasifleştirme yapılmamalı ve durum bir kişinin incelemesine düşmelidir. Yarım gelen bir dosya, kataloğun yarısını tek seferde satıştan çekebilir.
Yeni gelenleri ayrı ele alın
Tedarikçiler zamanla yeni markalar, yeni kategori adları ve yeni ürünler ekler. Bunlar sessizce kataloğa karışmamalıdır:
- Yeni marka ve kategori adları bir eşleme listesine düşmeli; bir kez bağlandıktan sonra her senkronda otomatik uygulanmalıdır.
- Bilinmeyen bir marka adı otomatik olarak yeni marka açmamalıdır; aksi hâlde her yazım farkı katalogda yeni bir markaya dönüşür.
- Yeni ürünler ayrı bir listede görülebilmeli; ekip hangi ürünlerin kataloğa katıldığını izleyebilmelidir.
Yeni bir tedarikçi bağlarken kontrol listesi
- Örnek bir dosya alın ve alanların anlamını tedarikçiyle birlikte doğrulayın: fiyat liste fiyatı mı, net fiyat mı, KDV dahil mi, hangi para biriminde.
- Paket adedinin hangi alanda geldiğini ve fiyatın pakete mi adede mi ait olduğunu netleştirin.
- Stok alanının biçimini (adet, aralık ya da var/yok) belirleyin ve bu biçimi nasıl yorumlayacağınızı yazın.
- Tedarikçinin marka ve kategori adlarını çıkarın ve standardınıza eşleyin.
- İlk alımı yayına açmadan çalıştırın; eşleşme, fiyat ve stok sonuçlarını birkaç örnek ürün üzerinde elle kontrol edin.
- Senkron saatlerini tedarikçinin güncelleme saatlerine göre belirleyin.
- Bu kontroller tamamlandıktan sonra ürünleri hazırlık kontrolüne ve yayına açın.
İlk alımda yapılan bu kontrol, sonradan yayındaki ürünler üzerinde yapılacak bir temizlikten her zaman daha az emek ister.
Özet
- XML bir taşıma biçimidir; gelen veri sizin katalog standardınıza göre hazırlanmamıştır.
- Marka, kategori, kod, fiyat, paket ve stok alanları yayından önce normalize edilmelidir.
- Aynı parçayı gönderen tedarikçiler tek ürünün teklifleri olarak bağlanmalıdır.
- Satış fiyatı liste fiyatından değil; iskonto, paket, kur ve kurallardan türemelidir.
- Dosyadan düşen ürün silinmez, teklifi pasife alınır; olağandışı küçük dosyada toplu işlem yapılmaz.
- Yayına yalnızca hazırlık kontrolünden geçen ürünler çıkar.
Goodlora'da bu nasıl işler
Goodlora'da her tedarikçi, tedarikçiye göre XML ya da API ile bağlanır ve veri sizin seçtiğiniz saatlerde alınır. Gelen veri yayına gitmeden önce marka ve kategori eşlemesinden, iskonto ve paket adedi hesabından ve ürün hazırlığı kontrolünden geçer. Her çalışmanın kaydı panelde görünür.