Skip to content
All insights
Article

গার্মেন্টস ফ্যাক্টরিতে Attendance ও Payroll-এর হিসাব মিলছে না কেন? ৭টি সাধারণ কারণ ও সমাধান

মাসের শেষে Attendance রিপোর্ট আর Salary Sheet-এর সংখ্যা কেন আলাদা হয়? Missing punch থেকে Overtime গরমিল পর্যন্ত ৭টি কারণ, reconciliation-এর ধাপ ও troubleshooting checklist।

Share

গার্মেন্টস ফ্যাক্টরির HR অফিসে একজন কর্মকর্তা Attendance রিপোর্ট ও Salary Sheet পাশাপাশি রেখে মিলিয়ে দেখছেন

মাসের ২৮ তারিখ। Attendance রিপোর্ট বলছে একজন অপারেটর ২৫ দিন কাজ করেছেন, কিন্তু Salary Sheet-এ লেখা ২৩ দিন। Overtime-এর ঘণ্টা Line Supervisor-এর খাতায় এক রকম, সফটওয়্যারে আরেক রকম। বেতন দেওয়ার আগে HR অফিসার এই গরমিলগুলো একটার পর একটা হাতে মেলান, আর প্রতি মাসেই একই দৃশ্য। বাংলাদেশের বেশিরভাগ গার্মেন্টস ফ্যাক্টরিতে মাস শেষের সবচেয়ে বড় মাথাব্যথা এটাই: Attendance আর Payroll-এর সংখ্যা মেলে না।

গরমিলটা সাধারণত ডিভাইসের দোষ নয়, হিসাবেরও ভুল নয়। সমস্যা থাকে দুইয়ের মাঝখানে, অর্থাৎ Punch থেকে Salary Sheet পর্যন্ত যে পথ, তার কোনো একটা ধাপে। এই লেখায় সেই পথের সাত জায়গা ধরে ধরে দেখানো হয়েছে কোথায় সংখ্যা বদলে যায়, কীভাবে ধরবেন, আর কীভাবে ঠিক করবেন।

Attendance আর Payroll-এর হিসাব "না মেলা" মানে আসলে কী

Attendance থেকে বেতন পর্যন্ত তথ্য অন্তত চারটি রূপ বদলায়: Punch (ডিভাইসে আঙুল বা কার্ড ছোঁয়ার রেকর্ড), Daily Attendance (দিনে present, absent, late, half-day), Monthly Summary (মোট present দিন, leave, OT ঘণ্টা) এবং Salary Sheet (টাকার অঙ্ক)। প্রতিটি রূপান্তরে কিছু নিয়ম খাটে, আর প্রতিটি নিয়মে ভুল হওয়ার সুযোগ আছে।

তাই "হিসাব মিলছে না" বললে প্রথমেই ঠিক করুন কোন দুই রিপোর্টের মধ্যে পার্থক্য: Punch log বনাম Daily Attendance? Daily বনাম Monthly? নাকি Monthly বনাম Salary Sheet? পার্থক্যটা কোন ধাপে, সেটা জানলেই অর্ধেক সমস্যা ধরা পড়ে। নিচের সাতটি কারণ এই ধাপগুলো ধরেই সাজানো।

৭টি সাধারণ কারণ ও সমাধান

১. Missing punch: এক Punch নেই, পুরো দিন নেই

সবচেয়ে বেশি দেখা যায় এই সমস্যা। শ্রমিক সকালে Punch দিয়েছেন, ছুটির সময় তাড়াহুড়ায় দেননি। অথবা আঙুল ভেজা থাকায় ডিভাইস নেয়নি, তিনি ভেবেছেন নিয়েছে। সফটওয়্যার তখন ওই দিনকে কী ধরবে? অনেক সিস্টেমে out-punch না থাকলে দিনটা absent বা half-day হয়ে যায়, আর কাজের ঘণ্টা শূন্য। মাস শেষে শ্রমিক এসে বলেন "আমি তো ছিলাম", Supervisor-ও সাক্ষী দেন, কিন্তু Salary Sheet ততক্ষণে তৈরি।

সমাধান: Missing punch-কে মাস শেষের সমস্যা না রেখে দৈনিক সমস্যা বানান। প্রতিদিন সকালে আগের দিনের single-punch তালিকা বের করুন, Supervisor-এর নিশ্চয়তা নিয়ে ওই দিনই ঠিক করুন। নিয়ম লিখে রাখুন: single punch থাকলে কী হবে (যেমন Supervisor confirm করলে full day, না করলে half-day)। নিয়ম স্পষ্ট থাকলে মাস শেষে তর্ক কমে।

২. Duplicate punch: এক দিনে চার-পাঁচটা Punch

উল্টো সমস্যাও আছে। শ্রমিক দুপুরের খাবারে বেরিয়ে Punch দিলেন, ফিরে আবার দিলেন; অথবা ডিভাইস নিয়েছে কি না বুঝতে না পেরে পরপর তিনবার আঙুল দিলেন। এখন এক দিনে পাঁচটা Punch। সফটওয়্যার কোনটাকে in ধরবে, কোনটাকে out? যদি প্রথম আর দ্বিতীয়টা জোড়া বাঁধে, তাহলে কাজের সময় দাঁড়ায় দশ মিনিট। আর যদি ভুলভাবে দ্বিতীয়-তৃতীয় জোড়া বাঁধে, Overtime বেড়ে যায়।

সমাধান: Punch জোড়া বাঁধার নিয়ম (pairing rule) ঠিক করুন ও সবার জানা থাকুক: সাধারণত দিনের প্রথম Punch = in, শেষ Punch = out, মাঝেরগুলো break হিসেবে ধরা বা উপেক্ষা করা। ডিভাইসে একই আঙুলের পরপর Punch কয়েক মিনিটের মধ্যে হলে একটাই ধরার সেটিং থাকলে চালু করুন। মাসিক রিপোর্টে "এক দিনে তিনের বেশি Punch" এমন দিনগুলো আলাদা করে দেখুন।

৩. ভুল Shift assignment ও Attendance rule

একজন শ্রমিক গত মাসে সকালের Shift-এ ছিলেন, এ মাসে Line বদলে ইভনিং Shift-এ গেছেন। HR-এর সফটওয়্যারে Shift বদলানো হয়নি। ফলে তিনি রাত আটটায় কাজ শেষ করে Punch দিলে সিস্টেম দেখছে সকালের Shift-এর তুলনায় বিশাল Overtime, আর সকাল দশটায় ঢোকায় দেখাচ্ছে late। পুরো মাসের হিসাব তখন একটা ভুল Shift-এর ওপর দাঁড়িয়ে।

একই ধরনের ভুল হয় grace period (দেরিতে ঢোকার ছাড়ের সময়), weekly off-এর দিন, আর সরকারি ছুটির তালিকায়। শুক্রবার বন্ধের বদলে কোনো Unit-এ শনিবার বন্ধ থাকলে, আর সফটওয়্যারে সবার জন্য একই weekly off সেট থাকলে, এক Unit-এর পুরো মাস ভুল হয়ে যায়।

সমাধান: Shift বদল, Line transfer, বা নতুন Unit-এ পদায়নের তথ্য Production থেকে HR-এ পৌঁছানোর একটা নির্দিষ্ট পথ রাখুন, যেমন সাপ্তাহিক Shift roster-এর একটা কপি HR-এ জমা। মাসের শুরুতে Shift, grace, weekly off ও holiday তালিকা একবার যাচাই করে নিন। নিয়মগুলো যেন কাগজে লেখা থাকে, কোনো একজনের মাথায় নয়।

৪. ZKTeco ডিভাইস ও সফটওয়্যারের মধ্যে Sync সমস্যা

ডিভাইসে Punch আছে, সফটওয়্যারে নেই। অথবা দুই ডিভাইসের ঘড়ি দুই রকম সময় দেখাচ্ছে, ফলে একই শ্রমিকের in-punch out-এর পরে বসছে। বিদ্যুৎ গেলে ডিভাইস কিছুক্ষণ offline থাকে, Punch ডিভাইসের মেমোরিতে জমে, পরে সব এক সঙ্গে আসে বা আসেই না। এগুলো device-side সমস্যা, এবং HR-এর টেবিলে পৌঁছানোর আগেই হিসাব নষ্ট করে।

এই বিষয়ে আলাদা লেখা আছে, তাই এখানে পুনরাবৃত্তি করছি না: ZKTeco Attendance Sync হচ্ছে না? ৮টি কারণ ও সমাধান। HR-এর দিক থেকে যেটা জরুরি: প্রতিদিন ডিভাইসের Punch সংখ্যা আর সফটওয়্যারে আসা Punch সংখ্যা একবার মিলিয়ে নেওয়া। সংখ্যা না মিললে সেদিনই খোঁজ নিন, মাস শেষে নয়।

৫. Overtime হিসাবে গরমিল

Overtime-এ গরমিল হয় তিন জায়গায়। প্রথমত, OT ঘণ্টা কীভাবে ধরা হচ্ছে: Punch থেকে Shift শেষের পরের সময়, নাকি Supervisor-এর হাতে লেখা OT slip থেকে? দুটো খুব কমই মেলে, কারণ Punch-এ কাপড় গোছানো, লাইন ছাড়ার অপেক্ষা, সবই ঢুকে যায়। দ্বিতীয়ত, OT-র হার। বাংলাদেশ শ্রম আইন, ২০০৬-এর ধারা ১০৮ অনুযায়ী Overtime-এর মজুরি মূল মজুরি, মহার্ঘ ভাতা ও অন্তর্বর্তী মজুরির (যদি থাকে) সাধারণ হারের দ্বিগুণ (আইনের মূল পাঠ)। Gross-এর ওপর হিসাব করলে বা Basic-এর ওপর একক হারে করলে সংখ্যা বদলে যায়। তৃতীয়ত, মাসিক ভাগফল: প্রচলিত সূত্রে (Basic + DA + ad-hoc) ÷ 208 × 2 × OT ঘণ্টা ধরা হয়, যেখানে ২০৮ আসে শ্রম বিধিমালা থেকে (সূত্র)। কেউ যদি ২০৮-এর বদলে ২৪০ বা ২২৬ ব্যবহার করেন, প্রতি ঘণ্টায় ফারাক পড়ে।

পাশাপাশি দৈনিক ও সাপ্তাহিক সীমাও মাথায় রাখা দরকার: ধারা ১০০ ও ১০২ অনুযায়ী দৈনিক সর্বোচ্চ ৮ ঘণ্টা (OT সহ ১০), সাপ্তাহিক ৪৮ (OT সহ ৬০)। Attendance-এ যদি কারো সপ্তাহে ৭০ ঘণ্টা দেখা যায়, সেটা শুধু payroll-এর সমস্যা নয়, কমপ্লায়েন্সেরও।

সমাধান: OT-র উৎস একটাই রাখুন। Punch-ভিত্তিক OT ধরলে Supervisor-এর slip শুধু অনুমোদনের কাজে লাগুক, হিসাবের জন্য নয়; আর slip-ভিত্তিক ধরলে Punch দিয়ে যাচাই করুন। সূত্র ও হার লিখিত policy-তে থাকুক। বিস্তারিত হিসাবের উদাহরণ পাবেন বাংলাদেশে গার্মেন্টস শ্রমিকদের ওভারটাইম হিসাব লেখায়।

৬. Manual correction: কে বদলালো, কেন বদলালো, কেউ জানে না

Excel-এ Salary Sheet বানালে একটা ঘর বদলাতে এক সেকেন্ড লাগে। HR অফিসার একজন শ্রমিকের present দিন ২৩ থেকে ২৫ করলেন, কারণ Supervisor ফোনে বলেছেন। পরের দিন আরেকজন সেটা দেখে ভাবলেন ভুল, আবার ২৩ করলেন। মাস শেষে কোনটা ঠিক, কেউ বলতে পারে না। অডিটে প্রশ্ন উঠলে উত্তর নেই।

সমস্যা correction করায় নয়, correction-এর কোনো ছাপ না থাকায়। কোন ঘর কে, কখন, কী কারণে বদলেছেন, আর কে অনুমোদন দিয়েছেন, এই চারটা তথ্য না থাকলে Attendance আর Payroll কখনোই নির্ভরযোগ্যভাবে মিলবে না, কারণ মেলানোর ভিত্তিটাই নড়বড়ে।

সমাধান: Attendance সংশোধনের একটা লিখিত ফর্ম বা রেজিস্টার রাখুন: তারিখ, শ্রমিকের ID, আগের মান, নতুন মান, কারণ, অনুরোধকারী, অনুমোদনকারী। Salary Sheet চূড়ান্ত করার পর যেন কেউ Attendance বদলাতে না পারেন, সে জন্য একটা cut-off তারিখ ঠিক করুন। অডিটররা ঠিক এই রেকর্ডগুলোই দেখতে চান; বিস্তারিত পড়ুন কমপ্লায়েন্স অডিটে কর্মঘণ্টার রেকর্ড লেখায়।

৭. Leave, holiday ও weekly off: Attendance-এ এক কথা, Payroll-এ আরেক

একজন শ্রমিক তিন দিনের casual leave নিয়েছেন, আবেদন অনুমোদিত। Attendance-এ ওই তিন দিন absent দেখাচ্ছে কারণ leave-এর তথ্য Attendance সফটওয়্যারে ঢোকেনি, ঢুকেছে HR-এর আলাদা leave register-এ। Salary Sheet বানানোর সময় কেউ মনে করে leave-এর দিন যোগ করলেন, কেউ করলেন না। ফলাফল: একই শ্রমিকের বেতন দুই রিপোর্টে দুই রকম। Half-day leave হলে জটিলতা আরও বাড়ে।

সরকারি ছুটির দিনে কারখানা খোলা থাকলে সেদিনের উপস্থিতি কীভাবে গণনা হবে, বদলি ছুটি দেওয়া হবে কি না, এসব নিয়মও অনেক সময় Attendance আর Payroll টিমের কাছে ভিন্নভাবে বোঝা থাকে।

সমাধান: Leave, holiday ও weekly off-এর একটাই উৎস রাখুন, এবং সেটা Attendance-এর সঙ্গে একই জায়গায়। Leave অনুমোদন হওয়ার সঙ্গে সঙ্গে যেন Attendance-এ সেই দিনগুলো "approved leave" হিসেবে চিহ্নিত হয়, absent নয়। Earned leave-এর ব্যালান্স ও হিসাবের নিয়ম জানতে দেখুন Earned Leave Calculation in Bangladesh।

Attendance থেকে Salary: reconciliation-এর চার ধাপ

উপরের সাত কারণ ধরার সবচেয়ে কার্যকর উপায় হলো প্রতিটি রূপান্তরের দুই পাশের সংখ্যা মিলিয়ে দেখা। নিচের ছকটা মাসে একবার, Salary Sheet চূড়ান্ত করার আগে ব্যবহার করুন।

ধাপ

কী মেলাবেন

না মিললে সম্ভাব্য কারণ

১. Punch → Daily

ডিভাইসের মোট Punch সংখ্যা বনাম সফটওয়্যারে আসা Punch; single-punch ও ৩+ punch দিনের তালিকা

Sync সমস্যা, missing বা duplicate punch

২. Daily → Monthly

প্রতি শ্রমিকের present + absent + leave + holiday + weekly off = মাসের মোট দিন

Leave বা holiday Attendance-এ ঢোকেনি, ভুল weekly off

৩. Monthly → OT

Punch-ভিত্তিক OT ঘণ্টা বনাম Supervisor-অনুমোদিত OT ঘণ্টা, প্রতি Line ধরে

ভুল Shift, pairing rule, অননুমোদিত OT

৪. Monthly → Salary Sheet

Present দিন ও OT ঘণ্টা Salary Sheet-এর কলামে হুবহু একই কি না; গত মাসের তুলনায় বড় পার্থক্য কাদের

Manual correction, ভুল সূত্র বা ভাগফল, Grade/Basic আপডেট হয়নি

চতুর্থ ধাপে একটা সহজ কৌশল কাজে লাগে: গত মাসের তুলনায় যাদের net pay একটা নির্দিষ্ট সীমার বেশি (যেমন ১৫ শতাংশ) বেড়েছে বা কমেছে, শুধু তাদের ফাইল হাতে খুলুন। পুরো ফ্যাক্টরির Sheet লাইন ধরে পড়ার দরকার হয় না। Salary Sheet-এর কলাম ও Grade কাঠামো নিয়ে বিস্তারিত আছে Garment Worker Salary Sheet in Bangladesh লেখায়।

Troubleshooting checklist: গরমিল ধরা পড়লে কী করবেন

কোনো শ্রমিক বা Supervisor এসে বললেন হিসাব ভুল। এলোমেলোভাবে না খুঁজে এই ক্রমে যান:

  • কোন রিপোর্টের সঙ্গে কোনটা মিলছে না, সেটা লিখুন। Punch log, Daily, Monthly, না Salary Sheet? ধাপ জানলে কারণের তালিকা ছোট হয়।

  • ওই শ্রমিকের পুরো মাসের Punch log খুলুন। single-punch দিন, ৩+ punch দিন, আর Shift-এর বাইরে Punch, এই তিনটা চিহ্নিত করুন।

  • Shift assignment যাচাই করুন। মাসের মাঝে Shift বা Line বদলেছে কি না Production-এ জিজ্ঞেস করুন।

  • Leave register মেলান। অনুমোদিত leave Attendance-এ "leave" হিসেবে আছে, না "absent"?

  • OT-র দুই উৎস পাশাপাশি রাখুন। Punch থেকে পাওয়া ঘণ্টা আর Supervisor-এর slip; পার্থক্য কোন কোন দিনে?

  • Correction register দেখুন। ওই শ্রমিকের কোনো ঘর কেউ হাতে বদলেছেন কি না, বদলালে অনুমোদন ছিল কি না।

  • সূত্র পরীক্ষা করুন। একজনের হিসাব হাতে ক্যালকুলেটরে করুন: Basic, DA, OT হার, ভাগফল। সফটওয়্যার বা Excel-এর সূত্রের সঙ্গে মেলে?

  • কারণটা লিখে রাখুন। কোন ধাপে, কী কারণে ভুল হলো। তিন মাসের তালিকা দেখলেই বোঝা যাবে কোন ধাপটা বারবার ভোগাচ্ছে, সেখানেই প্রক্রিয়া বদলাতে হবে।

একটা উদাহরণ (কাল্পনিক সংখ্যা): ধরুন ৮০০ শ্রমিকের একটা ফ্যাক্টরিতে মাসে গড়ে ২ শতাংশ দিনে single punch হয়। ২৬ কর্মদিবসে সেটা দাঁড়ায় প্রায় ৪১৬টি দিন, যার প্রতিটি কাউকে হাতে ঠিক করতে হবে। মাস শেষে একদিনে ৪১৬টি সিদ্ধান্ত নেওয়া অসম্ভব; প্রতিদিন ১৬টি নেওয়া সহজ। এটাই দৈনিক reconciliation-এর মূল যুক্তি।

এই কাজগুলো সহজ করতে Octa Punch যেভাবে সাহায্য করে

উপরের সাতটি সমস্যার বেশিরভাগই আসলে প্রক্রিয়ার সমস্যা, আর ভালো প্রক্রিয়া Excel দিয়েও চালানো যায়। তবে প্রতিদিন শত শত সিদ্ধান্ত হাতে নেওয়া কঠিন বলেই অনেক ফ্যাক্টরি এমন একটা টুল খোঁজে যেখানে Attendance আর Payroll একই জায়গায় থাকে। Octa Punch বাংলাদেশের গার্মেন্টস ও টেক্সটাইল ফ্যাক্টরির জন্য তৈরি cloud-ভিত্তিক Attendance, Payroll ও HRM টুল, যা এই লেখার সমস্যাগুলোর সঙ্গে সরাসরি সম্পর্কিত কয়েকটি কাজ করে:

  • ZKTeco ডিভাইস থেকে Punch API key-র মাধ্যমে live আসে; পুরনো log বাল্কে import করা যায়।

  • Daily card প্রতিটি দিনের Punch জোড়া বেঁধে কাজের ঘণ্টা বের করে, break বাদ দেয়, Shift-এর মান থেকে Overtime হিসাব করে, আর অস্বাভাবিক দিনগুলো review queue-তে পাঠায়: missed punch, half-day, approved leave, holiday।

  • Salary Sheet সরাসরি Attendance থেকে তৈরি হয়; আলাদা Excel-এ সংখ্যা টাইপ করার ধাপটাই নেই।

  • Approval workflow draft → submitted → approved → paid → locked; lock হওয়ার পর পেছনের মাস বদলানো যায় না। Audit trail-এ কে কী বদলেছেন, কখন, কে অনুমোদন দিয়েছেন, সব থাকে।

  • OT হার, Shift grace, weekly off, holiday, leave type, সবই developer ছাড়া সেটিংস থেকে বদলানো যায়; Leave management half-day পর্যন্ত নির্ভুল।

আপনার ফ্যাক্টরিতে Attendance ও Payroll ব্যবস্থাপনা সহজ করতে Octa Punch সম্পর্কে জানুন, অথবা ফ্রি ডেমোর জন্য যোগাযোগ করুন।

TopicAttendance

Keep reading

Want to talk about this on your own setup?

Leave your email and we will come back to you with what it would take.

One email, a real reply within a business day. No newsletter, no sales sequence.

or chat with us on WhatsApp