What it does
Cash on delivery is how most Vietnamese online orders are paid, and Odoo 18's
checkout has no way to offer it. This app adds it, and ties it to the carrier:
the option appears only when the delivery method actually collects cash.
Key Features
- Cash on delivery at checkout, as a payment method the shopper picks like
any other. Choosing it confirms the order without asking for a card.
- Offered only where it is real: the option is hidden when the chosen
delivery method does not collect cash, or when the order exceeds the ceiling
that carrier accepts, so a shopper is never offered a payment that will be
refused at the door.
- Collect from a post office: where the carrier publishes its network, the
shopper picks a branch near them and the parcel is routed there instead of to
their door.
- The amount to collect follows the order: what the courier is told to
collect is what the customer still owes, so a partly prepaid order collects
only the remainder.
This app is the checkout half of the Vietnam delivery connectors. Install it
alongside the carrier app you use.
Editions Supported
- Community Edition
- Enterprise Edition
Vietnam Delivery for eCommerce
Cash on delivery is how most Vietnamese online orders are paid, and Odoo 18's
checkout has no way to offer it. This app adds it, and ties it to the carrier so
the option only appears where the courier will actually collect the money.
It assumes a Vietnam carrier connector is installed; this app is the checkout
half of that pair.
Installation
- Go to Apps, remove the default Apps filter, search for
Vietnam Delivery for eCommerce and click Install.
- A payment provider named Cash on Delivery is created, disabled.
Configuration
Turning the payment option on
- Go to Website > Configuration > Payment Providers and open
Cash on Delivery.
- Set State to Enabled and publish it.
- Optionally edit the message the shopper sees after ordering. The default asks
them to have the exact amount ready.
Telling the carriers which orders they may collect for
- Open each delivery method under Inventory > Configuration > Delivery
Methods.
- On the Vietnam Shipping tab, tick Allow Cash on Delivery for the
carriers that collect cash, and untick it for those that do not.
- Set a COD Ceiling where the carrier caps what it will collect. The option
then disappears from checkout for orders above it, rather than the courier
refusing the money at the door.
What the shopper sees
Cash on delivery appears as a payment method alongside the others, but only when
all three of these hold:
- a delivery method has been chosen;
- that delivery method collects cash;
- the order total is within that carrier's ceiling.
Choosing it confirms the order without asking for a card. The transaction stays
pending - nothing has been paid yet - while the order moves to confirmed, so it
can be picked and shipped. What the courier is told to collect is what the
customer still owes, so an order partly paid online collects only the remainder.
If a merchant expects the option and does not see it, the reason is recorded in
the availability report Odoo builds while filtering payment methods: "no delivery
method chosen yet", "<carrier> does not collect cash on delivery", or
"<carrier> collects at most <amount> per parcel".
Collecting from a post office
Where the carrier publishes its branch network, the shopper can choose to collect
from a post office instead of having the parcel brought to their door. The
branches near the delivery address are listed at checkout, and the chosen one is
sent to the carrier with the booking.
Not every carrier offers this, and some accounts are not permitted to query the
branch list. When the list cannot be fetched the checkout simply does not offer
the choice, rather than showing an error a shopper cannot act on.
Troubleshooting
The payment option never appears
Check, in order: the provider is enabled and published; a delivery method is
selected on the order; that method has Allow Cash on Delivery ticked; and the
order total is under the ceiling.
The order stays in quotation after checkout
The transaction has to reach pending for the order to confirm. Check the
transaction under Website > Orders > Payment Transactions.
No post offices are listed
Either the carrier does not publish a branch network, or the account lacks
permission to query it. GHN in particular requires a specific permission for its
station lookup; ask GHN to enable it.
This software and associated files (the "Software") may only be
used
(executed, modified, executed after modifications) if you have
purchased a
valid license from the authors, typically via Odoo Apps,
or if you
have
received a written agreement from the authors of the
Software (see the
COPYRIGHT file).
You may develop Odoo modules that use the Software as a library
(typically
by depending on it, importing it and using its
resources), but
without
copying any source code or material from the
Software. You may distribute
those modules under the license of your
choice, provided that this
license
is compatible with the terms of
the Odoo Proprietary License (For
example:
LGPL, MIT, or proprietary
licenses similar to this one).
It is forbidden to publish, distribute, sublicense, or sell
copies of the
Software or modified copies of the Software.
The above copyright notice and this permission notice must be
included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT
SHALL THE
AUTHORS OR COPYRIGHT HOLDERS
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN
ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING
FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE
SOFTWARE.