Skip to content

Accept COD and manual bank transfer

Updated

Approve a COD or manual transfer order (0:19)

With the COD & Manual Transfer add-on, your payment forms can offer Cash on Delivery (COD) and Manual Bank Transfer next to online payments. These orders stay pending until you confirm the money has arrived.

Subscribe to the COD & Manual Transfer add-on from Add-ons → Available Add-ons. The Package Niaga and Package Niaga Pro bundles include it too. Without the add-on, the bank account fields are locked and the two payment methods do not appear in your forms.

Manual transfer needs at least one bank account for customers to pay into. COD does not. To add them:

  1. Go to Platform Setup → Payment and open the Bank Accounts tab.

    The Payment Settings page with the Bank Accounts tab highlighted

  2. Click Add Bank Account, choose the Bank, then fill in Account Number and Account Name. You can add up to 3 accounts.

    A new bank account with the Bank, Account Number and Account Name fields highlighted

  3. Click Save Bank Accounts.

Each form chooses its own payment methods:

  1. Go to Payments → Forms and click Edit on your form, then open the Payment Details tab.

  2. In Payment Option, add Cash on Delivery (COD), Manual Bank Transfer or both.

    The Payment Option field with FPX and Cash on Delivery (COD) selected

  3. Click Update Form.

Customers who choose manual transfer pick the bank account they paid into and upload their receipt before they can submit. If you have not added a bank account, they see Bank Transfer Not Available instead.

To charge extra only on COD orders, use a shipping option:

  1. Go to Platform Setup → Shipping & Rates and click Add Shipping Option.

  2. Enter a Shipping Name, such as COD, and a Fixed Charge (RM), then click Save Shipping Configuration. The Free, Tiers and Rules buttons work only after the option is saved.

    A COD shipping option with a fixed charge of RM 10 and the Save Shipping Configuration button highlighted

  3. Click Rules on that row, choose Cash on Delivery (COD) in Payment Channels, and click Save Restrictions.

    The Shipping Restrictions panel with Cash on Delivery (COD) chosen in Payment Channels

  4. In your form, open the Form Configuration tab. Under Shipping & Delivery, turn on Enable Shipping Rate. Leave Available Shipping Methods empty to offer every active option, or choose the COD option. Click Update Form.

    The Shipping & Delivery section of a form with Enable Shipping Rate highlighted

The option then appears under Shipping Area on your form only when the customer picks Cash on Delivery (COD), and its charge is added to the total.

Once you receive the cash or see the transfer in your bank:

  1. Go to Transactions and find the order. It shows Pending Payment.

  2. Click the ⋮ menu on its row, then Update Status.

    The ⋮ menu of a COD order with Update Status highlighted

  3. Check the payment details and delivery address. For manual transfers, you can view the customer’s receipt here.

  4. Under Mark as Successful, click Approve, then OK to confirm. BCL emails the customer a success notice.

    The Update Transaction Status panel with the Approve button highlighted

To approve many orders at once, tick them, click Bulk actions, choose Mark As Successful and click Confirm. Only COD and manual transfer orders change.

COD orders in your dashboard and ad tracking

Section titled “COD orders in your dashboard and ad tracking”

A COD order is placed today but paid only when the parcel reaches the customer. BCL keeps the payment status and your ad tracking apart, so you can wait for delivery before you approve the order.

These are the statuses a COD or manual transfer order goes through:

Status When to use it On the dashboard
Pending Payment The order is placed and the money has not arrived yet. Not counted. Find it in Transactions under the Pending tab.
Successful You received the cash or the transfer. Approve the order then, for COD usually once the parcel is delivered. Counted in the sales totals and chart, on the day the order was placed.
Completed Optional final step for an order you have finished with. Click Complete under Mark as Completed in Update Status, or use Mark As Completed in Bulk actions. No email is sent. Counted, the same as Successful.
Cancelled The customer refused the parcel or never paid. Shown under Cancelled, not in sales.

Your ad platforms hear about a COD order at a different time from the dashboard. BCL sends one Purchase per order to each platform, so approving the order later never counts it twice:

Platform When BCL sends the purchase for a COD order
Meta (Facebook) and TikTok With Trigger Purchase Event on Pending on (the form’s Facebook Pixel or TikTok Pixel tab), when the order is placed. With it off, when you approve the order, and only if the Conversions API (Meta) or Events API (TikTok) token is added: the pixel on the receipt page cannot fire after the customer has left.
Google Ads When the order is placed, always. There is no switch.
Google Analytics When you approve the order.

To turn the switch on, see Add a Meta (Facebook) pixel to a form and Count COD and bank transfer orders for TikTok.

To check what was sent, go to Tools → Marketing Logs. A row for the order means BCL sent the purchase to that platform. See Check purchases sent to your pixels.

Common issues

Can I charge a fixed RM10 only for COD orders?

Yes. In Platform Setup → Shipping & Rates, add a shipping option named COD with a Fixed Charge (RM) of 10 and save it. Then click Rules on that row, choose Cash on Delivery (COD) in Payment Channels and click Save Restrictions. Do not use the additional fee, which is a percentage and applies to every payment method.

Can I hide COD for customers in Sabah and Sarawak?

Yes. On Shipping & Rates, open the Channel Restrictions tab and click Add Channel Restriction. Choose Cash on Delivery (COD) in Payment Channel, set Mode to Hide In, select Sabah and Sarawak in States (Malaysia) and click Save Channel Restrictions.

Can I hide COD for customers in Sabah and Sarawak?
Why is a COD order still pending after the customer paid?

BCL cannot see cash or bank transfers. Find the order in Transactions, open the ⋮ menu on its row, click Update Status and click Approve under Mark as Successful.

Why doesn't my COD order appear on the dashboard?

The dashboard counts only successful and completed payments. A COD order stays Pending Payment until you approve it, so it is in Transactions under the Pending tab but not in the dashboard totals. Once you approve it, it is counted on the day the order was placed.

My COD order didn't show as a Purchase in Meta. Why?

First go to Tools → Marketing Logs and look for the order on the Facebook tab. A row there means BCL sent the Purchase; Meta Events Manager often shows it later, not in real time. No row means nothing was sent yet: turn on Trigger Purchase Event on Pending on the form's Facebook Pixel tab to send it when the order is placed.

Marketing Pixel Logs with the platform tabs highlighted, and three rows for one test order

Was this article helpful?

Cookie settings

We use Google Analytics to see which guides help and where readers get stuck. It is on by default; you can turn it off. Your choice is saved on this device.