A cash on delivery fee covers the extra handling and the risk of a refused parcel. Open COD Form → Settings and scroll to COD Fee. It is off on a new install.
Tick Enable COD fee. The Fee name you type here is what the customer reads in the form totals and what appears on the order in Shopify admin, so use plain wording such as Cash on delivery fee. Leave it empty and both fall back to "COD Fee", so fill it in.
Fee type offers Flat amount and Percentage of order. A flat fee then uses the Amount field in your store currency, and a percentage uses Value (%). The percentage is taken from the subtotal plus the shipping rate the customer picked, not from the subtotal alone, so the same cart produces a bigger fee on a dearer rate. Flat is easier for customers to predict.
Save, then open the form on your storefront. The fee is shown in the totals block alongside the subtotal and shipping. The fee label is translatable on the Translations tab, under Sections.
On an ordinary order the fee arrives in Shopify as an extra line on the order, named with your fee name, plus an additional detail called COD Fee holding the name and the amount. When the customer also uses a discount code, the fee is added to the shipping line instead, and the shipping name gets your fee name in brackets after it. That is deliberate: it stops a percentage discount from being applied to the fee, so the order total matches what the customer saw.
Taking a card deposit as well? Partial payment can include or exclude the COD fee in the deposit amount.
Place one test order with a discount code and one without, and compare the two orders in Shopify admin.
Stuck on any of this? Open the chat in the bottom right corner of the app and we will help you set it up.