হিসাব ও ফি
একবারে নাকি ভাগে USDT পেমেন্ট
একবারে ও ভাগে পেমেন্টের ফি, রেকর্ড, ভুলের ঝুঁকি এবং মাইলস্টোন ব্যবস্থার পার্থক্য তুলনা করুন।
সর্বশেষ হালনাগাদ: 2026-08-12 উৎস যাচাই: 2026-08-10T18:48:47+08:00
একটি 600 USDT পেমেন্ট একবারে নিলে আর তিন কিস্তিতে নিলে কাজের মূল্য একই থাকতে পারে, কিন্তু খরচ ও নথির কাঠামো এক থাকে না। প্রতিটি on-chain transfer-এর নিজস্ব hash, fee, status ও time থাকে। ফলে fixed network deduction প্রতি কিস্তিতে হলে তিনবার কাটতে পারে; আবার milestone অনুযায়ী কাজ হস্তান্তর ও invoice allocation আলাদা করে দেখানোর সুবিধাও হয়। “ভাগে নিলে নিরাপদ” বা “একবারে নিলে সস্তা”—দুটিই শর্তহীন সত্য নয়।
সংক্ষিপ্ত সিদ্ধান্ত কী?
শুধু পুনরাবৃত্ত fixed fee বিবেচনা করলে একবারের পেমেন্ট সাধারণত কম খরচের; কিন্তু milestone, dispute exposure, client approval ও recordkeeping প্রয়োজন হলে ভাগ করা পেমেন্টের বাণিজ্যিক সুবিধা থাকতে পারে। তুলনার আগে percentage fee, fixed deduction, fee bearer, number of instalments এবং প্রতিটি কিস্তির evidence cost লিখুন।
একবারে বা ভাগে—কোনোটিই বাংলাদেশের নিয়ন্ত্রক অবস্থান বদলায় না। পেমেন্ট পদ্ধতি প্রযোজ্য কি না আগে Bangladesh Bank-এর বর্তমান নির্দেশনা ও Authorized Dealer বা AD-এর সঙ্গে নিশ্চিত করতে হবে। গাণিতিক তুলনা কোনো virtual-asset receipt-এর অনুমতি নয়।
কোন চিহ্ন দিয়ে তুলনা করবেন?
- G = সব কিস্তি মিলিয়ে gross USDT amount;
- K = transaction বা instalment-এর সংখ্যা;
- P = gross-এর ওপর percentage platform fee, decimal-এ;
- N = প্রতিটি transfer-এ recipient amount থেকে কাটা fixed USDT deduction;
- R = manual USD per USDT reference rate;
- S = spread বা valuation haircut, decimal-এ।
একবারের estimated net USD:
T_single = [G × (1 − P) − N] × R × (1 − S)
K-টি সমান কিস্তিতে, একই P ও প্রতি কিস্তিতে একই N হলে:
T_split = [G × (1 − P) − K × N] × R × (1 − S)
দুইটির পার্থক্য:
T_single − T_split = (K − 1) × N × R × (1 − S)
একটি পূর্ণ উদাহরণ কী দেখায়?
ধরা যাক demonstration input: G = 600 USDT, K = 3, P = 0.05, N = 1 USDT, R = 1 USD/USDT, S = 0.01। একবারে estimated result:
[600 × 0.95 − 1] × 1 × 0.99 = 563.31 USD
তিন কিস্তিতে:
[600 × 0.95 − 3] × 1 × 0.99 = 561.33 USD
Difference:
(3 − 1) × 1 × 1 × 0.99 = 1.98 USD
এই input-গুলো live fee বা market rate নয়। নিজের comparison-এ current observed values, unit, source ও observation time ব্যবহার করুন। Intermediate calculation full precision-এ রাখুন; display শেষে দুই decimal করুন।
percentage fee কি ভাগ করলে বদলায় না?
সরল model-এ P সব কিস্তির total gross-এর ওপর একই rate, তাই G × P একবার বা ভাগে সমান। বাস্তবে minimum percentage charge, tier, threshold, per-transaction processing rule বা rounding থাকলে সমান নাও হতে পারে। Platform terms না দেখে “percentage একই” ধরে নেবেন না।
প্রতি কিস্তির fee আলাদা বের করে যোগ করুন: Σ(G_i × P_i)। সব G_i-এর যোগফল G হতে হবে। কোনো কিস্তিতে promotional rate বা অন্য tier থাকলে source reference দিন। Unknown P-কে zero বানাবেন না।
fixed cost কেন ভাগে বেশি হতে পারে?
Fixed cost transaction count-এর সঙ্গে বাড়ে। Ethereum transaction documentation প্রতিটি transaction-এর fee-related fields ও validated block inclusion-এর প্রয়োজন বোঝায়। একটি obligation তিন transaction-এ ভাগ হলে তিনটি fee-bearing event তৈরি হতে পারে।
তবে sender gas আলাদা asset-এ দিলে recipient-side N শূন্য হতে পারে; sender total cost আলাদা বাড়বে। Platform যদি withdrawal fee প্রতিবার USDT amount থেকে কাটে, তখন N recipient result-এ পুনরাবৃত্ত হবে। Fee bearer ও currency না জানলে formula বেছে নেওয়া যাবে না।
তিনটি কিস্তি কি তিনটি আলাদা প্রমাণ?
হ্যাঁ, প্রযুক্তিগতভাবে প্রতিটি transfer-এর নিজস্ব hash, block context ও status থাকবে। Ethereum blocks documentation strictly ordered transaction history ও parent-linked block structure ব্যাখ্যা করে। তাই একটি invoice-এর তিন কিস্তি তিনটি আলাদা ledger event হিসেবে সংরক্ষণযোগ্য।
তিনটি hash এক cell-এ গুঁজবেন না। প্রতিটি কিস্তির জন্য পৃথক row রাখুন, একই invoice number এবং একটি instalment_sequence field দিন। Allocation table-এ invoice total, payment number, gross, fee, received amount ও outstanding balance দেখান।
TRC20 কিস্তির status কীভাবে আলাদা রাখবেন?
TRON transaction lifecycle creation, broadcast, block inclusion এবং solidification আলাদা ধাপ এবং containing block-এর timestamp ব্যাখ্যা করে। তাই কিস্তি 1 broadcast হলেও confirmed না হলে milestone paid বলে mark করবেন না। প্রতিটি transaction-এর own state থাকবে।
TRON transaction receipt endpoint individual transaction ID-এর fee, execution result, block number ও timestamp দেখাতে পারে। Split comparison-এ estimated N নয়, পরে প্রতিটি receipt-এর actual fee যোগ করে actual total বের করুন। Failed transaction থাকলেও cost বা retry evidence থাকতে পারে।
BEP20-এ finality field কেন দরকার?
BNB Smart Chain API documentation economic ও probabilistic finality এবং finality-aware block query ব্যাখ্যা করে। ফলে “hash পাওয়া গেছে” ও “invoice instalment finalized” একই status নয়। প্রতিটি payment row-এ observed, included, finalized এবং recipient credited—প্রাসঙ্গিক অবস্থাগুলো আলাদা রাখুন।
একটি instalment finalized না হলে পরেরটি পাঠানোর automatic rule রাখবেন না। Client ও recipient-এর operational agreement থাকতে পারে, কিন্তু network status, service credit এবং commercial acceptance তিনটি পরীক্ষা।
milestone-এর সঙ্গে পেমেন্ট কীভাবে বাঁধবেন?
কিস্তির সত্যিকারের সুবিধা তখনই, যখন প্রতিটি payment একটি পরিষ্কার deliverable বা milestone-এর সঙ্গে বাঁধা। Contract-এ milestone name, acceptance condition, invoice amount, due date ও payment reference রাখুন। “30% advance, 40% draft acceptance, 30% final delivery” উদাহরণ হতে পারে, কিন্তু আপনার project-এর বাস্তব terms আলাদা হবে।
একটি milestone বদলালে invoice revision করুন। Client শুধু partial amount পাঠালে সেটা কোন milestone-এর জন্য তা written confirmation-এ রাখুন। Payment receipt কাজ acceptance প্রমাণ নাও করতে পারে; delivery approval আলাদা evidence।
ছোট test payment কি আলাদা কিস্তি?
হ্যাঁ, অর্থ পাঠানো হলে সেটিও transaction ও fee event। Test amount invoice-এর অংশ কি না আগে লিখুন। Invoice total-এর বাইরে হলে sender cost, fee ও refund/adjustment rule আলাদা হবে। Invoice-এর অংশ হলে allocation-এ অন্তর্ভুক্ত করুন।
Test সফল হওয়া পরের payment guarantee নয়। Network support, deposit address, minimum ও platform policy বদলাতে পারে। পরের কিস্তির আগে asset, network ও address আবার confirm করুন। Regulatory route অনিশ্চিত থাকলে test-ও বন্ধ থাকবে।
একবারের পেমেন্টের সুবিধা কী?
- transaction-level fixed cost একবার হতে পারে;
- একটি hash ও একটি status reconcile করা সহজ;
- invoice allocation কম জটিল;
- rate observation ও valuation event একবার;
- fee evidence কম ফাইলে থাকে।
কিন্তু বড় এককালীন amount ভুল address বা network-এ গেলে exposure বেশি। Client dispute হলে কাজ ও payment timing একসঙ্গে জটিল হতে পারে। “কম fee” মানে “কম risk” নয়। Safety সিদ্ধান্ত fee দিয়ে একা নেবেন না।
ভাগ করা পেমেন্টের সুবিধা কী?
- deliverable অনুযায়ী cash flow মেলে;
- নতুন client-এর সঙ্গে commercial exposure ধাপে ধাপে সীমিত হতে পারে;
- প্রতিটি stage-এর acceptance ও payment আলাদা নথিভুক্ত হয়;
- project বন্ধ হলে completed milestone পর্যন্ত হিসাব পরিষ্কার থাকে।
অসুবিধা হলো repeated fixed fee, বহু hash, বহু timestamp, rate variation এবং outstanding balance reconciliation। Team process দুর্বল হলে extra rows evidence শক্ত না করে confusion বাড়ায়।
rate বদলালে কিস্তির fiat value কীভাবে লিখবেন?
প্রতিটি instalment-এর payment time আলাদা, তাই manual reference rate ও observation time-ও আলাদা হতে পারে। Month-end-এ সব কিস্তিকে একটি final-day rate দিয়ে মূল্যায়ন করলে event-time record হারায়। প্রতিটি row-এ asset_amount, rate, rate_currency, rate_source, rate_time ও fiat_value রাখুন।
Invoice USD total এবং payment-date calculated USD value আলাদা ধারণা। Difference-কে fee বা gain/loss বলার আগে valuation policy ও actual fiat outcome দরকার। Split payments-এ এই distinction আরও জরুরি, কারণ R ও S প্রতিটি কিস্তিতে বদলাতে পারে।
কিস্তির reverse quote কীভাবে করবেন?
প্রতিটি instalment-এর target T_i, percentage P_i, fixed deduction N_i, rate R_i ও spread S_i থাকলে:
G_i = (T_i ÷ (R_i × (1 − S_i)) + N_i) ÷ (1 − P_i)
সব gross quote-এর যোগফল ΣG_i। একবারের target T-এর reverse G-এর সঙ্গে তুলনা করুন। Repeated N এবং input timing-এর কারণে split total সাধারণত আলাদা হবে। একটি কিস্তির input অন্য কিস্তিতে copy করবেন না যদি observation time বদলে যায়।
rounding কীভাবে মোটকে বদলায়?
প্রতিটি instalment supported precision-এ upward round করলে ছোট rounding buffer K-বার হতে পারে। একবারের quote-এ একবার। Raw G_i, rounded G_i ও forward result রাখুন। K-টি rounded amount-এর sum এবং raw total-এর difference দেখান।
Fiat display দুই decimal হলেও calculation raw precision-এ থাকবে। Invoice total-এর সঙ্গে sum না মিললে allocation difference field দিন; last instalment নীরবে বদলে gap লুকাবেন না। Client-এর written approval নিয়ে adjustment version করুন।
failed বা missing instalment কীভাবে লিখবেন?
Status হতে পারে planned, sent, observed, finalized, credited, reconciled, failed, disputed বা missing_evidence। Paid summary-তে কোন status ঢুকবে policy-তে লিখুন। Hash আছে কিন্তু recipient credit নেই—তাকে reconciled করবেন না।
Retry হলে নতুন transaction row; পুরোনো failed row delete নয়। Retry fee actual cost-এ থাকবে। Same invoice ও instalment sequence-এর সঙ্গে attempt number যোগ করুন। Duplicate credit হলে outstanding balance negative করে না রেখে exception review করুন।
বাংলাদেশের service-export record কী চায়?
FEPD-1 সার্কুলার No. 26 current consolidated fiat service-export framework-এর Part K-তে electronic evidence, inward-remittance message, AD reporting ও record retention-এর বিষয় রাখে। Split fiat remittance হলে প্রতিটি instalment-এর client, invoice, inward-remittance ও transaction evidence আলাদা সংরক্ষণ করা যুক্তিসঙ্গত।
এই record path USDT বা virtual asset payment authorize করে না। FE সার্কুলার No. 24 নির্দিষ্ট virtual-asset transaction ও facilitation-এর নিষেধমূলক সীমা জানায়। একবার বা ভাগে—দুই scenario-তেই আগে AD-এর current written guidance নিতে হবে।
comparison worksheet-এ কোন row থাকবে?
| ক্ষেত্র | একবারে | ভাগে |
|---|---|---|
| transaction count | 1 | K |
| gross total | G | ΣG_i |
| percentage fee | G×P | Σ(G_i×P_i) |
| fixed recipient deduction | N | ΣN_i |
| sender network cost | আলাদা actual | সব attempt-এর sum |
| hash/status rows | 1 | প্রতি attempt-এ 1 |
| rate observations | 1 | প্রতি credit event-এ 1 |
| invoice allocation | simple | sequence ও outstanding balance |
| regulatory check | required | একইভাবে required |
Table-এর “একবারে” ও “ভাগে” result cost comparison, recommendation নয়। Milestone value, dispute terms ও client trust qualitative notes-এ রাখুন।
সিদ্ধান্ত নেওয়ার আগে কোন দশটি প্রশ্ন করবেন?
- K কেন দরকার—fee, milestone, test, না cash flow?
- Fixed deduction প্রতিবার হবে কি?
- Sender cost ও recipient deduction আলাদা কি?
- Percentage base প্রতিটি instalment-এ একই কি?
- Minimum বা tier rule আছে কি?
- প্রতিটি payment কোন invoice/milestone-এর?
- কোন status-এ milestone paid হবে?
- Rate ও fiat value প্রতি event-এ লেখা হবে কি?
- Retry/failed transaction কীভাবে count হবে?
- AD কি proposed payment route লিখিতভাবে নিশ্চিত করেছে?
সব উত্তর লিখে single ও split model চালান। শুধু cheapest result নয়, evidence burden ও commercial exposure-ও decision note-এ রাখুন।
কিস্তির schedule কীভাবে আগে লিখবেন?
কাজ শুরু হওয়ার আগেই একটি ছোট schedule বানান। প্রত্যেক সারিতে milestone, client approval-এর শর্ত, expected asset amount, agreed network, সম্ভাব্য payment window এবং invoice reference রাখুন। “কাজ শেষ হলে দেব” ধরনের অস্পষ্ট ভাষা বাদ দিন; কোন deliverable দেখা বা গ্রহণ করার পরে কোন কিস্তি payable হবে তা লিখুন। Payment window বদলালে পুরোনো সারি মুছবেন না—revision date ও পরিবর্তনের কারণ যোগ করুন। এতে একটি বিলম্বিত কিস্তিকে হারিয়ে যাওয়া transaction মনে করার ঝুঁকি কমে। Schedule কোনো blockchain guarantee নয়; এটি client agreement ও পরে পাওয়া transaction evidence মিলিয়ে দেখার control sheet।
একই invoice-এ একাধিক hash কীভাবে মিলাবেন?
প্রতিটি কিস্তিকে একটি installment_id দিন, যেমন INV-204-P1, INV-204-P2। তারপর invoice total-এর পাশে expected gross এবং প্রত্যেক hash-এর পাশে received amount লিখুন। তিনটি hash-এর যোগফল invoice total-এর সমান কি না শুধু সেটিই যথেষ্ট নয়: asset, network, timestamp, recipient reference ও status-ও মিলতে হবে। কোনো কিস্তিতে fee deduction থাকলে expected ও received amount আলাদা রাখুন এবং পার্থক্যের কারণ evidence note-এ লিখুন। একই hash ভুল করে দুই সারিতে বসানো হলে duplicate flag দিন; সেটিকে দুইবার income হিসেবে গণনা করবেন না।
rate বদলের প্রভাব কীভাবে আলাদা দেখাবেন?
কিস্তিগুলোর payment time আলাদা হলে প্রতিটি কিস্তির manual reference rate ও recorded_at আলাদা হতে পারে। তাই আগে প্রতিটি কিস্তির fiat value বের করুন, পরে যোগ করুন। মাসের শেষে একটি rate দিয়ে সব কিস্তি পুনর্মূল্যায়ন করলে payment-date record নষ্ট হয়। Comparison-এ দুটি ফল পাশাপাশি রাখুন: contract বা invoice অনুযায়ী target value এবং payment event অনুযায়ী recorded value। পার্থক্য থাকলে সেটিকে fee বলে ধরে নেবেন না; rate timing, spread, rounding, refund বা missing instalment—কোন কারণ প্রযোজ্য তা লিখুন। অজানা মানকে শূন্য বানালে comparison কৃত্রিমভাবে পরিষ্কার দেখাবে।
dispute হলে কোন chronology কাজে লাগে?
একটি নিরপেক্ষ chronology রাখুন: milestone submitted, client acknowledged, invoice issued, address-network card confirmed, payment sent, explorer status checked, receiving platform credit confirmed এবং evidence archived। প্রত্যেক ঘটনার সময় ও reference আলাদা হবে। Client-এর screenshot আর আপনার receiving record বিরোধ করলে উভয়টিই রেখে discrepancy note দিন। কোনো screenshot সম্পাদনা করে মিল তৈরি করবেন না। প্রথমে network ও transaction hash পুনরায় মিলিয়ে দেখুন; তারপর platform support-এর নিজস্ব process অনুসরণ করুন। Chronology দোষ নির্ধারণ করে না, কিন্তু কে কখন কোন তথ্য দেখেছিল তা পুনর্গঠন করতে সাহায্য করে।
মাসিক summary-তে split payment কীভাবে দেখাবেন?
মাসিক summary-তে প্রতিটি কিস্তি আলাদা event হিসেবে রাখুন, কিন্তু invoice-level subtotal-ও তৈরি করুন। installment_count, fixed_cost_total, received_total, outstanding_amount এবং evidence_complete field ব্যবহার করলে single ও split invoice একই report-এ তুলনা করা যায়। মাসের সীমানায় একটি invoice-এর কিস্তি দুই মাসে পড়লে payment date অনুযায়ী event নিজ নিজ মাসে থাকবে; invoice summary-তে পুরো relationship থাকবে। এতে cash receipt ও earned-income policy গুলিয়ে না ফেলে accountant বা AD-কে আপনার পদ্ধতি ব্যাখ্যা করা সহজ হয়। কোন accounting basis প্রযোজ্য তা এই worksheet নিজে ঠিক করে না।
কোন পরিস্থিতিতে সিদ্ধান্ত স্থগিত রাখবেন?
Client কোন network ব্যবহার করবে জানে না, receiving platform সেই asset-network pair সমর্থন করে কি না নিশ্চিত নয়, address বদলেছে, fee কে বহন করবে অনির্ধারিত, অথবা milestone acceptance নিয়ে বিরোধ আছে—এই অবস্থায় quote final করবেন না। “পরে ঠিক হবে” লিখে payment নেওয়া evidence gap বাড়ায়। Unknown field স্পষ্টভাবে pending confirmation রাখুন এবং confirmation card সম্পূর্ণ না হওয়া পর্যন্ত send instruction দেবেন না। একইভাবে, current Bangladesh handling বা permitted payment route নিয়ে সন্দেহ থাকলে Bangladesh Bank বা সংশ্লিষ্ট Authorized Dealer-এর বর্তমান নির্দেশনা যাচাই করুন। Cost comparison কখনও regulatory permission তৈরি করে না।
500 USDT-এর একটি যাচাই অনুশীলন কীভাবে করবেন?
500 USDT-কে বর্তমান বাজারদর বা বাস্তব ফি ধরে নেওয়া নয়; এখানে এটি শুধু একই invoice তিনভাবে ভাঙলে worksheet কীভাবে বদলায় তা দেখার একটি manual test input। প্রথম কলামে 500 USDT একবারে, দ্বিতীয় কলামে 50 USDT test ও 450 USDT balance, তৃতীয় কলামে 200, 150 ও 150 USDT—এই তিনটি model লিখুন। প্রতিটি model-এ platform percentage, recipient fixed deduction, sender network cost, manual reference rate এবং spread আলাদা ঘরে দিন। কোনো ঘরের মান জানা না থাকলে শূন্য বসাবেন না; unknown রেখে result-কে অসম্পূর্ণ বলুন।
একবারে 500 USDT পাঠালে একটি successful hash, একটি credit event ও একটি payment-time rate observation থাকবে। 50+450 model-এ successful event দুটি; test transfer-এর fixed deduction ও sender cost balance transfer-এ আবার হতে পারে। 200+150+150 model-এ একই ধরনের cost তিনবার ঘটতে পারে। Percentage fee সত্যিই একই base-এ প্রযোজ্য হলে অংশগুলোর percentage fee যোগ করে একবারের fee-এর সমান হতে পারে, কিন্তু tier, minimum বা rounding থাকলে তা ধরে নেওয়া যাবে না। তাই worksheet-এ “rule verified from current screen?” নামে একটি কলাম রাখুন।
তারপর invoice allocation পরীক্ষা করুন। 50 USDT test কি invoice-এর paid amount কমাবে, নাকি verification-only transfer হিসেবে পরে ফেরত বা সমন্বয় হবে—এটি client agreement-এ লেখা না থাকলে outstanding balance পরিষ্কার হবে না। প্রতিটি অংশের installment_id, expected amount, received amount, hash, status, credit time ও invoice balance লিখুন। 500-এর সব অংশ যোগ হচ্ছে কি না দেখার পাশাপাশি duplicate hash, failed attempt এবং fee deduction আলাদা রাখুন। Failed hash-এর nominal amount income total-এ যোগ করবেন না।
শেষে তিনটি ফল পাশাপাশি লিখুন: মোট recipient deduction, মোট sender cost এবং evidence row-এর সংখ্যা। কম খরচের model-ই সব সময় গ্রহণযোগ্য নয়; milestone dispute, client acceptance ও permitted payment route সমানভাবে গুরুত্বপূর্ণ। এই অনুশীলনের উদ্দেশ্য কোনো network বা payment pattern সুপারিশ করা নয়। একই input দিয়ে আপনার spreadsheet দুবার চালালে একই result আসে কি না এবং reverse calculation original 500 target-এ ফিরে যায় কি না—সেটিই হিসাবের consistency check।
খরচ ছাড়াও কোন পরিচালন বোঝা গুনবেন?
প্রতিটি installment-এর সঙ্গে নতুন message, confirmation card, rate observation, hash check, receiving-platform credit check ও archive row তৈরি হয়। এগুলো transaction fee নয়, কিন্তু কাজের সময় ও ভুলের সুযোগ বাড়ায়। Client যদি তিনটি installment-এর জন্য তিনটি আলাদা sender account ব্যবহার করে, payer identity ও invoice relationship ব্যাখ্যাও জটিল হয়। তাই comparison sheet-এ review_minutes বা কাল্পনিক টাকার মূল্য বসিয়ে নকল সাশ্রয় দেখানোর বদলে “one review / two reviews / three reviews” ধরনের count রাখুন। পরে প্রকৃত কাজের সময় জানা গেলে আলাদা operational note লিখতে পারেন।
একইভাবে reminder ও dispute communication গুনুন। একটি installment দেরি হলে পুরো invoice unpaid নয়; কোন milestone outstanding তা বলতে হবে। Partial refund বা correction এলে original hash মুছে দেবেন না—নতুন event হিসেবে link করুন। এভাবে খরচ, cash timing এবং evidence burden তিনটি আলাদা থাকে। শুধু network fee দিয়ে সিদ্ধান্ত নিলে record-maintenance burden অদৃশ্য হয়ে যায়, আবার শুধু “ঝুঁকি” শব্দ লিখলে কী বাড়ছে তা বোঝা যায় না। Count করা event ও missing field দেখালে client-এর সঙ্গে বাস্তব সিদ্ধান্ত নেওয়া সহজ হয়।
ব্যর্থ attempt ও সফল কিস্তি কীভাবে আলাদা করবেন?
Wallet বা platform-এ “failed”, “dropped”, “replaced”, “pending” এবং “credited” একই অর্থ নয়। Cost sheet-এ প্রতিটি attempt-এর একটি attempt_id রাখুন, কিন্তু income ledger-এ কেবল receiving side-এ সত্যিই credit হওয়া event লিখুন। Failed attempt-এর hash থাকলেও সেটি received income নয়। আবার sender screen-এ success দেখা গেলেও recipient platform credit না করলে discrepancy খোলা থাকবে। দুইটি table রাখলে এই পার্থক্য পরিষ্কার হয়: transaction-attempt table এবং invoice-payment table।
Transaction-attempt table-এ hash, network, sent amount, sender status, fee, first-seen time এবং replacement hash থাকবে। Invoice-payment table-এ installment_id, expected amount, credited amount, credit time, receiving statement reference ও outstanding balance থাকবে। একটি successful hash একাধিক invoice row-এ বসাবেন না। Replacement transaction হলে original ও replacement link করুন, কিন্তু দুটিকে income যোগফলে ধরবেন না। কোন attempt-এর network fee ফেরত পাওয়া যায়নি বা fee ঘটেনি—সেটি explorer ও platform evidence থেকে লিখুন; অনুমান করবেন না।
Pending অবস্থায় client-কে আরেকটি সমান transfer করতে বলা duplicate payment-এর ঝুঁকি বাড়ায়। আগে network status, nonce বা platform support process—যা প্রযোজ্য—official source থেকে যাচাই করুন। এই নিবন্ধ format check-এর বাইরে on-chain recovery guarantee দেয় না। Status বোঝা না গেলে cost comparison স্থগিত থাকবে; unknown attempt-কে ব্যর্থ ধরে নতুন payment schedule চালু করবেন না।
Refund বা overpayment হলে কোন হিসাব বদলাবে?
Client বেশি পাঠালে বা একটি installment ফেরত দিতে হলে original receipt মুছে net amount লিখে দিলে chronology হারায়। প্রথমে original incoming event অপরিবর্তিত রাখুন। তারপর refund decision, approved amount, applicable network, outgoing hash, actual sender cost এবং completion status নতুন linked row-এ লিখুন। Invoice balance, cash movement এবং fee effect আলাদা তিনটি subtotal হবে। Refund-এর network fee কে বহন করবে তা contract-এ না থাকলে client-এর সঙ্গে লিখিতভাবে ঠিক করুন; একতরফা deduction-কে agreed fee বলবেন না।
উদাহরণ হিসেবে invoice target 500 USDT, কিন্তু client ভুল করে 550 USDT পাঠালেন—এখানে received amount 550, overpayment 50 এবং refund event আলাদা। 50 ফেরত পাঠাতে outgoing fee ঘটলে invoice income স্বয়ংক্রিয়ভাবে 500 minus fee হয়ে যায় না। Accounting ও contractual treatment পেশাগত পরামর্শের বিষয়; worksheet শুধু ঘটনাগুলো দেখায়। Refund অন্য network বা অন্য address-এ চাইলে নতুন confirmation ছাড়া পাঠাবেন না। Original payer ও refund recipient না মিললে পরিচয় ও authorization প্রশ্নও লিখিতভাবে মেটাতে হবে।
Partial refund হলে কোন milestone-এর value কমছে তা লিখুন। Full cancellation হলে completed work, accepted deliverable ও invoice correction document সংরক্ষণ করুন। Refund hash একা business reason বোঝায় না; credit note, client message বা revised invoice সঙ্গে রাখুন। এভাবে পরে কেউ শুধু outgoing transfer দেখে “income কখনো আসেনি” বা শুধু incoming দেখে “পুরোটা আয়” ধরে নেবে না।
কিস্তির মাঝখানে fee rule বদলালে কী করবেন?
প্রথম কিস্তির সময় দেখা fee বা withdrawal screen শেষ কিস্তির জন্য স্থায়ী নয়। প্রতিটি event-এর আগে current displayed rule, asset-network pair, minimum, fixed deduction এবং কে fee বহন করবে আবার দেখুন। Rule বদলালে original quote silently edit করবেন না। একটি revision row বানিয়ে পুরোনো assumption, নতুন observation, effective date এবং remaining installments-এ সম্ভাব্য প্রভাব লিখুন। Client-এর সঙ্গে net target অপরিবর্তিত থাকবে কি gross installment বদলাবে—এটি পুনরায় সম্মত হওয়া দরকার।
Fee বেড়েছে বলে remaining amount ইচ্ছামতো বাড়ালে invoice total বদলে যায়। আবার fee নিজে বহন করলে expected net কমতে পারে। দুটি scenario চালান: contract amount অপরিবর্তিত এবং target net অপরিবর্তিত। কোনটি contract অনুমতি দেয় তা client agreement নির্ধারণ করবে, calculator নয়। Rate বা spread-ও বদলালে fee change-এর সঙ্গে মিশিয়ে একটি “market difference” লিখবেন না; প্রতিটি factor-এর আলাদা input ও source time রাখুন।
Rule কমে গেলেও আগের কিস্তিতে hypothetical saving বসিয়ে ইতিহাস পুনর্লিখবেন না। Actual record-এ তখন যা ঘটেছিল সেটিই থাকবে; comparison note-এ নতুন rule ভবিষ্যৎ installment-এ কী করতে পারে লেখা যায়। কোনো public fee table পুরোনো হলে current platform display ও terms যাচাই করুন। Manual estimate-কে live guarantee বলা যাবে না।
মাস শেষ হলে একটি split invoice কীভাবে বন্ধ করবেন?
Month-end review-তে invoice total, cumulative credited amount, cumulative fixed deductions, recorded sender costs, refund total এবং outstanding balance মিলান। সব installment credited না হলে invoice-কে complete mark করবেন না; partially_received বা outstanding status ব্যবহার করুন। Payment দুই মাসে ছড়ালে প্রতিটি event তার credit date-এর মাসে থাকবে, আর invoice master record দুই মাসের row-কে একত্রে link করবে। এতে monthly cash report ও commercial invoice status দুটোই বোঝা যায়।
Close করার আগে hash uniqueness check চালান, missing rate source খুঁজুন, client alias ও invoice number এক format-এ আছে কি দেখুন এবং receipt statement archive করুন। তারপর closed_at, reviewer ও unresolved note লিখুন। পরে correction এলে closed row overwrite করবেন না; নতুন correction version তৈরি করুন। Version history না থাকলে month-end total কেন বদলেছে তা ব্যাখ্যা করা কঠিন হয়।
সবশেষে evidence package-এ contract বা milestone acceptance, invoice, confirmation card, প্রত্যেক successful hash, receiving statement, manual rate observation এবং fee evidence রাখুন। Secret credential, private key, seed phrase বা full identity document এই package-এ যাবে না। Package সম্পূর্ণ হলেই payment route আইনসম্মত প্রমাণ হয় না; Bangladesh Bank ও সংশ্লিষ্ট AD-এর current requirement আলাদাভাবে প্রযোজ্য।
সম্পাদকীয় সীমা: এই লেখা manual cost ও record comparison; live fee, guaranteed safety, wallet connection, private exchange বা regulation এড়ানোর পথ নয়। উৎসগুলো 2026-08-10T18:48:47+08:00 পর্যন্ত দেখা হয়েছে। বাংলাদেশের বর্তমান payment route ও evidence requirement সংশ্লিষ্ট AD-এর সঙ্গে যাচাই করুন।
