Anademir için inşaat projesi ERP'si
Bir inşaat projesinin operasyonel ve ticari olmak üzere iki yüzü vardır. Teklif, malzeme ihtiyacı, hakediş ve ödeme planı aynı projeyi farklı yönlerden anlatır. Bu platform, Anademir için bunları tek bir sistemde bir araya getirir; sistem bir standart ürünün modüllerine göre değil, şirketin iş alanlarına göre kurgulanmıştır.
Proje özeti.
- Rol
- Batunet, platformu 2021'den itibaren inşaat şirketi Anademir için özel yazılım olarak geliştirdi ve birkaç yıl boyunca bakımını üstlendi.
- Sistem sınıfı
- İnşaat projeleri için kurumsal sistem: operasyonel ve ticari iş alanları tek bir uygulamada; backend ve arayüzde aynı şekilde ayrılmış, ortak bir veri modeli üzerinde.
- Ortak dayanak
- Dayanak noktası projedir. Teklif, proje kalemleri, malzeme talepleri, hakedişler, tahsilatlar, proje belgeleri, dokümanlar ve notlar projeye bağlanır.
- Teklif ve proje
- Bir tekliften, tüm kalemleriyle birlikte bir proje, tek bir işlem (transaction) içinde oluşturulur. Teklifle bağlantı korunur, devralınan kalemler bu şekilde tanınabilir kalır.
- Hakediş
- Projede kendi formu, ekleri, listesi ve toplamı olan ayrı bir talep türü. Durum modeli planlama onayını, muhasebe onayını ve itirazlı durumu birbirinden ayırır.
- Ödeme ve para birimi
- Tahsilatların eşleştirildiği, vadeli taksitlerden oluşan ödeme planları. Türk lirası ve ABD doları cinsinden tutarlar; Türkiye Cumhuriyet Merkez Bankası'nın günlük kuru belgede anlık değer olarak saklanır, raporlar para birimine göre ayrı serilerde tutulur.
- İzlenebilirlik
- Temel iş nesnelerindeki değişiklikler önceki ve sonraki değerler, kullanıcı ve zamanla birlikte kaydedilir ve ayrı bir görünümde aranabilir.
- Teknik temel
- JSON API olarak Laravel 10 ve bağımsız bir Vue 3 arayüzü. 2023'te teknik olarak yeniden kuruldu; ilk sürüm, sunucu tarafında oluşturulan bir arayüzle Laravel 9 üzerinde çalışıyordu.
Aynı projenin operasyonel ve ticari görünümü.
Bir inşaat projesi iki kez var olur. Sahada beton, malzeme ve tarihlerden ibarettir. Ofiste ise maliyeti hesaplanmış bir teklif, talep edilen malzemelerin listesi, bir hakediş ve bir ödeme planıdır. İki taraf da aynı süreci anlatır.
Dağılan, ikinci taraftır. Maliyet hesabı, malzeme ihtiyacı, hakediş, ödeme planı ve proje belgeleri, her biri kendi içinde çalışan farklı araçlarda bulunabilir. O zaman eksik olan düzen değil, ortak bir dayanak noktasıdır: tüm bunların aynı proje hakkında konuştuğu yer.
Batunet, 2021'den itibaren Anademir için bu ikinci yarıyı tek bir sistemde birleştiren bir platform geliştirdi: şirketin iş alanlarına göre kurgulanmış, ortak dayanak noktası proje olan bir platform.
Modüllere göre değil, iş alanlarına göre ayrılmış.
Böyle bir sistemin nasıl yaşlanacağını ilk tasarım belirler. Burada tasarım iş mantığı boyunca çizildi: Teklif, proje, malzeme talebi, ödeme planı, fatura, gider, tedarikçi, ürün ana verileri, kullanıcı yönetimi ve raporlama; kendi erişimleri, kendi kuralları ve kendi olayları olan ayrı alanlardır.
Arayüz de aynı ayrımı izler. Uygulama ve kullanım, alan alan aynı iş alanlarına göre ayrılmıştır. Bir kuralı değiştirmesi gereken kişi onu tek bir yerde bulur; sıradan görünen ama yıllar içinde fark yaratan bir özellik.
Bu ayrım teknik bir tercih değil, şirketin çalışma alanlarının bir yansımasıdır. Alanlar, şirketin zaten bildiği rollere karşılık gelir (yönetim, muhasebe, mühendislik ve çalışanlar) ve yetki modeli iş alanı ve işlem bazında kurgulanmıştır.
- Satış ve maliyet hesabı
- Müşteriler, Kalemli teklifler, Maliyetler ve marjlar, Ödeme planları
- İnşaat ve malzeme
- Kalemli projeler ve alt projeler, Malzeme talepleri, Ürün ve malzeme ana verileri, Ölçü birimleri, Tedarikçiler
- Ticari
- Hakediş, Tahsilatlar, Faturalar, Giderler ve kasa
- Yönetim
- Kullanıcılar ve roller, Dokümanlar ve notlar, Değişiklik kaydı, Raporlar ve Excel dışa aktarmaları
Her şey projeye bağlı.
Ayrı iş alanlarının ortak bir paydaya ihtiyacı vardır; yoksa yalnızca yan yana konmuş programlardan ibaret kalırlar. Bu platformda ortak payda projedir.
Bir proje bir tekliften doğar ve bu kökenini korur. Projeye kalemleri, şantiyenin malzeme talepleri, hakedişler, eşleştirilen tahsilatlar, kaydedilen proje belgeleri ve bunlardan türetilen malzeme tüketimi, dokümanlar ve notlar bağlıdır.
Bu alanlar baştan sona işleyen bir otomatizmle değil, ortak veri modeliyle birbirine bağlıdır: Hepsi aynı kayda işaret eder. Ortak bir dayanak noktası kurmak bir entegrasyondan daha kolaydır ve iki araç arasındaki her arayüzden daha uzun ömürlüdür.

- Köken
- Projenin doğduğu teklif, Müşteri, Ödeme planı
- İş kalemleri
- Proje kalemleri, Tekliften devralınan kalemler işaretli kalır
- Şantiye
- Kalemli malzeme talepleri, Miktarlar ve ölçü birimleri, Malzeme tedariki
- Ticari
- Hakedişler, Eşleştirilen tahsilatlar, Proje belgeleri ve malzeme tüketimi
- Dosya
- Projedeki dokümanlar, Notlar
Maliyeti hesaplanmış tekliften projeye.
Başlangıçta bir fiyat değil, bir maliyet hesabı vardır. Bir teklif kalemlerden oluşur ve her kalem, satış fiyatının yanında alış fiyatını ve bundan hesaplanan marjı da taşır. Böylece teklifin toplamları bir girdi değil, bir sonuçtur.
Teklif bir siparişe dönüştüğünde proje tek bir işlemle oluşur: Başlık verileri ve tüm kalemler devralınır, proje kendi sistem numarasını alır ve teklifle bağlantı korunur. İşlem bir veritabanı işlemi (transaction) içinde gerçekleşir: Ya tamamen başarılı olur ya da geride hiçbir şey bırakmaz. Kalemlerinin yarısıyla yarım oluşturulmuş bir proje, hiç olmamasından daha kötü olurdu.
Devralınan her kalem, devralınmış olarak tanınabilir kalır. Böylece projeye sonradan eklenenler, bir zamanlar teklif edilmiş olanlardan ayırt edilebilir; teklif ile uygulamayı yan yana koyabilmenin ön koşulu budur.
- 01
Maliyet hesabı
Miktar, satış fiyatı, alış fiyatı ve marj içeren kalemler; teklif toplamı bunlardan çıkar.
- 02
Ödeme planı
Teklife, vadeli taksitlerden oluşan bir plan eşlik eder.
- 03
Devralma
Tekliften proje oluşur: başlık verileri ve tüm kalemler tek bir işlemle.
- 04
Bütünlük
İşlem transaction içindedir. Ya tamamen başarılı olur ya da geride hiçbir şey bırakmaz.
- 05
Köken
Proje ve teklif bağlı kalır; devralınan her kalem devralınmış olarak işaretlenir.
- 06
Dayanak noktası
Ödeme planı da projeye taşınır. Bu noktadan sonra proje, diğer iş alanlarının işaret ettiği dayanak noktasıdır.
Projede malzeme ihtiyacı.
Şantiyeden ihtiyaç gelir. Bir malzeme talebi her zaman bir projeye aittir (müşteri yeniden girilmez, projeden türetilir) ve miktar ile ölçü birimi içeren kalemlerden oluşur.
Malzemenin nereden geldiği serbest metin değildir. Ayrı ana veri kayıtları vardır: bir tarafta kategorili ürünler, diğer tarafta kendi ana verisi olan envanter malzemesi. Bir talep, türüne göre birine ya da diğerine erişir ve ölçü birimi elle yazılmak yerine ana veriden alınır. Analiz edilebilir bir liste ile bir not yığını arasındaki fark budur.
Her talebin bir durumu vardır ve projede görünür kalır. Uygulama malzeme ihtiyacını ve malzeme ana verilerini kapsar; satın alma süreçleri ve depo kayıtları kapsamın dışındadır.
İnşaat sektörüne özgü iş süreçleri.
İnşaat iş süreçlerine özgü gereksinimler, sistemin yapısını bu aşamada belirler.
İnşaatta hakediş, faturanın özel bir hâli değil, ayrı bir belge türüdür: belirli bir dönemde, belirli bir firma tarafından, belirli bir projede gerçekleştirilen ve hesaba dökülen iş. Tam olarak bu şekilde modellenmiştir: firma, tutar, belge numarası, tarih ve ekler için kendi formu, kendi listesi, projede kendi alanı ve kendi toplamı olan ayrı bir talep türü. Durum modeli planlama onayını muhasebe onayından ayırır ve itirazlı hakediş için ayrı bir durum sunar. Bir hakedişi daha önce müzakere etmiş olan herkes, tam da bu üçüncü durumun neden bir uç durum olmadığını bilir. Bu, katılımcıların yürüttüğü bir durum modelidir; zorlayıcı bir iş akışı kontrolü değil.
Bunun yanında ödeme planı yer alır. Teklifte oluşur, projeye taşınır ve vadeli planlı taksitlerden oluşur. Tahsilatlar bu taksitlerle eşleştirilir; ödemenin ne ölçüde gerçekleştiği, planlanan tutar ile gelen ödemenin karşılaştırılmasından çıkar.
Hesaplar iki para birimiyle, Türk lirası ve ABD doları ile yapılır. Bir teklif, ödeme planı, fatura veya proje belgesi kaydedilirken Türkiye Cumhuriyet Merkez Bankası'nın günlük kuru belgeye işlenir; böylece hangi kurla çalışıldığı izlenebilir kalır. Raporlar lirayı ve doları ayrı seriler olarak tutar.
Teknik olarak yeniden kuruldu, iş mantığı olarak devam etti.
Platformun ilk sürümü, sunucu tarafında oluşturulan tablolar ve formlarla Laravel 9 üzerinde çalışıyordu. Mart 2023'te teknik temel yeniden kuruldu: O zamandan beri Laravel 10 bir JSON API sunuyor; arayüz ise modülleri backend ile aynı iş alanlarını yansıtan bağımsız bir Vue 3 uygulaması.
Teknik açıdan bu bir yeniden inşaydı, iş mantığı açısından değil. Teklif, proje, malzeme talebi, hakediş ve ödeme planı, şirketin çalıştığı alanlar olarak kaldı; platformun bakımı da bundan sonra dışa aktarmalar, raporlardaki düzeltmeler ve hata gidermeyle sürdü.
Bunun içinde, bir arayüze bakarak görülmeyen şeyler de var: büyük tabloların sunucu tarafında filtrelenmesi, aranması ve sıralanması; her belge türü için ayrı numara serileri; projelere ve taleplere dosya ekleri; iş olaylarının kaydının yanında önceki ve sonraki değerleri tutan bir değişiklik kaydı.
Böyle bir sistem neden hazır alınmaz?
Sonunda şu soru kalır: Bir inşaat şirketi neden kendine özel bir uygulama geliştirtir? Cevap nadiren piyasada hiçbir şey olmamasıdır; aksine çok şey vardır. Cevap, standart yazılımın kendi modelini de beraberinde getirmesidir: bir teklifin, bir projenin ve bir hakedişin nasıl görünmesi gerektiğine dair bir anlayış. Kendi süreçleriniz öngörülen süreçlerle örtüştüğü sürece bu bir avantajdır.
Burada kurgu farklıydı. Maliyet hesabı, şantiye yönetimi, muhasebe ve yönetim kendi alanlarını bulur ve dördü de aynı projeyi görür. Ortaya çıkan evrensel bir ERP değildir ve öyle olmak da istemez: ne genel muhasebe, ne stok yönetimi, ne de bir yazılım paketi. Anademir'in projelerini yönettiği sistemdir.
Batunet platformu 2021'den itibaren geliştirdi ve geliştirme, destek ve hata giderme dahil olmak üzere birkaç yıl boyunca bakımını üstlendi. Yazılı çerçeve sözleşme daha sonra eklendi ve zaten var olan modülleri tanımladı. İşin içinden doğan yazılımlarda olağan seyir budur: Önce ortaya çıkar, sonra adı konur.
Bu projeyle ilgili hizmetler.
Bu projeyle ilgili sorular
Batunet inşaat şirketleri için özel ERP yazılımı geliştiriyor mu?
Evet, özel yazılım olarak. Anademir için geliştirilen platform buna bir örnektir: teklif ve maliyet hesabı, kalemli projeler, malzeme talepleri, hakediş, ödeme planları, belge yönetimi, dokümanlar, roller ve raporlar; tek bir uygulamada, ortak bir veri modeli üzerinde. Evrensel bir ERP değildir ve muhasebe yazılımının yerini almaz; bir şirketin kendi süreçlerini yönettiği sistemdir.
Özel yazılım ne zaman standart bir ERP'den daha mantıklıdır?
Kendi kurallarınız tarihin bir tesadüfü değil de başarınızın nedeni olduğunda. Standart yazılım kendi modelini beraberinde getirir; kendi süreçleriniz öngörülen süreçlerle örtüştüğü sürece bu bir avantajdır. Standardı uyarlamak kendi uygulamanızdan daha pahalı hâle geldiğinde ya da tam da işinizi oluşturan kuralları eğip büktüğünde hesap tersine döner.
İnşaat projelerinin operasyonel ve ticari verileri tek bir uygulamada nasıl birleştirilir?
Araçlar arası entegrasyonlarla değil, ortak bir iş dayanağıyla. Bu projede dayanak noktası projedir: Teklif, kalemler, malzeme ihtiyacı, hakediş, tahsilatlar ve dokümanlar veri modelinde aynı kayda işaret eder. İş alanları, bütünlüğü kaybetmeden ayrı ayrı geliştirilebilir kalır.
Mevcut tablo tabanlı ve manuel süreçler özel bir uygulamaya aktarılabilir mi?
Evet; ilk adım genellikle bir veri aktarımıdır: Uygulamanın baştan itibaren gerçek verilerle çalışması için ürün ve malzeme ana verileri mevcut tablolardan içe aktarılır. Sonrasını kurgu belirler. Elle yazılmak yerine ana veriden alınan veriler, analiz edilebilir bir liste ile dijitalleştirilmiş serbest metin arasındaki farktır.
Mevcut bir inşaat projesi yazılımı adım adım genişletilebilir mi?
Bu, kurguya bağlıdır. Bir uygulama iş alanlarına göre ayrılmışsa yeni bir alan, tüm sisteme yapılan bir operasyon değil, yerel bir eklemedir; bu ayrım tam da bunun içindir. Bu projede platform aşamalar hâlinde büyüdü; 2023'te ayrıca teknik temel yenilendi, iş alanları ise korundu.
İlgili teknik içerikleri inceleyin.
Konuyu derinleştiren kavramları, mimari kararları, uygulama kılavuzlarını ve değerlendirmeleri birlikte inceleyin.
