Skip to main content

No order # when using cash on delivery

Been wanting to poke around Fluent Cart and took this opportunity to do so to see if it will work for my clients.

I'm setting up a store to run a fundraiser. The payments will all be done elsewhere, so all orders will be cash on delivery. Unfortunately, it looks like the order numbers aren't generated or whatever until after the order is marked paid, which tanks my plan for managing how to track payments. Each person who orders something is going to send money to the official accounts with a note of their order number, and then the individuals who manage those accounts will be able to log into the store and mark orders as paid.

But right now there's no order number when a cash on delivery order is created. It doesn't show up on the receipt, email to the customer, in the order list...nothing. When I change the status to paid, THEN it shows up.

Any chance this could get changed in a week or so? I want to use fluent cart, it was so simple and looks great, but I'm going to have to go with woo commerce if we can't have order numbers before the order is paid!

I can’t speak to the team’s timeline, but you may not need to wait for a change.

FluentCart creates an internal order ID as soon as the order is placed, even though the displayed order/invoice number is not assigned until payment by default.

The simplest workaround is to use {{order.id}} instead of {{order.invoice_no}} in the offline order confirmation email. That gives the customer a stable reference they can include with the external payment, and the store team can use it to identify the order.

If you specifically need FluentCart’s usual FC-… number to be generated when the order is created, FluentCart 1.6.0 includes this filter:

add_filter(
'fluent_cart/create_receipt_number_on_order_create',
'__return_true'
);

One caveat: that filter applies globally, not only to cash-on-delivery orders, so unpaid or failed orders may consume numbers in the sequence. Test it first and make sure that behaviour is acceptable for your accounting setup.

I do agree with the underlying request, though. An order reference and an invoice/receipt number are conceptually different. Ideally FluentCart should expose a customer-facing order reference immediately, while keeping invoice numbering tied to payment where required.

Verity Cantare

Jorge de los ReyesΒ I really appreciate the fast reply! I'll try out that filter, thank you VERY much.

And yes, I still think this is a bug. Cash on delivery orders are still orders. They still send the customer a confirmation email and show the order in the list, so it should still need something besides the long order reference number (my test order is showing #D6X1BU9U3CQO) that can only be seen when the admin views the actual order.

For this usage I don't care about sequential order numbers, and not sure I do at all, though I'm sure it's important to other people!

Edit: the filter works perfectly. This is now going to work!