Blog içeriği
July 1, 2026

Shopify'dan Entegra'ya Kurumsal Fatura ve TC Kimlik Aktarımı: Harici Sunucu Gerektirmeyen 2 Çözüm

Shopify Plus olmayan mağazalarda kurumsal fatura ve TC kimlik verisini Entegra'ya harici sunucu kullanmadan aktarmanın iki yöntemi: CompliTR ve Shopify Flow.

Bu hafta birkaç markadan aynı teknik tıkanıklığı dinledik: Müşterinin kurumsal fatura bilgilerini (Vergi Dairesi, Vergi No, Firma Ünvanı) veya bireysel fatura için T.C. Kimlik Numarasını, araya ek bir sunucu ya da ara yazılım koymadan Shopify'dan Entegra'ya nasıl aktarırız? Nodus Works olarak gözlemledik ki bu sorun Türkiye'de Shopify kullanan markaların büyük bölümünü etkiliyor; ancak çözüm, pek çok ekibin düşündüğünden çok daha yakında. İki ayrı sunucusuz (serverless) yöntemle problemi uçtan uca çözdük ve her ikisini de teknik detaylarıyla bu yazıda anlatıyoruz.

Sorun: Plus Olmayan Mağazalarda Checkout Kilidi

Türkiye'de yasal uyumlu e-fatura kesmek, Entegra gibi entegrasyon sistemlerinin müşterinin vergi kimliğine sahip olmasını zorunlu kılar.

Bireysel müşteri için T.C. Kimlik Numarası, kurumsal müşteri için Vergi Numarası, Vergi Dairesi ve Firma Ünvanı gerekir. Sorun Shopify'ın mimarisinden kaynaklanıyor: Shopify Plus olmayan mağazalarda checkout (ödeme) ekranı özelleştirilemez. Standart ödeme akışına "Vergi No" veya "TC" gibi alanlar eklemek mümkün değildir. Üstelik Entegra bu bilgiyi genellikle siparişin company alanından okur. Dolayısıyla iki problemi birden çözmek gerekir: bu veriyi checkout'a dokunmadan toplamak ve toplanan veriyi siparişin company alanına Entegra'nın beklediği formatta yazmak.

Entegra'nın her fatura tipi için beklediği veri ve format farklıdır:

Fatura Tipi Gerekli Veri Seti Entegra Format Standartı (company alanı)
Bireysel (Şahıs Faturası) T.C. Kimlik Numarası + Ad Soyad Şahıs;AdıSoyadı;TC
Kurumsal (Firma Faturası) Firma Ünvanı + Vergi Numarası + Vergi Dairesi Firma;FirmaAdı;VergiNo;VergiDairesi
Kritik Not: Shopify'da bir sipariş oluştuktan sonra billing_address (fatura adresi) API ile değiştirilemez. Sadece shipping_address (teslimat adresi) güncellenebilir. Bu yüzden aşağıdaki her iki çözümde de yazma işlemi shipping_address.company alanına yapılır; Entegra okuma önceliğini buna göre ayarlamalıdır.

Bu kısıtı aşmak için iki farklı yol var.

Çözüm 1: CompliTR Uygulaması (Tak-Çalıştır Modül)

CompliTR, Türkiye'ye özel uyumluluk gereksinimlerini (KVKK onayı, mesafeli satış sözleşmesi, ETBİS) çözen Shopify uygulamamızdır. Buna Entegra için Kurumsal/Bireysel Fatura modülünü ekledik. Tek bir toggle ile aktifleştirilir; kod yazmaya, Flow kurmaya veya sunucu kiralamaya gerek yoktur.

Nasıl Çalışır?

1. Sepette veri toplama (checkout'a dokunmadan)

Modül aktifken, sepet sayfasında ve sepet çekmecesinde (drawer), KVKK onay kutusunun hemen altında açılır-kapanır bir "Kurumsal fatura istiyorum" alanı otomatik olarak belirir. Müşteri işaretlediğinde şu alanlar açılır: Firma Ünvanı, Vergi Dairesi, Vergi No.

Bu veriler anlık olarak siparişin cart attribute'larına kaydedilir. Tema kodu hiç elle değiştirilmez; her temada güvenli çalışacak şekilde enjekte edilir.

2. Bireysel (Şahıs) senaryosu

Bireysel faturada müşteri T.C. Kimlik Numarasını adres detay alanına girer; modül bu veriyi yakalar.

3. Sipariş sonrası otomatik yazma

Sipariş oluştuğu anda (orders/create webhook'u) modül devreye girer, toplanan veriyi formatlar ve siparişin shipping_address.company alanına yazar:

Firma;Acme A.Ş.;1234567890;Beşiktaş
Şahıs;Ayşe Yılmaz;12345678901

Böylece Entegra, sipariş çekerken company alanından vergi kimliğini doğrudan okur.

Güvenlik Notu: Manipülasyon yalnızca modül aktifken çalışır. Modül kapalıyken ne sepette alan görünür, ne veri toplanır, ne de siparişe dokunulur.

CompliTR Çözümünün Avantajları

  • Sıfır teknik kurulum: Aç-kapa toggle, dakikalar içinde devrede.
  • Tema bağımsız: Sepet/drawer enjeksiyonu her temada çalışır, tema kodu bozulmaz.
  • KVKK ile bütünleşik: Onay kutusu, sözleşme ve fatura akışı tek uygulamada.
  • Bakım yükü yok: Shopify API değişikliklerini uygulama tarafında Nodus Works yönetir.

CompliTR uygulamasının tüm özelliklerini apps.nodusworks.com/uygulamalar/complitr adresinden inceleyebilirsiniz.

Çözüm 2: Shopify Flow ile Sunucusuz Otomasyon

İkinci yaklaşım, tamamen Shopify Flow üzerinde kurulu sunucusuz bir otomasyondur. Entegra burada sadece tetikleyici senaryo; asıl yapı, harici sunucu bağımlılığını tamamen ortadan kaldıran bir otomasyon mimarisini ortaya koyuyor.

Mimarinin Özü

Harici bir sunucu veya ara yazılım kiralamak yerine tüm mantığı Flow içinde çözdük:

  • Müşterinin adres detayına girdiği veriyi (Şahıs;AdıSoyadı;TC veya Firma;FirmaAdı;VergiNo;VergiDairesi),
  • Flow içindeki adres hiyerarşisini (billing_address ve ardından shipping_address) tarayarak yakalayan,
  • ve sonucu shipping_address.company alanına yazan

bir akış kurduk. App token'ı Flow Secrets içinde saklanır; API istekleri ve kod çalıştırma doğrudan Flow'dan yönetilir.

Kritik Not: Token'ı asla düz metin (string) olarak akışa gömmeyin. Flow Secrets, token'ı şifrelenmiş olarak tutar ve akış içinde referans gösterildiğinde otomatik çözümlenir. Bu, Shopify'ın önerdiği tek güvenli yöntemdir.

20+ Adımlık Akışı Hibrit Yöntemle Kurduk

Shopify Flow çok adımlı mantık kurabilir; ancak onlarca adımı tek tek arayüzden elle kurmak ciddi zaman kaybı. Süreci hızlandırmak için yapay zekayı iş akışına dahil ettik:

1. Prompt hazırlığı: Flow'un yapmasını istediğimiz her adımı net bir prompt'a dönüştürdük. Access token'ı Flow Secret içinde tanımlayıp prompt'ta referansla çağırdık.

2. Sidekick desteği: Prompt'u Shopify Sidekick'e vererek ilk taslağı oluşturduk ve .flow dosyası olarak indirdik.

3. AI ile ince ayar: Elle müdahaleye açık ve hassas olan .flow dosyasını kod seviyesinde Claude'a analiz ettirip düzelttik.

4. Import: Düzenlenmiş dosyayı sisteme geri yükledik. Böylece 20'den fazla adımlı akışı hatasız ve hızlıca yayına aldık.

Nodus Works olarak gözlemledik ki bu hibrit yaklaşım (Sidekick taslak + AI düzenleme + import), Flow kurulum süresini tek başına elle kurmaya kıyasla yaklaşık 3 kat kısaltıyor.

Flow Çözümünün Avantajları

  • Tam serverless: Harici sunucu, webhook altyapısı veya ara yazılım yok.
  • Koşullu dallanma: "Şu alan doluysa bunu buraya yaz, değilse şunu yap" gibi her senaryoya uyarlanabilir.
  • Shopify içinde güvenlik: Token Flow Secrets'ta; veri Shopify ekosistemini terk etmez.
  • Tek seferlik kurulum: Doğru kurulduğunda bakım gerektirmez.

Shopify Flow tabanlı sunucusuz otomasyon mimarisini kendi operasyonlarınıza uyarlamak istiyorsanız Shopify entegrasyon çözümleri hizmetimiz Flow kurulum ve test sürecini de kapsar.

Hangi Çözümü Seçmelisiniz?

İki çözümün birbirinden ayrıştığı nokta ihtiyaç profilidir: CompliTR, sepette müşteriden aktif olarak veri toplar; Flow ise müşterinin halihazırda adres alanına girdiği veriyi işleyip yönlendirir.

Karşılaştırma Kriteri CompliTR Uygulaması (Hazır Çözüm) Shopify Flow (Özel Otomasyon)
Kurulum Süresi (Time-to-Market) Dakikalar; Sadece aç-kapa (toggle) adımları ve temel ayarlar ile anında devreye alınır. Saatler / Günler; İş akışının (workflow) kurulması, tetikleyicilerin ve koşulların tek tek test edilmesi gerekir.
Teknik Bilgi Gerekliliği Gerekmez; Tamamen kodsuz (no-code), kullanıcı dostu bir arayüze sahiptir. Orta / İleri Düzey; Flow mantığı, veri nesneleri (objects) ve API/Token yönetimi bilgisi gerektirir.
Sepette Veri Toplama Arayüzü Var; T.C. Kimlik No, Vergi Dairesi gibi alanları toplayan hazır ve temadan bağımsız UI bileşenleri sunar. Yok; Flow bir arayüz aracı değildir, yalnızca sepet veya siparişteki mevcut veriyi arkada işler (Arayüzü ek kodla çözmeniz gerekir).
Özelleştirme ve Esneklik Kapsamı Sınırlı; Doğrudan Entegra fatura standartlarına ve Türkiye'deki lokal e-ticaret gereksinimlerine özel odaklanmıştır. Sınırsız; Entegra formatının ötesinde, aklınıza gelebilecek her türlü özel otomasyon senaryosuna göre uyarlanabilir.
KVKK ve Mesafeli Satış Sözleşmesi Dahil; Türkiye mevzuatına uygun yasal metin onay kutuları ve veri saklama süreçleri hazır gelir. Ayrıca Çözülmeli; Yasal uyumluluk altyapısının harici temalar veya uygulamalarla ayrıca kurgulanması gerekir.
Bakım ve Güncelleme Yükü Düşük; Entegra veya Shopify API değişikliklerini uygulama geliştiricisi arka planda yönetir, efor gerektirmez. Orta / Yüksek; Shopify API güncellemelerinde veya veri şeması değişikliklerinde akışların manuel kontrol edilmesi gerekir.
İdeal Kullanıcı Profili Hızlı, hazır ve tam yasal uyumluluğa sahip bir tak-çalıştır Entegra entegrasyonu isteyen markalar için mükemmeldir. Kendi teknik ekibine sahip olan, fatura sürecini çok daha farklı kurallara bağlamak ve tamamen özelleştirmek isteyen operasyonlar için idealdir.

Kısa öneri: Sepette müşteriden veri toplama arayüzüne ihtiyacınız varsa ve bakımsız, hızlı bir çözüm istiyorsanız CompliTR. Veri zaten adres alanına giriliyor ve süreci kendi otomasyon ağınıza bağlamak istiyorsanız Shopify Flow.

İkisi birlikte de çalışır: Veriyi CompliTR ile sepette toplayıp sonraki operasyonel adımları Flow ile zincirleyebilirsiniz.

Daha Büyük Resim: Shopify Flow'un Değişen Dünyası

Entegra özelinde bir problemi çözmekten çok daha kalıcı çıkarım şudur: En ufak bir veri taşıma, koşullu yazma veya API tetikleme işlemi için uzak sunucu kiralamak ya da özel webhook altyapısı kurmak ilk seçenek olmaktan çıkıyor.

Shopify Flow, güvenlik ve operasyonel kontrolü doğrudan Shopify'ın içinde tutarak bu maliyeti ortadan kaldırıyor. App token'larını Flow Secrets'ta saklayarak, 20+ adımlı karmaşık akışları Shopify ekosisteminden çıkmadan kurarak operasyon yükü neredeyse sıfıra iniyor.

Bu bir trend değil, mimari bir kaymadır. Nodus Works olarak gözlemledik ki Flow'u aktif kullanan mağazalar, aynı senaryolar için harici sunucu kuran mağazalara kıyasla hem kurulum hem de bakım maliyetini ciddi ölçüde düşürüyor. Sayı vermek gerekirse: tek bir entegrasyon için ortalama aylık 40-80$ sunucu maliyeti, Flow mimarisinde sıfıra iniyor.

E-ticaret operasyonlarınızda benzer tıkanıklıklar yaşıyorsanız, dış sunuculara yatırım yapmadan önce Shopify'ın kendi yeteneklerini değerlendirin.

SSS: Shopify'dan Entegra'ya Fatura Aktarımı

Shopify'da fatura adresini (billing_address) sonradan değiştirebilir miyim? Hayır. Sipariş oluştuktan sonra billing_address API ile değiştirilemez; bu Shopify'ın mimarisinde sabit bir kısıttır. Sadece shipping_address güncellenebilir. Bu yüzden vergi kimliği shipping_address.company alanına yazılır ve Entegra okuma önceliği buna göre ayarlanır.

Plus olmayan mağazada checkout'a alan ekleyebilir miyim? Hayır. Shopify, Checkout Extensibility'yi yalnızca Plus plana açtı. Standart mağazalarda checkout UI'ı özelleştirilemez. Veriyi sepette toplayıp sipariş sonrası adrese yazmak mevcut tek pratik yöntemdir; CompliTR bu akışı otomatik olarak kurar.

Bireysel müşterinin TC'sini nasıl alıyorsunuz? Müşteri TC'yi adres detay alanına girer. Modül bu veriyi yakalar ve Şahıs;AdıSoyadı;TC formatına dönüştürerek company alanına yazar. Entegra bu formatı okuyarak bireysel e-fatura akışını başlatır.

Harici sunucuya gerçekten gerek yok mu? Evet. CompliTR uygulama altyapısında çalışır; siz herhangi bir sunucu kiralamazsınız. Flow ise tamamen Shopify içinde koşar. Her iki senaryoda da harici altyapı maliyeti sıfırdır.

Shopify'dan Entegra'ya kurumsal fatura nasıl gönderilir? Shopify mağazasından Entegra'ya kurumsal fatura verisi aktarmak için müşterinin Vergi No, Vergi Dairesi ve Firma Ünvanı bilgisi sipariş company alanına Firma;FirmaAdı;VergiNo;VergiDairesi formatında yazılır. Shopify Plus olmayan mağazalarda checkout özelleştirilemediğinden veri sepette toplanır, sipariş oluştuğunda shipping_address.company alanına otomatik aktarılır.

Shopify'da TC kimlik numarası nasıl toplanır? Shopify Plus olmayan mağazalarda TC kimlik numarası checkout'a ek alan eklenerek toplanamaz. Pratik yöntem, müşterinin TC'yi adres detay alanına girmesi ve bir otomasyon (CompliTR veya Shopify Flow) aracılığıyla bu verinin Şahıs;AdıSoyadı;TC formatında shipping_address.company alanına yazılmasıdır.

Shopify billing_address neden değiştirilemez? Shopify, sipariş oluştuktan sonra billing_address alanını immutable (değiştirilemez) olarak kilitler. Bu, API üzerinden de geçerlidir; PUT /orders/{id} çağrısı billing_address güncellenmesini reddeder. Sadece shipping_address güncellenebilir. Bu mimari kısıt, Türkiye'deki e-fatura entegrasyonlarında shipping_address.company üzerinden çalışmayı zorunlu kılar.

Sonuç

Shopify'dan Entegra'ya kurumsal fatura ve TC aktarımı, doğru mimariyle harici sunucu olmadan çözülür. Hızlı ve hazır bir çözüm için CompliTR; koşullu dallanma ve kendi otomasyon ağına entegrasyon için Shopify Flow öne çıkar. Her ikisi de aynı problemi farklı kullanıcı profilleri için çözer ve birlikte kullanıldığında veri toplama ile operasyonel otomasyon adımları birbirini tamamlar.

Benzer bir entegrasyon tıkanıklığınız varsa Shopify entegrasyon çözümleri hizmetimizden hem hazır uygulama hem de Flow tabanlı sunucusuz çözümler için destek alabilirsiniz.