سؤال

إذا كان من الممكن إلغاء الفواتير ، فهل يجب استخدامها كاقتباسات؟

انا لدي Invoices الجداول التي يتم إنشاؤها من المخزون المرتبط بـ Job أو Order. يمكن أن يكون لدي ملف Quotes جدول في منتصف الطريق بين المخزون والفواتير ، ولكن يبدو أن لديّ هياكل البيانات والمنطق فقط للتعامل مع "هل هذا اقتباس؟" قليل.

من منظور العمل ، يقتبس نكون يختلف عن الفواتير: يتم إرسال اقتباس قبل تعهد ويتم إرسال فاتورة بمجرد اكتمالها ومستحقة الدفع ، ولكن كيفية تمثيل هذا في مستودعي ونموذجه.

  • ما هي الطريقة الأنيقة لتخزين وإدارة الاقتباسات والفواتير في قاعدة بيانات؟

يحرر: مبين Job === Order لهذه الحالة بالذات.

هل كانت مفيدة؟

المحلول

هناك 3 طرق:

  1. تخزين الفواتير والاقتباسات في طاولات منفصلة.

    هذا تصميم جيد إذا كانت الفواتير والاقتباسات تحتوي على عدد قليل من الحقول في مكررة (وإلا ، استخدم الخيار رقم 3 مع 3 جداول) ، وإذا كانت هناك علاقات واحدة أو العديد من العدد بينهما (مقابل 1-1 ، استخدم الخيار رقم 2 ).

    يعد هذا أيضًا اختيارًا جيدًا إذا كان من الشائع أن المعلومات "المشتركة" بين الاثنين يمكن أن تتحول فعليًا عندما يصبح الاقتباس الفاتورة (على الرغم من أنه يجب التعامل مع بعض هذه الطفرات بشكل صحيح مع حقول/جداول منفصلة ، مثل الخصومات المطبقة ، إلخ .. .).

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

  2. قم بتخزينها في نفس الجدول ، مع "فاتورة أو اقتباس" علامة إضافية وأي حقول إضافية من كلاهما مخزنة. يمكن القيام بذلك باستخدام الفواتير والاقتباسات في صفوف متميزة ، أو مع مشاركة صفوف (مع وجود قيمة "على حد سواء").

    هذا الأخير (يمكن أن يكون الصف نفسه الفاتورة والاقتباس) هو خيار جيد إذا تم تعيينهم من 1 إلى 1, ، وهناك عدد قليل من الحقول التي تميز الاثنين.

    السابق (صفوف منفصلة للفواتير والاقتباسات) ليس تصميمًا جيدًا بشكل عام ويتم القيام به بشكل أفضل مع خيارات #3 أو #1.

  3. لديك 3 جداول ، واحدة للحقول المشتركة بين الاثنين ، واثنان للولوة فقط والاقتباسات فقط.

    هذا خيار جيد إذا تم تعيين الفواتير والاقتباسات 1-1 ، أو إذا كانت واحدة ، ولكن كل من الفواتير العديدة لها نفس قيم المجال تمامًا لأي حقول شائعة. خلاف ذلك ، استخدم #1.

    يمكن إجراء تباين طفيف لهذا الخيار عند تحويل عروض أسعار متعددة إلى فاتورة واحدة. هذا يضيف جدولًا رابعًا وهو رسم خرائط بين مجموعة من الاقتباسات وعدم وجود (أو مجموعة من الفواتير إذا كان معقدًا) بالنسبة لهم. مرة أخرى ، الافتراض هنا هو أن هناك جزءًا كبيرًا من المعلومات الشائعة بين جميع الاقتباسات والفواتير المرتبطة/مجتمعة ، وإلا فقط اذهب مع #1.

نصائح أخرى

اقتباسات أكثر تشابهًا للأوامر. لقد رأيت العديد من أنظمة التوزيع/البيع بالتجزئة مع جدول طلب يحتوي على علم منطقي يسمى شيئًا مثل Isquote. قد يبدو هذا بسيطًا لأنه يجعل من التافهة تحويل اقتباس إلى ترتيب. لم يعجبني أبدًا لأن الطلبات التي تخرج من الاقتباسات ليست دائمًا كما هي مقتبسة. ونتيجة لذلك ، فإن أنظمة مثل تلك التي تفقد المعلومات التي يمكن أن تكون مفيدة (أي تقرير يقارن عروض الأسعار مع الطلبات). لذلك ، أفضل الأنظمة التي تكون فيها جداول الاقتباس والطلب هي نفسها ولكنها منفصلة. في أنظمة التوزيع ، غالبًا ما يؤدي هذا إلى جداول مثل OrderHeader و Orderline (تتعلق بجدول العنصر/المخزون) و QuoteHeader و Quotel. قد يكون لديك أيضًا جدول لنمذجة علاقة حيث يمكن لاقتباس واحد تعيين أوامر متعددة.

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

أخيرًا ، عادة ما يكون للمدفوعات الكثير للعديد من العلاقة مع الفاتورة. في بعض الأحيان يغطي دفعة واحدة فواتير متعددة. في بعض الأحيان يتم دفع فاتورة واحدة في بضع مدفوعات.

منتج واحد ، والخدمات التي يتم تجاهلها ، من أجل البساطة.

أ تسعير المبيعات هو اقتراح لبيع سلعة مقابل سعر في نافذة زمنية (نطاق تاريخ) إلى طرف آخر. هذا الأصل لا يحتاج إلى وجود بعد. يمكنك الاقتباس على مواصفات الأصل (الخير).

يجب أن ينتهي عرض الاقتباس في مرحلة ما ، وقد يتم قبوله أو لا يتم قبوله قبل انتهاء الصلاحية.

أ طلب المبيعات هو التزام لبيع سلعة مقابل سعر في موعد إلى طرف آخر. يمكن إنشاؤه من اقتباس مقبول.

قد يكون للطلب أو الاقتباس شروط الدفع ، مثل "يمكنك الدفع لنا بعد 30 يومًا من التسليم".

قد يكون الأمر جيدًا لم يكن موجودًا بعد (تبيع الخير وليس الأصل). ربما كنت تبنيها. ربما ستشتريها من شخص آخر.

أمر المبيعات يؤدي إلى تحصيل (خذ من المخزون أو صنع أو شراء) من الأصول المادية ، ثم شحنة من الأصول المادية ، والتي قد تنتهي أو لا تنتهي في التسليم. في بعض الأحيان ، "سوف يتصل" العميل على البائع لاستلام الأصل.

بشكل عام ، يجب أن يكون الأصل نقل قبل أن تتمكن من حساب خط الطلب كـ ربح (هذا يعتمد على شروط الشحن الخاصة بك ، يمكن أن يكون في الشحن أو التسليم أو بينهما).

يمكن أن يكون أمر المبيعات ألغيت (على سبيل المثال ، بعض الصناعات لديها فترات التبريد).

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

فاتورة نأمل أن تؤدي إلى واحد أو أكثر المدفوعات, ، و هو مُطبَّق إلى الحساب. غالبًا ما يؤدي الدفع إلى واحد أو أكثر إيصالات الدفع. لا يكون الدفع هو نفسه بالضرورة مثل الإيرادات ، في حالة استخدام المحاسبة الاستحقاق.

أود أن أوصي أن أكون مرنة قدر الإمكان. استخدم الجداول التالية

جدول الوظائف ، جدول الفاتورة ، جدول اقتباس

في جدول الفاتورة الخاص بك وجدول اقتباس ، قم بتخزين معرف الوظيفة ، واعطه فهرسًا وإنشاء قيود مفتاح خارجي. اترك الفهرس المجمع على معرف الاقتباس ومعرف الفاتورة.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top