الفوترة ببساطة · 02

الاستحقاقات… ببساطة

10 يوليو 2026

الاستحقاقات… ببساطة

في مكان ما من الكود لديكم سطر يشبه هذا: if (customer.plan === "enterprise").

كان يعمل جيدًا حين كانت لديكم باقتان. ثم تغيّرت الباقات، وحصل عميل على اتفاق خاص، وغيّر فريق التسويق اسم إحدى الباقات — والآن لا أحد متأكد تمامًا ممّا يسمح به هذا السطر. هذا السطر هو استحقاق مكتوب يدويًا، وهو السبب في أن أي تغيير في الباقات يحتاج مهمة لفريق التطوير.

ما هو الاستحقاق؟

الاستحقاق (Entitlement) هو الإجابة عن سؤال واحد: ما الذي يحق لهذا العميل أن يفعله؟

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

  1. مفاتيح تشغيل — ميزة تعمل أو لا تعمل. تسجيل الدخول الموحّد (SSO) في باقة المؤسسات: نعم. في باقة البداية: لا.
  2. حدود — ميزة متاحة حتى سقف معيّن. عشرة مقاعد. خمسة مشاريع. ثلاثة تكاملات.
  3. حصص — ميزة مقاسة بحصة مشمولة. مئة ألف استدعاء API شهريًا، وما زاد يُفوتر كتجاوز.

وكل سؤال «هل يحق له؟» في منتجك يعود في النهاية إلى شكل من هذه الأشكال الثلاثة.

كيف يعمل الفحص؟

بدلًا من سؤال plan === "enterprise"، يسأل منتجك منصة الفوترة: هل يحق لهذا العميل استخدام هذه الميزة؟ تنظر المنصة في اشتراك العميل، وتستخرج استحقاقات باقته (مع أي استثناءات خاصة بحسابه)، ثم تجيب: مسموح، أو مرفوض، أو مسموح مع كمية متبقية محددة.

هذه الخطوة الوسيطة وحدها تغيّر كل شيء:

  • الباقات تصبح قابلة للتعديل. انقل ميزة من باقة النمو إلى باقة المؤسسات من لوحة التحكم، فيُحدَّث وصول جميع العملاء. دون أي نشر.
  • الاتفاقات الخاصة تتوقف عن كونها كودًا. عميل مؤسسي تفاوض على 25 مقعدًا بدل 10؟ هذا استثناء على حسابه، لا جملة if تحمل رقم عميله.
  • البيع الإضافي يحدث عند البوابة. اللحظة التي يقابل فيها العميل رسالة «قم بالترقية لفتح الميزة» هي أعلى لحظات النية الشرائية في منتجك. والاستحقاقات تضع هذه اللحظة حيث تكون الرغبة في أوجها.

الاستحقاقات والقياس وجهان لعملة واحدة

في المقال السابق قلنا: القياس يحسب، والحدود تضبط. والاستحقاقات هي المكان الذي تُعرَّف فيه الحدود.

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

كيف يبدو هذا في ترداد؟

في ترداد، الاستحقاقات جزء أساسي من الكتالوج:

  • المزايا تُعرّف مرة واحدة — كمفاتيح، أو حدود، أو حصص مقاسة.
  • الباقات تجمعها: كل باقة تحمل استحقاقاتها الخاصة المبنية على كتالوج المزايا نفسه.
  • الفحص استدعاء واحد — من الـ API أو حزم التطوير (SDK). وفي حزمة Next.js هو ‎useHasFeature("sso")‎ لا أكثر.
  • الاستثناءات تعالج الاتفاقات الخاصة لكل عميل، دون المساس بالباقة.
  • الفرض تلقائي — السقوف والحصص تطبّقها المنصة، مع فوترة التجاوز إن اخترت ذلك.

منتجك يسأل سؤالًا واحدًا، والفوترة تجيب. وسطر if (plan === ...) يُحال إلى التقاعد.


هذا هو الفوترة ببساطة · 02 — مفهوم واحد من عالم الفوترة كل أسبوع، بلغة واضحة. سابقًا: الفوترة حسب الاستخدام. المقال القادم: الاحتساب النسبي.

جاهز للتحكم في المزايا دون نشر كود؟ ابدأ مجانًا على tirdad.ai.