এই ভলিউমে · ভলিউম 05
অ্যাকাউন্টিং
হিসাব তালিকা জার্নাল ও লেজার বিলিং ও ইনভয়েসিং পেমেন্ট ও রসিদ পেমেন্ট রিকনসিলিয়েশন মাল্টি-কারেন্সি ডেফার্ড রেভিনিউ কমিশন অ্যাকাউন্টিং কর (VAT/GST) পিরিয়ড ক্লোজ

অধ্যায় ৫.৪ — পেমেন্ট ও রসিদ

১. উদ্দেশ্য

দুই-দিকের পেমেন্ট প্রবাহ: - গ্রাহক থেকে — রসিদ (incoming) - সরবরাহকারীকে — পেআউট (outgoing)

২. চ্যানেল

চ্যানেল ব্যবহার
পেমেন্ট গেটওয়ে অনলাইন কার্ড পেমেন্ট (Stripe, SSLCommerz, bKash)
ব্যাঙ্ক ওয়্যার বড় কর্পোরেট পেমেন্ট
নগদ শারীরিক ক্যাশ ড্রয়ার
কাস্টমার ক্রেডিট গ্রাহক ওয়ালেট/অ্যাকাউন্ট ব্যালেন্স
ভাউচার পূর্ব-প্রদানকৃত voucher রিডেমপশন

৩. পেমেন্ট প্রবাহ — গ্রাহক থেকে

১. গেটওয়ে থেকে payment.succeeded webhook প্রাপ্ত
২. Idempotency কী চেক — ইতিমধ্যে প্রসেস হয়েছে?
৩. ডিবি ট্রানজ্যাকশন:
   - INSERT payments রেকর্ড (CAPTURED স্টেট)
   - ইনভয়েস(গুলো)তে অ্যাপ্লিকেশন (invoice_payments)
   - JE পোস্ট: Dr Bank/Gateway / Cr AR
   - ইনভয়েস স্ট্যাটাস আপডেট (PAID/PARTIALLY_PAID)
   - পেমেন্ট রিকনসিলিয়েশনের জন্য মার্ক
   - COMMIT
৪. গ্রাহককে রসিদ ইমেইল

৪. JE প্যাটার্ন

গ্রাহক ব্যাঙ্ক ট্রান্সফার:
  Debit  1013 Bank Accounts              X
  Credit 1101 AR — Customer              X

গ্রাহক গেটওয়ে পেমেন্ট:
  Debit  1015 Gateway in Transit         X
  Credit 1101 AR — Customer              X

পরে গেটওয়ে সেটেলমেন্ট:
  Debit  1013 Bank Accounts          X − F (নেট)
  Debit  5026 Gateway Fees           F (ফি)
  Credit 1015 Gateway in Transit         X

কাস্টমার ক্রেডিট ওয়ালেট:
  Debit  2091 Customer Credit Balances   X
  Credit 1101 AR — Customer              X

৫. পেআউট (সরবরাহকারীকে)

আগ্রিম-অনুমোদন (Maker-Checker):

১. Treasury initiator পেআউট ড্রাফট তৈরি
২. সরবরাহকারীর ব্যাঙ্ক ডিটেইল যাচাই (recent change hold চেক)
৩. PENDING_APPROVAL — Treasury approver-এ যাবে
৪. অনুমোদন (with reason)
৫. ব্যাঙ্ক ওয়্যার পাঠানো
৬. wire reference রেকর্ড
৭. JE পোস্ট
৮. T+1 দিনে ব্যাঙ্ক confirmation

JE:

পেআউট:
  Debit  2001 AP — Suppliers              X
  Credit 1013 Bank Accounts               X

৬. ব্যর্থ পেমেন্ট

  • Gateway decline → পেমেন্ট FAILED, ইনভয়েস unchanged
  • Chargeback → CHARGEBACK স্ট্যাটাস + investigation flow
  • Dispute → DISPUTED স্ট্যাটাস + provision

৭. পেমেন্ট স্ট্যাটাস

INITIATEDAUTHORIZEDCAPTUREDAPPLIEDRECONCILED

বিকল্প পথ: FAILED, REFUNDED, CHARGEBACK, DISPUTED

৮. মাল্টি-অ্যাপ্লিকেশন

একক পেমেন্ট একাধিক ইনভয়েস পরিশোধ করতে পারে:

invoice_payments টেবিল:
  payment_id | invoice_id | applied_amount
  PAY-001    | INV-2026-100 | 25,000
  PAY-001    | INV-2026-101 | 35,000

(একক BDT 60,000 পেমেন্ট দুই ইনভয়েসে স্প্লিট।)

৯. ওভার-অ্যাপ্লিকেশন প্রতিরোধ

applied_amount chk: sum(applied) <= payment.amount। লঙ্ঘন → PAYMENT_INVOICE_OVERAPPLIED ত্রুটি।

১০. সাধারণ ফাঁদ

  • ⚠️ Idempotency কী ছাড়া webhook প্রসেসিং — ডবল পেমেন্ট রেকর্ড
  • ⚠️ গেটওয়ে ফি কোনো অ্যাকাউন্টে ক্যাপচার না — overstated revenue
  • ⚠️ পেআউটে recent bank change hold বাইপাস — ফ্রড ঝুঁকি
  • ⚠️ ক্যাশ ড্রয়ার রিকনসিলিয়েশন স্কিপ — চুরি লুকানো যেতে পারে