---
title: WooCommerce Custom Order Status Behavior Settings
description: "Control what WooCommerce does with orders in a custom status: whether they can be edited, count as paid, are valid for payment, and grant downloads."
url: "https://wpfactory.com/docs/configure-order-statuses/"
updated: "2026-09-27"
category: How to
tags:
  - Custom Order Status for WooCommerce
---

# WooCommerce Custom Order Status Behavior Settings

To set how WooCommerce treats orders in a custom status, go to WooCommerce > Order Status, open the status, and use the Order Options box in Additional Custom Order Status for WooCommerce. There you choose whether the order is editable, paid, valid for payment, sets "date paid", and grants download permissions. These options are free.

[![Order options for a custom order status](https://wpfactory.com/wp-content/uploads/pasted-image-0-96-1024x449.png)](https://wpfactory.com/wp-content/uploads/pasted-image-0-96.png)

### Where to set order behavior

Go to **WooCommerce > Order Status**, open a status (or click **Add New Status**), and find the **Order Options** box.

### Order options

| Label | Option ID | Default | What it does |
| --- | --- | --- | --- |
| Is order editable | `is_order_editable` | No | Allows line items and details to be edited while the order is in this status. |
| Is order paid | `is_order_paid` | No | Treats the order as paid, so WooCommerce runs its "paid" hooks when the order reaches this status. |
| Is order valid for payment | `is_order_valid_for_payment` | No | Lets the customer pay for an order that is in this status, for example from the order pay page. |
| Set order "date paid" on status update | `do_set_order_date_paid` | No | Stamps the order's "date paid" field with the current time when it reaches this status, if it is not already set. |
| Download permissions | `do_download_permissions` | No | Grants downloadable product permissions when the order reaches this status. |

**Note:** "Is order paid" and WooCommerce reporting are separate settings. WooCommerce already treats its own "Processing" and "Completed" statuses as paid. Use `is_order_paid` to extend that behavior to a custom status.

### Example setups

- **Lock finished orders**: leave **Is order editable** as No on a "Shipped" status so details cannot change after dispatch.
- **Custom paid stage**: turn on **Is order paid** and **Set order "date paid"** for a status like "Deposit received" so it records payment correctly.
- **Deliver downloads early**: turn on **Download permissions** for a status such as "Approved" to release digital files before completion.

### Get more control

These order options are free for every custom status. [Additional Custom Order Status for WooCommerce](https://wpfactory.com/item/order-status-for-woocommerce/) Pro adds automated emails on status change. [See what Pro unlocks](https://wpfactory.com/item/order-status-for-woocommerce/).

Related articles

- [Deleting a Custom Order Status Safely](https://wpfactory.com/docs/woocommerce-delete-order-status-fallback/)
- [Send WooCommerce Emails on Custom Order Status Change](https://wpfactory.com/docs/proactive-email-setup/)
- [Add Custom Order Status Action Buttons in WooCommerce](https://wpfactory.com/docs/configure-order-status/)
- [Custom Order Status Email Placeholders Reference](https://wpfactory.com/docs/woocommerce-order-status-email-placeholders/)
- [Custom Order Status: Free vs Pro Versions Compared](https://wpfactory.com/docs/difference-between-pro-and-free-version/)

 

[![Custom Order Status for WooCommerce](https://wpfactory.com/wp-content/uploads/Order-Status-for-WooCommerce.webp)](https://wpfactory.com/item/order-status-for-woocommerce/)
