S.A.
Tüm forma kolay gelsin...
Uzun süredir kafamı karıştıran ama hala sağlıklı bir cevap bulamadığım bir sorunum var.
Şimdi ürün girişi yapılıyor ve giriş fiyatı belirleniyor.Ürün çıkışı yapılacağında da girilen oran doğrultusunda (%10 , %20 gibi) giriş fiyatı üzerine eklenerek satış fiyatı belirleniyor.
Benim takıldığım nokta ise ürünün giriş fiyatını ve kar oranını nerede tutacağım...
Şimdilik oranı ve giriş fiyatını stok kart tablosunda tutuyorum ve ürün girişi yapıldığında stok kartta ki fiyatı güncelliyorum...
Bağlantılı olarak stok hareket tablosunda da giriş tarihi,giriş fiyatı, giriş adedi,çıkış tarihi ,çıkış fiyatı, çıkış adedi alanlarını tutuyorum ve hesaplamaları bu alanlara göre yapıyorum.(çıkış tutarı ,giriş tutarı ,stok kalan hesaplamalarını)
İzlediğim yol veritabanını çok şişiriyor diye düşünüyorum ve siz üstadlarımdan mantık konusunda yardım rica ediyorum.(DBASE veritabanı kullanıyorum)
Formu karıştırırken FİFO mantığıyla karşılaştım ve biraz birşeyler anladım.Ama konuyla ilk defa karşılaştığım için tam olarak çözemedim.
Kayıtlar güncelleniyor mu? yoksa yeni kayıtlar mı ekleniyor.
viewtopic.php?t=241&highlight=stok+hareket
Tüm forma şimdiden çok teşekkür ederim...
FİFO mantığı ve ürün fiyatı
-
- Üye
- Mesajlar: 330
- Kayıt: 09 Mar 2004 11:18
- Konum: Konya
- İletişim:
Muhasebeyle çok fazla uğraşmadım, eminim bu konuyu benden daha fazla bilen burda çok kişi vardır ama cüzzi birikimimi paylaşayım.
Bir ürününün satış fiyatını belirlenken üç yol izleniyo
FIFO = first in first out (İlk giren ilk çıkar)
LIFO = Last in First out (son giren ilk çıkar)
Ortalama fiyat
Bir malın fiyatlandırmasını FIFO yapmak demek, bundan sonra malın ilk girdiği fiyattan satılacağı anlamına gelir. LIFO ise son girdiği fiyattan. "Ortalama"da şimdiye kadarki tüm giriş fiyatlarının ortalaması alınarak satış fiyatı hesaplaması demek.
Database tasarımına gelince
Stok hareketi tablosunda satış fiyatı alanı olmasın. Satış fiyatınıda yukarda belirttiğim kıstasların birini seçerek Stok hareket tablosundaki giriş fiyatlarına bakıp dinamik olarak belirle.
Umarım yardımcı olabilmişimdir.
Kolay gelsin
Bir ürününün satış fiyatını belirlenken üç yol izleniyo
FIFO = first in first out (İlk giren ilk çıkar)
LIFO = Last in First out (son giren ilk çıkar)
Ortalama fiyat
Bir malın fiyatlandırmasını FIFO yapmak demek, bundan sonra malın ilk girdiği fiyattan satılacağı anlamına gelir. LIFO ise son girdiği fiyattan. "Ortalama"da şimdiye kadarki tüm giriş fiyatlarının ortalaması alınarak satış fiyatı hesaplaması demek.
Database tasarımına gelince
Stok hareketi tablosunda satış fiyatı alanı olmasın. Satış fiyatınıda yukarda belirttiğim kıstasların birini seçerek Stok hareket tablosundaki giriş fiyatlarına bakıp dinamik olarak belirle.
Umarım yardımcı olabilmişimdir.
Kolay gelsin
bu daha çok maliyet hesabı ile alakalı bir olay.
Bazı ürünlerde bozulma durumunu da dikkate alarak (meyve, sebze, yiyecek vs.) ilk önce gelen ürünler sevkedilir.
Ancak ürünlere maliyet hesabı yaparken bu bekleme süresinde yaptığınız masraflarıda dahil etmeniz gerekir. Depo masrafları vs. gibi. Buna göre mecburen ürünün ne zaman girdiğini vs. tutmak zorundasınız. Bunlar şişmeye yol açmaz merak etmeyin.
Kolay gelsin.
Bazı ürünlerde bozulma durumunu da dikkate alarak (meyve, sebze, yiyecek vs.) ilk önce gelen ürünler sevkedilir.
Ancak ürünlere maliyet hesabı yaparken bu bekleme süresinde yaptığınız masraflarıda dahil etmeniz gerekir. Depo masrafları vs. gibi. Buna göre mecburen ürünün ne zaman girdiğini vs. tutmak zorundasınız. Bunlar şişmeye yol açmaz merak etmeyin.
maça 5-0 yenik başlıyorsun, kazanman çok zor.(DBASE veritabanı kullanıyorum)
Kolay gelsin.
bu konu tam da benim ilgi alanım
FIFO : first in first out (ilk giren ilk çıkar)
LIFO : last in first out (son giren ilk çıkar)
Ortalama maliyet : adından belli
yürüyen ağırlıklı ortlama : adından belli
son giriş fiyatı : adından belli
bunlar maliyet hesaplama yöntemleri, bunlar ın üzerine bi kar oranı koyup satış fiyatını hesaplarsın. kar oranını stok kartında tutmanı, alış fiyatı (daha doğrusu buna maliyet fiaytı diyelim) için bi yere bi parametre koyup bunu kullanıcının tercihine bırakmanı ve o tercihe göre satış fiyatı hesaplatmanı öneririm ama maliyet fiyatı dinamik bir değer olduğu stok kartında sabit olarak saklaman sorun olabilir. her defasında yeniden hesaplamanda fayda var.
şimdi bir örnek le açıklayalım ;
HAREKETLER ;
TARIH.........STOKKODU......BIRIMFIYAT...GIREN...CIKAN
01.01.2004..153-01-001......1000.............100.......0........
05.01.2004..153-01-001......1100.............120.......0........
01.02.2004..153-01-001......1250.............0...........60......
10.02.2004..153-01-001......1050.............50.........0........
20.02.2004..153-01-001......1250.............0...........120....
BAKIYE : 90 adet .
diyelim ki bunlar hareketlerimiz ;
FIFO için maliyet ;
1000 liradan gelen malların tamamı satıldığı için ilk kayıtı gözardı ediyoruz.
1100 liradan gelen malların 80 tanesi satılmış 40 tanesi kalmış ;
40*1100 = 44000
1050 liradan alınan 50 malda duruyor ;
50*1050 =52500
maliyet := (52500+44000) / 90 ;
maliyet := 1072.22
FIFO için maliyet ;
sadece ilk gelen malın 90 adedi elimizde kalmış diğer son gelenler satılmış olarak gözüküyor bu durum da maliyet ilk gelen malın maliyetine eşit ;
maliyet := 1000
ortalama maliyet ;
maliyet := ((1000*100)+(1100*120)+(50*1050)) / 270 ;
maliyet := 1053.70
hepsinde farklı değerlere ulaşıyorsun. görüldüğü gibi. aslında bu maliyet hesaplamaları ticari mal hesaplarının maliyet hesaplarına yansıtılmasında daha çok kullanılan araçlar . satış fiyatı belirleme konusunda en geçerli maliyet sistemi tabi ki uygulamada en pahalı maliyet neyse odur. yani örneğimiz de 1100 liradan alınan mallar hala depoda iken işletme o malın satış fiyatını belirlerken 1100 lira maliyeti kullanacaktır. tersi durumda yani son giriş fiyatı en yüksek maliyet ise o maliyeti hesaplamaya esas olarak kullanacaktır.
bana göre bu konuda en sağlıklı yol FIFO gibi görünüyor.
LIFO : last in first out (son giren ilk çıkar)
Ortalama maliyet : adından belli
yürüyen ağırlıklı ortlama : adından belli
son giriş fiyatı : adından belli
bunlar maliyet hesaplama yöntemleri, bunlar ın üzerine bi kar oranı koyup satış fiyatını hesaplarsın. kar oranını stok kartında tutmanı, alış fiyatı (daha doğrusu buna maliyet fiaytı diyelim) için bi yere bi parametre koyup bunu kullanıcının tercihine bırakmanı ve o tercihe göre satış fiyatı hesaplatmanı öneririm ama maliyet fiyatı dinamik bir değer olduğu stok kartında sabit olarak saklaman sorun olabilir. her defasında yeniden hesaplamanda fayda var.
şimdi bir örnek le açıklayalım ;
HAREKETLER ;
TARIH.........STOKKODU......BIRIMFIYAT...GIREN...CIKAN
01.01.2004..153-01-001......1000.............100.......0........
05.01.2004..153-01-001......1100.............120.......0........
01.02.2004..153-01-001......1250.............0...........60......
10.02.2004..153-01-001......1050.............50.........0........
20.02.2004..153-01-001......1250.............0...........120....
BAKIYE : 90 adet .
diyelim ki bunlar hareketlerimiz ;
FIFO için maliyet ;
1000 liradan gelen malların tamamı satıldığı için ilk kayıtı gözardı ediyoruz.
1100 liradan gelen malların 80 tanesi satılmış 40 tanesi kalmış ;
40*1100 = 44000
1050 liradan alınan 50 malda duruyor ;
50*1050 =52500
maliyet := (52500+44000) / 90 ;
maliyet := 1072.22
FIFO için maliyet ;
sadece ilk gelen malın 90 adedi elimizde kalmış diğer son gelenler satılmış olarak gözüküyor bu durum da maliyet ilk gelen malın maliyetine eşit ;
maliyet := 1000
ortalama maliyet ;
maliyet := ((1000*100)+(1100*120)+(50*1050)) / 270 ;
maliyet := 1053.70
hepsinde farklı değerlere ulaşıyorsun. görüldüğü gibi. aslında bu maliyet hesaplamaları ticari mal hesaplarının maliyet hesaplarına yansıtılmasında daha çok kullanılan araçlar . satış fiyatı belirleme konusunda en geçerli maliyet sistemi tabi ki uygulamada en pahalı maliyet neyse odur. yani örneğimiz de 1100 liradan alınan mallar hala depoda iken işletme o malın satış fiyatını belirlerken 1100 lira maliyeti kullanacaktır. tersi durumda yani son giriş fiyatı en yüksek maliyet ise o maliyeti hesaplamaya esas olarak kullanacaktır.
bana göre bu konuda en sağlıklı yol FIFO gibi görünüyor.
Selamlar,
Ben de bir fikir vermesi açısından öneri yapacağım. Alış fiyatını stok kartı üzerinde tutarsan fiyat değişikliklerinde önceki fiyatlar konusunda sıkıntı yaşarsın bu sebeple, Fiyat Sirkülerleri denen olayı uygulamasın.
Yani her malın fiyatını, hangi tarihler arasında geçerli olduğunun belirtildiği bir table'a at ve fiyat değişikliklerinde yeni bir Fiyat Sirkülerl'leri oluştur.
Geriye dönük raporlamalarında o mal hangi tarihte satıldı ysa veya o satışı hangi Sirkülerlere bağlı olarak yaptıysanız çok rahatlıkla erişebilirsiniz.
Ayrıca bir başka avantajı da Müştweri sınıflandırmaları yapıldığında (ABC analizinda) A Sınıfı müşterilere uygulanacak standard fiyatlarınızla B sınıf müşterilere uygulanacak standard fiyatlarınızı da istediğiniz gibi farklılaştırıp sistemde rahatlıkla kullanabilirsiniz.
Yıllardır bu tarz programlar yazdım ve en güzel mantık Fiyat Sirkülerleri mantığı olarak gördüm (Bence).
Tavsiye ederim.
Kolay Gelsin.
Ben de bir fikir vermesi açısından öneri yapacağım. Alış fiyatını stok kartı üzerinde tutarsan fiyat değişikliklerinde önceki fiyatlar konusunda sıkıntı yaşarsın bu sebeple, Fiyat Sirkülerleri denen olayı uygulamasın.
Yani her malın fiyatını, hangi tarihler arasında geçerli olduğunun belirtildiği bir table'a at ve fiyat değişikliklerinde yeni bir Fiyat Sirkülerl'leri oluştur.
Geriye dönük raporlamalarında o mal hangi tarihte satıldı ysa veya o satışı hangi Sirkülerlere bağlı olarak yaptıysanız çok rahatlıkla erişebilirsiniz.
Ayrıca bir başka avantajı da Müştweri sınıflandırmaları yapıldığında (ABC analizinda) A Sınıfı müşterilere uygulanacak standard fiyatlarınızla B sınıf müşterilere uygulanacak standard fiyatlarınızı da istediğiniz gibi farklılaştırıp sistemde rahatlıkla kullanabilirsiniz.
Yıllardır bu tarz programlar yazdım ve en güzel mantık Fiyat Sirkülerleri mantığı olarak gördüm (Bence).
Tavsiye ederim.
Kolay Gelsin.
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Haaa unutmadan,
Admin'im Mustafa'mın dediği de çok doğru hatta az bile
Bence 12-0 hükmen malup görünüyorsun !.... DBASE'i değiştir Mümkünse RDBMS kullan mesela FireBird !!!!
Kolay Gelsin.
Admin'im Mustafa'mın dediği de çok doğru hatta az bile

Kolay Gelsin.
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
-
- Üye
- Mesajlar: 330
- Kayıt: 09 Mar 2004 11:18
- Konum: Konya
- İletişim:
S.A.
İlginizden dolayı çok teşekkür ederim.Kusura bakmayınız.Bir süredir şehir dışındaydım.Bu nedenle geç cevap verdim
Şimdilik 5 -3
Bir süre interbase ile uğraştım ,deneme için projeler oluşturdum ama hala
yetersizim. O nedenle rahat sorğulama yapabildiğim ve sorunları cok daha kolay aştığım için şimdilik DBASE 'de devam.Ne zaman kendimi hazır hissedersem o zaman ateş kuşuyla uçabilirim.
Verdiğiniz bilgiler ışığında ve kullandığım veri tabanını da hesaba katarak en mantıklı çıkış yolu sayın Kuri_TLJ nin tavsiyesi gibi ayrı bir tablo geldi...
İlgilenen Tüm Üstadlara teşekkür ederim.
İlginizden dolayı çok teşekkür ederim.Kusura bakmayınız.Bir süredir şehir dışındaydım.Bu nedenle geç cevap verdim
Sayın Mustafa Hocam dediğiniz doğru ama ben de 0 değilim.maça 5-0 yenik başlıyorsun, kazanman çok zor
Şimdilik 5 -3

Bir süre interbase ile uğraştım ,deneme için projeler oluşturdum ama hala
yetersizim. O nedenle rahat sorğulama yapabildiğim ve sorunları cok daha kolay aştığım için şimdilik DBASE 'de devam.Ne zaman kendimi hazır hissedersem o zaman ateş kuşuyla uçabilirim.
Verdiğiniz bilgiler ışığında ve kullandığım veri tabanını da hesaba katarak en mantıklı çıkış yolu sayın Kuri_TLJ nin tavsiyesi gibi ayrı bir tablo geldi...
İlgilenen Tüm Üstadlara teşekkür ederim.
Arkadaşlar eski bir konuyu ısıtma ihtiyacı hasıl oldu
Zaten konu da tam çözüme kavuşmamıştı.
Sorun FIFO (First In First Out - İlk Giren İlk Çıkar) mantığı. Her ne kadar sözle tarif etmeye çalışmış olsak da, şu başlıkda da konuşmuşuz, olayın veritabanı (firebird) tarafını tasarlayamadım. Yazmaya çalıştığı SP ile giren bir miktarı yedirerek eksiltilmesi gerekiyor (fiyatına göre). Bunun için de çıkışları bölerek işlemek gerekiyor sanırım
Bu işi için biraz daha somut bilgilere ihtiyacım var 

Sorun FIFO (First In First Out - İlk Giren İlk Çıkar) mantığı. Her ne kadar sözle tarif etmeye çalışmış olsak da, şu başlıkda da konuşmuşuz, olayın veritabanı (firebird) tarafını tasarlayamadım. Yazmaya çalıştığı SP ile giren bir miktarı yedirerek eksiltilmesi gerekiyor (fiyatına göre). Bunun için de çıkışları bölerek işlemek gerekiyor sanırım


Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!