FIFO-Inventarkalkulation

Hier ist ein interessanter Artikel, den ich für mein Projekt nützlich fand:

Set-based Speed ​​Phreakery: Das FIFO Stock Inventory SQL-Problem:

Bestandsliste, anhand derer wir die Bewegungen der Bestände in unserem imaginären Lager verfolgen können. Unser Lager ist anfangs leer, und der Lagerbestand wird dann als Ergebnis eines Lagerbestandskaufs (tranCode = 'IN') oder aufgrund einer nachfolgenden Rückgabe (tranCode = 'RET') in das Lager eingezogen, und der Lagerbestand verlässt das Lager, wenn es ist verkauft (tranCode = 'OUT'). Jeder Lagertyp wird durch eine ArticleID gekennzeichnet. Jede Lagerbewegung innerhalb oder außerhalb des Lagers aufgrund eines Kaufs, Verkaufs oder einer Rückgabe eines bestimmten Artikels führt dazu, dass der Bestandsliste eine Zeile hinzugefügt wird, die durch den Wert in der Spalte StockID identity eindeutig gekennzeichnet ist und die Anzahl beschreibt Artikel wurden hinzugefügt oder entfernt, der Preis für Einkäufe, das Datum der Transaktion und so weiter.

Obwohl ich dies in meinem laufenden Projekt verwende, bin ich bei der Frage geblieben, wie ich den Preis für jede Transaktion 'OUT' berechnen kann. Ich muss diesen Wert haben, um zu bestimmen, wie viel ich meinen Kunden in Rechnung stelle.

Fügen Sie zuerst 5 Äpfel (jeweils 10,00 USD) zum Vorrat hinzu, insgesamt also 50,00 USD

Fügen Sie 3 Äpfel (je $ 20.00) zu dem Bestand von 8 Äpfeln hinzu, zu einem Gesamtpreis von $ 110.00

Nehmen Sie dann 6 Artikel heraus (5 für jeweils 10,00 USD und 1 für jeweils 20,00 USD). Insgesamt 70 USD

Nach der Transaktion bleiben 2 Äpfel à 20 USD mit einem Gesamtbetrag von 40 USD übrig

 Here's my current table
 Item    transaction code    qty     price   
 apple   IN                    5     10.00    
 apple   IN                    3     20.00   
 apple   OUT                   6          

 Manual computation for the OUT transaction price (FIFO)
 QTY     price   total price 
 5       10.00   50.00 
 1       20.00   20.00 
 TOTAL:6         70.00 

 Output of the script:
 Item    CurrentItems   CurrentValue
 apple   2            40.00

 What I need:
 Item    transaction code    qty     price   CurrentItems    CurrentValue 
 apple   IN                    5     10.00   5               50.00 
 apple   IN                    3     20.00   8               110.00 
 apple   OUT                   6             2                   40.00 

 This too will be OK
 Item    transaction code    qty     price   CurrentItems    
 apple   IN                    5     10.00   0               
 apple   IN                    3     20.00   0                
 apple   OUT                   6         70 

Das Skript, das den Wettbewerb gewonnen hat, war sehr nützlich. Ich hoffe, jemand kann mir helfen, den Preis pro 'OUT'-Transaktion zu ermitteln

Antworten auf die Frage(5)

Ihre Antwort auf die Frage