১১ আগ, ২০২৫·8 মিনিট পড়তে

চুক্তি নবায়ন ট্র্যাকার স্পেসিফিকেশন — স্মরণিকা ও অনুমোদন

নোটিশ ডেডলাইন, স্টেকহোল্ডার এবং অনুমোদনের জন্য চুক্তি নবায়ন ট্র্যাকার স্পেসিফিকেশন — এন্টিটি মডেল, ওয়ার্কফ্লো এবং নোটিফিকেশন নিয়ম সহ যা আপনি নির্মাণ করতে পারেন।

চুক্তি নবায়ন ট্র্যাকার স্পেসিফিকেশন — স্মরণিকা ও অনুমোদন

একটি নবায়ন ট্র্যাকারকে কী সমাধান করতে হবে

চুক্তি নবায়ন ট্র্যাকার দরকার পড়ে কারণ একই সমস্যা বারবার হচ্ছে: নবায়ন তারিখ মিস হচ্ছে, মালিক অস্পষ্ট, এবং গুরুত্বপূর্ণ তথ্য ইমেইল থ্রেড, স্প্রেডশীট এবং শেয়ার্ড ড্রাইভে ছড়িয়ে থাকে। যখন কেউ শেষমেশ নবায়ন নজরে আনে, তখন প্রায়ই দরকষাকষি, বাতিল বা বাজেট করার জন্য দেরি হয়ে যায়।

ট্র্যাকারকে কয়েক সেকেন্ডে মৌলিক প্রশ্নের উত্তর দিতে হবে:

  • কী নবায়ন হচ্ছে (ভেন্ডর/গ্রাহক, চুক্তি, সেবা)
  • কখন এটি নবায়ন হচ্ছে (নোটিশ ডেডলাইন, মেয়াদ শেষ, স্বয়ংক্রিয় নবায়ন তারিখ)
  • কে কাজ করতে হবে (বিজনেস মালিক, লিগ্যাল, ফাইন্যান্স, প্রসিকিউরমেন্ট)
  • পরবর্তী পদক্ষেপ কী (পর্যালোচনা, অনুমোদন, স্বাক্ষর, পেমেন্ট)
  • কী পরিবর্তন হয়েছে (নোট, সিদ্ধান্ত, এবং কে অনুমোদন করেছে)

লক্ষ্য হল আশ্চর্য ছাড়া এবং শেষ মুহূর্তের কাজ ছাড়াই ধারাবাহিক নবায়ন। এর জন্য নির্ভরযোগ্য তারিখ, পরিষ্কার দায়িত্বপ্রাপ্ত মালিক, এবং বাস্তবতা প্রতিফলিত করে এমন স্টেটাস দরকার। যদি একটি চুক্তি Under review হিসেবে চিহ্নিত থাকে, লোকেরা ব্লক কী সেটা এবং পরবর্তী কাজ কার তা দেখতে পারা উচিত।

স্কোপ বাস্তব রাখতে হবে: পর্যাপ্ত আগেই অনুস্মারক, সঠিক মানুষের কাছে অনুমোদন পৌঁছানো, স্টেকহোল্ডারদের জন্য দৃশ্যমানতা যাতে তারা পরিকল্পনা করতে পারে, এবং অডিট নোট যা পরিষ্কার ইতিহাস দেখায়। ডকুমেন্ট স্টোরেজ অ্যাটাচমেন্ট বা সাইন করা কপি কোথায় আছে তার রেফারেন্স হিসাবে সহজ হতে পারে, কিন্তু মূল শর্তাবলী এবং ডেডলাইন সবসময় সহজে খুঁজে পাওয়ার মতো থাকতে হবে।

স্টেকহোল্ডার ও দায়িত্ব

নবায়ন ট্র্যাকার তখনই কাজ করে যখন মালিকানা স্পষ্ট হয়। যদি সবাই "দায়িত্বশীল" হয়, তাহলে কেউই নয়।

বেশিরভাগ টিমের জন্য কয়েকটি রোল সাধারণত দেখা যায়:

  • চুক্তি মালিক: নবায়ন চালায়, চাহিদা নিশ্চিত করে, শর্তাবলী নিয়ে দরকষাকষি করে এবং তারিখ সঠিক রাখে।
  • অনুরোধকারী: সেবা ব্যবহারকারী ব্যক্তি বা টিম; নিশ্চিত করে নবায়ন করবে, কমাবে, নাকি বাতিল করবে।
  • ফাইন্যান্স: বাজেট, পেমেন্ট টার্মস, ভেন্ডর সেটআপ এবং খরচ পরিবর্তন পরীক্ষা করে।
  • লিগ্যাল: শর্তাবলি পর্যালোচনা, রেডলাইন, ঝুঁকির আইটেম; কোন টেমপ্লেট বা ক্লজ সেট প্রযোজ্য তা নিশ্চিত করে।
  • ডিপার্টমেন্ট হেড: যখন ব্যয় বা স্কোপ একটি সীমা ছাড়ায় তখন চূড়ান্ত বিজনেস অনুমোদক।

অ্যাপ্রুভারদের আলাদা রাখুন তাদের থেকে যারা শুধু জানানো হয়। অ্যাপ্রুভার ফলাফল বদলাতে পারে (অনুমোদন, প্রত্যাখ্যান, পরিবর্তন অনুরোধ)। জানানো স্টেকহোল্ডাররা আপডেট পায় কিন্তু ওয়ার্কফ্লো ব্লক করে না।

মালিকানা প্রতিনিধিত্ব করতে দুইটি ফিল্ড রাখুন: primary ownerbackup owner। ব্যাকআপ বন্ধুভাবাপন্ন সময়কাল, চাকরীর পরিবর্তন এবং জরুরি নবায়নের সময় কাজে লাগে। একটি সহজ নিয়ম: যদি primary owner নির্দিষ্ট সময়ের মধ্যে কাজ না করে, ব্যাকআপকে নোটিফাই করুন এবং তাদের কাজে নেয়ার অনুমতি দিন।

ভেন্ডার সাইডও উপেক্ষা করবেন না। একটি একক ইমেইলের বদলে সম্পর্ক অনুযায়ী ভেন্ডার কন্টাক্টগুলো সংরক্ষণ করুন, কারণ বিভিন্ন বিষয়ের জন্য ভিন্ন ব্যক্তি দেখভাল করে। অধিকাংশ টিমকে অন্তত একটি সেলস কন্টাক্ট (বাণিজ্যিক শর্ত), একটি বিলিং কন্টাক্ট (ইনভয়েস ও পেমেন্ট), এবং একটি সাপোর্ট কন্টাক্ট (সার্ভিস ইস্যু ও এস্কালেশন) দরকার হয়।

উদাহরণ: একটি মার্কেটিং টিম একটি অ্যানালিটিক্স টুল নবায়নের অনুরোধ করে। চুক্তি মালিক ব্যবহারের এবং প্রস্তাবিত টিয়ার নিশ্চিত করে, ফাইন্যান্স ব্যয় অনুমোদন করে, লিগ্যাল শর্তাবলী অনুমোদন করে, এবং ডিপার্টমেন্ট হেড মাত্র তখন অনুমোদন করে যদি নতুন বাৎসরিক মোট আপনার থ্রেশহোল্ডের উপরে থাকে। বাকি সবাই জানানো থাকে, তাই নবায়ন আটকে থাকে না।

এন্টিটি মডেল: আসলে কোন টেবিলগুলো লাগে

নবায়ন ট্র্যাকার তখনই সর্বোত্তম যখন আপনি দীর্ঘস্থায়ী চুক্তি রেকর্ডকে প্রতিটি নবায়ন চক্র থেকে পৃথক করে রাখেন। এতে ইতিহাস পরিষ্কার থাকে এবং অনুস্মারকগুলো predictable হয়।

কোর টেবিলগুলো

একটি ছোট সেট টেবিল দিয়ে শুরু করুন এবং ফিল্ডগুলো বাস্তব রাখুন:

  • Vendors: আইনগত নাম, রেজিস্ট্রেশন বিবরণ, ঠিকানা, ঝুঁকি টিয়ার, অ্যাক্টিভ ফ্ল্যাগ।
  • Contracts: vendor_id, সার্ভিস নাম, শুরু তারিখ, শেষ তারিখ, নবায়ন শর্তাবলী (auto-renew, notice period), চুক্তির মূল্য, মুদ্রা, মালিক।
  • Contacts: ভেতর ও ভেন্ডার কন্টাক্টগুলোর টাইপ (vendor/internal), ভূমিকা (legal, finance, service owner), পছন্দের চ্যানেল (email/SMS/Telegram), is_primary।
  • Documents: ফাইল মেটা ডেটা প্লাস টাইপ (original, amendment, renewal quote, note) এবং সংক্ষিপ্ত বর্ণনা।
  • RenewalCases: contract_id, সাইকেল শুরু/সমাপ্তি, লক্ষ্য সিদ্ধান্ত তারিখ, বর্তমান স্টেজ/স্ট্যাটাস, কারণ (renew, renegotiate, terminate)।

বাস্তবে Contracts ধীরে ধীরে পরিবর্তিত হয়। RenewalCases এই চক্রে কী ঘটেছে তা ক্যাপচার করে: কে অনুমোদন করেছে, কোন কোট এসেছিল, এবং সিদ্ধান্ত কখন নেওয়া হয়েছিল।

সম্পর্কগুলো যাতে ডেটা ভয়ানক হয়ে না ওঠে

রিলেশনগুলো এমনভাবে মডেল করুন যাতে আপনি সহজে উত্তর দিতে পারেন “কে নোটিফাই করব?” এবং “গতবার কী সিদ্ধান্ত করা হয়েছিল?” বেচক্ষণ ছাড়াই:

  • Vendors 1-to-many Contracts, Contracts 1-to-many RenewalCases
  • Contracts many-to-many Contacts (একটি join টেবিল যেমন ContractContacts যাতে role থাকবে)
  • RenewalCases 1-to-many Documents (কোট এবং নোট সাইকেলের সাথে অ্যাটাচ হবে)

উদাহরণ: 60-দিনের নোটিশ পিরিয়ডে থাকা একটি SaaS চুক্তির একটিই Contract রেকর্ড থাকা উচিত, কিন্তু প্রতি বছর একটি নতুন RenewalCase। 2025 কেসটি কোট, অনুমোদন এবং সিদ্ধান্তের সময় সংরক্ষণ করে 2024 ওভাররাইট না করে।

নবায়ন চালানো তারিখ, শর্ত এবং স্ট্যাটাসগুলো

নবায়ন ট্র্যাকার তখনই কাজ করে যখন তারিখ এবং স্ট্যাটাসগুলো অস্পষ্ট না। তারিখকে সত্যের উৎস হিসেবে বিবেচনা করুন এবং প্রতিটি স্ট্যাটাস সেই কাজটি পরবর্তী কে করবে তা বোঝায় এমনভাবে তৈরি করুন।

কয়েকটি প্রয়োজনীয় তারিখ দিয়ে শুরু করুন:

  • Start date এবং current term end date
  • Notice deadline (end date থেকে notice period বাদ দিয়ে)
  • Cancellation deadline (কখনো কখনো notice deadline এর সমান, কখনো নয়)
  • Next auto-renew date (শুধুমাত্র যদি auto-renew সক্ষম থাকে)
  • Last renewed on

AutoRenew কে সাদাসিধে বুলিয়ান রাখুন (AutoRenew = true/false), তারপর এটি পরিষ্কার শর্তাবলীর সাথে সাপোর্ট করুন: renewal term length (যেমন 12 মাস), renewal cadence (মাসিক, বাৎসরিক, বহু-বছর), এবং নবায়ন তারিখটি end date থেকে গণনা করা হয় নাকি ইনভয়েসের তারিখ থেকে।

পরবর্তী নবায়ন তারিখ গণনা করার সময় প্রতিটি কনট্রাক্টের জন্য একটি নিয়ম ব্যবহার করুন (মাসিক হলে 1 মাস যোগ, বাৎসরিক হলে 12 মাস যোগ, বহু-বছর হলে N বছর যোগ)। যদি নবায়ন আগেই ঘটে, নতুন end date কীভাবে হিসাব করা হবে একবার সিদ্ধান্ত নিন: পুরানো end date যোগ করা হবে নাকি নবায়নের তারিখ থেকে টার্ম যোগ করা হবে। সেই পছন্দটি সংরক্ষণ করুন যাতে পরবর্তীতে তা বদলাতে না হয়।

স্ট্যাটাসগুলো বাস্তব কাজের ধাপের সাথে মেলে এবং সর্বদা পরবর্তী কাজের মালিক নির্দেশ করে। একটি সাধারণ সেট যথেষ্ট: upcoming (date-driven), in review, waiting approval, approved, renewed, canceled।

কন্যার কেসগুলো স্পষ্টভাবে হ্যান্ডল করুন:

  • Unknown end date: date missing চিহ্ন দিন এবং ঠিক না হওয়া পর্যন্ত অনুস্মারক ব্লক করুন।
  • Evergreen contracts: শেষ তারিখ নেই, কিন্তু পিরিয়ডিক রিভিউ তারিখ যোগ করুন।
  • One-time purchases: নবায়ন নেই, কিন্তু স্পেন্ড ইতিহাসের জন্য রাখুন।

উদাহরণ: 12-মাসের auto-renew চুক্তি যার 60-দিন নোটিশ পিরিয়ড আছে, এটি end date থেকে 90 দিন আগে upcoming হয়ে যেতে পারে, তারপর যদি notice deadline পেরিয়ে যায় সিদ্ধান্ত না হয়ে তাহলে escalate হবে।

অনুমোদন: স্টেজ এবং রাউটিং নিয়ম

Launch an MVP in days
Build a minimal version first: core entities, statuses, and two reminders.
Prototype Now

অনুমোদনই হলো যেখানে নবায়ন ট্র্যাকার সময় বাঁচায় বা বিশৃঙ্খলা তৈরি করে। স্টেজগুলো সাদাসিধে রাখুন এবং রাউটিং নিয়মগুলো যথেষ্ট কঠোর রাখুন যাতে উচ্চ-ঝুঁকির বা উচ্চ-মূল্যের নবায়ন ফिसলে না যায়।

একটি সাধারণ স্টেজ সেট:

  • Owner review
  • Manager approval
  • Finance approval
  • Legal approval
  • Security or Procurement approval (প্রয়োজনে)

রাউটিং অবশ্যই নিয়ম-ভিত্তিক হওয়া উচিত, ম্যানুয়াল নয়। চুক্তির মূল্য, ভেন্ডার ঝুঁকি টিয়ার, এবং চুক্তির ধরন অধিকাংশ কেস কভার করে। উদাহরণস্বরূপ, ছোট থ্রেশহোল্ডের নিচে থাকা লো-রিস্ক নবায়নে কেবল Manager এবং Finance লাগতে পারে। উচ্চ-মূল্য, উচ্চ-ঝুঁকির, বা ডেটা-হ্যান্ডেলিং নবায়নে Legal ও Security যোগ করা উচিত।

কখন অনুমোদন শুরু হবে তা পরিষ্কার ট্রিগার নির্ধারণ করুন। সাধারণ ট্রিগারগুলো: RenewalCase তৈরি হওয়া, কোট পাওয়া, অথবা মূল্য পরিবর্তন। মূল্য বা মূল-শর্ত পরিবর্তন হলে অনুমোদন রিসেট হিসেবে বিবেচনা করুন। যদি কোট অনুমোদন শুরু হওয়ার পরে বদলে যায়, তাহলে প্রয়োজনীয় স্টেজগুলিকে পুনরায় খুলে দিন যাতে চূড়ান্ত স্বাক্ষর বর্তমান শর্তের সঙ্গে মেলে।

অনুমোদন ক্রিয়াগুলো স্পষ্ট হওয়া উচিত: approve, reject, বা request changes। "Request changes" ফ্লো পজ করা উচিত এবং মালিককে প্রয়োজনীয় কমেন্টসহ কাজ ফেরত পাঠাতে হবে। প্রত্যাখ্যান করার সময় কারণ এবং পরবর্তী ধাপ (renegotiate, cancel, switch vendor) থাকা আবশ্যক।

উদাহরণ: $30k SaaS নবায়ন উচ্চ-ঝুঁকি টিয়ার হলে রাউটিং হবে Owner -> Manager -> Finance -> Legal -> Security।

অনুস্মারক ও এস্কালেশন নিয়ম

Stop renewals from stalling
Escalate to backup owners and managers when no action is taken on time.
Add Escalations

একটি অনুস্মারক সিস্টেম ট্র্যাকারকে বিশ্বাসযোগ্য করে তোলে। সঠিক মাইলস্টোনে নোটিফাই করুন, সঠিক সময়ে মেসেজ পাঠান, এবং কাজ হয়ে গেলে তৎক্ষণাৎ বন্ধ করুন।

মাইলস্টোনগুলো আলাদা রাখুন। বেশিরভাগ নবায়নে দুইটি গুরুত্বপূর্ণ তারিখ থাকে: notice deadline (বাতিল বা দরকষাকষির শেষ দিন) এবং renewal date (চুক্তি নবায়ন হয়)। প্রথমে notice deadline-কে ভিত্তি করে অনুস্মারক বাঁধুন, কারণ তা মিস করা সাধারণত সবচেয়ে ব্যয়বহুল ভুল।

একটি সহজ সময়সূচি প্রতি মাইলস্টোনের জন্য:

  • 90 দিন আগে
  • 60 দিন আগে
  • 30 দিন আগে
  • 14 দিন আগে
  • 7 দিন আগে

এস্কালেশন সময়ভিত্তিক নয়, কার্য-অনুপস্থিতির ফলে ট্রিগার করা উচিত। কর্মব্যাপি কী গণ্য হবে নির্ধারণ করুন, যেমন মালিকের অনুমোদন, সিদ্ধান্ত নির্বাচিত (renew, cancel, renegotiate), বা একটি approval request জমা দেওয়া।

একটি ব্যবহারিক এস্কালেশন চেইন:

  • অনুস্মারকের 3 ব্যবসায়িক দিনের মধ্যে যদি কোন পদক্ষেপ না দেখা যায়, ব্যাকআপ মালিককে নোটিফাই করুন।
  • আরও 5 ব্যবসায়িক দিন আর কোনো পদক্ষেপ না হলে মালিকের ম্যানেজারকে নোটিফাই করুন।
  • যদি notice deadline 7 দিনের মধ্যে থাকে এবং এখনও সিদ্ধান্ত না থাকে, লিগ্যাল/প্রোকিউরমেন্ট গ্রুপ মেইলবক্সকে নোটিফাই করুন।
  • উচ্চ-মূল্যের নবায়নের জন্য 30 দিন আগেই ফাইন্যান্সকে নোটিফাই করুন।

বার্তা স্থানীয় ব্যবসায়িক সময়ে পাঠান (উদাহরণ: মালিকের টাইমজোনে সোমবার থেকে শুক্রবার 9:00–17:00)। যদি মালিকের টাইমজোন অনুপস্থিত থাকে, কনট্রাক্টের বিজনেস ইউনিট টাইমজোন ব্যবহার করুন।

স্টপ কন্ডিশনগুলো কঠোর হতে হবে। একবার RenewalCase Approved, Renewed, Canceled, বা Replaced চিহ্নিত হলে, সেই কেসের সকল ভবিষ্যতের অনুস্মারক তৎক্ষণাৎ বন্ধ হয়ে যাবে। যদি মালিক notice deadline-এর 60 দিন আগে "Renegotiate" নির্বাচন করেন, notice অনুস্মারক পজ করুন এবং নেগোসিয়েশন ও অনুমোদন ফলো-আপে স্যুইচ করুন।

নোটিফিকেশন কনটেন্ট নিয়ম ও টেমপ্লেট

সঠিক মানুষরা সঠিক বার্তা সঠিক সময়ে পেলে নোটিফিকেশন কাজ করে। ইমেইল, ইন-অ্যাপ এবং চ্যাটে কনটেন্ট কনসিস্টেন্ট রাখুন যাতে কেউ বার্তাটির অর্থ বুঝতে ব্যর্থ না হয়।

ধাপ অনুযায়ী সাধারণ শ্রোতাগণ:

  • চুক্তি মালিক: প্রতিটি মাইলস্টোনে সর্বদা
  • বর্তমান অ্যাপ্রুভার(রা): শুধুমাত্র যখন কাজ প্রয়োজন
  • ওয়াচার (লিগ্যাল, প্রোকিউরমেন্ট, অ্যাকাউন্ট টিম): স্ট্যাটাস পরিবর্তন ও অনুমোদন সমাপ্তিতে
  • ফাইন্যান্স: যখন PO দরকার বা ব্যয় থ্রেশহোল্ড অতিক্রম করে
  • এস্কালেশন ম্যানেজার: মিসড ডেডলাইন বা আটকে থাকা অনুমোদনের পরে בלבד

প্রয়োজনীয় মেসেজ ফিল্ড

প্রতিটি নোটিফিকেশনে একই কোর ফিল্ড থাকা উচিত যাতে এটি সার্চযোগ্য এবং সহজে ট্রায়েজ করা যায়:

  • চুক্তির নাম এবং ভেন্ডার
  • নবায়ন ডিউ তারিখ (এবং বাকি দিন সংখ্যা)
  • বর্তমান স্ট্যাটাস এবং স্টেজ মালিক
  • পরবর্তী কাজ (approve, review quote, confirm PO, negotiate)
  • কোথায় কাজ করা হবে (স্ক্রিন নাম বা রেকর্ড ID)

সিদ্ধান্তকে সাহায্য করে এমন কনটেক্সটই যোগ করুন: শেষ নবায়ন আউটকাম, বর্তমান মূল্য, এবং কোট অ্যাটাচ করা আছে কি না।

টেমপ্লেট

দুটি সংস্করণ ব্যবহার করুন: মোবাইল-ফ্রেন্ডলি সারমারি এবং ইমেইল/ইন-অ্যাপের জন্য বিস্তারিত ভার্সন।

SHORT (chat/push)
[Renewal due in {days_left} days] {contract_name} - {vendor}
Status: {status}. Next: {next_action}.
Record: {contract_id}
DETAILED (email/in-app)
Subject: Action needed: {contract_name} renewal by {due_date}

Vendor: {vendor}
Due date: {due_date} ({days_left} days)
Current status: {status}
Next action: {next_action}
Owner: {owner_name}
Approver(s): {approver_list}
Price: {current_price} ({currency})
Last renewal: {last_outcome} on {last_renewal_date}
Quote: {quote_available}
Notes: {key_notes}
Record: {contract_id}

সিকিউরিটি নিয়ম: নোটিফিকেশনকে একটি হেডস-আপ হিসেবে বিবেচনা করুন, ডেটা ডাম্প হিসেবে নয়। যদি চ্যানেল নিরাপদ না হয় (যেমন শেয়ার্ড চ্যাট), তখন সংবেদনশীল ক্ষেত্রগুলি (ব্যাংক ডিটেইল, পূর্ণ চুক্তি টেক্সট, বিশেষ মূল্য নির্ধারণ) এড়িয়ে চলুন। রিসিপিয়েন্টকে রেকর্ড অ্যাপে খুলতে বলুন, যেখানে পারমিশন এবং অডিট লগ প্রযোজ্য।

ধাপে ধাপে: ওয়ার্কফ্লো বাস্তবায়ন

Automate notice deadline reminders
Create reminder workflows tied to notice deadlines so renewals stop slipping.
Try AppMaster

বুনিয়াদ দিয়ে শুরু করুন: নির্ভরযোগ্য ডেটা মডেল এবং পরিষ্কার মালিকানা।

1) প্রথমে এন্টিটিগুলো বানান

কোর টেবিলগুলো তৈরি করুন এবং তাদের দৃঢ়ভাবে লিঙ্ক করুন: Contracts, Vendors, internal Stakeholders (ইউজার বা টিম), এবং RenewalCases। Contracts একটি Vendor এবং একটি Owner রেফারেন্স করা উচিত। RenewalCases একটি Contract রেফারেন্স করা উচিত, বর্তমান নবায়ন স্ট্যাটাস বহন করা উচিত, এবং অনুস্মারকগুলির জন্য ব্যবহৃত মূল তারিখগুলো সংরক্ষণ করা উচিত।

একটি ব্যবহারিক নিয়ম: একটি Contract সময়ে অনেক RenewalCases থাকতে পারে, কিন্তু একবারে কেবল একটি active case থাকতে পারবে।

2) স্ট্যাটাস এবং ভ্যালিডেশন নিয়ম নির্ধারণ করুন

প্রতিটি স্টেজে কোন স্ট্যাটাস থাকতে পারে এবং কী পূরণ করা আবশ্যক তা নির্ধারণ করুন। কঠোর रहें। ড্রাফ্ট নবায়ন টার্ম এবং প্রাসঙ্গিক ডকুমেন্ট যুক্ত না থাকলে "Legal review" অনুমোদন করবেন না। অনুমোদক, অনুমোদনের তারিখ, এবং চূড়ান্ত টার্ম তারিখ না থাকলে "Approved" করা অনুমোদন করবেন না।

3) স্ট্যাটাস ওয়ার্কফ্লো তৈরি করুন

এমন প্রসেস বাস্তবায়ন করুন যা:

  • যখন একটি কনট্রাক্ট নবায়ন উইন্ডোতে আসে তখন স্বয়ংক্রিয়ভাবে RenewalCase তৈরি করে
  • কেসকে স্টেজগুলোর মধ্য দিয়ে নিয়ে যায় (Draft, Review, Approved, Sent, Closed)
  • ভেন্ডার, চুক্তির ধরন, মূল্য, ঝুঁকি টিয়ার, বা ডিপার্টমেন্ট অনুযায়ী রাউট করে
  • প্রতিটি স্ট্যাটাস পরিবর্তনকে একটি অডিট ইভেন্ট হিসেবে রেকর্ড করে
  • কেস ক্লোজ করে এবং নবায়ন চূড়ান্ত হলে Contract আপডেট করে

উদাহরণ: যদি একটি চুক্তি Operations-এ আছে এবং বাৎসরিক মূল্য আপনার থ্রেশহোল্ডের উপরে, Legal review চাওয়ার আগে Finance approval নিশ্চিত করুন।

4) নির্ধারিত অনুস্মারক ও এস্কালেশন চেক যোগ করুন

দৈনিক একটি শিডিউলড জব চালান যা এমন কেসগুলো খুঁজে বের করে যেখানে notice deadline নিকটবর্তী, কাজ ওভারডিউ, অথবা কোন স্টেজ খুব দীর্ঘদিন আটকে আছে। অনুস্মারক ইভেন্ট ও এস্কালেশন তৈরি করুন (যেমন ব্যাকআপ মালিককে নোটিফাই করা বা ম্যানেজারকে ওয়াচার হিসেবে যোগ করা)।

5) চ্যানেলগুলো সংযুক্ত করুন এবং ডেলিভারি লগ রাখুন

লোকেরা যেই চ্যানেলে পড়ে তা দিয়ে নোটিফিকেশন পাঠান (email, SMS, Telegram)। প্রতিটি ডেলিভারি প্রচেষ্টার টাইমস্ট্যাম্প, চ্যানেল, রিসিপিয়েন্ট, এবং রেজাল্ট লগ করুন যাতে আপনি প্রমাণ করতে পারেন অনুস্মারক পাঠানো হয়েছে এবং মিস হওয়া সমস্যা ডিবাগ করতে পারেন।

স্ক্রীন ও রিপোর্ট যা মানুষ দৈনন্দিন ব্যবহার করবে

লোকেরা একটি ট্র্যাকার আপ-টু-ডেট রাখে যখন দৈনন্দিন স্ক্রীনগুলো দ্রুত উত্তর দেয়: আমার পরবর্তী কাজ কী? কয়েকটি ভিউ তৈরি করুন যা বাস্তব অভ্যাসকে মিলে যায়, এক বিশাল ড্যাশবোর্ড নয়।

Renewal calendar (টিম ভিউ)

একটি ক্যালেন্ডার ভিউ তখনই ভাল কাজ করে যখন সেটি ডেডলাইনের উপর মনোযোগ দেয়, চুক্তি বিশদ নয়। এই সপ্তাহ ও আগামী মাসে ডিউ থাকা নবায়নগুলো দেখান স্পষ্ট স্ট্যাটাস ট্যাগসহ। প্রতিটি আইটেম সেই তারিখটি তুলে ধরবে যা সবচেয়ে গুরুত্বপূর্ণ, সাধারণত notice deadline। একটি মেয়াদ ১ মে-তে নবায়ন হলেও এটি মার্চ ১ পর্যন্ত "safe" থাকতে পারে—ক্যালেন্ডার সেটিই হাইলাইট করবে।

Owner inbox (my renewals)

এটাই বেশিরভাগ ইউজারের হোম স্ক্রীন। notice deadline অনুসারে সোর্ট করুন, তারপর ঝুঁকি টিয়ার। এটাকে অ্যাকশন-অরিয়েন্টেড রাখুন: submit for approval, request legal review, send renewal notice, follow up with vendor।

কয়েকটি ছোট ফিল্ডই যথেষ্ট:

  • চুক্তি নাম + ভেন্ডার
  • Notice deadline + renewal date
  • স্ট্যাটাস + পরবর্তী পদক্ষেপ
  • ঝুঁকি টিয়ার + আনুমানিক মাসিক খরচ

Approval queue (my approvals)

অ্যাপ্রুভাররা ক্লিক করে অতিরিক্ত স্ক্রীন খুলতে চান না। প্রতিটি সারিতে ভেন্ডার, চুক্তির মূল্য, টার্ম লেন্থ, নবায়ন ধরন (auto vs manual), প্রস্তাবিত পরিবর্তন (মূল্য বৃদ্ধি, স্কোপ পরিবর্তন), এবং অনুমোদনের ডেডলাইন দেখান। কেন এটি কিউতে এসেছে তা স্পষ্টভাবে দেখান, যেমন "Finance approval required because annual spend exceeds threshold."

Vendor view (একটি ভেন্ডার, সব কিছুকে একত্রে)

ভেন্ডার ফোন করলে মানুষ সম্পূর্ণ চিত্র চান: চুক্তি, নবায়ন তারিখ, ঝুঁকি টিয়ার, খোলা অ্যাকশন, এবং বর্তমান অ্যাপ্রুভার। এই ভিউ ডুপ্লিকেট চুক্তি প্রতিরোধ করে এবং তথ্য ঘনত্ব ঝুঁকি সহজে দেখায়।

দৈনিক রিপোর্ট যা মানুষ সত্যিই পড়ে

রিপোর্টগুলো সরল ও সময়সূচ্যযোগ্য রাখুন: মাস অনুসারে আসন্ন ব্যয়, ঝুঁকিতে থাকা নবায়ন (notice deadline X দিনের মধ্যে), এবং ওভারডিউ অ্যাকশন মালিক অনুযায়ী।

পারমিশন ও অডিট ট্রেইল বেসিক

Deploy where your team needs
Go live in your cloud of choice or export source code for self-hosting.
Deploy App

ট্র্যাকার তখনই কার্যকর যখন মানুষ এতে বিশ্বাস করে। সেটা দুই জিনিসে নির্ভর করে: সঠিক মানুষ সঠিক বিবরণ দেখবে, এবং প্রতিটি গুরুত্বপূর্ণ পরিবর্তন রেকর্ড থাকবে।

রোল-ভিত্তিক অ্যাক্সেস (মানুষ কী দেখতে ও কী করতে পারে)

একটি ছোট সেট রোল দিয়ে শুরু করুন এবং প্রয়োজনে বাড়ান:

  • Viewer: বেসিক বিবরণ ও তারিখ পড়ে, কিন্তু মূল্য বা অ্যাটাচমেন্ট দেখতে পারে না।
  • Contract Owner: তাদের চুক্তি এডিট করে, ডকুমেন্ট আপলোড করে, অনুমোদন অনুরোধ করে।
  • Approver (Legal/Finance/Procurement): অনুমোদন বা প্রত্যাখ্যান করে, মন্তব্য যোগ করে, চুক্তি মূল্য এবং মূল ক্লজ দেখতে পারে।
  • Admin: রোল ম্যানেজ করে, রাউটিং নিয়ম পরিবর্তন করে, আর্কাইভ হ্যান্ডেল করে।

সংবেদনশীল ফিল্ডগুলো সাধারণ ফিল্ড থেকে আলাদা রাখুন। সাধারণত সীমাবদ্ধ আইটেম: চুক্তির মূল্য, রেট কার্ড, ব্যাংক ডিটেইল, এবং সাইনড PDF। যদি কোনো ডকুমেন্ট বিস্তৃতভাবে শেয়ার করতে হয়, একটি redact করা সংস্করণ আলাদা ফাইলে সংরক্ষণ করুন।

অডিট ট্রেইল (কি লগ করা উচিত)

স্ট্যাটাস পরিবর্তন, অনুমোদন, এবং ডকুমেন্ট আপডেটগুলোকে অডিটেবল ইভেন্ট হিসেবে বিবেচনা করুন। কমপক্ষে লগ করুন:

  • Changed by (user), changed at (timestamp)
  • Field or action (status, owner, renewal date, term, document upload)
  • Old value এবং new value
  • Comment (reject, terminate, বা renewal date পরিবর্তনের সময় বাধ্যতামূলক)
  • Source (UI, automation, import), যদি পাওয়া যায়

ডকুমেন্টের জন্য ভার্শন রাখা এবং একটি ফাইলকে current signed copy হিসেবে মার্ক করা উচিত। ওভাররাইট করবেন না। ফাইলনেম, ভার্শন নম্বর, আপলোড করেছে/কখন, এবং বিকল্পভাবে একটি লেবেল যেমন "Signed v3" রাখুন।

হার্ড ডিলিটের বদলে আর্কাইভ পছন্দ করুন। আর্কাইভ করা চুক্তি রিপোর্টিং ও নবায়ন ইতিহাসের জন্য সার্চেবল থাকা উচিত।

চুক্তি এগিয়ে যেতে পারবে এমনকি তার আগে কিছু বেসিক চেক শক্তভাবে চাপান: vendor, owner, backup owner, start/end dates (বা evergreen ফ্ল্যাগ), renewal type (auto বা manual), notice period, এবং renewal term।

সাধারণ ভুল এবং নিরাময়

Set up approval routing rules
Route approvals by value and risk tier with a drag-and-drop process editor.
Create Workflow

একটি নবায়ন ট্র্যাকার ভাঙিয়ে ফেলার দ্রুত উপায় হল এমন একটি ডেডলাইন মিস করা যা আপনি ভেবে করেছিলেন ট্র্যাক হচ্ছে।

একটি সাধারণ ভুল হল একটি একক "renewal date" ফিল্ড ব্যবহার করে সব ঠিক হয়ে যাবে ভাবা। বাস্তব নবায়নগুলো notice period-এ নির্ভর করে (উদাহরণ: "60 দিন নোটিশ দিন নয়ত স্বয়ংক্রিয়ভাবে একটি বছর নবায়ন হবে")। এটি ঠিক করতে অন্তত এইগুলো ট্র্যাক করুন: effective date, term end date, auto-renew flag, notice deadline, এবং একটি computed next action date যা অনুস্মারক চালায়।

আর একটি সমস্যা হল অনুস্মারকগুলো যেখানে পৌঁছাবে না। যদি মালিক না থাকে, বার্তাগুলো ছড়িয়ে পড়ে এবং কিছুই হয় না। প্রতিটি চুক্তিতে মালিক এবং ব্যাকআপ মালিক আবশ্যক করুন, এবং "Active" স্ট্যাটাস ব্লক করুন যদি তারা না থাকে।

অনুমোদন ব্যর্থ হয় যখন তারা বাস্তব থ্রেশহোল্ড উপেক্ষা করে। একটি সিম্পল ওয়ার্কফ্লো ছোট নবায়নের জন্য কাজ করতে পারে, কিন্তু উচ্চ-ঝুঁকি বা উচ্চ-মূল্যের চুক্তি আসলেই ভেঙে পড়বে। রাউটিং নিয়মগুলো কয়েকটি সহজ ফ্যাক্টর কভার করবে: value bands, risk level বা data sensitivity, contract type, non-standard clauses, এবং department বা cost center।

নোটিফিকেশনগুলো উপেক্ষা করা হয় যখন সেগুলো পরবর্তী কি করা উচিত তা বলে না। প্রতিটি অনুস্মারক একটি পরবর্তী কাজ (review, approve, renegotiate, cancel), একটি নির্ধারিত তারিখ, এবং পরিণতি (auto-renew, মূল্য বৃদ্ধি, সার্ভিস বিঘ্ন) অন্তর্ভুক্ত করবে।

টিমগুলো ফলাফল রেকর্ড করতে ভুলে যায়, ফলে প্রতিটি চক্র আবার শূন্য থেকে শুরু হয়। আউটকাম (renewed, terminated, renegotiated), নতুন টার্ম ডিটেইলস, এবং একটি সংক্ষিপ্ত "what changed" নোট ক্যাপচার করুন।

দ্রুত চেক ও পরবর্তী পদক্ষেপ

ডান বলা আগে কয়েকটি চেক চালান যা বাস্তব জীবনের পরিস্থিতির নকল করে। নবায়ন ট্র্যাকার সাধারণত এজগুলোতে ব্যর্থ হয়: notice periods, অনুপস্থিত মালিক, এবং কাগজে ঠিক দেখানো অনুমোদনগুলো যা বাস্তবে কখনো অগ্রসর হয় না।

দ্রুত চেক (৩টি টেস্ট চুক্তি ব্যবহার করুন)

তিনটি নমুনা চুক্তি সেট আপ করুন ভিন্ন শর্ত নিয়ে:

  • একটি auto-renew চুক্তি যাতে একটি notice deadline আছে, নিশ্চিত করতে যে আপনি শুধু end date নয় notice date ট্র্যাক করেন।
  • একটি ম্যানুয়াল নবায়ন চুক্তি যেখানে কেউ অনুমোদন ও স্বাক্ষর না করলে কিছুই হয় না।
  • একটি বহু-বছরের চুক্তি যেখানে মধ্য-মেয়াদের রিভিউ তারিখ আছে যাতে দীর্ঘ বিরতি অনুস্মারক ভাঙে না।

প্রতিটি চুক্তির জন্য যাচাই করুন অনুস্মারকগুলো notice deadline-এর জন্য প্রথমে ফায়ার করে, পরে renewal/end date-এর জন্য। একটি চুক্তি বেছে নিন এবং মালিক হিসেবে কিছুই না করে দেখুন যাতে এস্কালেশন ব্যাকআপ মালিককে পৌঁছায় এবং কেউ কাজ না করা পর্যন্ত চলতে থাকে।

তারপর অনুমোদনগুলো end-to-end টেস্ট করুন। একটি চুক্তিকে অনুমোদন পাথের মাধ্যমে চালান এবং আরেকটিকে প্রত্যাখ্যান পাথ দিয়ে চালান। নিশ্চিত করুন অডিট ট্রেইল কেভাবে, কখন, এবং কেন সিদ্ধান্ত নেওয়া হয়েছে তা রেকর্ড করে। যদি আপনার লগগুলো 10 সেকেন্ডে "কি ঘটেছে?" জিজ্ঞাসার উত্তর না দেয়, তাহলে তারা কঠিন সময়ে সাহায্য করবে না।

পরবর্তী পদক্ষেপ

ছোট থেকে শুরু করুন, তারপর কেবল বর্ধিত করুন যখন বেসিকগুলো বিরক্তিকর হয়ে উঠে:

  • একটি ন্যূনতম সংস্করণ প্রথমে বানান: কোর এন্টিটি, পরিষ্কার স্ট্যাটাস, এবং দুটি অনুস্মারক (উদাহরণ: প্রথম notice ও চূড়ান্ত notice)।
  • অনুস্মারকগুলো নির্ভরযোগ্য হলে শুধু তারপরে অনুমোদন যোগ করুন।
  • মালিকানা বাধ্যতামূলক রাখুন: প্রতিটি চুক্তিতে একটি মালিক এবং একটি ব্যাকআপ মালিক বাধ্যতামূলক করুন।
  • একটি টিমকে দুই সপ্তাহ পাইলট দিন, তারপর অনুস্মারক সময় এবং এস্কালেশন রোল সমন্বয় করুন।

যদি আপনি এটিকে কোড না লিখে একটি অভ্যন্তরীণ অপারেশনাল অ্যাপে বানাতে চান, AppMaster (appmaster.io) একটি অপশন হতে পারে ডেটা মডেলিং, অনুমোদন ওয়ার্কফ্লো তৈরি, এবং বিভিন্ন চ্যানেলে নোটিফিকেশন পাঠানোর জন্য।

এই চেকগুলো পাস করে গেলে, আপনার নবায়ন ট্র্যাকার আসল চুক্তির জন্য প্রস্তুত, কেবল সুখী-পাথ ডেমো নয়।

প্রশ্নোত্তর

What dates should a renewal tracker always store?

Track the notice deadline and the term end/renewal date separately. Most costly mistakes happen when a team misses the notice window, not the end date, so reminders should be driven by the notice deadline first.

How do we prevent renewals from stalling when the owner is out?

Give every contract a primary owner and a backup owner, and define what “action taken” means (for example: acknowledged, decision selected, approval request submitted). If the primary owner doesn’t act within your set window, escalate automatically to the backup and then the manager.

Should we track renewals on the Contract record or as separate cases?

Keep the long-lived Contract record separate from each RenewalCase (each renewal cycle). That way you preserve history (quotes, approvals, outcomes) without overwriting last year’s decisions.

What statuses are actually useful for renewals?

Start with a small set that always implies a next action: upcoming, in review, waiting approval, approved, renewed, canceled. If a status doesn’t clearly tell someone what to do next, it will be ignored or misused.

How should approval routing work without turning into a mess?

Make routing rule-based using a few inputs: contract value band, vendor risk tier, contract type, and whether terms changed. Default to the simplest path for low-risk, low-value renewals, and automatically add Legal/Security/Procurement when thresholds are crossed.

What happens if the vendor changes the quote mid-process?

Trigger an approval reset when the quote or key terms change after approvals start. The clean default is: reopen only the stages that are affected (for example, Finance for price change, Legal for clause change) so final sign-off matches the current terms.

What’s a good reminder and escalation schedule?

Use a predictable schedule tied to the notice deadline (for example 90/60/30/14/7 days). Escalate based on no action taken after a reminder, and stop all reminders immediately once the case is marked approved, renewed, canceled, or replaced.

What should a renewal notification include so people act on it?

Keep every message short and consistent: contract name, vendor, due date with days left, current status, next action, and who owns the next step. Treat notifications as pointers, not a data dump, so people know where to act without exposing sensitive terms in chat.

How do we handle missing end dates or evergreen contracts?

Mark the record as date missing and block reminders until fixed, because bad dates create false trust. For evergreen contracts, skip an end date and instead use a periodic review date so they still show up for attention.

What needs to be in the audit trail for a renewal tracker?

Log status changes, approvals, owner changes, date changes, and document uploads with who/when/old/new plus a required comment for rejects or date changes. Prefer archiving over deleting so you can answer “what happened last time?” without reconstructing it from email.

শুরু করা সহজ
কিছু আশ্চর্যজনকতৈরি করুন

বিনামূল্যের পরিকল্পনা সহ অ্যাপমাস্টারের সাথে পরীক্ষা করুন।
আপনি যখন প্রস্তুত হবেন তখন আপনি সঠিক সদস্যতা বেছে নিতে পারেন৷

এবার শুরু করা যাক