اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

السلام عليكم ورحمة الله تعالى وبركاته

سوف اقدم لكم اليوم ان شاء الله تعالى فكرة أتمتة عمليات البيع بكل الطرق (FIFO , LIFO , HighestPrice , LatestPrice)

ولكن أولا مقدمه بشكل نظرى عن هذه العبارة لتوضيح هذه المصطلحات

هى تعنى أن النظام أو البرنامج يقوم بشكل آلي (تلقائي) باختيار الكمية المناسبة من المخزون عند تنفيذ عملية البيع، بناءً على طريقة معينة

وذلك لتحديد أي دفعة (Batch) من المخزون سيتم السحب منها.

هذه الطرق هي ما تُعرف بـ "سياسات تقييم المخزون أو صرف المخزون"، وشرحها كالتالي:

FIFO (First In, First Out - الوارد أولاً يصرف أولاً)

  • تعني أن النظام سيبدأ في بيع الكميات من أول دفعة تم شراؤها أو إدخالها للمخزون تخصم الكميات التي تُباع أولاً من أول دفعة تم شرائها.

  • تستخدم غالبًا في المنتجات القابلة للتلف (مثل الطعام أو الدواء).

  • مثال:

    • اشتريت 100 وحدة بـ10 جنيه، ثم 100 وحدة بـ12 جنيه.

    • عند بيع 50 وحدة، سيتم بيعهم من الدفعة الأولى (10 جنيه).

 

LIFO (Last In, First Out - الوارد أخيراً يصرف أولاً)

  • تعني أن النظام سيبدأ في بيع الكميات من آخر دفعة تم شراؤها تخصم الكميات التي تُباع أولاً من آخر دفعة تم شرائها.

  • تُستخدم في بعض الأنظمة المحاسبية عند توقع ارتفاع الأسعار.

  • مثال:

    • نفس المثال السابق.

    • عند بيع 50 وحدة، سيتم بيعهم من الدفعة الثانية (12 جنيه).

 

HighestPrice (أعلى سعر أولاً)

  • يعني أن النظام سيبدأ في بيع الكميات من الدُفَع ذات السعر الأعلى تخصم الكميات التي تُباع أولاً من الدفع ذات السعر الأعلى.

  • مفيد في حالات تحسين الربحية أو تقليل الخسائر تُستخدم في حالات معينة عند الرغبة في التخلص من البضاعة ذات التكلفة الأعلى لتقليل الخسائر أو تقليل التكاليف المخزنية المرتفعة.

  • مثال:

    • عندك 3 دفعات بأسعار 10، 12، 15.

    • النظام يبدأ البيع من الدفعة بسعر 15.

 

LatestPrice (أحدث دفعة أولاً)

  • المقصود هنا بيع الكمية من أحدث تاريخ شراء تخصم الكميات التي تُباع أولاً من الدفع ذات تاريخ الشراء الأحدث.

  • يختلف عن LIFO بإنه يعتمد على تاريخ الشراء وليس ترتيب الإدخال.

  • مفيد عندما تكون تواريخ الشراء غير مرتبة أو النظام يسمح بإدخال متأخر.

 

التطبيق يعتمد على التالى 

جدول يحتوي على إعدادات طريقة البيع : tblSalesSettings
المفروض الجدول يحتوى على سجل واحد فقط ويتم تحديد طريقة البيع حسب الرغبة او حسب النظام المحاسبى المتبع 

جدول المنتجات : tblProducts - يحتوي على بيانات المنتجات الأساسية.
جدول الواردات : tblPurchaseBatches  - يتبع كل دفعة شراء لمنتج معين.
جدول لتسجيل عمليات الارتجاع : tblReturns - يتبع كل عمليات الإرتجاع بعد إتمام عملية شراء لمنتج معين.
جدول تفاصيل كميات المبيعات حسب الدفعات : tblSaleBatchDetails- يتبع كل دفعة بيع لمنتج معين حسب الكمية وتبعا لمعرف الدغعات.
جدول تفاصيل المبيعات  : tblSaleDetails  - يتبع كل المنتجات التى يتم بيعها داخل الفاتورة.
جدول المبيعات  : tblSales - يحتوي على إجمالي كل فاتورة.

 


وأخيرا المرفق للتجربــــــــــــة

ملاحظة لم أهتم بأى تفاصيل لا للحذف أو للارتجاع لانها لن يكون لها أى تأثير يذكر لأن الكميات يتم حسابها بناء على معرف الدفعات بشكل ديناميكى حسب المبيعات و بناء على الواردات للدفعات

ما تم الاهتمام به فقط هو التعامل مع طرق البيع المختلفة لاصدار الفواتير او صرف الكميات حسب الطرق المحاسبية بشكل صحيح ومرن وبناء عليه حصر الكميات المتبقية 

 

يعنى ببساطه بيع وجرد فى نفس الوقت على اساس محاسبى صحيح بمرونة وفاعليه

نسيت توضيح شئ مهم : 
مثلا يوجد وارد لمنتج بأكثر من دفعه ولكل دفعه سعر بيع وسعر شراء

طيب لنفترض ان
الدفعه 1 للمنتج 101  عدد الكميات لها 5
الدفعه 2 للمنتج 101  عدد الكميات لها 10

اذا اجمال الكميات هو 15

طيب عند اصدار الفاتورة مع الاختيار : FIFO من جدول اعدادت طرق البيع
لنفترض اننا نريد بيع 8 قطع من ها المنتج

فى هذه الحاله يتم عمل التالى صرف 5 من الدفعه 1 وصرف 3 من الدفعه 2
طيب سعر بيع الدفعه الاولى لو 120   وسعر بيع الدفعه الثانيه 130

يكون (  5*120  )   + ( 3 * 130 )  =  600 + 390 = يكون الناتج 990
وفى هذه الحاله لا يتم كتابة سعر  للوحده فى الفاتورة بل يتم حساب المتوسط :wink2:


 

 


 

أتمتة عمليات البيع بكل الطرق .accdb

قام بنشر

ما شاء الله , أفكار مفيدة لذوي الإختصاص والمهتمين ..

  

9 دقائق مضت, ابو جودي said:

HighestPrice (أعلى سعر أولاً)

  •  

أولا لنفترض انني اشتريت مثلاً صنف لأول مرة بسعر 10 جنيه عدد 24 قطعة ، وبعد ايام ( وطبعاً لم يتم بيعهم كلهم ) اشتريت نفس الصنف بسعر 12 جنيه وبعدد 24 قطعة أيضاً وقد تم بيع 4 قطع منالسعر الأول . الآن سيكون في مخزني 44 قطعة من الصنف نفسه بسعرين ( 10 جنيه و 12 جنيه ) صحيح ؟؟

الآن لنفرض جدلاً انني بعد شهر من البيع ( تم بيع 14 قطعة مثلاً ) بقي لدي 30 قطعة ، وقد حصلت على عرض بسعر 9 جنيه عند شراء 24 قطعة لنفس المنتج !!!!!!

الآن بأي سعر سيتم البيع ( 9 أو 10 أو 12 ) .

 

قمت بتجربة شراء نفس المنتج بسعر 100 جنيه والبيع بسعر 105 جنيه عدد 5 قطع . الآن اضافة الى ما في المخزن من نفس المنتج اصبح لدي 20 قطعة بأسعار شراء وبيع مختلفات . الآن قمت بعملية بيع لنفس الصنف أكثر من مرة وبأكثر من عدد وقد تجاوزت العدد 20 ، وتم حفظ الفاتورة . ولكن عند عودتي لها تم تحديد سعر البيع 109 ،ولا أعتقد انه متوسط سعر البيع للصنف إن لم أكن مخطئاً  !!!

الصورة المرفقة قد توضح مقصدي 😅 .

 

Animation1.thumb.gif.9022e431e584eb7b8409f1dee4ec9c9c.gif

 

قام بنشر

 

لدي فكرة ( اقتراح ) !!

في حال تعدد السعر لمنتج واحد . لم لا يتم فتح نموذج يحتوي ( اسم الصنف وسعر الشراء والكمية المتاحة منه ) بحيث يختار البائع أو الكاشير السعر الذي يريد بيعه لهذه الفاتورة . فأولاً وآخراً يجب بيع جميع الأصناف كل حسب قيمته الشرائية . 

مثلاً المنتج مروحة تورنيدو يتم الكشف عن وجود سعر متعدد له فيتم عرض نافذة (نموذج ) يعطي البائع اسعار الشراء والبيع لهذا الصنف كما تم تسجيلها عند عملية الشراء لهذا الصنف في فاتورة شراءه . وهنا سيتحكم البائع بادخال الصنف حسب السعر الذي يريد أن يبيع به هذا الصنف . 

 

لا أعلم إن كنت قد أوصت الفكرة بشكل صحيح  😅 .

قام بنشر

 

طيب يا فؤش انا مش عارف انت فاهم واللا انت بتحلب الاجابه علشان تكون كامله :biggrin:

هو مش مقصود انى انزل الاجابة ناقصه بقدر ما هو مقصود ان تقتصر القاعدة على الفكرة المحاسبية فقط

 

اه وشئ تانى علشان نقول عاوزين كل شئ يبقى بنتكلم فى برنامج كبير :eek2: ما هو نقطه هتجر وراها نقطه تانيه مرتبطه بيها وده مش موضوعنا

 

مبدئيا هو مينفعش ومش منطقى ان نفس المنتج فى فاتورة واحده يتكرر 
يعنى كل ما تيحب تعمل عملية بيع لنفس المنتج للتجربه فى كل مره تضيف سجل جديد لعمل فاتورة جديده يا فؤش أفندى :wavetowel: صحصح وركز كده

وانا قلت ملاحظة ان القاعدة تعتمد على شئ واحد فقط ضبط الحسابات بطريقة دقيقه ومرنه للحساب لرصد وجرد المبيعات بشكل صحيح 

5 ساعات مضت, Foksh said:

Animation1.thumb.gif.9022e431e584eb7b8409f1dee4ec9c9c.gif


نحلل كلامك ده يا فؤش أفندي

5 ساعات مضت, Foksh said:

أولا لنفترض انني اشتريت مثلاً صنف لأول مرة بسعر 10 جنيه عدد 24 قطعة ، وبعد ايام ( وطبعاً لم يتم بيعهم كلهم ) اشتريت نفس الصنف بسعر 12 جنيه وبعدد 24 قطعة أيضاً وقد تم بيع 4 قطع منالسعر الأول . الآن سيكون في مخزني 44 قطعة من الصنف نفسه بسعرين ( 10 جنيه و 12 جنيه ) صحيح ؟؟

الآن لنفرض جدلاً انني بعد شهر من البيع ( تم بيع 14 قطعة مثلاً ) بقي لدي 30 قطعة ، وقد حصلت على عرض بسعر 9 جنيه عند شراء 24 قطعة لنفس المنتج !!!!!!

الآن بأي سعر سيتم البيع ( 9 أو 10 أو 12 ) .

 

قمت بتجربة شراء نفس المنتج بسعر 100 جنيه والبيع بسعر 105 جنيه عدد 5 قطع . الآن اضافة الى ما في المخزن من نفس المنتج اصبح لدي 20 قطعة بأسعار شراء وبيع مختلفات . الآن قمت بعملية بيع لنفس الصنف أكثر من مرة وبأكثر من عدد وقد تجاوزت العدد 20 ، وتم حفظ الفاتورة . ولكن عند عودتي لها تم تحديد سعر البيع 109 ،ولا أعتقد انه متوسط سعر البيع للصنف إن لم أكن مخطئاً  !!!

 

تحليل كلامك بخصوص (سيناريو الشراء المتعدد بأسعار مختلفة)

الدُفعة    الكمية     سعر الشراء      الكمية المباعة        الكمية المتبقية
1   24           10             4                   20
2   24           12             10                14
3   24           9             0                24

المتبقي بالمخزون: 20 + 14 + 24 = 58 وحدة بثلاث أسعار مختلفة
و أنت تتساءل:

لما أبيع بعد كده… أبيع بأي سعر؟
هل أبيع بالسعر الأخير (9)؟ ولا الأعلى (12)؟ ولا (10)؟


 هنا نرجع لفكرة "طريقة البيع" أو "طريقة صرف المخزون"، وهي شيء مهم جدًا يعتمد عليه النظام:

 الطرق المدعومة في جدول اعداد طرق البيع "طريقة صرف المخزون" :

الطريقة          شرح
FIFO         بيع من الدفعة الأقدم أولًا (10 جنيه أولًا ثم 12 ثم 9)
LIFO         بيع من الأحدث أولًا (9 جنيه أولًا ثم 12 ثم 10)
HighestPrice         بيع من الدُفعة الأعلى سعرًا أولًا
LatestPrice         بيع من أحدث دفعة (حسب التاريخ)

وبالتالي:

السعر الذي يظهر في الفاتورة عند إدخال الكمية يعتمد على طريقة البيع المختارة من الإعدادات.

ما المشكلة اللي حصلت معاك؟

انت قلت :

السعر اللي اتحدد في الفاتورة عند الرجوع ليها كان 109! وأن أنت مش متأكد هل هو متوسط ولا إيه...

هنا فيه احتمالين:

  1.  إما فى جدول الاعدادات لطريقة البيع تم اختيار  طريقة البيع LatestPrice → وبالتالي تم اختيار أحدث دفعة (وسعرها ممكن يكون 109).

  2.  أو فيه خطأ منطقي حصل أثناء إعادة تحميل الفاتورة (مثلاً: إعادة الحساب تم بطريقة مختلفة بعد الحفظ) هراجع الكود تانى

 

 

5 ساعات مضت, Foksh said:

لدي فكرة ( اقتراح ) !!

في حال تعدد السعر لمنتج واحد . لم لا يتم فتح نموذج يحتوي ( اسم الصنف وسعر الشراء والكمية المتاحة منه )

اما بالنسبه للنقطه دى 

انا اعتمد فى عملى على المرونه وعلى الدقه بتقليل الاخطاء بقدر المستطاع :yes:

يبقى النقطه اللى انت بتقولها غير انها هتزود خطوات الا ان المستخدم او الكاشير او البائع ممكن يغلط  :smile:

ليه انا بقه من الاول ما اسدد كل الثغرات اللى ممكن يحدث من ورائها اخطاء مقصودة او غير مقصودة يا فؤش افندى :clapping:

ولو تركت للبائع التحكم يا فؤش افندى ممكن يبيع مره من ده ومره أخرى من ده على المزاج بقه او بالنيه او بحسن  وسوء الظن او حسب الغزاله 

جاى تهزر حضرتك يا افندم :mad:

 

طيب انا قدمت فكرة وتطبيق عملى على اساس محاسبى صحيح وفى حالة رغبه صاحب العمل فى تغيير النظام المحاسبى يتم ذلك بدون التدخل فى تعديل الاكواد 

وفى النهايه اللى حابب ينفذ اى اقتراحات اخرى يمكنه عمل ذلك ما هو أنا مش هأقول لحد لا تنفذ اقتراحاتك التى تلبى رغباتك :biggrin:

بكل بساطه تعتمد فكرتى على 

اختيار النظام المحاسبى لالية البيع من جدول اعداد خاص بذلك
تحديد سعر الشراء وسعر البيع للدفعة وتاريخ وارد هذه الدفعه عند شرائها لعدم تدخل البائع فى كتابة السعر لتلافى اى مشكل محاسبية
احتساب الكميات اليا وديناميكا بدون تدخل :yes:
امكانية حساب الربح والخسارة بسهولة جدا جدا جدا بناء على ما سبق ومن واقع جدول الفواتير او التفاصيل :biggrin:
وبناء على ما سبق عمل جرد مفصل لكل منتج حتى مع اختلاف اسعار البيع والشراء وتعدد الدفعات و تواريخ شراء الدفعات المختلفة :clapping:

 

 

طيب جرب المرفق ده يا فؤش أفندى :wink2:

ملاحظة أخيره 

الاستعلامات المستخدمه فى الأكواد هى : qryAvailableBatchesByProduct , qryAvailableByProduct

أما بقية الاستعلامات مجرد استعلامات خدميه يمكن استخدامها فى
التقارير او فى عمل الجرد أو فى عمل حساب المبيعات والمشتريات لمعرفة هامش الربح أو الخسارة

لم أهتم بموضوع ضبط الاكواد فى حالة التعديل على الفاتورة او المرتجعات أنا لست بصدد تقديم برنامج ولا بصدد تطبيق هذه الأفكار
أنا فقط موضوعى هو اتمتتة عمليات البيع وفق التحكم بختيار طريقة البيع من جدول الاعدادات وفق الاصول المحاسبية التاليه وذلك على حسب فهمى المتواضع من البحث على الانترنت فى هذه الجزئية لإانا لست محاسب ولا أعلم شيئا عن المحاسبة ولا التكالبف قد أكون مخطئا أو مصيبا لذلك يرجى التأكد من أهل الإختصاص ..   
انا نصحتك وأنت براحتك علشان متجيش تزعق لى بعد كده :jump:

FIFO         بيع من الدفعة الأقدم أولًا (10 جنيه أولًا ثم 12 ثم 9)
LIFO         بيع من الأحدث أولًا (9 جنيه أولًا ثم 12 ثم 10)
HighestPrice         بيع من الدُفعة الأعلى سعرًا أولًا
LatestPrice         بيع من أحدث دفعة (حسب التاريخ)

 

أتمتة عمليات البيع بكل الطرق (V 1.2).accdb

  • Haha 1
قام بنشر
7 ساعات مضت, ابو جودي said:

 

FIFO (First In, First Out - الوارد أولاً يصرف أولاً)

  • تعني أن النظام سيبدأ في بيع الكميات من أول دفعة تم شراؤها أو إدخالها للمخزون تخصم الكميات التي تُباع أولاً من أول دفعة تم شرائها.

  • تستخدم غالبًا في المنتجات القابلة للتلف (مثل الطعام أو الدواء).

  •  

    •  

هذه صح .. ومن اجل هذا اوجد هذا النظام .. والاسعار تكون خارج المنظومة

اقتباس
  • مثال:

    • اشتريت 100 وحدة بـ10 جنيه، ثم 100 وحدة بـ12 جنيه.

      عند بيع 50 وحدة، سيتم بيعهم من الدفعة الأولى (10 جنيه).

هذه بحاجة الى اعادة نظر ..  لأن سعر الشراء شيء وسعر البيع شيء آخر

لأن الاسعار تتبع ذمة التاجر وهو من يحددها .. والغالب الا من رحم ربي يبيع بآخر سعر سواء كان بالزيادة او النقص  .. لأن السوق منافسة .. هذا ان لم يكن التاجر محتكرا هذه السلعة

المهم ان سعر البيع للصنف واحد لا يتكرر ومكانه : مقابل الصنف .. ويتم تحديثه حسب ما يستجد بالزيادة او النقص

مثلا اشترى سلعة بـــ  100  وتم تحديد سعر البيع بـــ 110

ثم اشترى السلعة نفسها بـــ 90  قد يستمر على سعر البيع السابق وقد يخفض سعر البيع ( هذا يدخل في نزاهة وذمة البائع ، وايضا يدخل في فترة صلاحية السلعة السابقة )

---------------------------

المهم ان هذا النظام اوجد من اجل بيع وتصريف السلع السابقة التي قاربت على الانهاء .. لذا نرى كثيرا عروضا وتخفيضات مغرية على اسعار بعض السلع .

قام بنشر

يا عم أنا آسف ، كل ده مني هههههههه

لا والله انت عارف اني بحب أناكش حضرتك والمثل بيقول ( هز الوردة علشان تشم ريحتها ) ..

انا كنت أقصد على سبيل المثال كمثال تطبيقي على FIFO مثلاً :-

منتج رقم: 101

الدفعة 1 : 5 قطعة – سعر البيع 120

الدفعة 2 : 10 قطع – سعر البيع 130

نريد بيع 8 قطع في فاتورة واحدة ببند واحد ، فأنه من المفترض أن يتم بيع 5 قطع من الدفعة الأولى ، و 3 قطع من الدفعة الثانية . صحيح ؟

الآن سيكون الناتج المالي = (5 × 120) + (3 × 130) = 990

وطبعاً لن يتم إدخال سعر يدوي لكل قطعة ، بل يحسب النظام المتوسط تلقائيًا . ألى الآن صحيح ولا غبار عليها كفكرة . لكن !!!!!
في الفاتورة لن يتم اعتماد اي سعر من السعرين في خانة سعر البيع :blink: , صح كده ولا أنا فهمت غلط ؟؟؟

يعني لو عندك زبون اسئلته كتيرة زي حالاتي ورخم كدة وسأل الكاشير عن الفاتورة بعد البيع ولقي ان الصنف اللي اشتراه مكتوب عليه ليبل تسعيره 130 ، ولكن على الفاتورة سيكون سعر البيع للصنف المتوسط وتقريباً هيكون = 123.75 صح !؟!؟!؟!؟!؟!؟!؟!؟

طبعاً ناهيك عن مشكلة الأصناف المرتجعة ، يعني لو جيتك وقلت لك بعد نص ساعة عايز ارجع قطعتين من أصل الـ 8 اللي اشتريتهم ، أو استبدلهم بصنف تاني على سبيل المثال . هيكون شكل الدنيا هنا عامل ايه ؟؟؟ ( ده مجرد سؤال جاي في الطريق وعدى عليه :biggrin: ) .

 

بس يا سيدي ومش هتكلم تاني .:biggrin:.

انا كنت بستفسر بس لأن تصميم نظام صرف المخزون بهذه الطريقة المتقدمة فيه كثير من التفاصيل الدقيقة ، وأي خطأ بسيط ممكن يؤثر على دقة الحسابات أو على المخزون نفسه .

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • اضف...

Important Information