Teknik

Epin Yazılımında Kimsenin Sana Anlatmadığı Rapor Katmanı: Cironu Biliyorsun Ama Panelin Asıl Kâr Tablosunu Neden Saklıyor?

E-pin scriptinde özel rapor yazdırma nasıl kurulur? Kâr, bayi, kategori ve iade raporlarını PDF-CSV olarak üretmenin teknik yolunu adım adım anlatıyoruz.

Epin Yazılımında Kimsenin Sana Anlatmadığı Rapor Katmanı: Cironu Biliyorsun Ama Panelin Asıl Kâr Tablosunu Neden Saklıyor?

Çoğu e-pin satıcısı raporlamayı şöyle sanır: panele girersin, üstteki dört kutuda günlük ciro, sipariş sayısı, bekleyen sipariş ve üye sayısı yazar; ayın sonunda bu sayılara bakıp "iyi gitmiş" veya "kötü gitmiş" dersin. Oysa o dört kutu bir rapor değil, sadece bir nabız göstergesi. Ciro, işletmenin ne kadar kazandığını değil, kasadan ne kadar para geçtiğini anlatır. Bir e-pin satış scripti kurduğun andan itibaren asıl mesele, o veritabanında biriken her satırı kendi sorularına cevap verecek şekilde yeniden yazdırabilmektir.

İşin sessiz tarafı şu: e-pin işinde kâr, ürün bazında ve tedarikçi bazında dalgalanır. Aynı oyunun 100 TL'lik kuponunu iki farklı bayiden farklı maliyetle alırsın, birinde yüzde 4 marj, diğerinde yüzde 11 marj kalır. Hazır rapor ekranları bunu toplar ve ortalar; sen de yüzde 7 gibi anlamsız bir sayıya bakarak fiyat kararı verirsin. Özel rapor yazdırma dediğimiz şey, tam olarak bu ortalamanın içini açmak, hangi satırın seni beslediğini ve hangisinin sadece meşgul ettiğini görmektir. Aşağıda dijital ürün satış yazılımı tarafında bu katmanın nasıl kurulduğunu, hangi alanlara dokunman gerektiğini ve yazdırma işinin neden sandığından daha teknik bir konu olduğunu anlatıyorum.

4Ortalama panelde hazır sunulan rapor sayısı
%68Ürün bazlı kâr raporu tutmayan satıcı oranı
11 dkElle Excel raporu hazırlamanın günlük maliyeti
3 katDoğru raporla düzeltilen fiyat hatası farkı

Panelindeki Hazır Raporlar Neden Hep Aynı Üç Metriği Gösteriyor?

Hazır rapor ekranları, yazılımı kuran herkese aynı şeyi göstermek zorunda olduğu için en genel ortak kümede kalır: tarih, tutar, adet. Çünkü bir epin yazılım paketi hem tek kişilik bir kupon satıcısına hem de yüz bayisi olan bir toptancıya kurulur. Geliştirici, "bayi grubu bazında brüt marj" gibi bir raporu varsayılan ekrana koyduğunda, bayi kullanmayan satıcının panelinde boş bir tablo görünür. O yüzden karmaşık olan her şey varsayılan dışına atılır.

Bunun sonucu şu olur: veriler veritabanında fazlasıyla vardır, ama arayüzde yoktur. Sipariş tablosunda maliyet alanı duruyordur, stok hareket tablosunda hangi partiden düştüğü kayıtlıdır, ödeme tablosunda komisyon oranı yazılıdır. Eksik olan tek şey bu üç tabloyu birleştirip tek satırda gösteren bir sorgu ve onu kâğıda dökecek bir şablon. Pinova'da özel rapor katmanı tam bu boşluğu doldurmak için var: sen hangi kolonları, hangi filtreyle, hangi formatta istediğini tanımlarsın, yazılım o tanımı kaydedilebilir bir rapor nesnesine çevirir.

Özel Rapor Dediğimiz Şey Aslında Nedir: Sorgu mu, Şablon mu?

İkisi birden, ama sırayla. Bir raporun iki ayrı bacağı vardır. Birinci bacak veri tanımı: hangi tablolardan hangi alanları çekiyorsun, hangi tarih aralığında, hangi durum filtresiyle (tamamlanan, iade edilen, iptal edilen), hangi kırılımda grupluyorsun. İkinci bacak sunum tanımı: kolon başlıkları ne yazacak, para birimi nasıl biçimlenecek, toplam satırı nerede olacak, logo ve firma bilgisi başlığa girecek mi.

Bu ikisini ayırmak çok önemli. Çünkü aynı veri tanımını üç farklı şablonla yazdırırsın: muhasebecine göndereceğin sade CSV, bayiye göndereceğin logolu PDF, kendine bakacağın ekran tablosu. Ayrı tutmazsan her yeni formatta sorguyu baştan yazmak zorunda kalırsın. İyi kurulmuş bir e-pin scripti raporu bir kez tanımlatır, çıktı biçimini çalışma anında seçtirir. Kötü kurulmuş olan ise her rapor için ayrı bir PHP dosyası üretir ve altı ay sonra kimse hangi dosyanın doğru sayıyı verdiğini bilemez.

RaporBirleştirdiği kaynakKırılımUygun formatPeriyot
Ürün bazlı brüt kârSipariş + stok partisiÜrün / varyantEkran + CSVHaftalık
Bayi cari özetiCüzdan + siparişBayi hesabıPDFAylık
Ödeme yöntemi maliyetiÖdeme kaydı + komisyonSağlayıcıEkranAylık
Stok tükenme uyarısıStok + satış hızıKategoriE-posta özetiGünlük
İade ve iptal analiziSipariş durumu geçmişiSebep koduCSVAylık
Teslimat gecikme dökümüSipariş + teslim loguTedarikçiEkran + PDFHaftalık

Kâr Raporunu Yazdırmak İçin Hangi Alanlara Dokunman Gerekiyor?

Kâr raporu, özel rapor konusunun en sık istenen ve en sık yanlış kurulan parçasıdır. Sebep basit: çoğu kurulumda maliyet, ürün kartında tek bir alan olarak tutulur ve güncellendiğinde eski siparişlerin maliyeti de değişir. Yani geçen ayın kâr raporu, bugün maliyeti güncellediğinde geriye dönük bozulur. Doğrusu, maliyetin sipariş satırına o anki değeriyle kopyalanmasıdır. Buna anlık maliyet damgası diyoruz.

İkinci dokunuş noktası ödeme komisyonu. Sanal POS veya cüzdan sağlayıcısı her işlemde bir yüzde alır; bunu rapora katmazsan yüzde 5 marjla sattığın ürün aslında yüzde 2,3 bırakıyordur. Üçüncüsü iade: iade edilen siparişin kupon maliyeti çoğu zaman geri gelmez, yani iade sadece ciroyu değil kârı da eksiye çeker. Bu üç alanı rapor tanımına koyduğun gün, e-pin satış yazılımı panelindeki tablo ilk kez gerçeği söylemeye başlar. Alanların nasıl işaretlendiğini özellikler bölümünde tek tek görebilirsin.

100 TL'lik kupon satışında paranın dağılımı

  • Tedarikçi maliyeti 82%
  • Net kalan kâr 8%
  • Ödeme komisyonu 6%
  • İade ve zarar payı 4%

Yazdırma Katmanı: PDF, CSV ve Kasa Fişi Aynı Şey Değil

Rapor üretmek ile rapor yazdırmak farklı işlerdir. Ekranda gördüğün tabloyu tarayıcının yazdır tuşuna basarak kâğıda döktüğünde menü, kenar çubuğu ve buton kalabalığı da gelir; sayfa sonlarında tablo ortadan kesilir. Bu yüzden yazdırma için ayrı bir sunum katmanı gerekir. Pratikte üç çıktı hedefi vardır ve her biri farklı kurallarla çalışır.

PDF, imzalanıp gönderilecek belgeler için: bayi ekstresi, aylık satış özeti, mutabakat tablosu. Burada sabit genişlik, tekrar eden tablo başlığı ve alt bilgide sayfa numarası şarttır. CSV, muhasebe ve analiz için: burada biçimlendirme düşmandır, para birimi simgesi ve binlik ayracı koymazsın, tarihleri ISO biçiminde verirsin, aksi halde karşı taraftaki tablo programı sayıyı metin sanır. Fiş çıktısı ise fiziki mağazası olan satıcılar için 58 veya 80 mm termal yazıcıya gider; orada kolon değil satır düşünürsün. Bir dijital ürün satış scripti bu üç hedefi aynı şablonla beslemeye çalışırsa üçünde de kötü sonuç alır.

Raporu kaydetmeden önce adını doğru koy

Rapor dosyalarını rapor_tipi_baslangic_bitis kalıbıyla adlandır. Altı ay sonra klasörde otuz tane "rapor.pdf" varsa hiçbirinin hangi döneme ait olduğunu hatırlamazsın ve o raporlar yokmuş gibi olur.

Zamanlanmış Rapor: Sabah Kutuna Düşen Tablo Neden Her Şeyi Değiştirir?

İnsan doğası gereği panele sadece bir sorun olduğunda girer. Oysa raporun işi sorunu daha o sorun olmadan haber vermektir. Bu yüzden özel rapor katmanının en değerli parçası zamanlama tarafıdır: tanımladığın raporu cron ile belirli saatte üretip e-posta veya mesaj kanalına düşürmek. Günlük stok tükenme raporu sabah dokuzda geldiğinde, en çok satan kuponun bittiğini müşteriden değil sistemden öğrenirsin.

Zamanlanmış raporda üç teknik ayrıntıya dikkat et. Birincisi rapor üretimi ağır sorgu içerir, bu yüzden trafiğin düşük olduğu saate koyulur. İkincisi aynı raporun iki kez gönderilmemesi için üretim kaydı tutulur, yoksa cron iki kere tetiklenirse aynı tablo iki farklı sayıyla iki kez düşer ve hangisine güveneceğini bilemezsin. Üçüncüsü boş rapor gönderilmez; hiçbir satır yoksa mesaj atmamak, her sabah anlamsız boş tablo göndermekten iyidir. Bu disiplini kuran satıcı, raporu okumayı alışkanlık haline getirir; kurmayan ise üç hafta sonra gelen maili açmayı bırakır.

Rapor Yazdırma Bir Muhasebe Konusu mu, Yetki Konusu mu?

Burada çoğu işletme sahibinin gözden kaçırdığı bir risk var. Rapor, işletmenin en yoğunlaştırılmış verisidir. Tek bir bayi listesi dosyası, kimin ne kadar aldığını, hangi fiyatla aldığını ve maliyet marjını aynı sayfada taşır. Bu dosyayı panelde herkesin indirebildiği bir yere koyarsan, işten ayrılan bir çalışan seninle rekabet etmek için gereken her şeyi tek tıkla yanında götürür.

Bu yüzden rapor katmanı yetki sistemine bağlanmalıdır. Ayrımı üç seviyede kur: raporu görebilen, raporu indirebilen, raporu tanımlayabilen. Destek personeli teslimat gecikme raporunu görsün ama kâr raporuna erişmesin. Muhasebe CSV indirsin ama yeni sorgu tanımlamasın. Bir de indirme kaydı tut: hangi kullanıcı, hangi raporu, hangi tarihte, hangi IP'den aldı. Bu log hiçbir şeyi engellemez ama bir sızıntı olduğunda kaynağı bir saatte bulmanı sağlar. Fiyat planlarına ve hangi paketin kaç rol tanımladığına fiyat tablosundan bakabilirsin.

KontrolNeden gerekliDurum
Sipariş satırına maliyet damgası yazılıyorGeriye dönük kâr bozulmasınZorunlu
Ödeme komisyonu rapora dahilGerçek net marj görünsünZorunlu
İade ve iptal ayrı kırılımdaCiro şişmesi engellensinZorunlu
CSV çıktısı biçimsiz ve ISO tarihliMuhasebe programı doğru okusunÖnerilen
PDF başlığında firma ve dönem bilgisiBelge mutabakatta geçerli olsunÖnerilen
Zamanlanmış rapor tekrar korumasıÇift gönderim olmasınZorunlu
Rapor indirme loguSızıntı kaynağı bulunabilsinZorunlu
Rol bazlı rapor erişimiMaliyet verisi personele açılmasınZorunlu

Raporlarını sen tanımla, yazılım yazdırsın

Pinova'nın özel rapor katmanıyla kâr, bayi, iade ve stok tablolarını kendi kırılımlarında kurup PDF veya CSV olarak dışarı al. Kurulum ve lisans detaylarını incele.

Özel rapor yazdırmak için SQL bilmem gerekir mi?

Hayır. Rapor tanımı arayüz üzerinden yapılır: kaynak, filtre, kırılım ve kolon seçersin. SQL bilgisi ancak çok özel bir hesaplama istediğinde işe yarar, temel kâr ve bayi raporları için gerekmez.

Geçmiş dönem raporu neden farklı sayı veriyor?

Büyük olasılıkla maliyet ürün kartından okunuyor ve sen o maliyeti sonradan güncelledin. Çözüm, maliyeti sipariş anında satıra kopyalayan damga alanını aktif etmektir.

Raporu muhasebecime hangi formatta göndermeliyim?

Analiz edeceği veriyi CSV olarak, imzalayıp saklayacağı özeti PDF olarak gönder. CSV'de para birimi simgesi ve binlik ayracı kullanma, tarihleri yıl-ay-gün sırasıyla ver.

Zamanlanmış raporlar sunucuyu yavaşlatır mı?

Ağır sorgular gece veya sabaha karşı çalışacak şekilde planlanırsa etkisi hissedilmez. Günlük özetleri düşük trafik saatine, aylık ağır dökümleri ayın ilk gününün gecesine koymak yeterlidir.

Rapor katmanı, bir yazılımın en az konuşulan ama işletmeyi en çok değiştiren parçasıdır; çünkü fiyat kararını, tedarikçi seçimini ve hangi kategoriye reklam vereceğini aynı tablodan okursun. Kendi verini kendi sorularınla nasıl yazdırabileceğini görmek istiyorsan, örnek rapor ekranlarının kurulu olduğu canlı demo üzerinden filtreleri değiştirip çıktıyı kendin dene; on dakika içinde panelindeki hangi sayının eksik olduğunu anlarsın.

Daha Fazlasını Keşfedin

Dijital ürün satışı ve otomasyon üzerine güncel rehberlere göz atın.

Tüm Yazıları Gör →
Bu yazıyı paylaşın
Bu yazıyı beğendiniz mi?
Teşekkürler!
← Tüm yazılar