আয়ের প্রমাণ
USDT আয়ের প্রমাণ কীভাবে রাখবেন
ইনভয়েস, ক্লায়েন্ট তথ্য, পেমেন্টের তারিখ, ট্রানজ্যাকশন হ্যাশ ও সেই সময়কার মূল্য একসঙ্গে রাখার ব্যবহারিক কাঠামো।
সর্বশেষ হালনাগাদ: 2026-08-11
ক্লায়েন্টের পাঠানো USDT-র একটি ট্রানজ্যাকশন হ্যাশ আছে—এতেই কি ফ্রিল্যান্স আয়ের প্রমাণ সম্পূর্ণ? সংক্ষিপ্ত উত্তর হলো, না। হ্যাশ একটি নির্দিষ্ট নেটওয়ার্কে একটি স্থানান্তর খুঁজে পেতে সাহায্য করতে পারে; কিন্তু কে কাজ দিয়েছেন, কোন ইনভয়েসের বিপরীতে অর্থ এসেছে, কী সেবা দেওয়া হয়েছে, পেমেন্টের সময় ফিয়াট মূল্য কত ছিল, কিংবা ব্যবহৃত পথ বাংলাদেশের প্রযোজ্য নিয়মের সঙ্গে সামঞ্জস্যপূর্ণ কি না—এসব প্রশ্নের উত্তর হ্যাশ একা দেয় না। ভালো নথি তাই একটি স্ক্রিনশট বা একটি নম্বর নয়; এটি পরস্পরকে সমর্থন করা কয়েক ধরনের রেকর্ডের সমষ্টি।
এই লেখায় একটি নিরপেক্ষ আয়-নথি তৈরির পদ্ধতি দেওয়া হয়েছে। এখানে কোনো ওয়ালেট সংযোগ নেই, কোনো স্বয়ংক্রিয় মূল্য নেই এবং কোনো ব্যক্তিগত বিনিময়সেবা নেই। প্রতিটি মূল্য, ফি ও রেফারেন্স রেট ব্যবহারকারী নিজে নথিভুক্ত করবেন। এটি আইনগত বা করসংক্রান্ত পরামর্শ নয়। কোনো নথি রাখা একটি লেনদেনকে অনুমোদিত করে না; নথি কেবল কী ঘটেছে বলে দাবি করা হচ্ছে, তার সহায়ক রেকর্ড তৈরি করে।
এই লেখায় কোন প্রশ্নগুলোর উত্তর পাবেন?
- USDT আয়ের একটি শক্ত নথি আসলে কী?
- কোন তথ্য ব্লকচেইনে স্থানান্তর দেখায়, আর কোন তথ্য কাজের সম্পর্ক দেখায়?
- client alias, invoice number ও payment time কীভাবে একে অন্যের সঙ্গে মিলবে?
- asset, network, amount, transaction hash ও receiving address কীভাবে লিখবেন?
- হাতে বসানো reference rate, তার currency, source ও recorded time কেন আলাদা ক্ষেত্র?
- fiat value, platform fee, network fee ও spread কীভাবে নথিভুক্ত হবে?
- মাসভিত্তিক ফোল্ডার, ledger ও CSV export কীভাবে সাজাবেন?
- Freelancer ID কোন ধরনের প্রমাণ, এবং সেটি কী প্রমাণ করে না?
- কোনো নথি না থাকলে কীভাবে ঘাটতি স্বীকার ও সংশোধন করবেন?
- বাংলাদেশ ব্যাংকের নির্দেশনা এই রেকর্ডের সীমা কোথায় টানে?
এক বাক্যে USDT আয়ের প্রমাণ কীভাবে রাখবেন?
একটি মাসিক লেজারের প্রতিটি পেমেন্ট সারিতে ক্লায়েন্টের ছদ্মনাম, ইনভয়েস নম্বর, RFC3339 সময়, সম্পদ, নেটওয়ার্ক, অঙ্ক, ট্রানজ্যাকশন হ্যাশ, ঐচ্ছিক গ্রহণ ঠিকানা, হাতে বসানো রেফারেন্স রেট ও তার উৎস-সময়, ফিয়াট মূল্য, ফি, মূল্য ব্যবধান এবং নোট লিখে সংশ্লিষ্ট ইনভয়েস ও যোগাযোগের নথির সঙ্গে মিলিয়ে রাখুন।
এই বাক্যের প্রতিটি অংশ দরকারি, কিন্তু কোনো একক অংশ সবকিছু প্রমাণ করে না। লেজার একটি সূচি; ইনভয়েস সেবার দাবি; ক্লায়েন্টের লিখিত সম্মতি কাজ ও পারিশ্রমিকের সম্পর্ক; হ্যাশ স্থানান্তরের একটি শনাক্তকারী; আর পরিচয় বা পেশাগত যোগ্যতার নথি ব্যক্তির পরিচয় সম্পর্কে আলাদা দাবি সমর্থন করে। যাচাইকারী যেন এক নথি থেকে পরের নথিতে যেতে পারেন—এটাই কাঠামোর মূল উদ্দেশ্য।
কেন একটি হ্যাশকে সম্পূর্ণ আয়ের প্রমাণ বলা যায় না?
কারণ হ্যাশ স্থানান্তর শনাক্ত করে, সেবার চুক্তি বা আয়ের বৈধ চরিত্র নয়। একটি হ্যাশের সঙ্গে সাধারণত সম্পদ, নেটওয়ার্ক, প্রেরণ বা গ্রহণ ঠিকানা, অঙ্ক এবং সময়-সংক্রান্ত নেটওয়ার্ক রেকর্ড মিলতে পারে। কিন্তু ব্লকচেইন জানে না INV-... নম্বরের ইনভয়েস কে তৈরি করেছেন, ক্লায়েন্টের সঙ্গে কী কাজের শর্ত ছিল, কিংবা পেমেন্টটি সেবা, ফেরত, নিজের দুই ঠিকানার স্থানান্তর, উপহার বা অন্য কিছু ছিল।
হ্যাশের পাশে ইনভয়েস না থাকলে সেবার দাবিটি দুর্বল থাকে। ইনভয়েস থাকলেও ক্লায়েন্টের সম্মতি বা কাজ হস্তান্তরের রেকর্ড না থাকলে সম্পর্কটি অসম্পূর্ণ থাকে। আবার সেবা-সম্পর্কের সব নথি থাকলেও পেমেন্টের সময়কার মূল্য ও ফি না লিখলে হিসাবের অঙ্ক পরে পুনর্গঠন করা কঠিন হয়। তাই “হ্যাশ আছে” একটি দরকারি উত্তর, কিন্তু “আয়ের প্রমাণ সম্পূর্ণ” বলার জন্য যথেষ্ট উত্তর নয়।
প্রমাণের তিনটি স্তর কীভাবে আলাদা করবেন?
তিনটি স্তর হলো স্থানান্তরের প্রমাণ, সেবা-সম্পর্কের প্রমাণ এবং পরিচয় বা যোগ্যতার প্রমাণ। এগুলো পাশাপাশি থাকবে, কিন্তু একটির কাজ অন্যটির ওপর চাপানো যাবে না।
| প্রমাণের স্তর | প্রধান নথি | কী সমর্থন করে | কী একা সমর্থন করে না |
|---|---|---|---|
| ব্লকচেইনে স্থানান্তর | transaction hash, network, asset, amount, time, optional address | নির্দিষ্ট নেটওয়ার্ক রেকর্ডের সঙ্গে পেমেন্ট সারি মিলানো | ক্লায়েন্টের পরিচয়, ইনভয়েস, সেবার ধরন, অনুমোদিত পথ |
| সেবা-সম্পর্ক | invoice, client alias, কাজের বর্ণনা, লিখিত সম্মতি, delivery reference | কোন কাজের বিপরীতে কত পারিশ্রমিক দাবি করা হয়েছিল | ব্লকচেইনে স্থানান্তর সফল হয়েছে কি না, সরকারি পরিচয় |
| পরিচয়/যোগ্যতা | Freelancer ID বা অন্য প্রযোজ্য পরিচয় নথি | ব্যক্তি বা পেশাগত পরিচয়ের নির্দিষ্ট দাবি | কোনো নির্দিষ্ট ইনভয়েস বা পেমেন্টের সত্যতা |
এই বিভাজন নথির শক্তি বাড়ায়, কারণ প্রত্যেক দাবির জন্য উপযুক্ত প্রমাণ দেখা যায়। পরিচয়পত্রকে পেমেন্ট রসিদ বানানোর চেষ্টা নেই; হ্যাশকে চুক্তি বানানোর চেষ্টা নেই; আবার ইনভয়েসকে নেটওয়ার্ক রেকর্ড বানানোর চেষ্টাও নেই। যেখানে একটি স্তর অনুপস্থিত, সেখানে “অসম্পূর্ণ” লেখা যায়। শূন্যস্থান আড়াল করার চেয়ে ঘাটতি স্পষ্ট করা বেশি বিশ্বাসযোগ্য।
একটি রেকর্ডে কোন মূল ক্ষেত্রগুলো রাখবেন?
প্রতিটি পেমেন্ট সারিতে একই নামের স্থির ক্ষেত্র রাখলে মাস শেষে মিলানো সহজ হয়। ন্যূনতম ক্ষেত্রগুলো হলো:
- client_alias
- invoice_number
- payment_datetime_rfc3339
- asset
- network
- amount
- transaction_hash
- receiving_address_optional
- reference_rate_manual
- rate_currency
- rate_source
- rate_recorded_at_rfc3339
- fiat_value
- platform_fee
- network_fee
- spread
- notes
- evidence_folder
- record_status
এ তালিকা কোনো সরকারি ফরম নয়। এটি কাজের ফাইলের একটি ব্যবহারিক schema, যাতে একই প্রশ্নের উত্তর প্রতি মাসে একই স্থানে পাওয়া যায়। আপনার ব্যাংক, হিসাবরক্ষক, কর-পেশাজীবী বা কোনো সরকারি আবেদন ভিন্ন নথি চাইতে পারে। তাই এই কলাম থাকা মানেই কোনো কর্তৃপক্ষ নথিটি গ্রহণ করবে—এমন নিশ্চয়তা নেই। বরং চাহিদা এলে মূল উৎসনথি খুঁজে দেওয়ার জন্য এটি একটি সূচিপত্র।
client alias কী এবং কেন আসল নামের বিকল্প নয়?
client alias হলো লেজারে ব্যবহৃত স্থির, সংক্ষিপ্ত পরিচিতি; এটি ক্লায়েন্টের আইনগত পরিচয়ের দাবি নয়। প্রকাশযোগ্য CSV বা দৈনন্দিন কাজের তালিকায় ব্যক্তিগত তথ্য সুরক্ষার জন্য client-a, কোম্পানির সংক্ষিপ্ত নাম বা চুক্তিতে ব্যবহৃত project code রাখা যায়। তবে আলাদা, সীমিত-প্রবেশের client register-এ alias-টির সঙ্গে আপনার কাছে থাকা আসল চুক্তির নাম, যোগাযোগের ঠিকানা বা marketplace profile reference মিলিয়ে রাখতে হবে।
একই ক্লায়েন্টকে মাসে মাসে ভিন্ন alias দিলে যোগসূত্র ভেঙে যায়। আবার একই alias দুই ক্লায়েন্টকে দিলে ভুল মিল হতে পারে। তাই alias তৈরির সময় একটি স্থির নিয়ম লিখুন এবং alias বদলালে change note রাখুন। প্রকাশ বা শেয়ার করার আগে ব্যক্তিগত তথ্যের প্রয়োজনীয়তা বিবেচনা করুন। যে ব্যক্তির পূর্ণ নাম নথিতে রাখার আইনগত ভিত্তি বা ব্যবহারিক প্রয়োজন নেই, তাকে অযথা প্রকাশ করা আয়ের প্রমাণকে শক্তিশালী করে না।
client register-এ কী থাকবে?
client register-এ alias, চুক্তি বা marketplace reference, প্রাথমিক যোগাযোগের তারিখ, invoice-এ ব্যবহৃত billing name এবং প্রযোজ্য হলে project code রাখা যায়। কিন্তু পাসওয়ার্ড, লগইন টোকেন, পরিচয়পত্রের অপ্রয়োজনীয় কপি বা ব্যক্তিগত আলাপের পূর্ণ ইতিহাস রাখবেন না। লেজার থেকে register-এর দিকে যাওয়ার চাবি হবে alias; register থেকে invoice-এর দিকে যাওয়ার চাবি হবে invoice number বা project code।
ক্লায়েন্টের তথ্য যাচাই করা সম্ভব না হলে identity_not_independently_verified ধরনের একটি নোট রাখা সৎ পদ্ধতি। নাম অনুমান করে পূরণ করা বা পরের মাসে মনে পড়বে ধরে ফাঁকা রাখা ভালো পদ্ধতি নয়। “ক্লায়েন্ট পরিচয় অজানা” একটি প্রমাণের ঘাটতি; সেটি হ্যাশ দিয়ে পূরণ করা যায় না।
invoice number কীভাবে তৈরি ও ব্যবহার করবেন?
invoice number প্রতিটি সেবা দাবিকে একটি অনন্য রেফারেন্স দেয়। নম্বরের গঠন সহজ ও ধারাবাহিক হওয়া উচিত—তারিখ, বছর বা ক্রমিকের একটি নিজস্ব পদ্ধতি থাকতে পারে—কিন্তু এখানে কোনো বাস্তব নম্বর দেখানো হচ্ছে না, যাতে উদাহরণকে আসল নথি বলে ভুল না হয়। একবার পাঠানো invoice-এর নম্বর পরে নীরবে বদলাবেন না। সংশোধন দরকার হলে সংশোধিত সংস্করণে পূর্বের নম্বর, revision এবং পরিবর্তনের কারণ লিখুন।
invoice-এ সাধারণত client billing reference, আপনার সেবা প্রদানকারীর নাম বা বৈধ ব্যবসায়িক পরিচয়, সেবার সংক্ষিপ্ত বর্ণনা, সময়কাল, মূল্য-একক, দাবি করা অঙ্ক, পেমেন্ট শর্ত এবং issue date থাকবে। USDT-তে পেমেন্টের কথা থাকলে asset ও network-সংক্রান্ত সম্মতি আলাদা লিখিত নথিতে রাখা ভালো, কারণ invoice তৈরির পর গ্রহণকারী platform-এর support বদলাতে পারে। invoice কোনো নেটওয়ার্ক নির্দেশনা স্থায়ীভাবে সত্য করে না।
একই invoice-এ একাধিক পেমেন্ট এলে কী করবেন?
এক invoice-এর বিপরীতে কিস্তি এলে ব্লকচেইনের প্রতিটি স্থানান্তরের জন্য আলাদা ledger row রাখুন এবং সব সারিতে একই invoice number দিন। notes-এ partial_payment ও কিস্তির ক্রম লিখতে পারেন। invoice-এ দাবি করা মোট অঙ্ক, ইতিমধ্যে পাওয়া অংশ এবং অবশিষ্ট অংশ আলাদা reconciliation sheet-এ মিলবে। একটি সারিতে দুই হ্যাশ গুঁজে দিলে কোন অঙ্ক কোন স্থানান্তরের তা বোঝা কঠিন হয়।
একই পেমেন্ট যদি একাধিক invoice মেটায়, payment allocation table রাখুন। সেখানে এক হ্যাশের মোট অঙ্ক এবং কোন invoice-এ কত বরাদ্দ হলো তা দেখান। বরাদ্দের যোগফল নেট প্রাপ্ত অঙ্কের সঙ্গে মিলতে হবে। অমিল থাকলে unallocated অংশ আলাদা দেখান; অনুমান করে কোনো invoice-এ ঠেলে দেবেন না।
payment date/time কেন RFC3339-এ লিখবেন?
RFC3339 তারিখ ও সময়ের সঙ্গে timezone offset রাখে, ফলে ঢাকা সময়, UTC বা অন্য অঞ্চলের সময় নিয়ে বিভ্রান্তি কমে। 2026-08-11 শুধু একটি তারিখ; কিন্তু পেমেন্ট, rate observation এবং ledger entry একই দিনের ভিন্ন সময়ে হতে পারে। তাই payment time-এর পূর্ণ রূপে তারিখ, ঘণ্টা, মিনিট, সেকেন্ড এবং +06:00 বা প্রযোজ্য offset থাকা উচিত। এই নিবন্ধের উৎস যাচাইয়ের সময়গুলোও একই কারণে offset-সহ লেখা হয়েছে।
তিনটি সময় গুলিয়ে ফেলবেন না: ক্লায়েন্ট পাঠানোর দাবি করার সময়, নেটওয়ার্ক রেকর্ডে দেখা সময় এবং আপনার গ্রহণকারী সেবায় balance credit হওয়ার সময়। এগুলো আলাদা হলে প্রত্যেকটির নিজস্ব label রাখুন। মূল payment_datetime_rfc3339 কোন সময় বোঝাচ্ছে তা data dictionary-তে লিখুন। অন্য সময়গুলো notes বা আলাদা column-এ রাখা যায়।
সময় জানা না থাকলে কী লিখবেন?
শুধু তারিখ জানা থাকলে বানানো সময় দেবেন না। time_unknown লিখে যে উৎসে তারিখটি দেখা গেছে সেটি উল্লেখ করুন। timezone জানা না থাকলে স্থানীয় সময় অনুমান করে offset বসাবেন না। original message, invoice update বা platform statement-এ যা আছে তার একটি অক্ষত কপি রাখুন এবং uncertainty note যোগ করুন। পরে ভালো উৎস পাওয়া গেলে পুরোনো মান মুছে না দিয়ে correction log-এ পরিবর্তন লিখুন।
asset ও network আলাদা কলাম কেন?
asset বলে কী পাওয়া হয়েছে, network বলে কোন blockchain path-এ রেকর্ডটি আছে। USDT asset; TRON, Ethereum বা গ্রহণকারী সেবায় প্রদর্শিত অন্য নির্দিষ্ট network label আলাদা তথ্য। শুধু USDT লিখলে transaction hash কোন explorer বা network record-এর সঙ্গে মিলবে তা অস্পষ্ট হতে পারে। আবার শুধু TRC20 লিখলে asset-এর নাম অনুপস্থিত থাকে।
network label কল্পনা করে নয়, পেমেন্টের সময়কার গ্রহণ নির্দেশনা ও রেকর্ড থেকে লিখুন। platform-এর প্রদর্শিত নাম সংরক্ষণ করা যায়, সঙ্গে একটি normalized label রাখা যায়। তবে normalization যেন মূল নথি বদলে না দেয়। কোনো token symbol একই হলেও contract বা network ভিন্ন হতে পারে; এই নিবন্ধে contract যাচাই শেখানো হচ্ছে না। সমর্থন অনিশ্চিত হলে পেমেন্ট রেকর্ডে network_unconfirmed লিখুন এবং ঘাটতির কারণ রাখুন।
amount কোন অঙ্ক—gross, received না allocated?
amount কলামের সংজ্ঞা আগে স্থির না করলে একই CSV-তে তিন ধরনের অঙ্ক মিশে যায়। একটি ব্যবহারযোগ্য পদ্ধতি হলো gross_asset_amount, received_asset_amount এবং allocated_asset_amount আলাদা রাখা। gross হলো প্রেরকের পাঠানোর দাবি করা অঙ্ক; received হলো আপনার গ্রহণকারী statement বা সমর্থিত রেকর্ডে credited অঙ্ক; allocated হলো নির্দিষ্ট invoice-এ বরাদ্দ করা অংশ।
এই তিনটি একই হতে পারে, আবার fee বা বিভাজনের কারণে ভিন্নও হতে পারে। শুধু একটি amount কলাম রাখতে হলে data dictionary-তে স্পষ্ট লিখুন সেটি কোনটি। হ্যাশে দেখা token transfer amount এবং custodial account-এ credited amount ভিন্ন হলে উভয় উৎস রাখুন; অমিল আড়াল করবেন না। সংখ্যার decimal separator সর্বত্র একটি নিয়মে লিখুন, এবং হাজারের comma এড়ালে CSV parsing সহজ হয়।
amount-এর সঙ্গে unit কোথায় থাকবে?
প্রতিটি সংখ্যার সঙ্গে asset column-এর সম্পর্ক স্পষ্ট হতে হবে। 500 একা মূল্য নয়; সেটি USDT, USD, BDT নাকি অন্য একক—এ প্রশ্ন থেকে যায়। তাই asset amount ও fiat value আলাদা সংখ্যাগত ক্ষেত্র। rate-এর এককও যেমন BDT per USDT বা USD per USDT লিখুন। এককের সংজ্ঞা না থাকলে পরের বছর একই সংখ্যা পুনর্গঠন করা কঠিন হবে।
transaction hash কীভাবে নথিতে বসাবেন?
হ্যাশটি পূর্ণ অক্ষরমালায় text হিসেবে রাখুন এবং কোন network-এর তা পাশের কলামে লিখুন। spreadsheet যেন এটিকে scientific notation, link label বা সংক্ষিপ্ত প্রদর্শনে বদলে না দেয়। CSV-তে পূর্ণ value থাকবে; মানুষের পড়ার summary-তে প্রথম ও শেষ কয়েক অক্ষর দেখা গেলেও মূল record-এ সম্পূর্ণ value অপরিবর্তিত থাকতে হবে।
কোনো বাস্তব বা বানানো transaction hash এই লেখায় দেওয়া হয়নি। template-এ placeholder রাখলেও প্রকাশিত নথিতে placeholder ও সত্যিকারের value আলাদা করে বুঝতে হবে। copy করার পর দুই প্রান্তের কয়েক অক্ষর দেখা একটি transcription check; এটি ownership, client identity বা invoice purpose যাচাই নয়। একই hash ভুল করে দুই সারিতে এলে duplicate review flag দিন, কারণ একটি transfer দুইবার income হিসেবে গণনা হতে পারে।
হ্যাশের প্রমাণশক্তি কোথায় শেষ?
হ্যাশ দেখায় যে একটি নির্দিষ্ট network record খোঁজা সম্ভব। সেটি ক্লায়েন্টের আইনগত নাম জানায় না, client alias-এর সঙ্গে সম্পর্ক নিজে তৈরি করে না, invoice number বহন না-ও করতে পারে এবং কাজের delivery গ্রহণ করা হয়েছিল কি না বলে না। আরও গুরুত্বপূর্ণ, হ্যাশ থাকা কোনো channel-এর আইনগত গ্রহণযোগ্যতার সনদ নয়। এই সীমা ledger-এর notes বা evidence policy-তে স্পষ্ট লেখা উচিত।
যাচাইকারীকে “হ্যাশ দেখুন” বলা যথেষ্ট নয়। ledger row → hash → invoice → client agreement → rate record—এই পথটি দেখাতে হবে। কোনো ধাপে link ভাঙলে সেই ঘাটতি লিখুন। প্রমাণের শক্তি আসে স্বাধীন নথির মিল থেকে, একটি প্রযুক্তিগত ক্ষেত্রের জটিলতা থেকে নয়।
receiving address কেন ঐচ্ছিক ক্ষেত্র?
গ্রহণ ঠিকানা মিল খুঁজতে সাহায্য করতে পারে, কিন্তু ব্যক্তিগত তথ্য সুরক্ষা ও custodial ব্যবস্থার কারণে সব ক্ষেত্রে এটি প্রকাশ বা রাখা প্রয়োজন নাও হতে পারে। আপনি যদি address রাখেন, পূর্ণ মান সীমিত-প্রবেশের evidence file-এ রাখুন এবং প্রকাশযোগ্য export-এ masked version দিন। address-টি payment time-এ ব্যবহৃত ছিল কি না এবং কোন source থেকে নেওয়া, notes-এ লিখুন।
একটি deposit address দেখা মানেই সেটি স্থায়ী, একক ব্যবহারকারীর বা আপনার সরাসরি নিয়ন্ত্রণে—এমন সিদ্ধান্ত নেবেন না। custodial service address assignment, internal credit বা memo-ভিত্তিক ব্যবস্থা ব্যবহার করতে পারে। address না রাখলে hash, network, amount, credit statement ও invoice-এর মিল আরও যত্নে রাখতে হবে। address থাকলেও সেটি client relationship প্রমাণ করে না।
কোন address কখনো income ledger-এ থাকবে না?
এ ফাইলে প্রাইভেট কি, সিড ফ্রেজ, recovery phrase বা login credential-এর কোনো স্থান নেই। আয়ের প্রমাণের জন্য এগুলোর কোনো প্রয়োজন নেই। public receiving address-ও কেবল প্রয়োজন ও ব্যক্তিগত তথ্য সুরক্ষার ভারসাম্য দেখে রাখা হবে। কোনো template-এ secret-এর জন্য কোনো ঘর থাকবে না।
manual reference rate বলতে কী বোঝায়?
manual reference rate হলো পেমেন্ট সময়ের মূল্য হিসাব করতে ব্যবহারকারী নিজে যে rate লিখেছেন; এটি API থেকে স্বয়ংক্রিয় বা “বাস্তব সময়ের” দাবি নয়। rate-এর সংখ্যার সঙ্গে চারটি বিষয় একসঙ্গে লিখুন: rate currency, quote convention, source এবং recorded time। যেমন BDT per USDT ও USDT per BDT বিপরীত অনুপাত; label না থাকলে হিসাব উল্টে যেতে পারে।
rate source-এর ক্ষেত্রে শুধু “market” বা “online” লেখা দুর্বল। যে public page, bank document, platform statement বা অন্য গ্রহণযোগ্য reference আপনি সত্যিই দেখেছেন, তার নাম ও সংরক্ষিত snapshot reference লিখুন। এই লেখায় কোনো চলতি market rate দেওয়া হচ্ছে না। rate পরিবর্তনশীল; তাই পুরোনো নথির rate আজকের value দিয়ে বদলানো যাবে না। মূল লক্ষ্য হলো তখন ব্যবহৃত হিসাবটি পরে পুনরায় করা।
rate recorded time কীভাবে payment time-এর সঙ্গে মিলবে?
rate observation যতটা সম্ভব payment event-এর কাছে হওয়া উচিত, কিন্তু “কাছাকাছি”র নিজস্ব policy আগে লিখুন। কোনো নির্দিষ্ট মিনিটকে সর্বজনীন নিয়ম বলা হচ্ছে না। payment time ও rate time-এর ব্যবধান ledger-এ calculation করা যায়। ব্যবধান policy-র বাইরে গেলে rate_timing_gap flag দিন এবং কেন সেই rate নেওয়া হয়েছে notes-এ লিখুন।
rate source-এ timezone না থাকলে original display সংরক্ষণ করুন; নিজের offset অনুমান করবেন না। manual entry-র operator বা record maker-এর initials রাখা যেতে পারে, যাতে কে মানটি লিখেছেন বোঝা যায়। কিন্তু initials কোনো পেশাগত certification নয়। দ্বিতীয় ব্যক্তি review করলে reviewer ও review time আলাদা কলামে রাখুন।
fiat value কীভাবে হিসাব ও নথিভুক্ত করবেন?
fiat value হলো নির্ধারিত asset amount-কে নথিভুক্ত reference rate দিয়ে গুণ করে পাওয়া হিসাব; এটি নগদে বাস্তবে পাওয়া অঙ্কের স্বয়ংক্রিয় প্রমাণ নয়। যদি rate BDT per USDT হয়, তবে সাধারণ রূপ:
fiat_value_bdt = valuation_asset_amount_usdt × reference_rate_bdt_per_usdt
এখানে valuation_asset_amount_usdt gross, received নাকি net—তা data dictionary-তে লিখতে হবে। fee বাদ দেওয়ার আগে ও পরে দুই value দরকার হলে আলাদা ক্ষেত্র রাখুন। spreadsheet formula থাকলেও monthly export-এর সঙ্গে value-as-recorded রাখুন, যাতে ভবিষ্যতে formula বদলালে পুরোনো ফল নীরবে পরিবর্তিত না হয়।
rounding policy-ও লিখুন। rate-এর decimal, asset amount-এর decimal এবং final fiat value-এর decimal এক নয়। কোনো সরকারি বা কর-রীতি এই নিবন্ধ নির্ধারণ করছে না; আপনার প্রযোজ্য নীতির সঙ্গে মিলিয়ে পেশাদার পরামর্শ নিন। হিসাব পুনরায় করলে original value, recomputed value এবং difference আলাদা দেখান। পুরোনো মান মুছে নতুন মান বসালে audit trail ভেঙে যায়।
fiat value কি ফিয়াট অর্থ গ্রহণের প্রমাণ?
না। এটি একটি valuation record। আপনার কাছে ব্যাংক credit, অনুমোদিত payment channel statement বা অন্য fiat receipt না থাকলে শুধু calculated fiat value-কে বাস্তব fiat receipt বলা যাবে না। report-এ ভাষা হবে “পেমেন্ট সময়ের নথিভুক্ত রেফারেন্স রেটে হিসাব করা মূল্য”, “ব্যাংকে পাওয়া টাকা” নয়। এই পার্থক্য বিশেষ করে fee, spread এবং পরবর্তী conversion নিয়ে বিভ্রান্তি ঠেকায়।
platform fee, network fee ও spread কীভাবে আলাদা করবেন?
তিনটি কাটতি বা পার্থক্য আলাদা উৎস ও আলাদা অর্থ বহন করে, তাই এক কলামে fee লিখে মিশিয়ে দেবেন না।
- platform_fee হলো marketplace, payment processor বা custodial service-এর statement-এ চিহ্নিত charge—শুধু নথিতে সত্যিই দেখা গেলে।
- network_fee হলো নির্দিষ্ট transfer-এর সঙ্গে যুক্ত network বা withdrawal-related cost—কে বহন করেছেন তা লিখুন।
- spread হলো reference rate ও ব্যবহারকারী যে কার্যকর rate পেয়েছেন বলে হিসাব করছেন তার পার্থক্য; এটি fee label নয়।
প্রেরক network fee দিলে আপনার received amount থেকে সেটি কাটা নাও যেতে পারে। আবার platform একটি net credit দেখাতে পারে কিন্তু পৃথক fee line না-ও দেখাতে পারে। তখন fee অনুমান করে বানাবেন না; not_separately_shown লিখুন। fee currency-ও আলাদা কলামে রাখুন। USDT-তে fee এবং BDT-তে fee যোগ করার আগে একই valuation basis-এ রূপান্তর দরকার; সেই রূপান্তরের rate ও time-ও নথিভুক্ত হতে হবে।
spread কীভাবে প্রমাণ করবেন?
spread দাবি করতে অন্তত দুইটি তুলনাযোগ্য rate দরকার এবং উভয়ের currency convention, time ও source জানা দরকার। শুধু “কম পেয়েছি” থেকে spread শতাংশ বানানো ঠিক নয়। কার্যকর rate বের করতে actual fiat outcome দরকার হতে পারে; সেটি না থাকলে spread unknown থাকবে। কোনো বেসরকারি বিনিময়কারীর quote সংগ্রহ বা ব্যবহারের নির্দেশ এই লেখায় নেই। এখানে কেবল ইতিমধ্যে বৈধভাবে থাকা হিসাবের উৎস ও পার্থক্য নথিভুক্ত করার কথা বলা হচ্ছে।
notes ক্ষেত্রটি কীভাবে প্রমাণকে শক্তিশালী করে?
notes সংখ্যার পুনরাবৃত্তি নয়; এটি অমিল, অনিশ্চয়তা, সংশোধন ও নথির অবস্থার ব্যাখ্যা। ভালো note ছোট কিন্তু নির্দিষ্ট। যেমন “invoice amount ও received amount মেলেনি—ক্লায়েন্টের confirmation pending”, “rate source archived হয়নি”, “address intentionally omitted from shared export”, বা “second installment”। বাস্তব ঘটনার বদলে এগুলো field-state-এর উদাহরণ; প্রকাশিত নথিতে সত্য ঘটনা অনুযায়ী নিজের ভাষা লিখবেন।
note দিয়ে হারানো প্রমাণ বানানো যাবে না। “ক্লায়েন্ট নিশ্চিত করেছেন” লিখলে সেই confirmation-এর file reference থাকতে হবে। “fee কাটা হয়েছে” লিখলে statement বা calculation reference থাকা উচিত। কোনো অনুমান থাকলে assumption label দিন এবং কোন তথ্য পেলে তা সমাধান হবে লিখুন। notes-এ অপ্রয়োজনীয় ব্যক্তিগত আলাপ বা সংবেদনশীল তথ্য কপি করবেন না।
record status কীভাবে ব্যবহার করবেন?
প্রতিটি সারির একটি অবস্থা থাকলে অসম্পূর্ণ রেকর্ড চূড়ান্ত হিসাবে মিশে যায় না। ব্যবহারযোগ্য কয়েকটি অবস্থা হতে পারে draft, evidence_pending, reconciled, corrected এবং excluded_from_income_summary। এগুলো আপনার নিজস্ব workflow label, সরকারি স্বীকৃতি নয়।
reconciled করার আগে নির্ধারিত checklist পূরণ করুন: invoice পাওয়া গেছে, client alias register-এ আছে, amount ও asset মিলেছে, network ও hash নথিভুক্ত, rate-এর source/time আছে, fiat formula পুনর্গঠনযোগ্য, fee ও spread-এর অবস্থা লেখা, এবং অমিলের note আছে। সব ক্ষেত্র প্রযোজ্য না হলেও not_applicable ও কারণ লিখুন। খালি cell আর প্রযোজ্য নয়—দুটি এক জিনিস নয়।
প্রমাণের শক্তি কীভাবে মূল্যায়ন করবেন?
শক্তিশালী নথি মানে একাধিক স্বাধীন উৎস একই ঘটনাকে সামঞ্জস্যপূর্ণভাবে সমর্থন করে। নিজের একটি spreadsheet একা self-declared record। তার সঙ্গে original invoice, client acceptance, platform statement, network record এবং rate snapshot মিললে যাচাইয়ের পথ তৈরি হয়। আবার পাঁচটি screenshot থাকলেও সব যদি একই self-entered page থেকে আসে, স্বাধীনতা বাড়ে না।
একটি ব্যবহারিক strength scale রাখা যায়:
| স্তর | অবস্থা | কী বোঝায় |
|---|---|---|
| A | invoice, client relation, transfer, valuation ও fee record পরস্পর মেলে | পুনর্গঠনযোগ্য পূর্ণ bundle; গ্রহণযোগ্যতার নিশ্চয়তা নয় |
| B | মূল সম্পর্ক ও transfer আছে, একটি সহায়ক valuation বা fee source অসম্পূর্ণ | উল্লেখযোগ্য ঘাটতি আছে কিন্তু ঘটনাপথ বোঝা যায় |
| C | hash বা statement আছে, invoice/client link দুর্বল | স্থানান্তর দেখা যায়; আয়ের চরিত্র যথেষ্ট সমর্থিত নয় |
| D | self-entered row, স্বাধীন উৎস নেই | দাবি আছে; যাচাইযোগ্য প্রমাণ সীমিত |
এ scale কোনো সরকারি মান নয়। নিজের policy-তে সংজ্ঞা দিলে team বা accountant একইভাবে review করতে পারেন। grade বদলালে তারিখ, reviewer এবং কারণ রাখুন। grade কখনো “আইনসম্মত” বা “কর পরিশোধিত” অর্থে ব্যবহার করবেন না।
ঘাটতি বা অমিল কীভাবে লিখবেন?
ঘাটতি আড়াল করার বদলে একটি exception register-এ রাখুন। প্রতিটি exception-এ ledger row ID, সমস্যা, প্রথম দেখা সময়, দায়িত্বপ্রাপ্ত ব্যক্তি, প্রয়োজনীয় নথি, বর্তমান অবস্থা ও সমাধানের তারিখ থাকবে। invoice হারিয়ে গেলে নতুন invoice বানিয়ে পুরোনো তারিখ বসানো উচিত নয়। ক্লায়েন্টের কাছ থেকে duplicate copy এলে “received later” note ও আসল receipt time রাখুন।
amount mismatch হলে সম্ভাব্য কারণের তালিকা করতে পারেন, কিন্তু প্রমাণ ছাড়া একটি কারণকে সত্য ধরে নেবেন না। network fee, platform fee, partial payment বা manual allocation—সবই পরীক্ষা করার ক্ষেত্র, সিদ্ধান্ত নয়। reconciliation-এর শেষে difference শূন্য না হলে outstanding difference আলাদা রাখুন। “প্রায় মিলে” বলে close করা ভবিষ্যতের হিসাব দুর্বল করে।
পরে ভুল ধরা পড়লে পুরোনো রেকর্ড কীভাবে বদলাবেন?
পুরোনো CSV নীরবে overwrite করবেন না। correction log-এ row ID, পুরোনো value, নতুন value, পরিবর্তনের কারণ, supporting file এবং RFC3339 correction time লিখুন। corrected export-এর filename-এ version বা export time রাখুন। original export read-only archive-এ থাকলে কে কখন কী জানতেন, তা বোঝা যায়।
ভুল বানান, ভুল rate এবং ভুল invoice allocation-এর গুরুত্ব এক নয়। তবু প্রতিটির trace থাকা দরকার। sensitive তথ্য masking-এর জন্য shared copy বদলালে সেটিও transformation note-এ লিখুন, যাতে masked copy-কে original ভেবে ভুল না হয়। hash বা amount আংশিক ঢাকা shared report-এ করা যেতে পারে; সীমিত-প্রবেশের original কোথায় আছে তার reference থাকবে।
মাসভিত্তিক ফোল্ডার কীভাবে সাজাবেন?
প্রতি মাসের একটি root folder, তার ভেতরে ledger, invoices, client correspondence, payment records, rate snapshots ও corrections আলাদা রাখুন। একটি সম্ভাব্য গঠন:
YYYY-MM/
ledger/
invoices/
clients/
payments/
rates/
fees/
corrections/
exports/
README-evidence-map.txt
এটি কেবল folder name-এর নমুনা, বাস্তব নথি নয়। README-evidence-map-এ naming rule, data dictionary, timezone policy, valuation basis এবং restricted files-এর অবস্থান লিখুন। file name-এ ledger row ID ও invoice number থাকলে cross-reference সহজ হয়। কিন্তু client-এর পূর্ণ নাম প্রকাশযোগ্য filename-এ না রাখাই ভালো; alias ব্যবহার করুন।
একই ফাইল দুই মাসে প্রযোজ্য হলে কী করবেন?
original একটি নিয়ন্ত্রিত স্থানে রাখুন এবং মাসিক folder-এ reference বা read-only copy রাখুন। দুই কপি স্বাধীনভাবে edit হলে কোনটি আসল বোঝা যায় না। invoice issue month ও payment month আলাদা হতে পারে; ledger payment month-এ থাকবে, invoice original তার নিজস্ব archive-এ থাকবে, আর evidence map তাদের link করবে।
folder তৈরির তারিখ আর পেমেন্টের তারিখ এক নয়। filesystem modified time-কে একমাত্র প্রমাণ করবেন না, কারণ copy বা backup-এ সেটি বদলাতে পারে। নথির ভেতরের issue time, received time এবং recorded time আলাদা রাখুন। backup সফল হয়েছে কি না তার log থাকতে পারে, কিন্তু backup log আয়ের প্রমাণ নয়।
file naming-এর নিয়ম কী হওয়া উচিত?
নামটি যেন মানুষ ও script উভয়ের জন্য স্থিরভাবে পড়া যায়। ছোট হাতের রোমান অক্ষর, সংখ্যা, hyphen এবং নির্ধারিত field order ব্যবহার করা যেতে পারে। তবে আপনার বাস্তব নথিতে বাংলা filename ভালো কাজ করলে সেটিও গ্রহণযোগ্য—মূল কথা consistency। filename-এ hash-এর পুরো মান রাখলে নাম অস্বাভাবিক দীর্ঘ হয়; row ID ও invoice number যথেষ্ট, পূর্ণ hash CSV-তে থাকবে।
একই file-এর revision হলে suffix policy রাখুন। final-final-2 ধরনের নাম audit trail দুর্বল করে। v01, v02 বা RFC3339 export time-এর একটি পদ্ধতি বেছে নিন। timezone চিহ্ন filename-এ নিরাপদ রূপে normalize করা যায়, কিন্তু file-এর ভেতরে পূর্ণ RFC3339 value অপরিবর্তিত রাখুন।
মাসিক ledger কীভাবে কাজ করবে?
ledger হলো সব পেমেন্টের index এবং হিসাবের কেন্দ্র; এটি original evidence-এর বিকল্প নয়। একটি row একটি transfer event বা একটি সুস্পষ্ট allocation বোঝাবে। row ID অপরিবর্তিত থাকবে। মাস শেষে totals করার আগে excluded, duplicate, pending ও corrected row আলাদা filter করুন। summary total কোন status অন্তর্ভুক্ত করেছে, তা report-এ লিখুন।
ledger-এ formula cells থাকলে formula version নথিভুক্ত করুন। spreadsheet software বদলালে decimal বা date parsing বদলাতে পারে। CSV export formula নয়, result ধরে; তাই formula workbook ও exported CSV দুটো রাখলে পুনর্গঠন সহজ হয়। কোনো macro বা external API দরকার নেই। manual entry-র ভুল ধরতে validation list, required field এবং duplicate hash warning ব্যবহার করা যেতে পারে, কিন্তু tool-এর warning চূড়ান্ত সিদ্ধান্ত নয়।
মাসিক reconciliation-এর ক্রম কী?
- মাসের সব invoice register-এর সঙ্গে মিলিয়ে নিন।
- প্রতিটি ledger row-এর client alias ও invoice number খুঁজে দেখুন।
- asset, network, amount ও hash মূল payment evidence-এর সঙ্গে মিলান।
- payment time ও rate time-এর offset এবং ব্যবধান দেখুন।
- fiat value formula ও rounding পুনরায় হিসাব করুন।
- platform fee, network fee ও spread-এর উৎস দেখুন।
- duplicate hash, duplicate invoice allocation ও missing row পরীক্ষা করুন।
- exception register আপডেট করুন।
- review sign-off, review time এবং export version লিখুন।
- immutable বা read-only মাসিক snapshot তৈরি করুন।
এই ধাপগুলো complete লেখা মানে সরকারি audit pass নয়। এটি আপনার internal control। reviewer যদি একই ব্যক্তি হন যিনি data entry করেছেন, সেটি লিখুন; স্বাধীন review দাবি করবেন না।
CSV export-এ কোন কলামগুলো থাকবে?
CSV-তে machine-readable স্থির header, এক row-তে এক event এবং স্পষ্ট encoding policy থাকা উচিত। একটি বিস্তারিত header হতে পারে:
record_id,client_alias,invoice_number,payment_datetime_rfc3339,asset,network,gross_asset_amount,received_asset_amount,allocated_asset_amount,transaction_hash,receiving_address_optional,reference_rate_manual,rate_currency,rate_source,rate_recorded_at_rfc3339,fiat_value,fiat_currency,platform_fee,platform_fee_currency,network_fee,network_fee_currency,spread,notes,evidence_folder,record_status,reviewed_at_rfc3339
এটি খালি template header; এতে কোনো কাল্পনিক পেমেন্ট নেই। comma, newline বা quote থাকা notes সঠিক CSV quoting-এ লিখতে হবে। UTF-8 encoding ব্যবহার করলে বাংলা text নষ্ট হওয়ার ঝুঁকি কমে, কিন্তু যে software-এ খুলবেন সেখানে import settings পরীক্ষা করুন। spreadsheet থেকে export করার পরে text editor বা parser দিয়ে header count ও কয়েকটি row structure যাচাই করুন।
CSV-তে কী রাখা উচিত নয়?
login credential, private secret, পূর্ণ NID copy, অপ্রয়োজনীয় ব্যক্তিগত আলাপ, wallet recovery data বা client-এর সংবেদনশীল তথ্য CSV-তে রাখা উচিত নয়। shared export-এ receiving address বা hash mask করলে original-এর reference রাখুন। CSV সহজে copy হয়; তাই access control ও retention policy দরকার। ব্যক্তিগত তথ্য সুরক্ষার জন্য evidence মুছে দিলে কোন field redacted, কেন এবং original কোথায় নিয়ন্ত্রিত—তা transformation note-এ লিখুন।
মাসিক export কীভাবে চূড়ান্ত করবেন?
মাস শেষে ledger lock করার আগে completeness, consistency ও privacy—তিনটি review করুন। completeness review দেখে required field পূর্ণ কি না; consistency review invoice, hash, amount ও rate link মিলায়; privacy review shared copy-তে অপ্রয়োজনীয় ব্যক্তিগত তথ্য আছে কি না দেখে। তারপর export timestamp, version, row count, included status ও total basis লিখুন।
file hash বা checksum দিয়ে export বদলেছে কি না দেখা যেতে পারে, কিন্তু এই নিবন্ধ কোনো নির্দিষ্ট checksum tool শেখাচ্ছে না। file hash থাকলেও ভিতরের তথ্য সত্য প্রমাণিত হয় না; শুধু file version শনাক্ত করতে সাহায্য করে। backup-এর অন্তত একটি আলাদা অবস্থান রাখা যেতে পারে, তবে storage নির্বাচন আপনার নিরাপত্তা ও আইনি চাহিদার বিষয়। cloud-এ রাখা মানেই নিরাপদ বা গ্রহণযোগ্য—এমন দাবি এখানে নেই।
invoice, client ও payment কীভাবে cross-reference করবেন?
একটি স্থির record ID তিন ধরনের নথির মধ্যে সেতু তৈরি করবে। ledger row-তে invoice number আছে; invoice register-এ client alias ও project reference আছে; payment folder-এ row ID ও hash reference আছে। client correspondence-এর relevant excerpt বা export-এ invoice number এবং agreed amount দেখা গেলে relationship শক্ত হয়। full chat dump দরকার নাও হতে পারে; প্রয়োজনীয় অংশ, context এবং authenticity বজায় রাখুন।
একটি cross-reference table হতে পারে:
| record_id | client_alias | invoice_number | payment_evidence_ref | rate_evidence_ref | relationship_evidence_ref | status |
|---|---|---|---|---|---|---|
| খালি | খালি | খালি | খালি | খালি | খালি | draft |
এখানে কোনো বানানো client, amount বা hash নেই। নিজের data বসানোর সময় source file সত্যিই আছে কি না দেখুন। placeholder-কে completed evidence হিসেবে export করবেন না। কোনো reference ভাঙা হলে missing_file flag দিন।
কাজ হস্তান্তরের প্রমাণ কেন দরকার?
invoice দাবি করে যে অর্থ পাওনা ছিল; delivery record দেখায় কাজের output বা milestone পাঠানো হয়েছে; client acceptance বা সংশোধনের যোগাযোগ সম্পর্কের context দেয়। সব কাজের formal acceptance নাও থাকতে পারে। তখন contract, platform milestone, email thread বা অন্য প্রাসঙ্গিক নথি কী আছে তা রাখুন এবং অনুপস্থিত অংশ লিখুন। কোনো প্রমাণ না থাকলে পরে তৈরি করা testimonial দিয়ে পুরোনো কাজ নিশ্চিত বলে দেখাবেন না।
Freelancer ID কোন ধরনের প্রমাণ?
Freelancer ID একটি নির্দিষ্ট সরকারি পরিচয় ও পেশাগত স্বীকৃতির প্রমাণ হতে পারে; এটি নিজে কোনো একক USDT transfer বা invoice-এর প্রমাণ নয়। সরকারি Freelancer ID প্ল্যাটফর্ম পরিচয়, আয় ও পেশাগত সম্পৃক্ততার প্রমাণের উদ্দেশ্য বর্ণনা করে এবং আগের বারো মাসে ন্যূনতম যাচাইকৃত আয়ের শর্তের কথা বলে। উৎস যাচাই: 2026-08-10T18:21:00+08:00। এই বর্ণনা থেকে বোঝা যায় যে আয়ের সহায়ক নথি গুরুত্বপূর্ণ; কিন্তু আপনার spreadsheet থাকলেই ID অনুমোদিত হবে—এমন প্রতিশ্রুতি এতে নেই।
সরকারি আবেদন-পদ্ধতির পাতায় বৈধ আয়-প্রমাণের প্রয়োজন বলা হয়েছে এবং marketplace record, Payoneer statement বা অন্য গ্রহণযোগ্য income-verification document-এর উদাহরণ আছে। উৎস যাচাই: 2026-08-10T18:21:00+08:00। USDT ledger-কে সেখানে তালিকাভুক্ত কোনো নথির সমতুল্য ধরে নেওয়া যাবে না। আবেদন করার সময় বর্তমান requirements দেখুন এবং কর্তৃপক্ষ যে নথি চায় সেটিই দিন।
Freelancer ID কি নিশ্চিতভাবে পাওয়া যাবে?
না। এই লেখার কোনো checklist অনুমোদনের নিশ্চয়তা দেয় না। সরকারি শর্তাবলিতে জমা দেওয়া তথ্য সম্পূর্ণ, নির্ভুল ও সত্য হওয়ার দায় আবেদনকারীর ওপর রাখা হয়েছে এবং কর, বৈদেশিক মুদ্রা ও digital transaction compliance-এর দায়ও আবেদনকারীর বলে উল্লেখ করা হয়েছে। উৎস যাচাই: 2026-08-10T18:21:00+08:00। তাই অসম্পূর্ণ chain record-কে পূর্ণ service-income proof বলে উপস্থাপন করা উচিত নয়।
ID ইস্যু হলেও তার আলাদা verification path আছে। সরকারি verification পাতায় Freelancer ID number, NID number ও captcha দিয়ে যাচাইয়ের ব্যবস্থা দেখা যায়। উৎস যাচাই: 2026-08-10T18:21:00+08:00। এটি ID-এর অস্তিত্ব যাচাইয়ের পথ; কোনো invoice, client relationship বা নির্দিষ্ট payment hash যাচাইয়ের পথ নয়।
সরকারি পরিচিতি পাতায় Freelancer ID-কে সরকার-স্বীকৃত digital identity হিসেবে authenticity ও professional recognition প্রতিষ্ঠার উদ্দেশ্যে বর্ণনা করা হয়েছে। উৎস যাচাই: 2026-08-10T18:21:00+08:00। তাই evidence bundle-এ ID থাকলে “identity/qualification” অংশে reference দিন, “payment proof” অংশে নয়। ID-এর copy প্রকাশ করার আগে ব্যক্তিগত তথ্য ও প্রয়োজনীয়তা বিবেচনা করুন।
বাংলাদেশ ব্যাংকের সীমা কোথায় প্রযোজ্য?
নথি রাখা এবং কোনো লেনদেনের অনুমোদিত হওয়া আলাদা প্রশ্ন। বাংলাদেশ ব্যাংকের FE Circular No. 24 বাংলাদেশে, বাংলাদেশ থেকে বা বাংলাদেশের দিকে virtual asset বা virtual currency অর্জনের উদ্দেশ্যে লেনদেন অনুমোদিত নয় বলে জানায়। উৎস যাচাই: 2026-08-10T18:21:00+08:00। ফলে transaction hash, invoice এবং valuation record একসঙ্গে থাকলেও সেগুলো কোনো নিষিদ্ধ বা অননুমোদিত channel-কে বৈধ করে না।
এই নিবন্ধ কোনো বিনিময়, রূপান্তর, পরিচয় আড়াল, নিয়ন্ত্রণ এড়ানো বা লেনদেন আড়াল করার পদ্ধতি দেয় না। বাংলাদেশের বর্তমান বৈদেশিক মুদ্রা ও service-export নিয়ম, আপনার কাজের প্রকৃতি এবং গ্রহণযোগ্য payment channel জানতে বাংলাদেশ ব্যাংকের বর্তমান নির্দেশনা, অনুমোদিত dealer bank এবং উপযুক্ত পেশাজীবীর সহায়তা নিন। FE Circular No. 24-কে এখানে একটি আইনগত সীমা বোঝাতে ব্যবহার করা হয়েছে; এটি থেকে করের ফল, criminal liability বা আপনার ব্যক্তিগত ঘটনার চূড়ান্ত সিদ্ধান্ত টানা হচ্ছে না।
তাহলে এই ledger রাখার উপকার কী?
ledger আপনাকে দাবি ও প্রমাণের ফাঁক দেখতে সাহায্য করে, accountant বা reviewer-কে উৎসনথি খুঁজে দেয় এবং মাসিক হিসাব পুনর্গঠনযোগ্য করে। এটি compliance bypass নয়। বরং channel_review_pending, legal_basis_not_assessed বা professional_advice_required status রেখে অসম্পূর্ণতা পরিষ্কার করা যায়। নথি থাকার কারণে কোনো নিষিদ্ধ কাজ গ্রহণযোগ্য হয় না; আবার নথি না রাখলে একটি অনুমোদিত আয়ের হিসাবও ব্যাখ্যা করা কঠিন হতে পারে।
প্রমাণের bundle কাকে কীভাবে দেবেন?
যতটুকু দরকার ততটুকু দিন, এবং original, redacted copy ও summary আলাদা label করুন। accountant-কে পূর্ণ invoice দরকার হতে পারে, client-কে আপনার অন্য ক্লায়েন্টের তথ্য দেওয়ার কোনো কারণ নেই, আর public portfolio-তে transaction address প্রকাশ ঝুঁকিপূর্ণ হতে পারে। recipient, purpose, shared files, share time এবং retention request-এর log রাখুন।
একটি cover note-এ period, number of records, currency basis, valuation method, included statuses, known exceptions এবং contact point লিখুন। “verified income” শব্দ ব্যবহার করার আগে কে কী যাচাই করেছেন তা স্পষ্ট করুন। self-reviewed ledger-কে independently audited বলা যাবে না। কোনো সরকারি আবেদন হলে application portal-এর বর্তমান নির্দেশনা অনুসরণ করুন; এই article-এর field list দিয়ে requirement বদলানোর চেষ্টা করবেন না।
ব্যক্তিগত তথ্য কীভাবে কম রাখবেন?
প্রমাণের উদ্দেশ্যে যা দরকার, কেবল সেটিই সংগ্রহ করুন। client alias daily ledger-এ যথেষ্ট হলে পূর্ণ legal name ছড়িয়ে দেবেন না। NID বা Freelancer ID-এর full image আলাদা restricted folder-এ থাকতে পারে, কিন্তু monthly CSV-তে তার দরকার নেই। receiving address public blockchain-এ দৃশ্যমান হলেও আপনার ledger-এর সঙ্গে client identity যোগ হলে নতুন privacy risk তৈরি হতে পারে।
retention period নিজের আইনগত ও ব্যবসায়িক প্রয়োজন অনুযায়ী ঠিক করুন। “সবকিছু চিরকাল” একটি policy নয়। delete করার সময় exception, legal hold বা pending dispute বিবেচনা করুন। deletion log-এ category ও date রাখা যায়, কিন্তু মুছে ফেলা secret বা personal data আবার log-এ কপি করবেন না। access কে পেয়েছে তা review করুন; shared link public আছে কি না পরীক্ষা করুন।
কোন ভুলগুলো সবচেয়ে বেশি ক্ষতি করে?
সবচেয়ে ক্ষতিকর ভুল হলো এক ধরনের প্রমাণকে অন্য ধরনের প্রমাণ বলে চালানো। এর সঙ্গে আরও কয়েকটি সাধারণ ভুল আছে:
- hash-কে client ও invoice proof বলা;
- invoice-কে payment success বলা;
- আজকের rate দিয়ে পুরোনো fiat value বদলে দেওয়া;
- payment time ও rate time-এর timezone বাদ দেওয়া;
- fee ও spread এক কলামে মেশানো;
- এক hash দুইবার income total-এ ধরা;
- correction-এর পুরোনো value মুছে ফেলা;
- alias বদলে client link হারানো;
- missing document-এর বদলে অনুমান লেখা;
- Freelancer ID-কে নির্দিষ্ট payment approval বলা;
- calculated fiat value-কে bank receipt বলা;
- shared CSV-তে অপ্রয়োজনীয় personal data রাখা;
- অননুমোদিত বিনিময় বা নিয়ম এড়ানোর পথকে bookkeeping advice বলে দেখানো।
এই ভুলগুলোর সমাধান বেশি screenshot নয়। সমাধান হলো field definition, source reference, status, exception এবং correction trail। যে তথ্য জানা নেই তাকে unknown বলা একটি সম্পূর্ণ উত্তর; বানানো নির্ভুলতা নয়।
মাস শেষে কোন প্রশ্নগুলো জিজ্ঞাসা করবেন?
প্রতিটি প্রশ্নের উত্তর নথি থেকে পাওয়া উচিত, স্মৃতি থেকে নয়।
- এই মাসের প্রতিটি invoice কি register-এ আছে?
- প্রতিটি received payment-এর আলাদা row আছে?
- client alias কি এক client-কে ধারাবাহিকভাবে চিহ্নিত করে?
- invoice amount, payment allocation ও outstanding balance মেলে?
- asset ও network আলাদা লেখা আছে?
- পূর্ণ transaction hash আছে, duplicate flag নেই?
- payment time RFC3339 ও timezone-সহ আছে?
- receiving address রাখা হলে source ও privacy status লেখা আছে?
- reference rate manual বলে চিহ্নিত এবং currency convention স্পষ্ট?
- rate source ও recorded time আছে?
- fiat value কোন amount basis-এ হিসাব হয়েছে?
- platform fee, network fee ও spread আলাদা?
- unknown ও not applicable আলাদা করা হয়েছে?
- exception register-এর open item summary-তে আছে?
- correction log original value ধরে রেখেছে?
- Freelancer ID বা identity record payment evidence থেকে আলাদা?
- shared export থেকে secret ও অপ্রয়োজনীয় personal data বাদ?
- channel-এর regulatory acceptability নিয়ে কোনো unsupported claim আছে কি?
যে প্রশ্নের উত্তর “না”, সেই row reconciled করার আগে ঘাটতি ঠিক করুন বা exception হিসেবে রাখুন। সব প্রশ্নে “হ্যাঁ” হলেও কর্তৃপক্ষ বা পেশাজীবী অতিরিক্ত নথি চাইতে পারেন।
একটি খালি payment record card কেমন হবে?
কার্ডটি পূরণযোগ্য হবে, কিন্তু কোনো বানানো client, amount, rate বা hash থাকবে না।
Record ID: ___ Client alias: ___ Invoice number: ___ Service relationship evidence reference: ___ Payment date/time (RFC3339): ___ Asset: ___ Network: ___ Gross / received / allocated amount: ___ / ___ / ___ Transaction hash: ___ Receiving address (optional/restricted): ___ Manual reference rate: ___ Rate currency and convention: ___ Rate source: ___ Rate recorded time (RFC3339): ___ Calculated fiat value and currency: ___ Platform fee and currency: ___ Network fee and bearer: ___ Spread and calculation reference: ___ Notes / exception: ___ Evidence folder: ___ Record status: draft Reviewer and review time: ___
এই card invoice-এর সঙ্গে রাখুন, কিন্তু invoice-এর বদলে নয়। transaction hash paste করার আগে network column পূর্ণ করুন। rate বসানোর আগে currency convention লিখুন। unknown field-এ শূন্য বসাবেন না; শূন্য একটি বাস্তব numeric value, unknown তথ্যের প্রতীক নয়।
একটি evidence map কী প্রশ্নের উত্তর দেবে?
evidence map দেখে অপরিচিত reviewer-ও একটি row থেকে সব সহায়ক নথিতে যেতে পারবেন। map-এ প্রতিটি file reference-এর purpose লেখা থাকবে: কোনটি invoice, কোনটি client agreement, কোনটি payment statement, কোনটি chain identifier, কোনটি rate snapshot, কোনটি fee statement এবং কোনটি correction। file missing হলে map-এ missing status থাকবে।
map-এর সঙ্গে data dictionary রাখা জরুরি। amount, value, date, fee—এই সাধারণ নামগুলো ভিন্ন মানুষ ভিন্নভাবে বোঝেন। প্রতিটি column-এর definition, data type, allowed null value, timezone, currency unit, source priority ও validation rule লিখুন। definition বদলালে version করুন। পুরোনো CSV নতুন definition-এ silently পড়বেন না।
কোনো নথির screenshot কি যথেষ্ট?
screenshot সহায়ক দৃশ্য, কিন্তু origin, completeness ও পরিবর্তনযোগ্যতার প্রশ্ন রেখে যায়। সম্ভব হলে original PDF, email export, marketplace statement বা platform-generated file রাখুন। screenshot-এ URL, date বা relevant context দেখা যেতে পারে, কিন্তু পুরো record নাও থাকতে পারে। crop করলে কী বাদ গেছে তা বোঝা কঠিন হতে পারে। তাই screenshot file-এর source, capture date এবং purpose লিখুন।
এই লেখায় কোনো account screenshot, balance, client chat, invoice বা transaction image দেখানো হয়নি। cover একটি ধারণামূলক diagram, সত্যিকারের payment evidence নয়। ভবিষ্যৎ content image-কে evidence বলে উপস্থাপন করলে তার public source ও capture date স্পষ্ট করতে হবে। কোনো placeholder frame-কে account proof বলা যাবে না।
স্বয়ংক্রিয় tool না থাকলে কি এই পদ্ধতি কাজ করবে?
হ্যাঁ; কাঠামোটি manual entry ও সাধারণ spreadsheet-এ কাজ করার জন্য তৈরি। automation না থাকলে source দেখে value বসান, তারপর second-pass review করুন। rate, fee ও time স্বয়ংক্রিয়ভাবে “live” নেওয়া হচ্ছে—এমন কোনো দাবি করবেন না। manual field-এর সুবিধা হলো source ও judgment দৃশ্যমান; অসুবিধা হলো transcription error, তাই validation ও review দরকার।
wallet connect, address scanning বা private credential input এই কাজের অংশ নয়। transaction hash বা public address রাখা মানে wallet control নেওয়া নয়। কোনো tool ভবিষ্যতে যোগ হলেও এটি read-only, explicit input এবং privacy-minimizing হওয়া উচিত; বর্তমান নিবন্ধ কোনো tool feature প্রতিশ্রুতি দিচ্ছে না।
কোন নথি না থাকলে কী করবেন?
না থাকা নথি “পরে বানাব” নয়; missing হিসেবে নথিভুক্ত করুন এবং বৈধ উৎস থেকে পুনরুদ্ধারের চেষ্টা করুন। invoice copy না থাকলে নিজের sent folder, marketplace record বা client-এর কাছ থেকে সত্যিকারের duplicate copy খুঁজুন। payment statement না থাকলে ব্যবহৃত অনুমোদিত সেবার official export বা statement পাওয়া যায় কি না দেখুন। rate snapshot না থাকলে পরে পাওয়া rate দিয়ে original timing-এর ভান করবেন না।
যা পুনরুদ্ধার করা যায়নি, তার effect লিখুন। invoice নেই মানে service relationship দুর্বল; rate নেই মানে historical fiat valuation দুর্বল; hash নেই মানে on-chain cross-check সীমিত; client identity unverified মানে counterparty claim সীমিত। সব সীমা এক নয়। reviewer যেন ঘাটতির গুরুত্ব বুঝতে পারেন, সেই ভাষা ব্যবহার করুন।
আয় summary-তে কোন row অন্তর্ভুক্ত করবেন?
আগে একটি inclusion policy লিখুন, তারপর status অনুযায়ী row বাছুন। policy-তে pending payment, refund, নিজের account-এর মধ্যে transfer, duplicate, disputed invoice, partial allocation এবং corrected record কীভাবে ধরা হবে তা লিখুন। এখানে কোনো tax classification দেওয়া হচ্ছে না। accountant বা tax professional-এর প্রযোজ্য পরামর্শ অনুযায়ী summary definition বদলাতে হতে পারে।
summary-তে gross service amount, net received asset amount, calculated fiat value, separately evidenced fees এবং unresolved difference আলাদা দেখানো যায়। একই total-কে “income”, “turnover”, “cash received” ও “taxable amount” বলে ব্যবহার করবেন না; এগুলো ভিন্ন ধারণা হতে পারে। report heading-এ exact definition লিখুন।
quality review কে করবেন?
সম্ভব হলে data entry করা ব্যক্তি ছাড়া আরেকজন field ও source link মিলিয়ে দেখবেন। একা কাজ করলে self-review করা যায়, তবে review-এর সময় বিরতি রাখুন এবং report-এ self-reviewed লিখুন। reviewer-এর কাজ আইনগত অনুমোদন দেওয়া নয়; completeness, arithmetic, cross-reference ও privacy পরীক্ষা করা।
review sample নয়, high-risk row অগ্রাধিকার পেতে পারে: বড় অঙ্ক, missing invoice, unusual network label, duplicate hash, rate timing gap, manual correction বা unresolved fee। “বড়” কত, সেটি আপনার নিজের risk policy-তে লিখুন; এই নিবন্ধ কোনো সংখ্যাগত threshold দেয় না। review outcome pass/fail-এর বদলে reconciled/exception/pending হতে পারে।
Freelancer ID-এর জন্য bundle প্রস্তুত করলে কী মনে রাখবেন?
সরকারি portal-এর বর্তমান requirement-ই চূড়ান্ত নির্দেশনা; এই ledger কেবল সহায়ক সংগঠন। application guide-এ যে marketplace record, Payoneer statement বা অন্য গ্রহণযোগ্য income-verification document-এর কথা আছে, তার সঙ্গে আপনার বাস্তব নথি কীভাবে মেলে তা যাচাই করুন। USDT transaction hash-কে তালিকাভুক্ত statement বলে ধরে নেবেন না। portal অতিরিক্ত নথি চাইতে পারে, আবেদন প্রত্যাখ্যান করতে পারে বা requirement বদলাতে পারে।
application copy-তে কোন file দিয়েছেন, submission time এবং portal acknowledgement রাখুন। approval না হওয়া পর্যন্ত status submitted বা under_review; approved নয়। ID পেলে official verification reference আলাদা রাখুন। কোনো public verification result capture করলে NID বা অন্য ব্যক্তিগত তথ্য প্রকাশ না করার বিষয়টি গুরুত্ব দিন।
আইনি ও করসংক্রান্ত ভাষা কীভাবে সতর্ক রাখবেন?
“রেকর্ড আছে” বলুন; “বৈধ প্রমাণিত” বা “কর মিটে গেছে” বলবেন না, যদি উপযুক্ত কর্তৃপক্ষ বা পেশাজীবীর নির্দিষ্ট সিদ্ধান্ত না থাকে। আইন, বৈদেশিক মুদ্রা, digital transaction ও করের প্রশ্ন ব্যক্তির পরিস্থিতি ও সময়ের সঙ্গে বদলাতে পারে। source access time রাখার কারণও এটি—কোন সংস্করণ দেখে নথি তৈরি হয়েছে বোঝা যায়।
FE Circular No. 24-এর সীমা আড়াল করতে transaction label বদলানো, অননুমোদিত বিনিময় বা পরিচয় আড়াল করার পথ গ্রহণযোগ্য recordkeeping নয়। নথি সত্য, সম্পূর্ণ ও যাচাইযোগ্য রাখুন। সন্দেহ থাকলে কার্যক্রম থামিয়ে বর্তমান official source ও উপযুক্ত পরামর্শ নিন। এই লেখার purpose হলো আয়-দাবির evidence structure; কোনো virtual asset receipt বা conversion tutorial নয়।
একটি সাত ধাপের ব্যবহারিক workflow কী?
সাত ধাপে কাজ করলে পেমেন্টের পরের দিন থেকেই evidence gap ধরা যায়।
- সেবা-সম্পর্ক খোলুন: client alias, project reference ও invoice number তৈরি করুন।
- পেমেন্ট event লিখুন: RFC3339 time, asset, network, amount ও পূর্ণ hash লিখুন; address প্রয়োজন হলে restricted field-এ রাখুন।
- মূল নথি সংযুক্ত করুন: invoice, agreement বা relevant correspondence, payment statement এবং delivery reference map করুন।
- মূল্য নথিভুক্ত করুন: manual rate, rate currency, source, recorded time ও valuation basis লিখে fiat value হিসাব করুন।
- খরচ আলাদা করুন: platform fee, network fee, fee bearer, spread ও unknown অংশ পৃথক রাখুন।
- reconcile করুন: amount allocation, duplicate, missing file, timing gap ও arithmetic review করে status দিন।
- মাসিক snapshot নিন: CSV export, evidence map, exception register ও correction log version-সহ read-only archive-এ রাখুন।
প্রতিটি ধাপে source file-এর অস্তিত্ব দেখুন। row complete দেখানোর জন্য placeholder পূরণ করবেন না। কোনো ধাপে legal acceptability নিয়ে প্রশ্ন উঠলে ledger complete করার সঙ্গে সেই প্রশ্নের সমাধান গুলিয়ে ফেলবেন না।
দ্রুত যাচাইয়ের জন্য কোন তিনটি প্রশ্ন যথেষ্ট?
প্রথম review-তে এই তিনটি প্রশ্ন দুর্বল নথির বড় অংশ ধরতে পারে।
- এই hash-কে কোন invoice ও client agreement-এর সঙ্গে যুক্ত করা হয়েছে?
- এই fiat value কোন manual rate, currency, source ও RFC3339 recorded time থেকে এসেছে?
- এই record কোন identity/qualification evidence-এর সঙ্গে যুক্ত, এবং সেটি কি ভুলভাবে payment approval হিসেবে দেখানো হয়েছে?
উত্তর যদি source reference-সহ না আসে, bundle অসম্পূর্ণ। এরপর fee, spread, privacy, correction ও regulatory boundary review করুন। দ্রুত check কখনো পূর্ণ review-এর বিকল্প নয়।
প্রায়শ জিজ্ঞাসিত প্রশ্ন
শুধু transaction hash দিলে কি আয় প্রমাণ হবে?
না; hash একটি transfer record-এর চাবি, service-income relationship-এর পূর্ণ প্রমাণ নয়। invoice, client link, কাজের context, payment amount, valuation ও fee record দরকার। কোনো গ্রহণকারী সংস্থা কোন নথি গ্রহণ করবে তা তার বর্তমান requirement-এর ওপর নির্ভর করে।
invoice থাকলে কি hash দরকার নেই?
invoice পাওনা ও সেবার দাবি দেখায়; payment event যাচাই করতে আলাদা evidence দরকার। payment channel অনুযায়ী statement, transaction identifier বা অন্য official record থাকতে পারে। USDT chain transfer হলে hash একটি গুরুত্বপূর্ণ cross-reference, কিন্তু invoice-এর বিকল্প নয়।
পেমেন্টের সময়কার BDT মূল্য কোথা থেকে পাব?
আপনি যে reference সত্যিই ব্যবহার করেছেন তার rate, currency convention, source ও observation time লিখুন। এই নিবন্ধ কোনো নির্দিষ্ট rate source বা বর্তমান মূল্য নির্দেশ করে না। পরে আজকের rate দিয়ে পুরোনো value বদলাবেন না। গ্রহণযোগ্য valuation পদ্ধতি নিয়ে accountant বা প্রযোজ্য পেশাজীবীর পরামর্শ নিন।
receiving address প্রকাশ করা বাধ্যতামূলক?
না; এটি optional supporting field এবং privacy risk তৈরি করতে পারে। verifier-এর প্রয়োজন, আপনার record policy ও applicable requirement দেখে সীমিত-প্রবেশের original রাখুন। shared copy-তে mask করলে transformation note দিন।
Freelancer ID থাকলে কি প্রতিটি payment প্রমাণিত?
না; ID পরিচয় বা পেশাগত স্বীকৃতির আলাদা স্তর। প্রতিটি invoice ও payment-এর নিজস্ব evidence link দরকার। official verification page ID যাচাই করে, transaction hash বা client contract নয়।
CSV export কি income certificate?
না; CSV হলো আপনার ledger-এর portable copy। source documents, definitions ও review ছাড়া এটি self-entered table। কোনো কর্তৃপক্ষ বা প্রতিষ্ঠান গ্রহণ করবে কি না তার বর্তমান নিয়ম আলাদা করে দেখতে হবে।
কোনো field জানা না থাকলে শূন্য লিখব?
না; শূন্য একটি বাস্তব মান, unknown নয়। unknown, not_available বা not_applicable ব্যবহার করুন এবং কারণ লিখুন। পরে source পেলে correction log দিয়ে update করুন।
এই নথি কি বাংলাদেশে USDT গ্রহণকে অনুমোদিত করে?
না। recordkeeping কোনো channel-এর আইনি অবস্থান বদলায় না। বাংলাদেশ ব্যাংকের FE Circular No. 24-এর সীমা এবং পরবর্তী বর্তমান নির্দেশনা দেখুন; অনুমোদিত dealer bank ও উপযুক্ত পেশাজীবীর পরামর্শ নিন।
শেষবার কী নিশ্চিত করবেন?
একটি শক্ত USDT আয়-নথিতে “কে, কোন কাজ, কোন invoice, কখন, কী asset, কোন network, কত, কোন hash, কোন rate, কী fee এবং কোন source”—সব প্রশ্নের আলাদা উত্তর থাকে। client alias ব্যক্তিগত তথ্য সামলায়, invoice number সেবা-দাবি বাঁধে, RFC3339 সময় ঘটনাগুলো সাজায়, hash ব্লকচেইনের record খুঁজে দেয়, manual rate ঐতিহাসিক valuation পুনর্গঠন করে, আর monthly CSV সব reference এক জায়গায় আনে।
তবু সীমা অটুট: hash ক্লায়েন্ট নয়, invoice payment success নয়, Freelancer ID transaction approval নয়, আর ledger আইনগত অনুমতি নয়। যে অংশ প্রমাণিত নয় সেখানে সোজা ভাষায় ঘাটতি লিখুন। original নথি অক্ষত রাখুন, correction trail বজায় রাখুন, shared copy-তে ব্যক্তিগত তথ্য কমান এবং source access time সংরক্ষণ করুন। এই সততাই দীর্ঘমেয়াদে একটি income file-কে ব্যবহারযোগ্য করে।
