WooCommerce kutudan çıktığında dünyanın her yerinde satış yapacak şekilde gelir; Türkiye'de satış yapan bir mağaza için para birimi, sayı biçimi, KDV gösterimi, il seçimi ve fatura bilgileri gibi birkaç ayarın elden geçmesi gerekir. Bu ayarların çoğu tek seferliktir, ama yanlış kurulursa sonradan yüzlerce ürünün fiyatını düzeltmek zorunda kalabilirsiniz.

Bu yazı, WooCommerce'i zaten kurduğunuzu varsayar; kurulum adımları için WooCommerce kurulumu rehberine bakın. Burada ayarların WooCommerce tarafını anlatıyoruz. Hangi KDV oranının uygulanacağı, fatura türü veya mesafeli satış gibi hukuki ve mali konularda mali müşavirinizden destek alın ve bu konulardaki kardeş yazılarımıza bağlantılardan ulaşın.

Genel ayarlar: adres, satış bölgesi ve para birimi

Genel ayarlar: adres, satış bölgesi ve para birimi: Selling location(s), Shipping location(s), Default customer location, Currency

Ayarların büyük kısmı WooCommerce > Settings > General ekranındadır. Mağaza adresi, vergi ve kargo hesaplarında başlangıç noktası olarak kullanılır; işletmenizin gerçek adresini girin.

AyarTürkiye için öneriAçıklama
Selling location(s)Specific countries: TürkiyeYalnızca yurt içine satıyorsanız diğer ülkeleri kapatın
Shipping location(s)Satış yaptığınız ülkelere gönderKargo bölgelerini ayrıca tanımlarsınız
Default customer locationShop country/regionGeolocate seçenekleri MaxMind ile konum tahmini yapar; tek ülkede satışta gerekmez
CurrencyTurkish lira (₺)WooCommerce tek para birimiyle çalışır
Currency positionLeft (₺100,00) veya Right with space (100,00 ₺)Görsel tercih; ikisi de olur
Thousand separatorNokta (.)Varsayılan virgüldür, değiştirin
Decimal separatorVirgül (,)Varsayılan noktadır, değiştirin
Number of decimals2Kuruş göstermek istemiyorsanız 0

Arayüzü Türkçeye çevirmek

WooCommerce'in Türkçe çevirisi WordPress'in topluluk çeviri platformunda yürütülür. translate.wordpress.org verilerine göre kararlı sürümün Türkçe çevirisi yüzde 100 tamamlanmış durumda. Türkçe arayüz için:

  • Ayarlar > Genel > Site Dili alanında Türkçe'yi seçip kaydedin.
  • Başlangıç > Güncellemeler ekranında çeviri güncellemesi görünüyorsa Çevirileri güncelle düğmesine basın.
  • Tema veya eklentilerden biri İngilizce kalıyorsa, o eklentinin Türkçe çevirisi henüz tamamlanmamış olabilir; çeviri eklentisi kurmadan önce eklentinin sayfasında Türkçe dil desteğine bakın.
bash
wp language core install tr_TR --activate
wp language plugin install woocommerce tr_TR
wp language plugin update --all

KDV ayarları: WooCommerce tarafında mantık

KDV ayarları: WooCommerce tarafında mantık: Prices entered with tax, Calculate tax based on, Shipping tax class, Display prices in the shop

WooCommerce'te vergi hesaplaması varsayılan olarak kapalıdır. Açmak için WooCommerce > Settings > General ekranında Enable tax rates and calculations kutusunu işaretleyip kaydedin; ardından WooCommerce > Settings > Tax sekmesi görünür. Burada vereceğiniz en önemli karar şudur:

AyarSeçeneklerNe zaman
Prices entered with taxYes, I will enter prices inclusive of tax / No, exclusive of taxFiyatları KDV dahil düşünüyorsanız Yes; mağazanın taban vergi oranına göre KDV'siz tutar hesaplanır
Calculate tax based onCustomer shipping address / billing address / Shop base addressYalnızca Türkiye'de satışta Shop base address sonucu sabitler
Shipping tax classShipping tax class based on cart items veya belirli bir sınıfKargo ücretine hangi oranın uygulanacağı
Display prices in the shopIncluding tax / Excluding taxMağaza ve ürün sayfalarında gösterim
Display prices during cart and checkoutIncluding tax / Excluding taxSepet ve ödeme sayfasında gösterim
Price display suffixSerbest metin, örneğin KDV dahil{price_including_tax} ve {price_excluding_tax} yer tutucuları kullanılabilir
Display tax totalsAs a single total / ItemizedBirden fazla oran varsa Itemized hangi orandan ne kadar KDV olduğunu gösterir

Fiyat girişini sonradan değiştirmek, girilmiş tüm fiyatların anlamını değiştirir. Bu nedenle ürün eklemeye başlamadan önce karar verin. Giriş ve gösterim ayarları birbiriyle çelişirse WooCommerce bir uyarı gösterir ve Use recommended settings ile ayarları uyumlu hâle getirebilirsiniz.

Vergi sınıfları ve oran tablosu

Farklı ürünlere farklı KDV oranları uygulanıyorsa her oran için bir vergi sınıfı kullanılır. Additional tax classes alanına her satıra bir sınıf adı yazın; her sınıf, Tax sekmesinde ayrı bir alt sekme olarak görünür. Standard rates sınıfı her zaman vardır ve silinemez. Her sınıfın tablosunda Insert row ile şu sütunları doldurursunuz:

SütunTürkiye mağazası için
Country codeTR
State code, Postcode, CityBoş bırakın (tüm Türkiye için geçerli olur)
Rate %Bu sınıftaki ürünlere uygulanan KDV oranı (mali müşavirinizle teyit edin)
Tax nameFaturada ve sepette görünecek ad, örneğin KDV
Priority, CompoundTek oran kullanıyorsanız 1 ve işaretsiz
ShippingBu oranın kargo ücretine de uygulanıp uygulanmayacağı

Son olarak her ürünün düzenleme ekranında, Ürün verileri kutusunun Genel sekmesindeki vergi durumu ve vergi sınıfı alanlarından doğru sınıfı seçin. Fiyat ve indirim gösterimine dair kurallar için indirim ve fiyat gösterimi kuralları yazısına bakın.

İl ve ilçe: adres alanları

WooCommerce, Türkiye için 81 ilin tamamını açılır liste olarak içerir (kaynak kodda TR01 Adana ile başlayan kodlar). Müşteri ülke olarak Türkiye'yi seçtiğinde il alanı otomatik olarak açılır listeye dönüşür; alanın etiketi kaynak kodda Province olarak tanımlıdır ve Türkçe arayüzde çevirisiyle görünür.

  • İlçe: WooCommerce'te ayrı bir ilçe listesi yoktur. Şehir (Town / City) alanı serbest metin olarak kalır ve müşteriler genellikle ilçeyi buraya yazar. Alan etiketini ilçe olarak değiştirmek isterseniz bunu bir alan düzenleme yöntemiyle yapabilirsiniz.
  • Posta kodu: Türkiye için posta kodu alanı varsayılan olarak zorunludur. Zorunluluğu kaldırmak istiyorsanız resmi woocommerce_get_country_locale filtresiyle değiştirilebilir; değişiklikten sonra ödeme sayfasını mutlaka test edin.
  • Adres biçimi: Türkiye adresleri siparişte ad, firma, adres satırları, ardından posta kodu, şehir ve il sırasıyla yazdırılır.

İl bilgisinin standart bir listeden gelmesi, kargo bölgelerini il bazında tanımlamanızı da kolaylaştırır; bunun nasıl yapılacağını WooCommerce kargo ayarları yazısında anlatıyoruz.

Fatura bilgileri: TC kimlik ve vergi numarası alanı

Fatura bilgileri: TC kimlik ve vergi numarası alanı: Blok ödeme sayfası: Additional Checkout Fields API, Klasik ödeme sayfası: woocommerce_checkout_fields filtresi

WooCommerce'in varsayılan ödeme formunda ad, firma adı, adres, telefon ve e-posta vardır; TC kimlik numarası, vergi numarası veya vergi dairesi alanı yoktur. Fatura düzenlerken bu bilgilere ihtiyaç duyuyorsanız ödeme formuna alan eklemeniz gerekir. Hangi bilginin hangi durumda gerektiğini e-arşiv ve e-fatura zorunluluğu yazısında ve mali müşavirinizle netleştirin.

Ödeme sayfanızın türüne göre iki resmi yöntem vardır. Hangisini kullandığınızı anlamak için Ödeme sayfasını düzenleyin: Checkout bloğu görüyorsanız blok, Classic Shortcode görüyorsanız klasik ödeme sayfasındasınız.

Blok ödeme sayfası: Additional Checkout Fields API

WooCommerce geliştirici belgesi, Checkout bloğuna alan eklemek için woocommerce_register_additional_checkout_field() fonksiyonunu tanımlıyor. Fonksiyon woocommerce_init kancasında veya sonrasında çağrılmalı. location değeri contact, address veya order olabilir; order konumundaki alanlar yalnızca siparişe kaydedilir. Aşağıdaki örnek isteğe bağlı bir TC/VKN alanı ve vergi dairesi alanı ekler:

php
<?php
// Blok ödeme sayfası (Checkout block) için ek alanlar.
// Alt temanın functions.php dosyasına veya kendi küçük eklentinize ekleyin.
add_action( 'woocommerce_init', function () {
	if ( ! function_exists( 'woocommerce_register_additional_checkout_field' ) ) {
		return;
	}

	woocommerce_register_additional_checkout_field(
		array(
			'id'                => 'magazam/tc-vkn',
			'label'             => 'TC Kimlik No veya Vergi No',
			'optionalLabel'     => 'TC Kimlik No veya Vergi No (isteğe bağlı)',
			'location'          => 'order',
			'required'          => false,
			'attributes'        => array(
				'maxLength' => 11,
				'pattern'   => '[0-9]{10,11}',
				'title'     => '10 haneli vergi no veya 11 haneli TC kimlik no',
			),
			'sanitize_callback' => function ( $value ) {
				return preg_replace( '/[^0-9]/', '', (string) $value );
			},
			'validate_callback' => function ( $value ) {
				if ( '' !== $value && ! preg_match( '/^[0-9]{10,11}$/', $value ) ) {
					return new WP_Error( 'magazam_tc_vkn', 'Lütfen 10 veya 11 haneli bir numara girin.' );
				}
			},
		)
	);

	woocommerce_register_additional_checkout_field(
		array(
			'id'       => 'magazam/vergi-dairesi',
			'label'    => 'Vergi Dairesi (kurumsal fatura için)',
			'location' => 'order',
			'required' => false,
		)
	);
} );

Klasik ödeme sayfası: woocommerce_checkout_fields filtresi

Kısa kodlu klasik ödeme sayfasında alan eklemek için belgelenmiş yol woocommerce_checkout_fields filtresidir. Belgedeki örnekte olduğu gibi değer sipariş meta verisi olarak saklanır ve yönetim ekranında bir kanca ile gösterilir:

php
<?php
// Klasik (kısa kodlu) ödeme sayfası için: fatura bölümüne alan ekleme
add_filter( 'woocommerce_checkout_fields', function ( $fields ) {
	$fields['billing']['billing_tc_vkn'] = array(
		'type'     => 'text',
		'label'    => 'TC Kimlik No veya Vergi No',
		'required' => false,
		'class'    => array( 'form-row-wide' ),
		'clear'    => true,
	);
	return $fields;
} );

// Sipariş yönetim ekranında fatura adresinin altında göster
add_action( 'woocommerce_admin_order_data_after_billing_address', function ( $order ) {
	$deger = $order->get_meta( '_billing_tc_vkn' );
	if ( $deger ) {
		echo '<p><strong>TC/VKN:</strong> ' . esc_html( $deger ) . '</p>';
	}
} );

Bilgi olarak: iyzico'nun WooCommerce eklentisi, kaynak koduna göre ödeme isteğindeki alıcı kimlik numarası alanını kendisi sabit bir değerle dolduruyor. Yani bu alanı ödeme altyapısı için değil, yalnızca kendi fatura süreciniz için eklersiniz. Ödeme eklentilerinin kurulumu iyzico ve PayTR eklenti rehberinde.

Yasal sayfaları WooCommerce'e bağlamak

Yasal metinlerin içeriğini bu yazıda anlatmıyoruz; burada yalnızca bu sayfaları WooCommerce'e nasıl bağlayacağınızı gösteriyoruz:

  • Şartlar ve koşullar: WooCommerce > Settings > Advanced ekranındaki Page setup bölümünde Terms and conditions sayfası seçildiğinde ödeme sayfasına şartlar bağlantısı eklenir. Bu sayfada mesafeli satış sözleşmesi ve ön bilgilendirme formu metinlerine bağlantı verebilirsiniz.
  • Gizlilik politikası: WooCommerce > Settings > Accounts & Privacy ekranında gizlilik politikası sayfasını ve kayıt ile ödeme sırasında gösterilecek gizlilik metnini ayarlarsınız.
  • İade ve cayma: Ayrı bir iade sayfası oluşturup alt menüye ve ürün sayfalarına bağlantı verin; kurallar için cayma hakkı ve iade kuralları yazısına bakın.

Kontrol listesi

KontrolNeredeTamam mı?
Para birimi TRY, ayırıcılar nokta ve virgülSettings > GeneralÜrün sayfasında 1.250,00 ₺ gibi görünmeli
Satış bölgesi TürkiyeSettings > GeneralÖdeme sayfasında ülke listesi kısalmalı
Vergi açık, fiyat girişi kararı verildiSettings > General ve TaxSepette KDV satırı beklediğiniz gibi
Ağırlık kg, ölçü cmSettings > ProductsKargo hesabı doğru
Site dili Türkçe, çeviriler güncelAyarlar > Genel, GüncellemelerÖdeme sayfası Türkçe
Fatura alanları ekli ve test edildiAlt tema veya küçük eklentiTest siparişinde değer siparişe kaydedildi
Şartlar ve gizlilik sayfaları atandıSettings > Advanced, Accounts & PrivacyÖdeme sayfasında bağlantılar görünüyor

Sık Sorulan Sorular

Fiyatları KDV dahil mi girmeliyim, hariç mi?

WooCommerce ikisini de destekler. Tüketiciye satış yapan çoğu mağaza için ürün fiyatını müşterinin göreceği son fiyat olarak girmek pratiktir; bu durumda Prices entered with tax ayarını Yes yapın. Hangi seçimi yaparsanız yapın, ürün eklemeye başlamadan önce karar verin.

WooCommerce Türk illerini tanıyor mu?

Evet, 81 il WooCommerce çekirdeğinde açılır liste olarak tanımlıdır. İlçe için ayrı bir liste yoktur; şehir alanı serbest metindir.

TC kimlik alanını zorunlu yapmalı mıyım?

Bu, fatura sürecinize bağlı bir karardır. Kişisel veri olduğu için yalnızca gerekiyorsa isteyin; ihtiyacı mali müşavirinizle belirleyin. Teknik olarak yukarıdaki örneklerde required değerini değiştirmeniz yeterlidir.

Kodu nereye eklemeliyim?

WooCommerce belgesi alt temanın functions.php dosyasını öneriyor. Kodu önce bir test kopyasında deneyin ve eklemeden önce yedek alın.

Yazılım, eklenti ve hizmet adları sahiplerine aittir. Bu yazı bağımsız bir teknik rehberdir; adı geçen şirketlerle bayilik veya ortaklık ilişkisi bulunduğu anlamına gelmez.

İlgili içerikler: WooCommerce kurulumu · iyzico ve PayTR eklentisi kurulumu · WooCommerce kargo ayarları · WooCommerce ödeme sayfası hataları · E-ticaret sitesinde zorunlu sayfalar · E-ticaret sitesi nasıl kurulur · wp-config.php sabitleri