E-Ticaret Senkron Sistemi, bir WooCommerce sitesini ve yedi pazaryerini tek bir Google Sheets tablosundan yöneten ücretsiz bir Google Apps Script projesidir. Ürünün alış fiyatını, kâr oranını ve stoğunu tabloya yazarsınız; sistem her kanalın satış fiyatını o kanalın komisyon ve kargo kesintilerine göre hesaplar, fiyat ve stoğu kanallara gönderir, siparişleri toplar ve stoğu düşer. Kendi yaptığım bir program. Aktif olarak kullanıyoruz. Ücretsiz olarak sunmak istedim. Ücretli kurulumda yapabilirim. Telegram dan ulaşabilirsiniz: t.me/mrnucleartr
Sunucu, veritabanı ya da aylık ücretli bir entegratör gerekmez. Kod sizin Google hesabınızda çalışır, veriler sizin tablonuzda durur.
Kime uygun: birkaç yüz ile birkaç bin ürünü olan, aynı ürünleri kendi sitesinde ve pazaryerlerinde satan, tabloyla çalışmayı seven küçük işletmeler. Varyasyonlu (renk, beden) ürün satanlar ve çok yüksek sipariş hacmi olanlar için uygun değildir; ayrıntı son bölümde.
Sürüm 3.20.0 · 32 kod dosyası, yaklaşık 12.000 satır.
Özellikler
Fiyat
- Site fiyatı: alış × (1 + kâr) × (1 + KDV), seçilebilir yuvarlama.
- Pazaryeri fiyatı (NET yöntemi): komisyon, kargo, hizmet ve ödeme bedeli düştükten sonra alışın üstüne tam istediğiniz kâr kalacak şekilde hesaplanır. Hesap KDV hariç yapılır.
- Kanal ve kategori bazında kural; kanal bazında desi-kargo tarifesi.
- Gerçek komisyon: Trendyol (cari hesap ekstresi), Amazon (ücret tahmini) ve N11 (ürün kaydı) için ürün bazında kesilen oran okunur ve fiyat hesabında kullanılır.
- Toplu zam, kâr ve KDV değişikliği; önizleme ve geri alma.
Stok ve sipariş
- Tek stok kaynağı: tablodaki “Mevcut Stok”. Hangi kanaldan satış gelirse gelsin stok düşer ve yeni sayı diğer kanallara gönderilir; iptal ve iadede geri eklenir.
- Tüm kanalların siparişleri iki sayfada toplanır. Pazaryeri siparişlerinde satır bazında komisyon, kargo, KDV ve net kâr dökümü yapılır.
- Eski siparişler arşiv sayfasına taşınır.
Senkron
- Yalnız değişen değer gönderilir (hedef ≠ kanaldaki son değer).
- Otomatik çalışır: belirlediğiniz aralıkta senkron, her gece kontrol, haftalık rapor.
- İşler adımlara bölünür; bir kanal yavaşlasa ya da hata verse diğerleri etkilenmez.
- Gece kontrolü kanallardaki gerçek fiyat ve stoğu okur, tabloyla karşılaştırır ve farkı e-postayla bildirir.
Ürün açma
- Sitedeki ürünün adı, açıklaması ve fotoğraflarıyla pazaryerinde yeni ilan açar; toplu gönderim, sonuç takibi ve onaylanan ilanın otomatik içeri alınması.
- Site kategorisi → pazaryeri kategorisi eşleme tablosu, otomatik eşleme önerisi.
- Mevcut ilanların içeriğini (ad, açıklama, fotoğraf) siteden güncelleme.
Raporlar
- Panel: 30 günlük sipariş, ciro, net kâr, kanal kırılımı, en çok satanlar, hareketsiz ve kritik stok.
- Kâr analizi sayfası, tutarlılık kontrolü (yanlış eşleşme, zararına fiyat, eksi stok), haftalık e-posta raporu.
Güvenlik önlemleri
- Deneme modu: hiçbir şey gönderilmez, ne gönderileceği gösterilir. Kurulumda açık gelir.
- Fiyat bir seferde %30’dan fazla değişirse ya da alış + KDV’nin altına düşerse gönderilmez, onayınızı bekler. (Ayarlar sayfasından bu değişebilir.)
- Geçersiz KDV ya da aşırı kâr oranı girilirse fiyat üretilmez, uyarı yazılır.
- Geçici hatalar (bağlantı, sunucu hatası, API limiti) kendiliğinden yeniden denenir.
- Ürün açmada sonucu belirsiz istek tekrar gönderilmez (mükerrer ilan açılmasın).
- API anahtarları tabloda ya da kodda durmaz; Apps Script’in komut dosyası özelliklerinde saklanır.
Desteklenen kanallar
Sekiz kanalın hepsinde fiyat ve stok gönderimi, kanaldaki gerçek değerin okunması ve sipariş çekimi vardır. Fark eden kısımlar:
| Kanal | Yeni ürün açma | İçerik güncelleme | Gerçek komisyon | Not |
|---|---|---|---|---|
| WooCommerce sitesi | — (kaynak) | — | Ayardan (sanal POS oranı) | KDV sınıfı ve isteğe bağlı desi de gönderilir |
| Trendyol | Var | Ad, açıklama, fotoğraf | Var | |
| Hepsiburada | Var | Ad, açıklama, fotoğraf | Yok | Kendi sunucunuzda küçük bir PHP proxy gerekir |
| N11 | Var | Yalnız açıklama | Var | |
| ÇiçekSepeti | Var | Ad, açıklama, fotoğraf | Yok | API hız sınırı düşük; okumalar yavaştır |
| Pazarama | Var | Yok (API desteklemiyor) | Yok | |
| PTT AVM | Var | Ad, açıklama, fotoğraf | Yok | İskontolu ilan desteği |
| Amazon Türkiye | Var (barkodsuz, GTIN muafiyetiyle) | Ad, açıklama | Var | İade okuması için ek API rolü gerekir |
İstemediğiniz kanalı kullanmak zorunda değilsiniz: her kanalın ayarı KAPALI, FİYAT, STOK ya da FİYAT+STOK olarak ayrı ayrı seçilir ve hepsi KAPALI gelir.
Gereksinimler
- Bir Google hesabı. Kişisel hesapta otomatik işlere günde 90 dakika, Workspace hesabında 360 dakika süre verilir.
- WooCommerce kurulu bir site ve REST API anahtarı (okuma/yazma yetkili). Ürünlerin ana kaynağı sitedir: ürün kimliği, ad, açıklama ve fotoğraflar oradan gelir.
- Kullanacağınız her pazaryerinin satıcı panelinden alınmış entegrasyon (API) bilgileri.
- Hepsiburada kullanacaksanız: PHP çalıştıran bir web sunucusu. Hepsiburada istekte belirli bir User-Agent başlığı ister, Apps Script bunu değiştirir; aradaki proxy başlığı düzeltir.
- Amazon kullanacaksanız: SP-API geliştirici uygulaması (Product Listing rolü; iadeler için Finance and Accounting rolü).
- Temel tablo bilgisi. Kod yazmanız gerekmez, ama kurulumda bir dosyada site adresinizi değiştirmeniz gerekir.
Kurulum
Kurulum yaklaşık bir saat sürer; en uzun kısım ürünlerin alış fiyatı ve stok bilgisini girmektir. Sistem deneme modunda açılır, siz kapatana kadar hiçbir kanala bir şey göndermez.
Kodları yükleme
- Boş bir Google Sheets tablosu oluşturun. Menüden Uzantılar → Apps Script‘i açın.
- Hazır gelen Kod.gs dosyasını silin. Paketteki 32 dosyanın her biri için aynı adla bir komut dosyası oluşturup içeriğini yapıştırın (örneğin 00_Konfig). Dosya sırası önemli değildir.
- 61_K_Woo dosyasında site adresini kendi sitenizle değiştirin (sonraki bölüme bakın).
- Proje Ayarları’nda saat dilimini İstanbul yapın. Kaydedin, tabloyu yenileyin.
İlk kurulum
- Tabloda “🐝 E-Ticaret” menüsü görünür. ⚙️ Sistem → Sayfaları oluştur / onar‘ı çalıştırın; Google ilk seferde yetki ister. Tüm sayfalar ve ayarlar oluşur.
- ⚙️ Sistem → Anahtar ekle / değiştir ile site ve kullanacağınız pazaryerlerinin API bilgilerini girin. ⚙️ Sistem → Bağlantı testi her kanalı dener.
- AYARLAR sayfasını gözden geçirin: bildirim e-postası, marka, satıcı kimlikleri, sipariş çekilecek kanallar.
- ⚙️ Sistem → Testleri çalıştır; tüm testler geçmeli.
Veriyi doldurma
- “Pazarlardan güncel fiyatları çek” sitedeki ürünleri ÜRÜNLER sayfasına getirir. Her ürün için Alış Fiyatı, Kâr Oranı, KDV, Desi ve Mevcut Stok’u doldurun.
- KARGO sayfasına desi-ücret tarifenizi, KURALLAR sayfasına her kanalın komisyonunu, yöntemini (NET önerilir) ve kâr oranını yazın.
- Pazaryerlerinde zaten ilanınız varsa her kanalın menüsünden “İlanları içeri al” ile LİSTELEMELER’e alın; eşleşmeyen satırların Ürün ID’sını elle doldurun.
Devreye alma
- “Hedefleri hesapla” fiyat ve stok hedeflerini üretir. AYARLAR’da bir kanalın SENKRON_ ayarını açın ve “Farkları gönder”i çalıştırın; deneme modunda yalnızca ne gönderileceğini görürsünüz. Fiyatları kontrol edin.
- Doğruysa DENEME_MODU değerini HAYIR yapın. Kanalları birer birer açmanız önerilir.
- ⚙️ Sistem → Otomatik işleri başlat: senkron, gece kontrolü ve haftalık rapor zamanlanır. SENKRON_ARALIK_DK için 10 dakika önerilir.
Kendi mağazanıza uyarlama
Sistem bir arıcılık mağazası için yazıldı; aşağıdaki değerler o mağazaya özeldir ve değiştirilmelidir.
| Nerede | Ne | Ne yapılmalı |
|---|---|---|
| 61_K_Woo dosyası, SITELER | Site adresi ve adı | Kendi site adresinizi yazın (zorunlu) |
| 00_Konfig dosyası, KANALLAR | Site kanalının görünen adı | İsteğe bağlı; yalnızca görünen addır |
| AYARLAR: TY_SATICI_ID | Trendyol satıcı kimliği | Kendi satıcı kimliğiniz |
| AYARLAR: MARKA, AMAZON_MARKA, N11_ENTEGRATOR | Marka ve entegratör adı | Kendi markanız |
| AYARLAR: SITE_URUN_DUZENLE_URL, SIPARIS_EKRAN_URL | Site yönetim paneli bağlantıları | Kendi alan adınız |
| AYARLAR: WOO_KDV_SINIFLARI | KDV oranı → sitedeki vergi sınıfı | Sitenizdeki vergi sınıfı adları (yanlışsa site her döngüde yeniden gönderilir) |
| AYARLAR: TRND_YASAKLI_KELIMELER, CS_YASAKLI_KELIMELER | İlandan çıkarılan kelimeler | Kendi ürünlerinize göre ya da boş |
| 86_KategoriEsleme dosyası | Otomatik kategori eşleme | Başka sektörde otomatik eşleme zayıf kalır; eşlemeyi elle yapın ya da kelimeleri değiştirin |
Üretilen stok kodları kanal öneki + “AA” + ürün numarası biçimindedir (örneğin HBAA00003958). “AA” ilk mağazanın kısaltmasıdır; çalışmayı etkilemez, değiştirmek isterseniz 02_Cekirdek dosyasındaki stok kodu fonksiyonları birlikte değişmelidir.
Barkodu olmayan ürünlere sistem “29” önekli dahili bir EAN üretir. Bu gerçek (GS1 kayıtlı) barkod değildir; barkodu zorunlu tutan pazaryerlerinde başka satıcının ürünüyle çakışma riski vardır. Gerçek barkodunuz varsa ÜRÜN GİRİŞİ sayfasına onu yazın.
Günlük kullanım
Otomatik işler başladıktan sonra günlük işiniz üç şeyden ibarettir: stok ya da alış fiyatı değişince ÜRÜNLER sayfasını güncellemek, sabah gelen gece raporuna bakmak ve uyarı varsa düzeltmek.
Gece raporu her sabah e-postayla gelir: kanal kanal okunan ilan sayısı, hedeften farklı olanlar, hatalı ve onay bekleyen ilanlar, eşleşmeyen siparişler, kritik stok ve son 24 saatin hataları.
“ONAY BEKLİYOR” durumundaki ilanın fiyatı güvenlik sınırına takılmıştır. LİSTELEMELER’de Mesaj sütununu okuyun; fiyat doğruysa “Onay bekleyenleri gönder” ile gönderin.
Özel menüler Google Sheets mobil uygulamasında görünmez; menü işlemleri bilgisayardan yapılır. Otomatik işler bundan etkilenmez.
| Ne yapmak istiyorsunuz | Nereden |
|---|---|
| Fiyat ya da stok değiştirmek | ÜRÜNLER sayfasında hücreyi değiştirin; hedefler anında hesaplanır, sonraki senkron gönderir |
| Hemen göndermek | Menü: Tam senkron ya da Farkları gönder |
| Toplu zam yapmak | Menü: Zam / KDV → Toplu değişiklik |
| Yeni ürünü pazaryerinde açmak | Ürün açma listesini yenile → ilgili kanal menüsü → Toplu gönder |
| Satış ve kârı görmek | PANEL ve KÂR ANALİZİ sayfaları |
| Bir ilanı satıştan kaldırmak | LİSTELEMELER’de Aktif tikini kaldırın; kanala stok 0 gider |
| Hataları görmek | Menü: Sorunlar ve bakım → Hata özeti; LOG sayfası |
| Otomatik işlerin durumunu görmek | Menü: ⚙️ Sistem → Sıralı senkron durumu |
Sınırlar ve sorumluluk
Bu yazılım tek bir mağazada kullanılarak geliştirildi ve olduğu gibi, garanti verilmeden paylaşılıyor. Gerçek fiyat ve stok gönderir; yanlış bir ayar zararına satışa ya da stok hatasına yol açabilir. Deneme modunda kontrol etmeden canlıya almayın ve ilk haftalarda gece raporunu her gün okuyun.
Bilinen sınırlar:
- Varyasyonlu ürünler desteklenmez. Sitede renk ya da beden seçenekli ürünlerin fiyat ve stoğu yönetilmez; sistem her ürünü tek kalem sayar.
- Stok anında değil, senkron aralığında güncellenir. İki senkron arasında aynı son ürün iki kanalda satılabilir. Biz 3 saat belirledik. Siz bu süreyi daha da kısaltabilirsiniz.
- Google süre sınırları. Tek çalışma en fazla 6 dakika, kişisel hesapta günlük toplam 90 dakikadır. Birkaç bin ürünün üstünde ya da çok sık senkronda bu sınırlara yaklaşılır; kullanım panelde görünür.
- İadeler kısmen işlenir. Hepsiburada iade okuması gerçek veriyle doğrulanmadı; Amazon iadeleri ek API rolü ister; kısmi iadeler elle düzeltilir.
- Pazaryeri API’leri değişir. Bir pazaryeri servisini değiştirdiğinde ilgili kanal dosyasının güncellenmesi gerekir; bakımı kullananın sorumluluğundadır.
- Vergi ve muhasebe varsayımları. Kâr hesabı KDV mükellefi bir şirkete göre KDV hariç yapılır ve stopajı kârdan düşmez. Kendi durumunuz için muhasebecinize danışın.
- Anahtar güvenliği. API anahtarlarını tabloda düzenleme yetkisi olan herkes görebilir; tabloyu yalnızca güvendiğiniz kişilerle düzenleme yetkisiyle paylaşın.