Alan modeli
Ön muhasebeyi sınırlı bağlamlara ayırdık.
- Olay kaynaklı faturalar
- CQRS ile ayrık okuma ve yazma
- Para için tam sayı hesap
Gelirce, küçük işletmelerin ve yeni kurulan şirketlerin gelir, gider, cari ve tahsilat takibini sade bir arayüzle yapabilmesi için geliştirdiğimiz ön muhasebe uygulaması. gelirce.com.tr adresinde yayına hazırlanıyor.
Küçük bir işletmenin muhasebe ihtiyacı çoğu zaman basit: kime ne sattım, kimden ne aldım, kim ne kadar borçlu, hangi ödeme ne zaman geliyor. Piyasadaki ön muhasebe programları ise çoğu işletmenin hiç kullanmayacağı özelliklerle doluyor. Gelirce'nin ilkesi bu yüzden "az çoktur": her ekran tek bir işi iyi yapsın, gerisi yolda durmasın.
Hedef kullanıcı, bir pastaneden yeni kurulmuş bir yazılım şirketine kadar muhasebeyi kendi yürütmek isteyen küçük işletmeler. Ürün hem bulutta abonelikle hem de kendi sunucusuna kurmak isteyenler için ayrı bir sürümle sunulacak şekilde tasarlanıyor.
Gelirce'nin ilk sürümünü 2025'te geliştirdik. Ürün büyük ölçüde hedeflenen noktaya gelmişti, ama iki temel tasarımın ileride darboğaz olacağını gördük. Bir kullanıcı yalnızca tek bir firmaya bağlanabiliyordu ve cari hesap yapısı genişlemeye uygun değildi. Bunları sonradan yamamak yerine 2026'da ürünü sıfırdan yeniden kurmaya karar verdik ve bu kararı gerekçeleriyle bir mimari karar kaydına yazdık. İlk sürümden kod taşımadık; yalnızca işe yaradığı kanıtlanmış fikirleri aldık.
Gelirce, alanlara ayrılmış modüler bir Symfony uygulaması. Kullanıcı, firma, cari, kategori, ürün, gelir ve gider ayrı sınırlı bağlamlar olarak tasarlandı. Faturalar gibi geçmişi önemli olan kayıtlar olay kaynaklı (event sourcing) tutuluyor; bir faturanın tüm geçmişi bu olaylardan üretiliyor. Para tutarları kayan noktalı sayılarla değil, para birimiyle birlikte tam sayı olarak işleniyor.
Bir kullanıcı birden fazla firmada çalışabiliyor ve firmalar arasında üst menüden geçiyor. Firmaların verisi PostgreSQL'in satır düzeyi güvenliğiyle birbirinden ayrılıyor; bir firmanın verisine başka bir firma adına erişmek veritabanı düzeyinde engelleniyor.
Müşteri ve tedarikçi carileri, renkli kategoriler ve etiketler, ürün ve hizmet kartları var. Ürünlerde GİB birimleri, KDV ve ÖTV oranları, Türk lirası, dolar ve euro fiyatları ile basit stok takibi bulunuyor. Gelir ve gider faturaları çok satırlı; satır bazında yüzde ya da tutar indirimi, vade kısayolları ve anlık toplamlar destekleniyor. Döviz kurları her gün TCMB'den alınıyor, KDV oranı işlem tarihine göre otomatik seçiliyor. Faturalara nakit, banka ya da çekle kısmi veya çoklu tahsilat ve ödeme işlenebiliyor; tahsilat ve ödeme raporları gecikmeyi gün aralıklarına göre gösteriyor.
Gelirce'nin arayüzü bir masaüstü gibi çalışıyor. Modüller pencere olarak açılıyor; pencereler taşınabiliyor, boyutlandırılabiliyor, küçültülüp görev çubuğuna alınabiliyor. Böylece bir faturayı yazarken cari kartına ya da tahsilat raporuna aynı ekranda bakılabiliyor. Arayüz ek bir JavaScript çatısı olmadan, Symfony'nin Stimulus ve Turbo bileşenleriyle kuruldu.
Gelirce'yi test odaklı geliştiriyoruz: her özellik, onu doğrulayan testlerle birlikte yazılıyor. Mimari kararlar kayıt altına alınıyor, ürün bilgisi yapılandırılmış bir bilgi tabanında tutuluyor. Geliştirmede yapay zekâ ajanlarından yararlanıyoruz; ARI Geliştirme teklifimizde anlattığımız çalışma biçimini kendi ürünümüzde uyguluyoruz.
Yayından önce banka ve kasa hesapları, rol bazlı yetkilendirme ve ekip üyesi davetleri tamamlanacak. Ardından e-Fatura ve e-Arşiv entegrasyonu, mobil uygulama için bir API ve kendi sunucusuna kurulabilen sürüm geliyor.
Ön muhasebeyi sınırlı bağlamlara ayırdık.
Her firmanın verisi veritabanı düzeyinde ayrı.
Küçük işletmenin günlük ihtiyacı tek yerde.
Pencereli, sade ve hızlı bir web arayüzü.
Fikrinizi, hedef kullanıcınızı ve ilk sürümün kapsamını birlikte netleştirelim. Ürünü büyüdükçe yük olmayacak bir yapıda kuralım.