diff --git a/doc/lfun/QueryBuyValue b/doc/lfun/QueryBuyValue
new file mode 100644
index 0000000..261a435
--- /dev/null
+++ b/doc/lfun/QueryBuyValue
@@ -0,0 +1,52 @@
+QueryBuyValue()
+
+Funktion:
+    static varargs int QueryBuyValue(mixed ob, object client)
+
+Definiert in:
+    /std/room/shop
+
+Argumente:
+    ob: 
+      Das zu kaufende Objekt (String oder object).
+      Im Normalfall handelt es sich um ein Objekt. Ausnahme sind 
+      Gegenstaende, die mit AddFixedObject() hinzugefuegt wurden.
+    client: 
+      Der Kaeufer.
+
+Beschreibung:
+    Ermittelt den Preis, den <client> fuer <ob> zu bezahlen hat.
+
+Rueckgabewert:
+    Der Preis als Integer.
+
+Beispiel:
+    Ein Haendler, der Spielern die ihm geholfen haben einen Rabatt von 10% 
+    gewaehrt:
+    
+    object *helpers;
+    protected void create()
+    {
+      ::create();
+      helpers=({});
+      ...
+    }
+    
+    static varargs int QueryBuyValue(mixed ob, object client)
+    {
+      if(member(helpers,client)!=-1)
+      {
+        return ::QueryBuyValue(ob,client)*9/10;
+      }
+      return ::QueryBuyValue(ob,client);
+    }
+
+Siehe auch:
+    Funktionen:
+      AddFixedObject(), RemoveFixedObject(), SetStorageRoom(), 
+      QueryStorageRoom(), QueryBuyFact(), sell_obj(), buy_obj()
+    Properties:
+      P_KEEPER, P_MIN_STOCK, P_STORE_CONSUME
+
+------------------------------------------------------------------------------
+Letzte Aenderung: 21.05.2014, Bugfix
\ No newline at end of file
