FİFO mantığı ve ürün fiyatı

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

FİFO mantığı ve ürün fiyatı

Mesaj gönderen yusuf simsek »

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...
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
Kullanıcı avatarı
undefined
Moderator
Mesajlar: 565
Kayıt: 06 Eki 2003 12:01
Konum: Bursa
İletişim:

Mesaj gönderen undefined »

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
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7586
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

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.
(DBASE veritabanı kullanıyorum)
maça 5-0 yenik başlıyorsun, kazanman çok zor.

Kolay gelsin.
Misafir

bu konu tam da benim ilgi alanım

Mesaj gönderen Misafir »

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.
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2247
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

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.
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2247
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

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.
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Mesaj gönderen yusuf simsek »

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
maça 5-0 yenik başlıyorsun, kazanman çok zor
Sayın Mustafa Hocam dediğiniz doğru ama ben de 0 değilim.
Şimdilik 5 -3 :lol:

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.
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Arkadaşlar eski bir konuyu ısıtma ihtiyacı hasıl oldu :wink: 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 :?
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Cevapla