Yazılımda Birim Dönüşümü: Adet, Koli ve Kilogram Hesabı
Bir ürün hem adet hem koli hem kilogram olarak alınıp satılıyorsa yazılımda tek bir ana birim seçilir ve diğer bütün birimler bu ana birime bir çarpanla bağlanır. Stok bakiyesi her zaman ana birimde saklanır; koli, palet ya da kilogram yalnızca giriş ve çıkış anında çevrilen görüntü birimidir. Bu ayrım kurulmadığında depo sayımı ile fatura miktarı tutmaz, pazaryerine yanlış stok gider ve iade satırları eksi bakiye üretir.
Ana birim bir tanedir, geri kalanı çarpandır
Ana birim, o ürünün stok bakiyesinin tutulduğu birimdir. Adetle sayılan bir ürün için ana birim adet, dökme satılan bir ürün için kilogram ya da litre olur. Koli, paket, düzine ve palet ana birimin katıdır; her biri tek bir sayıyla tanımlanır, yani bir kolinin kaç ana birim içerdiği ürün kartında yazılıdır. Bu sayıyı hareket ekranında kullanıcı elle yazmaz, yazılım ürün kartından okur.
Ana birimi sonradan değiştirmek, o ürünün bütün geçmiş hareketlerini yeniden hesaplamak demektir. Bu yüzden ana birim kararı ürün açılırken verilir ve kilitlenir. Gerçekten değişmesi gerekiyorsa ürün yeni kodla açılır, eski kod satışa kapatılır ve kalan bakiye bir sayım farkı belgesiyle yeni koda aktarılır.
Çarpan ürün kartında tanımlanır, hareket satırına kopyalanır
Çarpanın tek kaynağı ürün kartıdır, ancak belge kesilirken o anki çarpan hareket satırına da yazılır. Nedeni basit: tedarikçi koli içini değiştirirse kartta yeni çarpan tanımlanır, fakat geçmiş irsaliyeler eski çarpanla hesaplanmış olmalıdır. Çarpan yalnızca kartta tutulursa eski belgeler bir gecede yeniden hesaplanır ve kapanmış dönemin miktarları değişir.
- Ürün kartı: geçerli çarpan, görüntü birimleri ve hangi birimin satışta öntanımlı olduğu.
- Hareket satırı: kullanıcının girdiği miktar, girdiği birim, o anki çarpan ve çarpılmış ana birim miktarı.
- Stok bakiyesi: yalnızca ana birim miktarı; rapor ekranı isterse koliye çevirerek gösterir.
- Değişiklik kaydı: çarpan ne zaman, kim tarafından değiştirildi.
Örnek dönüşüm tablosu
Aşağıdaki tablo kurgusal bir ürün üzerinden düzeni gösterir; gerçek çarpanlar her ürünün kendi kartından okunur.
| Birim | Ana birime çarpan | Nerede kullanılır | Küsurat |
|---|---|---|---|
| Adet (ana birim) | 1 | Stok bakiyesi, sayım, maliyet | Yok, tam sayı |
| Koli | Koli içi adet sayısı | Mal kabul, depo transferi | Yarım koli satılacaksa adete dönülür |
| Palet | Palet içi koli x koli içi adet | Sevkiyat planı | Yok, tam sayı beklenir |
| Kilogram | Birim ağırlık üzerinden | Kargo ücreti, dökme satış | Ondalık izinli, hassasiyet tanımlanır |
Bir ürün dört satırın hepsini kullanmak zorunda değildir. Kullanılmayan birimi kartta tanımsız bırakmak, sıfır çarpan yazmaktan iyidir: sıfır çarpan bölme hatası ya da sessizce sıfır miktar üretir.
Küsurat ve yuvarlama, adet ile kilogramda aynı kurala uymaz
Adet tam sayıdır; yarım adet stok bir veri hatasıdır ve girişte engellenmelidir. Kilogram, litre ve metre ondalıklıdır, bu yüzden her birim için kaç ondalık basamak tutulacağı tanımlanır. Hassasiyet tanımı olmadan aynı miktar iki ekranda farklı görünür, toplamlar bir alt satırda tutmaz.
İkinci tuzak, dönüşümün hangi yönde yapıldığıdır. Koliden adete çıkmak çarpmadır ve kayıpsızdır; adetten koliye dönmek bölmedir ve artan adet kalır. Rapor koliye yuvarlıyorsa artan adetler gözden kaybolur. Çözüm, bölme sonucunu iki alanda göstermektir: tam koli sayısı ve artan adet. Yuvarlama yalnızca ekran için yapılır, stok bakiyesi hiçbir koşulda yuvarlanmış değerle güncellenmez.
Entegrasyonlar aynı birimi beklemez
Pazaryeri, kargo ve muhasebe tarafı genellikle üç farklı birim konuşur. Pazaryeri çoğunlukla satış birimini ister, kargo tarafı ağırlık ve hacim ister, muhasebe tarafı ise fatura biriminde miktar bekler. Bu yüzden her entegrasyon için hangi birimin gönderileceği ayrı ayrı eşlenir ve eşleme ürün kartındaki tanımdan türetilir.
- Pazaryerinde koli olarak listelenen ürünün stoğu, ana birim bakiyesinin koli karşılığıdır; artan adet gönderilmez.
- Kargo tarafına giden ağırlık, satılan miktar ile birim ağırlığın çarpımıdır; ambalaj farkı ayrı bir alanda tutulur.
- Muhasebe tarafına giden miktar ile fatura birimi birlikte gönderilir; yalnızca sayı göndermek mutabakatı bozar.
- Dönüşüm hesabı entegrasyon kodunun içine değil, tek bir ortak servise yazılır; aynı hesap üç yerde ayrı ayrı yazılırsa üçü zamanla ayrışır.
Kısa kontrol listesi
- Her ürünün tek bir ana birimi var mı, bu alan zorunlu mu?
- Çarpan ürün kartında mı tanımlı, hareket satırına kopyalanıyor mu?
- Çarpan değişikliği iz kaydına düşüyor ve geçmiş belgeleri etkilemiyor mu?
- Adet alanı tam sayı, ağırlık alanı tanımlı ondalık hassasiyetle mi kaydediliyor?
- Adetten koliye dönüşte artan miktar ayrı alanda görünüyor mu?
- Sayım, transfer ve fatura ekranları hangi birimi öntanımlı açıyor, kullanıcı birimi görebiliyor mu?
- Her entegrasyon için gönderilecek birim yazılı olarak eşlendi mi?
Özetle birim dönüşümü bir ekran sorunu değil, veri modeli sorunudur: tek ana birim, kartta tanımlı ve belgeye kopyalanan çarpan, birim başına tanımlı hassasiyet. KAV Yazılım, stok ve entegrasyon tarafında bu düzeni kurar ve mevcut sistemdeki birim karmaşasını tek ana birime indirir.
Sık sorulan sorular
Stok bakiyesi koli olarak tutulabilir mi?
Tedarikçi koli içi adedini değiştirirse ne yapmalı?
Kilogram ile adet aynı üründe birlikte kullanılabilir mi?
Birim dönüşümü hatasını nasıl fark ederiz?
- entegrasyon
- ölçü birimi
- stok yönetimi
- veri modeli
