WooCommerce has a native refund flow. Manually refunding at the gateway breaks the order's history.
Partial for one line item or shipping-only. Restock checkbox decides inventory truth.
Resellable → restock. Damaged/wrong → don't. That checkbox is where the money leaks.
Native refunds push to the payment gateway automatically. Confirm the customer sees it within days.
Order note + a simple tally: wrong size, damaged, changed mind, expectation gap. Reasons drive fixes; volume alone doesn't.