İçeriğe geç
Program entegrasyonu

ETA Entegrasyonu

ETA, açık veritabanı ve ODBC erişimini kendi satış argümanı yapan nadir ürünlerden biri. Bu, okuma tarafında elimizi rahatlatıyor — yazma tarafında ise ürünün kendi Transfer ve Veri Aktarma modüllerine bağlı kalıyoruz.

Kısa özet

  • ETA Bilgisayar’ın SQL platformundaki ürünleri ETA:SQL, ETA:V.8-SQL ve daha yeni ETA:V.11’dir; ETA:SQL ve V.8-SQL MS SQL Server üzerinde çalışır. V.8-SQL’in devamı olan V.11 için de aynı SQL platformu geçerli; sürüme özel gereksinimler kurulumda teyit edilir.
  • Üretici, açık veritabanı kullanımını ve ODBC bağlantısını açıkça belirtiyor — Excel, Word, Access gibi programlarla ve başka firmaların yazılımlarıyla çalışabilirlik ürünün tanıtımında yer alıyor.
  • Şirket ve çalışma dönemi ETA’nın çekirdek kavramıdır: şirketler etasqlsys ile açılır, her şirkete çalışma dönemleri tanımlanır ve takip “şirket kodu + dönem” ikilisiyle yürür.
  • Resmi dosya tabanlı veri giriş-çıkışı Transfer Modülü ve Veri Aktarma Modülü üzerinden yapılır; TXT, XLS, CSV ve XML desteklenir.
  • Transfer ve Veri Aktarma ayrı birer modüldür ve lisansınızda bulunmayabilir — bu, projenin ilk teyit edilmesi gereken kalemidir.

ETA:SQL, V.8-SQL ve V.11 — hangisi kuruluysa yöntem ona göre

ETA tarafında ürün adları birbirine yakın göründüğü için karışıklık sık yaşanıyor. ETA:V.8-SQL, uzun yıllar kullanılan Versiyon 7’nin SQL platformuna taşınmış hâlidir; ETA:SQL aynı platform üzerindeki ürün hattını ifade eder; ETA:V.11 ise daha yeni sürüm olarak SB ve PRO şeklinde konumlanır. Entegrasyonun nasıl kurulacağı, hangisinin kurulu olduğuna göre değişir.

ETA modüler bir ürün. Stok, Cari, Fatura, Muhasebe, Demirbaş, Çek/Senet, İrsaliye, Sipariş, Kasa, Banka, Bordro, İşletme, Üretim, Satın Alma ve Teklifler, Raporlar, Veri İşleme gibi başlıkların yanında — entegrasyon açısından kritik olan — Transfer ve Veri Aktarma modülleri de ayrı birer kalem olarak yer alıyor.

Bu modüler yapının pratik sonucu şu: “ETA kullanıyoruz” cümlesi entegrasyonun nasıl yapılacağını belirlemeye yetmiyor. Hangi modüllerin lisansınızda olduğunu bilmeden yöntem seçemiyoruz. e-Dönüşüm tarafında ise ETA:SQL ve V.8-SQL’de E-Fatura modülü bulunuyor ve UBL-TR 1.2 şemasına uyum sağlandığı belirtiliyor.

Keşifte istediğimiz liste kısa: ürün ve sürüm adı, kaç şirket ve kaç çalışma dönemi tanımlı, hangi modüller lisanslı — özellikle Transfer ve Veri Aktarma modüllerinin durumu. Bu son madde, projenin yönünü tek başına değiştirebiliyor.

Şirket ve çalışma dönemi: ETA’nın çekirdek kavramı

ETA’da veri düzeninin merkezinde iki kavram var: şirket ve çalışma dönemi. Şirketler etasqlsys aracıyla açılır; şirket açılırken şirket kodu, kısa ad, uzun ad, yasal ad ve çalışma döneminin başlangıç-bitiş tarihleri girilir. Sonrasında takip “şirket kodu + dönem” ikilisi üzerinden yürür.

Kurulum tarafında da benzer bir düzen var: kurulum sırasında bir ETA veritabanı adı (Master) sorulur — örneğin ETA_MASTER gibi — ve bağlantı parametreleri ETASQLCON.exe aracıyla yönetilir. Entegrasyonun hangi kurulum ve hangi bağlantı üzerinden çalışacağı buradan belirlenir.

Burada dürüst olmamız gereken bir nokta var: şirket ve dönem ayrımının fiziksel olarak nasıl kurulduğu — ayrı veritabanları mı, ayrı tablo setleri mi, yoksa kolon bazlı bir ayrım mı — kamuya açık kaynaklarda net şekilde belgelenmiş değil. Bu yüzden bu sayfada bir iddiada bulunmuyoruz.

Ama bunun projede karşılığı var: ETA entegrasyonlarında ilk netleştirdiğimiz teknik konu tam olarak budur. Hangi şirketin ve hangi dönemin verisine, hangi bağlantı üzerinden erişileceği yazılı hâle gelmeden tek satır kod yazmıyoruz. Çok şirketli ve çok dönemli bir kurulumda bu belirsizlik, sonradan baştan yazmayı gerektiren türden bir belirsizliktir.

Tablo adlandırma: öğrenilebilir bir kalıp

ETA’nın veri tarafında işi kolaylaştıran bir düzen var: tablo adları rastgele değil, modül ve nesne tipinin birleşiminden oluşan bir kalıba oturuyor. Kartlar KART, fiş başlıkları FIS, hareketler ise HAR ekiyle bitiyor. Modül öneki de tablonun hangi alana ait olduğunu söylüyor.

Bu kalıbı bilmek, bir kurulumu ilk kez incelerken yön bulmayı hızlandırıyor. Ama kalıbı bilmek ile tablo listesini ezberlemek aynı şey değil; elimizdeki kaynaklar eski olduğu için aşağıdaki adları kesin bir liste olarak değil, kalıbı gösteren örnekler olarak veriyoruz.

ETA tablo adlandırma kalıbı ve örnekler. Bu adlar kesin liste değildir; sizin kurulumunuzdaki karşılıkları proje başlangıcında veritabanı üzerinden doğrulanır.
Nesne tipiEkÖrnek
Kart (tanım kaydı)KARTCARKART, STKBARKOD, URTRECKART, URTROTAKART
Fiş başlığıFISFATFIS, IRSFIS, STKFIS, BANKAFIS
Hareket satırıHARCARHAR, FATHAR, IRSHAR, STKHAR, BANKAHAR
Tanım / hesap kaydıBANKHESAP

ETA’nın ayırt edici tarafı: açık veritabanını üretici kendisi savunuyor

Entegrasyon dünyasında alışık olduğumuz tablo şudur: üretici veri erişimini daraltır, entegrasyonu yapan taraf da erişmek için yollar arar. ETA bu tabloda ters duruyor ve bu, sayfanın en önemli teknik notu.

ETA, açık veritabanı kullanımını ve ODBC Driver’ı kendi tanıtımında öne çıkarıyor. Excel, Word ve Access gibi programlara doğrudan bağlantı kurulabildiği ve başka firmalar tarafından geliştirilen yazılımlarla çalışabilirlik açıkça belirtiliyor. Yani ETA’da okuma amaçlı doğrudan veritabanı ve ODBC erişimi, kerhen tolere edilen bir durum değil; üreticinin kendi ifade ettiği bir özellik.

Bunun karşılaştırmalı değerini görmek için Mikro’ya bakmak yeterli: orada üretici serbest SQL’i yalnızca SELECT ile sınırlamış, yazmayı tipli uç noktalara bağlamış ve entegrasyonu kendi API’si üzerinden kurgulamış. İki üretici, iki farklı felsefe. ETA okumayı açıyor, Mikro ise erişimi kendi arayüzünden yönetiyor.

Pratikte bu, ETA projelerinde raporlama ve analiz tarafının hızlı ilerlemesi demek. Yönetim paneli, karşılaştırmalı satış raporu, stok yaşlandırma, cari yaşlandırma gibi işler için veriye ulaşmak ETA tarafında görece rahat. Tasarımımız da bu avantaja göre kurulur: okuma tarafından hızlı değer üretilir, yazma tarafı ayrı ve daha temkinli bir başlık olarak ele alınır.

Transfer Modülü ve Veri Aktarma Modülü: ETA’nın resmi giriş-çıkış kapısı

ETA’ya dışarıdan veri sokmanın ve ETA’dan dışarıya veri çıkarmanın resmi yolu dosya tabanlıdır ve iki ayrı modül üzerinden yürür: Transfer Modülü ve Veri Aktarma Modülü. Desteklenen formatlar TXT, XLS, CSV ve XML.

Aktarılabilen veri kümesi geniş: stok kartı ve fiyat bilgileri, cari kart, hesap planı, fatura hareketleri, nakit, çek ve senet hareketleri. Akış tek yönlü de değil — ETA’dan dışarıya transfer de mümkün; yazarkasa ve POS cihazlarına veri çıkışı bu yolla yapılabiliyor. El terminali verisi de aynı dosya kalıbıyla aktarılabilir; ancak üretici belgesinde açıkça sayılmadığı için bunu kurulumda teyit ediyoruz.

XML ile muhasebe fişi aktarımı

Muhasebe fişlerinin XML üzerinden aktarımı için menü yolu bellidir: Veri Aktarma → Aktarma İşlemleri → ETA Dosya Aktarımı → Fiş Aktarma → Muhasebe Fişi → Dosyadan Fişe Aktarma (xml).

Bu, dışarıda üretilen muhasebe fişlerini ETA’ya düzenli olarak aktarmak için en temiz yol. Entegrasyon tarafında bizim işimiz, kaynak sistemin ürettiği veriyi beklenen XML yapısına uygun ve doğrulanmış hâle getirmek ve aktarımın sonucunu izlenebilir kılmak.

Metin dosyası transferi ve “tanım dosyası” mantığı

Metin dosyası ile transferde ETA’nın kendine özgü bir yaklaşımı var. Metin Tipi sahasında “1-Eta Tanımlı” seçildiğinde, dosyanın nasıl okunacağını anlatan bir tanım dosyası (.dfn uzantılı, örneğin Univera_Carihar.dfn) devreye giriyor; Nakit.txt, Cek.txt, Senet.txt, Chareket.txt gibi veri dosyaları bu tanıma göre okunuyor. Yani dosyanın yapısı koda gömülü değil, tanım tarafında yaşıyor.

Menü yolu şöyle ilerliyor: Transfer Modülü → Dosya Transferi → Metin Dosyasından Transfer İşlemi → Cari Fiş Transferi. Bu mantık entegrasyon tasarımı için bir avantaj: dosya düzeni değiştiğinde yapılacak iş kod değişikliği değil, tanım güncellemesi olabiliyor.

ETA’dan dışarıya çıkan veri

Transfer yalnızca içeri almak için değil. Stok ve fiyat bilgilerinin yazarkasa ve POS cihazlarına aktarılması da aynı modüller üzerinden yürüyor. Saha cihazlarıyla çalışan firmalarda bu yön, en az veri girişi kadar önemli hâle geliyor.

ETA’da okuma rahat, yazma disiplinli

ETA’da okuma ile yazma arasındaki mesafe, çoğu üründen daha net. Sebebi de ilginç: bu mesafeyi biz değil, mevcut belgelenmiş durum çiziyor.

Okuma — üreticinin desteklediği alan

Açık veritabanı ve ODBC erişimi üretici tarafından açıkça belirtilen bir özellik olduğu için, raporlama ve analiz tarafında rahat çalışabiliyoruz. Yönetim paneli, satış analizi, stok ve cari yaşlandırma gibi işlerde veriye ulaşmak ETA’da diğer birçok üründen daha az sürtünmeli.

  • Ağır raporlama sorguları canlı kurulumu yormayacak şekilde kurgulanır
  • Şirket kodu ve çalışma dönemi filtresi her sorguda açıkça yazılır; ETA’da bu ikili verinin adresi demektir
  • Alan anlamları eski dokümantasyona güvenilerek değil, ekran karşılıklarıyla eşleştirilerek doğrulanır
  • Tablo adları kalıptan tahmin edilmez; kurulumun kendisinden çıkarılır

Yazma — Transfer ve Veri Aktarma modüllerinden

ETA’ya veri yazarken kullandığımız yol, ürünün kendi aktarım modülleridir. Üreticinin açık veritabanı vurgusu okuma bağlamında geçiyor; doğrudan veritabanına yazmanın desteklenen bir kullanım biçimi olup olmadığına dair bir belge bulamadık. Bu durumda doğru davranış, belgelenmemiş bir yolu varsaymak değil, belgelenmiş olanı kullanmaktır.

Pratikte bu, ETA projelerinde yazma tarafının dosya üretimi üzerinden kurulması demek: doğrulanmış XML ya da tanım dosyasına uygun metin dosyası hazırlanır, ilgili modül üzerinden aktarılır ve sonuç kontrol edilir. Bu yol biraz daha dolaylı görünebilir ama arkasında bir avantajı var: ne gönderdiğinizi dosya üzerinde görebiliyorsunuz.

Sürüm yükseltmesi ve eski kurulum gerçeği

ETA kullanan firmaların önemli bir kısmında kurulum yıllardır ayakta ve bu, hem avantaj hem risk. Avantaj, sistemin oturmuş olması; risk ise entegrasyonun uzun ömürlü bir kuruluma yaslanması ve yükseltme geldiğinde kimsenin bunu yıllardır düşünmemiş olması.

Yükseltmenin entegrasyona dokunabileceği yüzeyler net. Birincisi veri modeli: sürümler arasında tablo ve alan farkları olabiliyor, doğrudan sorgu yazan raporlar bundan etkilenir. İkincisi aktarım tarafı: dosya yapıları, tanım dosyaları ve menü akışları sürümle değişebilir. Üçüncüsü bağlantı katmanı: kurulum ve bağlantı parametrelerinin yükseltme sonrası doğrulanması gerekir.

Buna karşı iki şey yapıyoruz. Okuma tarafındaki tüm sorguları tek bir veri erişim katmanında topluyoruz; böylece yükseltme sonrası kontrol edilecek yüzey dağınık değil, tek yerde oluyor. Yazma tarafında ise dosya biçimini yapılandırma katmanında tutuyoruz; format değiştiğinde kod değil tanım güncelleniyor. Her yükseltme sonrasında küçük bir doğrulama seti çalıştırıyoruz: birkaç örnek kayıt aktarılır, sonuç ETA ekranlarından kontrol edilir.

Teslim sonrası 15 gün ücretsiz hata düzeltme sözleşmeye yazılır. Her ETA yükseltmesinden sonra doğrulama turu çalıştırmak ise tekrar eden bir iş; bunu aynı sözleşmede ayrı bir bakım maddesi olarak tanımlıyoruz ki kapsam tartışması hiç açılmasın.

ETA bayileri için: ürün sizde, kod bizde

ETA satan ve destekleyen firmalar için bu sayfanın en pratik bölümü burası. ETA tarafında müşteri talepleri çoğu zaman aynı yere varıyor: standart aktarım modüllerinin dışına çıkan bir veri akışı, özel bir rapor kümesi ya da saha cihazlarıyla konuşan bir katman. Bunların hepsi yazılım işi ve her bayide yazılım ekibi yok.

Biz bu tarafta net bir sınır çiziyoruz: ETA ürün bilgisi, lisans yönetimi, kurulum, eğitim ve müşteri ilişkisi tamamen sizde. Bizim üstlendiğimiz şey, ODBC üzerinden okuyan ve aktarım modülleri üzerinden yazan yazılımın geliştirilmesi ile sürdürülmesi.

  • İhtiyaç duyduğunuz anda devreye giren bir geliştirme kapasitesi — sabit ekip maliyeti taşımazsınız
  • Raporlama tarafında hızlı çıktı: ETA’nın açık veri erişimi, görünür sonucu kısa sürede üretmeyi kolaylaştırıyor
  • Aktarım tanımlarını sizin yönetebileceğiniz biçimde bırakıyoruz; her biçim değişikliğinde bize dönmeniz gerekmez
  • Müşteri karşısında ister görünür oluruz, ister tamamen arka planda kalırız — kararı siz verirsiniz
  • Sabit fiyat ve yazılı kapsam bizim tarafımızdan gelir; müşterinize verdiğiniz teklifte geliştirme satırı kesin rakamla durur

Sahada nasıl görünüyor?

Yönetim paneli — ODBC ile hızlı raporlama

Satış, stok, cari ve tahsilat verisi ETA’dan salt okunur alınıp tek panelde toplanıyor. Hiçbir kayıt değişmediği için risk düşük; şirket ve dönem filtresi katmanda sabitlendiği için rapor yanlış toplam üretmiyor.

Dış sistemden muhasebe fişi aktarımı

Farklı bir uygulamada oluşan muhasebe fişleri doğrulanmış XML’e dönüştürülüp ETA’nın Veri Aktarma modülü üzerinden aktarılıyor. Aktarılan her dosya kayıt altında kalıyor, hatalı kayıt sessizce kaybolmuyor.

Cari hareket transferi — tanım dosyası ile

Nakit, çek ve senet hareketleri metin dosyası olarak üretilip Transfer Modülü üzerinden aktarılıyor. Dosya yapısı tanım tarafında yaşadığı için düzen değiştiğinde geliştirme değil, tanım güncellemesi yapılıyor.

Saha cihazlarına stok ve fiyat çıkışı

Stok kartları ve fiyat bilgileri yazarkasa ve POS cihazları tarafına aktarılıyor. Fiyat değişikliğinin sahaya ulaşması manuel liste dolaştırmaya bağlı kalmıyor.

Çok şirketli kurulumda birleşik görünüm

Aynı grupta birden fazla şirket ve çalışma dönemi varsa, erişim her zaman şirket kodu ve dönem ikilisi üzerinden kurgulanıyor. Grup düzeyinde birleşik rapor alınırken hangi verinin nereden geldiği izlenebiliyor.

Referans iş birliği

Entegrasyon tarafında yeni bir hat kuruyoruz ve ilk projeleri referans iş birliğiyle yürütüyoruz: projenin sonunda ölçülebilir sonuçları vaka çalışması olarak yayımlamamıza ve sizi referans göstermemize izin veren firmalara özel koşul uyguluyoruz. Karşılığında alacağınız şey standart bir paket değil, süreçlerinize göre yazılmış bir sistem — ve geliştiren ekibe doğrudan erişim.

Sık sorulan sorular

ETA’nın bir API’si var mı?

ETA tarafında üçüncü taraflara açık bir REST veya SOAP servisi ya da DLL/COM arayüzü bulamadık; bulut sürüm veya bulut API’si de karşımıza çıkmadı. Buna karşılık ürünün belgelenmiş iki resmi kapısı var: okuma tarafında ODBC ve açık veritabanı erişimi, yazma tarafında Transfer ve Veri Aktarma modülleri. ETA entegrasyonları bu iki kapı üzerinden kurulur. Durum değişirse tek doğru kaynak üreticinin kendi duyurusudur.

Veritabanımıza doğrudan erişmeniz sorun yaratır mı?

Okuma tarafında hayır — çünkü bu, ETA’da üreticinin kendisinin öne çıkardığı bir özellik. Açık veritabanı kullanımı ve ODBC Driver, Excel, Word ve Access gibi programlarla ve başka firmaların yazılımlarıyla çalışabilirlik bağlamında ürünün tanıtımında yer alıyor. Yazma tarafı için aynı şeyi söyleyemiyoruz: doğrudan veritabanına yazmanın desteklenen bir kullanım biçimi olduğuna dair bir belge bulamadık, bu yüzden yazma işlemlerini ürünün kendi aktarım modülleri üzerinden yapıyoruz.

ETA bayisi misiniz?

Hayır. ETA Bilgisayar’ın da, başka bir üreticinin de bayisi, çözüm ortağı ya da iş ortağı sıfatını taşımıyoruz; bağımsız bir yazılım evi olarak çalışıyoruz. Lisans, kurulum, eğitim ve ürün danışmanlığı yetkili bayinizin alanı ve o alana girmiyoruz. Bizim işimiz ürünün belgelenmiş erişim yolları üzerinden yazılım geliştirmek. Bayilerle taşeron geliştirme modelinde de çalışıyoruz — ürün sizde, kod bizde.

Transfer modülü lisansımızda yoksa ne olur?

Bu gerçek bir proje riski ve bu yüzden ilk teyit ettiğimiz kalem. Transfer ve Veri Aktarma ETA’da ayrı birer modüldür; lisansınızda bulunmayabilir. Modül yoksa yazma tarafındaki mimari baştan farklı kurulur ve bu, hem takvimi hem kapsamı etkiler. Keşif aşamasında lisans kapsamınızı yetkili bayinizle birlikte kontrol ediyoruz; bu kontrol yapılmadan yazılı takvim ve fiyat vermiyoruz.

Birden fazla şirketimiz ve dönemimiz var. Nasıl ele alıyorsunuz?

ETA’da şirket ve çalışma dönemi çekirdek kavramlar: şirketler etasqlsys ile açılır, her şirkete çalışma dönemleri tanımlanır ve takip “şirket kodu + dönem” ikilisiyle yürür. Bu ayrımın fiziksel karşılığının nasıl kurulduğu kamuya açık kaynaklarda net değil, dolayısıyla varsayımla ilerlemiyoruz. Projeye başlarken hangi şirketin ve hangi dönemin verisine hangi bağlantı üzerinden erişileceğini sizin kurulumunuz üzerinde netleştirip yazılı hâle getiriyoruz. Çok şirketli yapılarda bu adımı atlamak, sonradan baştan yazmayı gerektiriyor.

ETA sürümümüzü yükseltirsek entegrasyon çalışır mı?

Doğru kurulduysa büyük ihtimalle evet, ama kontrolsüz değil. Yükseltme üç yüzeye dokunabilir: veri modelindeki tablo ve alan farkları, aktarım tarafındaki dosya yapıları ve tanım dosyaları, bir de bağlantı parametreleri. Biz okuma sorgularını tek bir veri erişim katmanında topluyoruz ve dosya biçimlerini yapılandırma tarafında tutuyoruz; böylece yükseltme sonrası kontrol edilecek alan dağınık olmuyor. Her yükseltme sonrası örnek kayıtlarla doğrulama turu çalıştırıyoruz. 15 günlük ücretsiz hata düzeltme teslimle başlar; sonrasındaki yükseltme takibi bakım sözleşmesine bağlıdır.

Eski bir ETA sürümü kullanıyoruz. Yine de yapılabilir mi?

Çoğu durumda evet ve bunun sebebi ETA’nın veri erişim tarafındaki duruşu: okuma yolu açık olduğu için raporlama ve analiz tarafında eski kurulumlarda da hızlı ilerleyebiliyoruz. Yazma tarafında belirleyici olan şey sürüm yaşı değil, aktarım modüllerinin lisansınızda olup olmadığı. Keşifte önce şunu bakıyoruz: hangi veri hangi yöne akacak? Yalnızca okuma isteniyorsa iş görece hızlı ilerler; yazma da varsa modül ve lisans teyidi projenin ilk adımı olur.

Mersin dışındaki firmalarla nasıl çalışıyorsunuz?

Mersin, Tarsus, Adana, Hatay, İskenderun ve Osmaniye’de keşfi ve saha kurulumunu yerinde yapıyoruz; ETA kullanan firmaların önemli kısmı zaten bu bölgede. Türkiye’nin diğer illerinde ODBC bağlantısı, raporlama katmanı ve aktarım dosyası geliştirmesi uzaktan yürür — ETA tarafı için bu genelde yeterli. Yazarkasa ya da POS tarafına stok çıkışı gibi saha işi varsa yerinde ziyaret takvime baştan yazılır.

Mevcut sisteminizi konuşalım

Hangi programı kullandığınızı, sahada hangi verinin elle girildiğini ve neyi otomatikleştirmek istediğinizi anlatın. İlk görüşmede teknik olarak mümkün olup olmadığını ve hangi yöntemle yapılacağını netleştiriyoruz.

Bu sayfada adı geçen ürün ve markalar ilgili firmaların tescilli ticari markalarıdır. D'Cloud Software bağımsız bir yazılım geliştiricisidir; anılan firmaların yetkili bayisi, çözüm ortağı veya iş ortağı değildir. Entegrasyon hizmeti, ürünlerin kendi belgelenmiş arayüzleri ve veri erişim yöntemleri üzerinden sunulur.