Yazılarımız

Veri Akademi

HAKEDİŞTE FİYAT FARKI HESAPLARINI STANDARTLAŞTIRMAK

Hakediş süreçlerinde en çok tartışma yaratan kalemlerden biri, hiç kuşkusuz fiyat farkı hesaplarıdır. Aynı proje içinde bile farklı dönemlerde farklı yöntemlerle yapılan hesaplar, hem yüklenici hem idare tarafında güven kaybına ve zaman kaybına neden olur.

Oysa fiyat farkı; doğru veri, doğru endeks, doğru dönem ve doğru formül ile ele alındığında, tamamen denetlenebilir ve standart bir çıktıya dönüşebilir. Buradaki kritik nokta, hesaplamayı “kişiye bağlı” olmaktan çıkarıp “kurala bağlı” hale getirmektir.

Bu yazıda, hakedişte fiyat farkı hesaplarını standartlaştırmak için pratik bir çerçeve kuracağız; veri modelinden kontrol adımlarına, örnek kod bloklarından raporlama düzenine kadar uçtan uca bir yaklaşım sunacağız.


Hakedişte fiyat farkı standartlarını tanımlamak ve bağlamak

Standartlaştırmanın ilk adımı, “hangi kurala göre hesap yapılacağı”nı netleştirmekle başlamalıdır. Çünkü fiyat farkı; sözleşme, şartname, ilgili mevzuat, endeks seti ve uygulama dönemi gibi birden fazla kaynağa bağlıdır.

Bu noktada bir hesap standardı dokümanı oluşturmak gerekir. Bu doküman; proje özelindeki sözleşme maddelerini, kullanılacak endeksleri, dönem tanımlarını ve istisna durumlarını tek bir yerde toplamalıdır.

Standart metinler yazılırken yorumlanabilir alanları minimuma indirmek önemlidir. Örneğin “dönem bazında endeks alınır” ifadesi tek başına yeterli değildir; “hangi ayın endeksi, hangi ayın hakedişi için alınır” netleşmelidir.

Sözleşme maddelerini hesap kurallarına dönüştürmek

Çoğu ekip sözleşmeyi yalnızca PDF olarak saklar; ancak hesap standardı için sözleşme maddelerinin “kural cümlelerine” çevrilmesi gerekir. Bu dönüşüm; denetimde, itiraz süreçlerinde ve yazılım otomasyonunda ciddi kolaylık sağlar.

Endeks setini ve dönem eşlemesini netleştirmek

Endekslerin hangi kaynaklardan alındığı (örneğin TÜİK, Yİ-ÜFE, özel sektör endeksleri), hangi alt kırılımların kullanılacağı ve hangi dönemle eşleneceği bir tablo halinde tanımlanmalıdır. Bu tablo, hesaplamanın temel referansı olmalıdır.

Sözleşme kuralları, endeks tablosu ve dönem eşlemesini tek şemada birleştiren süreç akışı

Veri modelini izlenebilir hale getirmek ve kilitlemek

Fiyat farkı hesaplarının standardı, yalnızca formül standardı değildir; aynı zamanda veri standardıdır. Hesaplamaya giren her satırın hangi kaynaktan geldiği ve hangi döneme ait olduğu açıkça izlenebilir olmalıdır.

Burada önerilen yaklaşım; hakediş kalemlerini “iş kalemi + miktar + birim fiyat + dönem + endeks parametreleri” şeklinde normalize ederek saklamaktır. Böylece hesaplamanın girdileri değiştiğinde, hangi satırların etkilendiği kolayca bulunur.

En kritik konulardan biri de “revizyon yönetimi”dir. Endeks güncellemesi, sözleşme eki değişimi veya yanlış veri düzeltmesi gibi durumlarda; eski hesaplar kaybolmamalı, versiyonlanmış olarak saklanmalıdır.

Hakediş satırlarını normalize ederek saklamak

Normalize bir yapı; raporlama, kontrol ve otomasyon için temel sağlar. Aksi halde Excel içinde kopyala-yapıştır ile çoğalan tablolar, standartlaştırmayı imkânsız hale getirir.

Versiyonlama ve audit trail mantığını kurmak

Fiyat farkı hesapları itiraz süreçlerinde sıkça gündeme gelir. Bu nedenle, her hesap çıktısının hangi girdilerle üretildiği ve hangi tarihte onaylandığı kaydedilmelidir. Bu kayıtlar, ileride denetimde “kanıt” olarak kullanılmalıdır.


Formül standardını oluşturmak ve test edilebilir kılmak

Birçok kurumda fiyat farkı formülleri farklı Excel dosyalarında dağınık halde yaşar. Standartlaştırma için formülün tek bir kaynaktan yönetilmesi ve test edilebilir olması gerekir.

Bu aşamada hedef; formülü “kod gibi” ele almaktır. Yani formül; sürüm kontrolü yapılabilir, test senaryoları ile doğrulanabilir, değişiklikleri izlenebilir bir varlık olmalıdır.

Özellikle büyük projelerde, formül sapmaları küçük görünse bile aylar içinde ciddi tutar farklarına yol açabilir. Bu nedenle, standart formül seti hem matematiksel hem de dönem mantığı açısından doğrulanmalıdır.

Formülü tek kaynaktan yönetmek ve çoğaltmamak

İdeal yaklaşım; formülün bir şablon veya servis katmanı olarak tanımlanmasıdır. Böylece aynı proje içinde farklı ekiplerin farklı dosyalarla farklı sonuç üretmesi engellenir.

Örnek bir fiyat farkı hesap fonksiyonu yazmak

Aşağıdaki örnek, hakediş satırlarından fiyat farkı hesaplamak için basit bir yaklaşımı gösterir. Gerçek projelerde mevzuat ve sözleşme detayları daha karmaşık olabilir; ancak standartlaştırma mantığı aynıdır.

// Basit fiyat farkı hesap örneği (temsilidir)
// baseIndex: baz dönem endeksi
// currentIndex: hakediş dönemi endeksi
// amount: iş kalemi tutarı (KDV hariç)
// weight: endeks ağırlığı (0-1 arası)

function calculatePriceDifference({ baseIndex, currentIndex, amount, weight }) {
  if (!baseIndex || !currentIndex) return 0;
  const ratio = currentIndex / baseIndex;
  const diff = amount * weight * (ratio - 1);
  return Math.round(diff * 100) / 100;
}

// Örnek kullanım
const row = { baseIndex: 850.2, currentIndex: 1020.6, amount: 125000, weight: 0.65 };
console.log(calculatePriceDifference(row));

Kontrol listesi ile hesapları doğrulamak ve onaylamak

Standart bir hesap, yalnızca doğru formül ile değil; doğru kontrol adımları ile güvenilir hale gelir. Bu nedenle hesap standardının yanında bir kontrol listesi de tanımlanmalıdır.

Kontrol listesi; proje yöneticisi, mali işler, hakediş mühendisi ve denetim ekipleri tarafından aynı şekilde uygulanmalıdır. Böylece “kişiye göre kontrol” değil, “kurala göre kontrol” sağlanır.

Hesap kontrol adımlarını kurumsal rutine bağlamak

Kontrol adımları; dönem doğrulama, endeks doğrulama, iş kalemi eşleştirme, tutar doğrulama, yuvarlama kontrolü ve rapor bütünlüğü gibi başlıklardan oluşmalıdır.

  • Hakediş dönemi ile endeks dönemi eşleşmesini doğrulamak
  • İş kalemi baz dönemini sözleşmeye göre kontrol etmek
  • Endeks değerlerini kaynağıyla birlikte arşivlemek
  • Yuvarlama ve küsurat kurallarını standartlaştırmak
  • Toplamların alt kırılımlarla tutarlı olmasını sağlamak

Hata sınıflandırması ile tekrarları azaltmak

Kontrollerde bulunan hatalar bir defterde tutulmalı ve sınıflandırılmalıdır. Örneğin “yanlış endeks”, “yanlış dönem”, “yanlış ağırlık”, “eksik iş kalemi” gibi kategorilerle kayıt alınmalıdır. Böylece aynı hata türleri tekrarlandığında, süreçte iyileştirme yapılabilir.

Hakediş satırları, endeks değerleri ve kontrol adımlarını gösteren tablo düzeni ve akış

Raporlama formatını standartlaştırmak ve anlaşılırlaştırmak

Fiyat farkı hesapları çoğu zaman doğru olsa bile, rapor formatı anlaşılmaz olduğunda itiraz doğar. Bu yüzden standartlaştırmanın önemli bir parçası da rapor tasarımıdır.

Rapor; hem teknik ekip hem idare tarafı hem de finans tarafı tarafından okunabilir olmalıdır. Bu, “tek rapor” yaklaşımıyla sağlanabilir: detay sayfaları teknik ekibe, özet sayfa karar vericiye hitap eder.

Özellikle raporda şu bilgiler net görünmelidir: dönem, baz dönem, endeksler, ağırlıklar, iş kalemi tutarı, hesaplanan fiyat farkı ve toplam.

Özet ve detay sayfalarını birlikte kurgulamak

Özet sayfada yalnızca toplamlar ve ana kırılımlar; detay sayfada ise satır bazlı hesaplar yer almalıdır. Bu yaklaşım, gereksiz tartışmaları azaltır.

Örnek bir rapor satırı formatı üretmek

Aşağıdaki örnek, rapor satırını JSON olarak üretip çıktı almayı gösterir. Böyle bir format; hem Excel’e hem PDF’e hem de web arayüzüne kolay taşınabilir.

// Rapor satırı üretim örneği (temsilidir)
function buildReportRow(item) {
  return {
    workItemCode: item.code,
    period: item.period,
    basePeriod: item.basePeriod,
    baseIndex: item.baseIndex,
    currentIndex: item.currentIndex,
    weight: item.weight,
    amount: item.amount,
    priceDifference: calculatePriceDifference(item)
  };
}

const exampleItem = {
  code: "A-12.04",
  period: "2026-01",
  basePeriod: "2025-07",
  baseIndex: 850.2,
  currentIndex: 1020.6,
  weight: 0.65,
  amount: 125000
};

console.log(buildReportRow(exampleItem));

Otomasyon stratejisini kurmak ve sürdürülebilirleştirmek

Standartlaştırmanın nihai hedefi; hesapları tamamen otomatik yapmak değil, kontrollü otomasyon sağlamaktır. Çünkü hakediş dünyasında istisnalar her zaman vardır.

Bu nedenle doğru strateji; önce veri standardını ve formül standardını kurmak, sonra otomasyon katmanını eklemektir. Aksi halde otomasyon, hatayı daha hızlı üretir.

Kurumsal ekipler için iyi bir yaklaşım; fiyat farkı hesaplarını bir “servis” gibi ele almak ve çıktıyı raporlama sistemlerine beslemektir. Böylece aynı hesap, farklı ekiplerce farklı biçimde üretilmez.

Servis yaklaşımıyla hesap standardını uygulamak

Fiyat farkı hesaplarını API veya modül mantığında tasarlamak; birim test yazmayı, versiyonlamayı ve değişiklik yönetimini kolaylaştırır. Bu yaklaşım, kurumsal yazılım ekiplerinin alışık olduğu disiplinleri hakediş süreçlerine taşır.

Eğitim ve dokümantasyon ile standardı yaygınlaştırmak

Standartlar yalnızca yazıldığında değil, öğretildiğinde yaşar. Bu yüzden ekiplerin aynı dili konuşması gerekir. Bu konuda daha sistematik bir yaklaşım için hakediş ve kesin hesap eğitimini incelemek, süreç sahipleri için faydalı olabilir.

Bir yazılım ekibinin fiyat farkı hesap modülünü test ederek sürümlediği çalışma ortamı

Sonuç: standartlaştırmayı süreç ve kültür haline getirmek

Hakedişte fiyat farkı hesaplarını standartlaştırmak; yalnızca formülü sabitlemek değildir. Bu iş; veri modelini izlenebilir yapmak, kontrol adımlarını kurmak, raporlamayı anlaşılırlaştırmak ve otomasyonu sürdürülebilir şekilde tasarlamakla tamamlanır.

Doğru kurulduğunda, fiyat farkı hesapları bir tartışma konusu olmaktan çıkar; güvenilir, denetlenebilir ve tekrarlanabilir bir çıktıya dönüşür. Böylece hem proje ekipleri hem de kurumsal karar vericiler için ciddi bir zaman ve maliyet avantajı oluşur.

En önemlisi de şudur: Standartlaştırma bir kez yapılıp bırakılacak bir iş değildir; proje boyunca disiplinle uygulanması gereken bir yönetim pratiğidir.

 CADSAY