Omnikyo/Help Center
Concept

How payments stay consistent

Payment fields on an order lock once any money is recorded, to ensure the customer's payment, what the courier collects, and what you note on the order all stay in sync.

বাংলায়: কোনো পেমেন্ট recorded হলে (অগ্রিম বা কোনো পদ্ধতিতে), আর সেই পেমেন্ট fields edit করা যায় না। এটি নিশ্চিত করে যাতে কাস্টমার যা পেমেন্ট করেছে, কুরিয়ার যা সংগ্রহ করবে, এবং আপনার order record সব সঠিক থাকে।

The payment math

Every order follows three simple rules:

Recorded payment = Advance payment + Cash collected

This is the total money you've noted as received or promised. For example: if the advance is Tk 3,000 and cash collected is Tk 1,500, recorded payment is Tk 4,500.

Due amount = Order total − Advance payment − Cash collected

The due amount is what remains for the customer to pay or the courier to collect. For example: if the total is Tk 8,000, advance Tk 3,000, and cash Tk 1,500, the due amount is Tk 3,500.

The courier collects only the due amount, never the full total.

This means the courier is told to collect only the remaining Tk 3,500, not the original Tk 8,000. This prevents double-collection (customer already paid part, so don't ask the courier for that part).

When payment fields lock

Once any amount is recorded — whether advance payment, cash collected, or a refund processed — the Advance payment and Received fields become locked and cannot be edited. The lock protects against accidental changes that would break the math.

If you open an order with recorded payment and try to edit those fields, you will see a message:

"Payment recorded. Recorded via {source}: ৳{amount}"

For example: "Payment recorded via bKash: ৳3,500".

The fields remain grayed out and uneditable. Only a refund (which is processed through the payment system, not the order editor) can change recorded amounts.

Why the lock matters

Scenario 1: Without the lock

  • Order total: Tk 10,000
  • Customer pays Tk 5,000 via bKash (advance_payment = 5,000)
  • You accidentally edit the total to Tk 3,000
  • Now the math breaks: due_amount = 3,000 − 5,000 = −Tk 2,000 (negative!)
  • The courier is told to collect negative money (nonsense).

Scenario 2: With the lock

  • Order total: Tk 10,000
  • Customer pays Tk 5,000 via bKash (advance_payment = 5,000)
  • You try to edit the total — the field is locked.
  • The math stays intact: due_amount = 10,000 − 5,000 = Tk 5,000.

The 0.009 tolerance

Omnikyo uses a small tolerance (Tk 0.009 ≈ 0.009 paisa) when comparing money amounts. This accounts for rounding. For example:

  • If a customer pays Tk 5,000.005 and you recorded Tk 5,000.00, they are considered equal.
  • If you have advance Tk 3,000 and cash collected Tk 2,000, and the total is Tk 5,000.008, the order is treated as fully paid.

The tolerance applies to all money calculations but never changes what you see on the screen (currency formatting rounds to 2 decimals).

What "recorded payment" means

Recorded payment is the sum of Advance payment + Cash collected. It does not count:

  • Refunds (those are processed separately).
  • Estimated payments or pending attempts.
  • The customer's chosen payment method for the original order (that is separate).

Recorded payment only increases when:

  1. You create a bKash payment link and the customer completes it.
  2. A courier webhook tells Omnikyo the courier collected cash (cash_collected increases).
  3. You manually add an advance payment or mark cash as collected in the order form.

Editing a locked order

If payment is recorded, you can still edit:

  • Customer name, phone, address.
  • Order items, quantity, and unit prices (which changes the total).
  • Order status.
  • Notes.
  • Shipping fee, discount, or other adjustments.

You cannot edit:

  • Advance payment amount.
  • Cash collected amount.
  • Payment method (for bKash orders).

If you need to undo a payment, use the refund flow, not the order editor.

Questions people ask

Why are the payment fields grayed out?

Payment is recorded on this order (you or the customer provided money). Omnikyo locks them to prevent you from accidentally breaking the math. To make them editable again, refund the payment through the payment workflow, then reopen the order.

Can I increase the order total when payment is recorded?

Yes. You can change the order total even when payment is locked. The due_amount recalculates automatically. For example:

  • Original total: Tk 8,000, advance: Tk 3,000, due: Tk 5,000
  • You increase total to Tk 10,000
  • New due: Tk 10,000 − Tk 3,000 = Tk 7,000
  • The courier is told to collect Tk 7,000 instead of Tk 5,000.

What if I reduce the total below the recorded payment?

Omnikyo will not allow it. You will see an error:

"Order total cannot be below the recorded payment of ৳{amount}. Refund or credit the excess through the payment workflow first."

You must refund the excess through the payment system before reducing the total.

Who is responsible for the due amount?

The courier. Once you send the order to a courier (Pathao, Steadfast), the courier receives the due_amount figure. The courier will try to collect that amount from the customer. If the customer gives the courier extra cash, the courier reports it back, and cash_collected updates.

Other ways people ask this

  • payment field edit karbo na keno
  • payment lock matlab ki
  • recorded payment = konta
  • due amount calculate
  • courier koto taka collect korbe
  • advance + cash = recorded
  • advance change karle ki hobe
  • order total badani karle payment ka hobe
  • পেমেন্ট ফিল্ড এডিট করতে পারছি না
  • টাকার হিসাব কীভাবে করে
  • রেকর্ডেড পেমেন্ট মানে

Checked against the product on 2026-10-02.