SleekView for WooCommerce Cash on Delivery Fee: COD orders as tables
Read directly from wc_orders filtered by payment_method=cod and join wc_order_items rows of type fee for the COD surcharge. Sort, filter, and inline-edit cash-on-delivery orders without opening each one.
♾️ Lifetime License available
Cash-on-delivery deserves its own queue
WooCommerce stores cash-on-delivery orders the same way it stores card payments: in wc_orders (HPOS) or shop_order posts (legacy), with payment_method=cod as the discriminator. The Cash on Delivery Fee plugin adds a fee line to each order as a row in wc_order_items of type fee, with the actual amount on wc_order_itemmeta. The default Orders screen does not split COD out, does not show the COD fee as a column, and does not group orders by shipping country so couriers can plan collection runs.
SleekView reads wc_orders with a saved filter on payment_method=cod and joins wc_order_items for the fee line. Shipping address columns come from wc_order_addresses. Total, COD fee, and net amount due on collection live side by side in the same row.
Inline status edits route through WooCommerce's CRUD layer so the woocommerce_order_status_changed hook fires normally. Mark a courier-collected batch of COD orders as completed in one pass, or bulk-flip failed-collection orders to a custom status, all without losing the audit trail.
Workflow
How SleekView reads your COD WooCommerce schema
Pick the source tables
wc_orders (or shop_order on legacy) and add joins to wc_order_items (filtered by type fee) and wc_order_addresses.
Compose your COD column set
Save and scope the view
Edit inline and bulk-update
Sample columns
A typical COD orders view
wc_orders, wc_order_items (type fee), and wc_order_addresses for a courier-friendly view.
wp_wc_orders + wp_wc_order_items + wp_wc_order_addresses (HPOS) or wp_posts + wp_woocommerce_order_items + wp_postmeta
| Order # | Status | Customer | Total | COD fee | Shipping city | Date |
|---|---|---|---|---|---|---|
| #40712 | Processing | alex@studio.co | €184.00 | €4.00 | Kraków | Apr 24 |
| #40711 | Completed | ria@design.io | €72.50 | €3.50 | Warsaw | Apr 24 |
| #40710 | On hold | tom@hello.dev | €312.00 | €6.00 | Poznań | Apr 23 |
| #40709 | Failed | mia@brew.coop | €48.00 | €3.00 | Wrocław | Apr 23 |
Comparison
Default WooCommerce Orders vs SleekView
Default WooCommerce Orders
- Orders screen does not split COD orders into their own list
-
COD fee lines live in
wc_order_items(typefee) and never surface as a column -
Shipping city or country (from
wc_order_addresses) is not in the orders list - Courier route planning requires manual CSV exports
- Bulk-completing collected orders means clicking through each one
SleekView
-
Read
wc_orderswith a savedpayment_method=codfilter -
Join
wc_order_itemsrows of typefeefor the COD surcharge column -
Surface
wc_order_addressesshipping city and country as columns - Bulk-complete collected orders through WooCommerce CRUD
- Save filtered views per courier zone or shipping region
Features
What SleekView gives you for WooCommerce Cash on Delivery Fee
COD-only filter views
Filter by payment_method=cod and save the view. Add shipping city or country and your courier coordinator gets a per-zone collection queue without leaving WP Admin.
Fee-line column from order items
Join wc_order_items rows of type fee and pull the amount from wc_order_itemmeta. COD surcharge displays as a real column alongside the order total.
Inline status with CRUD hooks
Flip processing COD orders to completed after courier collection. woocommerce_order_status_changed fires, so stock adjustments, emails, and reporting plugins update as expected.
Audience
Who uses SleekView for WooCommerce Cash on Delivery Fee
Courier coordinators
COD orders grouped by shipping city for collection routing. Bulk-flip to completed after the courier reports successful collection, or move uncollected ones to a custom failed-collection status.
Finance
Reconcile collected cash against COD orders. Net amount (total minus COD fee) visible inline; export the filtered set per courier or per day for the cash reconciliation desk.
Support
Search by customer email or phone (from shipping address) when a customer asks about a COD delivery slot. Inline-edit order notes during the call.
The bigger picture
Why cash-on-delivery operations break the default Orders screen
Cash on delivery is a major payment method in Eastern Europe, India, North Africa, and parts of Southeast Asia, with COD share of WooCommerce orders sometimes well above fifty per cent. The default WooCommerce admin was designed around card payments where the money is already in your account by the time you see the order. COD inverts that: the order is real, but the cash is in the courier's hands, the customer's hallway, or nowhere yet.
Operations teams need to plan collection routes by shipping city, reconcile collected cash against orders by day, and handle failed deliveries as a distinct workflow. The Cash on Delivery Fee plugin adds a useful surcharge, but the fee line lives in wc_order_items where the default admin does not expose it as a column. SleekView surfaces COD as a real workspace: filter by payment_method=cod, see the fee per order, group by shipping city, bulk-complete collected routes.
Same database, same hooks, same audit trail.
Questions
Common questions about SleekView for WooCommerce Cash on Delivery Fee
Yes. On HPOS (default since WooCommerce 8.2) SleekView reads wc_orders, wc_order_items, and wc_order_addresses. On legacy stores it joins shop_order posts to woocommerce_order_items and postmeta. The same column set works across both schemas.
Yes. The COD fee is stored as a row in wc_order_items with order_item_type=fee and the amount on wc_order_itemmeta under _line_total. SleekView joins these so the surcharge appears as a real column next to the order total.
Yes. wc_order_addresses on HPOS exposes shipping city, state, and country as joinable columns. Build a filtered view per courier zone, save it as "COD Warsaw" or "COD Kraków", and route planning happens inside WordPress.
Yes. SleekView writes through WooCommerce's CRUD layer, so woocommerce_order_status_changed, stock updates, and email triggers all fire as expected. Bulk-completing a route of COD orders triggers the same side effects as clicking through each one.
That is a plugin-configuration question rather than a SleekView one. If the WooCommerce Cash on Delivery Fee plugin adds the fee row to wc_order_items, SleekView will show it. If the plugin suppresses the fee for free-shipping orders, the join returns zero and the column shows blank or zero accordingly.
Yes. Scoped CSV export ships only the filtered rows with the columns you have configured, so the cash desk gets order number, total, COD fee, net amount, shipping city, and customer phone in one file ready to reconcile against cash collected.
 
Queries hit indexed columns on wc_orders. Filtering by payment_method, status, and date_created_gmt uses HPOS indexes. Joins to wc_order_items are by order_id which is also indexed. Pagination is keyset where possible.
Yes. Switch the same dataset to kanban grouped by order status. Drag cards between processing, on hold, completed, and failed, with the CRUD layer firing the same status-change hooks as the table.
 Pricing
More than 1000+
happy customers
Explore our flexible licensing options tailored to your needs. Upgrade your license anytime to access more features, or opt for a lifetime license for ongoing value, including lifetime updates and lifetime support. Our hassle-free upgrade process ensures that our platform can grow with you, starting from whichever plan you choose.
Lifetime ♾️
Most popular
EUR
once
- Unlimited websites
- Lifetime updates
- Lifetime support
...or get the Bundle Deal
and save €250 🎁
The Bundle (unlimited sites)
Pay once, own it forever
Elevate your WordPress site with our exclusive plugin bundle that includes all of our premium plugins in one package. Enjoy lifetime updates and lifetime support. Save significantly compared to buying plugins individually.
What’s included
-
SleekAI
-
SleekByte
-
SleekMotion
-
SleekPixel
-
SleekRank
-
SleekView
€749
Continue to checkoutBrowse more
- Affiliatewp
- Woocommerce Currency Converter
- Woocommerce Amazon Pay
- Woocommerce Eparcel
- Woocommerce Pre Orders
- Woocommerce Multistore
- Woocommerce Walmart Sync
- Woocommerce Correios Brazil
- Woocommerce Pdf Vouchers
- Woocommerce Product Comparison
- Woocommerce Table Rate Shipping
- Woocommerce Xero Pro
- Woocommerce Cheque Payment Pro
- Charitable
- Wp Lister Lite