Reports on WooCommerce data
Each report is one formula on live data. Type it in a cell; when a formula refers to A2, list the values in column A first (for example with =list.<table>(<column>)) and fill the formula down.
=data.orders.sum(net_total, counts_as_sale, TRUE) Net sales. Order totals after refunds, for every order that counts as a sale (processing, on hold, completed, refunded).
=data.orders.sum(net_total, month, A2, counts_as_sale, TRUE) Net sales per month. List the months with =list.orders(month) in column A and the net sales beside each one.
=data.orders.avg(total, counts_as_sale, TRUE) Average order. Average order total over the orders that count as sales.
=data.order_lines.sum(quantity, product, A2, counts_as_sale, TRUE) Units sold per product. Quantity per product from the order lines. List the products with =list.order_lines(product).
=data.orders.sum(net_total, country, A2, counts_as_sale, TRUE) Sales by country. Net sales per billing country in column A.
=data.orders.count(id, status, A2) Orders per status. How many orders are pending payment, processing, on hold, completed and so on. Put a status in A2.
=data.refunds.sum(amount, reason, A2) Refunds by reason. Refunded amounts per reason given in WooCommerce.
=data.products.count(id, manage_stock, TRUE, stock_quantity, "<5") Low stock. Products whose stock is managed and fewer than five are left.
=data.buyers_from_orders.count(e_mail, orders, ">1") Repeat buyers. Buyers, guests included, with more than one order.
=data.orders.sum(discount, counts_as_sale, TRUE) Discounts given. What coupons and discounts cost on orders that count as sales.
Build it on your own data
Orders, refunds, products, customers and coupons become live tables inside your WordPress admin. Sales reports and dashboards stay current without exporting a CSV.