WooCommerce extension updates & releases

Hi everyone! We’ve been a bit quiet lately since we’ve been busy updating all of our plugins to be compatible with WooCommerce 2.1. However, we wanted to share some of the big changes we’ve made with you to some of the WooCommerce extensions we offer, so we’ll take a look at the WooCommerce Customer / Order CSV Export Suite first.

Re-written to Maximize Performance

We’ve rebuilt the extension from the ground up to vastly improve stability and performance. In the process, we were able to simplify the menu systems, settings, and functionality that the plugin offers. The WooCommerce CSV Export Suite can now export customers and orders from multiple screens and in multiple formats. There’s a bulk csv export tool for both customers and orders from the plugin’s menu under WooCommerce > CSV Export:

WooCommerce Customer / Order CSV Export Suite Export Tool

Built-in Export Tool

This tool was available previously, but was a bit difficult to use. We’ve simplified the tool by requiring a CSV format to be selected under “Settings”, then you simply select the order statuses you wish to export, and the date range for customer or order exports, and that’s it.

Exporting Options

We’re really excited to share the new features we’ve added to the export settings, and think you’ll love them. We’ve added the ability to monitor exports from the “Orders” page to quickly view which orders have already been exported and which are still waiting for export.

We’ve also added automatic exports to the plugin so that you don’t have to manually export orders each day (or multiple times a day!). You can automatically export orders via FTP or HTTP POST in a custom interval (default is 30 minutes) so that you no longer have to manually export orders. You can also automatically upload orders to a remove server via FTP to streamline data transfer between your WooCommerce store and external services, saving time every single day.

WooCommerce Order / Customer CSV Export Automatic Exports

NEW: Automatic Timed Exports!

Other Export Methods

We’ve also given you more tools for exports. Previously, you could only bulk-export orders as needed (and you can still bulk export from the “Orders” page or using the export tool). However, we’ve added individual export capabilities to the plugin so that you can export orders from the “Orders” page, or while editing orders:

WooCommerce Order / Customer CSV Export Suite Export Individual Orders

Export Individual Orders

WooCommerce Order / Customer CSV Export Exporting from "Edit Order" Screen

Exporting from “Edit Order” Screen

Basically, we’ve tried to take a plugin that was previously a machete and turn it into an export Swiss Army Knife. That can even cut stuff for you automatically.

WooCommerce CSV Export Format for Orders and Customers

We’ve added a new default export format to the plugin that includes more fields, and simplifies some of the export output. However, we’ve also kept the previous export formats in the plugin (labeled as Legacy formats). You can check out some sample export files if you want to see the changes we’ve made.

You can view more information from the WooCommerce Customer / Order CSV Export Suite sales page at WooCommerce, or the full plugin documentation. Go forth and automatically export!

Published by Beka Rice

Beka leads product direction for SkyVerge and technical documentation. She spends a lot of time on research and interviews, but likes to write so she has an excuse to spend more time jamming out to anything from The Clash to Lady Gaga.


  1. Really nice!

    How about product custom fields? Can those be exported too?


  2. Hi, please add back columns with products titles πŸ™‚

    • I believe you’re looking for the “Legacy – One Row per Item” Order Export Format option found under WooCommerce > CSV Export > Settings πŸ™‚

  3. Can we still download the previous version ? I have a site that cannot be upgraded and need to export

  4. What a great update! I really love the streamlining and the automatic exports. I’m also glad you kept the old one row per item format around since that’s the easiest way to get per-product data into a spreadsheet for analysis.

    I was about to ask for the addition of fields for the payment type and payment confirmation but I’ll have a look at that export filter example you linked to and see if I can build a solution from that.

    I do have one small complaint, though, and that’s the export status column added to the orders screen. It takes up a lot of width and the bright color screams “I’m the most important thing on the entire page!” πŸ˜‰ It’s a lot of visual weight considering the WooCommerce status became smaller and more subtle on the previous release. It would be nice to be able to just turn it off most of the time.

    • Hey Doug, thanks for your thoughts! You can turn the export status off by going to “Screen Options” at the top of the page and disabling it if you prefer. As for the icon, we wanted to keep the same color as the WooCommerce order status icon, but ensure that they were different for quick visual check. See your point about the weight of the checkmark though – will look into it.

      As for the solution you’re building, we did very recently add developer docs that you could check out, and contact us with questions: http://docs.woocommerce.com/document/woocommerce-customer-order-csv-export-developer-documentation/

      • When I read your reply I realized we must be seeing two different things.

        I did some digging and found that I had a security measures on my server that were stopping the plugin’s css and js from loading. What I was seeing was the words “Not Exported” wrapped in an HTML mark tag. Since the css wasn’t applying it took on the default bright yellow highlighter look. Now that I’ve corrected that problem I see that the plugin overrides that tag with much more subtle icons.

        I apologize for the false alarm and any confusion. You must have been scratching your head trying to figure out what I was reacting so strongly to. πŸ™‚ Thank you for such a kind response in light of that. Well done!

        The normal quality of your plugins is so high that I should have suspected something else was amiss.

        Thanks also for the helpful tip about the screen options and the developer docs. Those are very useful.

  5. I’m trying to add a custom field from the Order — previously the code you supplied to add custom fields worked but this new release seems to have broken that code and the custom field no longer shows up.

    I’ve tried the new custom field code from the developer documentation and it breaks the .csv I end up with an additional row with just the first letter of the custom field repeated in every column.

    I’ve triple checked my code and checked my old backed up install and I am finding this incredibly frustrating.

    How do we put custom fields into the CSV while using Legacy One Item Per Row and the Legacy export format?

  6. Presale question;

    I wish to purchase this plugin. However, I am not 100% familiar with the options for export.

    I have a website that sells books. I would like to export a CSV file that details how each book sold in terms of amount of hardcovers and softcovers. For example:

    Hardcover sold: 5
    Softcover sold: 6

    Etc! Is this possible? Or know of a plugin that may do this? THANK YOU!

    • Hi there, you could probably do this a couple of ways. First, if you have the hardcover/softcover as variations of the product, you could view these sales within the built-in WooCommerce reporting, then export these reports to CSV. You can also use our plugin to do this with the default export format, which includes product variations in the CSV file. If you only need to view the sales of each type/variation, then using the default reporting is probably your best bet as the exporter is more for individual orders than products.

  7. Hi.

    Can I export to two different logistic centers/ftp accounts.
    Example: Private orders to one ftp and the Business orders to another ftp?

  8. I’m attempting to automatically export via FTP but I keep getting : Test failed: FTP Server is blank.

    I’ve triple checked my credentials and all seems well with the FTP set up.

    Any ideas?

    • Hey, have you tried saving settings first before clicking the test button? We also have a fix coming out for this soon that won’t require saving.

  9. Hello

    Can I export orders based on categories? Can each row contains products sold in that order?


  10. I wanna go to export all products automatically, is this plugin capable for that ?

  11. Export Interval (in minutes):

    What does this mean and how does it work? We just want to send orders out at the same time every day, once per day. How do we do that?

    • Hey Brandon, if you want to export orders once each day, an interval of 1440 minutes should do the trick. Keep an eye out for the update that’s being pushed out today or tomorrow, as you can also set a custom starting time now with this extension.

      FYI for anyone else: this update also will let you export via email if you’d prefer to get your CSV that way.

  12. @Beka

    I purchased your plugin and am also having some trouble with the automatic FTP feature. Testing works. The test.csv file is uploaded. There are no errors in the log file. But no new orders are exported and uploaded.

    I’ve tried setting the start time say to 1pm. With 5 minute intervals. I’ve placed orders waited and nothing is uploaded. I installed Core Control which allows me to view all Cron jobs in WordPress. I see the 5 minute interval job and when I manually launch it, the export works correctly.

    It’s installed on a VPS, crond is working, wp-cron is not disabled.

    Would it matter if our authorize.net plugin changes new orders from Pending to On-Hold. On-Hold are the status’ we are exporting. If launching manually works. The export status is updated, testing the FTP works. What else can it be? Any ideas or advice? Thanks in advance


    • Hi Peter, have you filled out a support ticket with WooCommerce for this? It sounds like something we’d have to dig into further. If you paste your WooCommerce ticket number here or enter it in this form we can get our development team to start troubleshooting immediately.


  13. Hello,
    I am trying to figure out how I can use the admin filters function described in the documentation:


    apply_filters( ‘wc_customer_order_csv_export_admin_query_args’, $query_args, $export_type, $this );

    The admin page renders at: admin.php?page=wc_customer_order_csv_export

    One option on this page is to filter by ‘Order Statuses’ and I would like to extend this to be able to filter the search by an additional field. I didn’t see any obvious hooks to bind in to before these filter fields are displayed.

    Could someone offer some suggestions as to how I may go about this without changing the plugin class files? I would really like to be able to display an additional Export Option under the export tab such that the post includes this additional field (which I could then modify by changing the query)

    • Hey Client, look in the plugin code for the wc_customer_order_csv_export_settings filter — you can use that to add additional options and then use the query args filter you mentioned to check that custom option and add it into the WP_Query that’s used to find the orders to export.

    • Hi, we are having the same issue as Peter. Has this issue been addressed? If so, please let us know how to fix it.

      • Hi Alex, this is something we’re not able to replicate locally, so we’d need to dig into the issue in your environment. Can you please submit a ticket at WooCommerce and paste your ticket number here or enter it in this form? This allows us to get our development team to start troubleshooting immediately.

  14. I really need to be able to include the main product image with the orders. I have been searching for a simple and solid orders export plugin to seamlessly send my orders to my supplier,, but they always need to verify the product by image… Any suggestions?

    • Sure, you could certainly add a link back to the product image by using the filters in the plugin to customize the output format.

    • Hello Max,

      I tried to add an additional form field to the export page by using wc_customer_order_csv_export_settings filter from the present theme functions.php. But nothing is working.

      I want to add one field as,

      ‘id’ => ‘wc_customer_order_csv_export_dropshippers’,
      ‘name’ => __( ‘Dropshipper’, WC_Customer_Order_CSV_Export::TEXT_DOMAIN ),
      ‘desc_tip’ => __( ‘Orders with specific dropshipper products will be included in the export.’, WC_Customer_Order_CSV_Export::TEXT_DOMAIN ),
      ‘type’ => ‘select’,
      ‘options’ => $dropshippers,
      ‘default’ => ”,
      ‘class’ => ‘chosen_select’,
      ‘css’ => ‘min-width: 250px’,

      Can you please help me how to do this from theme functions.php? Thank you.

  15. Hey Beka,
    With the report ‘Legacy – One Row per Item’ its showing the row price but its only showing the tax total per order (on each row) Is it possible to convert this report so it’s showing the row tax as well? (so tax per item)
    I would also like to know if it is possible to show the tax % per row?
    Thanks for your help!

  16. I’ve installed the plugin and everything exports out well, except the weight of each product. How can I add the weight to the export? Thanks! If you point me to the docs, can you tell me which section in the docs to look?

  17. Currently we have export by Customer and by Order. I added some meta field and want to export by these meta field. Is this possible without breaking future update ?

  18. Is it possible to export total cart weight with thus plugin?

    I’ve already seen this gist on how to export additional columns: https://gist.github.com/woogist/8837975

    and how to get order total weight: http://www.remicorson.com/store-and-display-woocommerce-order-total-weight/

    Is it possible to put total order weight into the plugin output?

    • Yep, you could add the column for it and then use Remi’s method to calculate the total order weight. Our developer docs should get you started in the right direction πŸ™‚

      • Hi,

        I’ve been racking my brain for hours now trying to add a new column for cart weight. I can add the column but cannot for the life of me figure out how to poulate it with the order weight…

        This is what I have so at the moment but doesn’t work:
        ‘column_1’ => get_post_meta( $order->ID, ‘_cart_weight’, true ),

        If you could show me the code to populate the column with the weight you’ll be a legend πŸ™‚

  19. The automated FTP does not seem to be working for me. The “Test FTP” works fine (I see the test.csv in the ftp directory), and manual export works fine. Nothing has been exported for about a week (since 7 July).
    I installed Crontrol, and I can see the wp-cron job scheduled, but when I click “run now” nothing happens (that is to say that nothing shows up on the ftp directory).
    Some of the online docs indicate a debug mode, but I don’t see it on the settings tab.


  20. Hello,
    I created a support-tickert on WooCommerce, but maybe here is the better place to find an answer.
    I purchased the WooCommerce CSV Export, to get all purchases exported for our tax-office. Unfortunately they need every order split up in rows with the same tax-rate. I know, there is a filter “wc_customer_order_csv_export_order_line_item”, to modify the line items, but how can I actually create more than one row in csv file for one order? Any help is highly appreciated

    • Hey there, I’ve forwarded your ticket to our dev team, but as an FYI the Legacy – one per row format will put every item in a new row, so this is where you’d want to start (under CSV Export > Settings). You should see a response from them soon!

  21. Damn, so easy! I didn’t think about that option.
    Thank you

    • No problem! That’s what we’re here for πŸ™‚

      • I love companies with good service πŸ™‚

        But I have another question: Using Legacy – One Row per Item format I get all line items in extra rows, which is great. But I can’t find the tax rate in the $order_data, and I need it to be exported as well.
        Do you have an idea, how I get line items tax rate in the function wc_csv_export_modify_row_data?

        Thanks a lot.

      • Hi Beka, forget my last reply, I found a solution for all of that.
        Thanks again.

  22. Hey there,
    I have another question for customizing the order-csv-export-file. The export is done on a mac and import is done on a windows system. The column headers contain some german umlaut characters, which import like “Schlüssel” and not “SchlΓΌssel”. I tried to change the charset using this function:
    function hipshop_csv_export_download_content_type( $cont_type ) {
    $cont_type = ‘Content-Type: text/csv; charset=iso-8859-1’;
    add_filter( ‘wc_customer_order_csv_export_download_content_type’, ‘hipshop_csv_export_download_content_type’ );

    But now the file has the extension .csv.html

    The specification of the windows software tells something about charset “ANSI”, but using that instead of “iso-8859-1” it’s the same, the file extension is .csv.html

    Of course I could change the extension manually to only .csv, but it would be nice to have it done programatically. It should be possible I guess.

    • Hey Krabbe, is this by chance opened on the Mac before being imported on a Windows system? It’s UTF-8 encoded and this shouldn’t be an issue, but if it’s opened on a Mac, it will be saved in that format and could potentially cause this error.

      If that’s not the case, you could open a ticket at WooCommerce for us? I’m not able to replicate this, so it’s probably something that we’d have to dig into further. Thanks!

      • Thanks for your quick reply. Yes it’s opened on a Mac, but not saved again, so there couldn’t be done modifications to the characters there.
        I will switch over to woothemes to open a ticket for that.

        • If someone else has this issue: I solved it with this code:

          $ordertext = utf8_decode( $ordertext );

          Now all special characters are imported the right way.

  23. Hi there :-).

    Please forgive my english – I am danish πŸ™‚

    Previously I have used a plugin from Visser Labs – the paid version – for expording orders to excel, but the plugin makes the website so slow, that it is almost un-usable.

    Now I have read much of your plugin, but I want to be sure, that the plugin can handle the export needed, before I recommend buying the plugin to the owner of the website.

    Here is what is needed:

    A daily manual export of data from Woocommerce with the following information included:

    Customer name
    Customer comments to the order
    Name of the product being bought if more products; the one on each line – or item 2 just after item 1; it doesnΒ΄t matter
    Order status
    Date and time of the buy
    Price ( all included – just one amount ) of the sale

    Can this plugin handle the request from the owner – without modifications ?

    Thank you in advance πŸ™‚

    Kind regards
    Jesper Kristiansen

    • Hey Jesper, you can do manual exports or automatic daily exports with our plugin. It will include columns for each of your required items – I think the default format would probably work best for you. If you’d like to see some sample exports for each format, we have some sample CSVs in the documenation, which may help to confirm before purchasing. Thanks!

  24. Hi there, I’m really hoping you can help me out, I’ve looked everywhere but not been able to find an answer to (quite probably) a simple problem.

    I am writing an additional plugin to change the output of the original CSV. Most of these new columns use product custom fields which I have been able to add with no problem but for a couple I need to get the data which is outputted by default and then do a calculation with that data.

    Through trial and error I have been able to get the Order Total using:

    $order_total = $order->order_total;

    and then perform calculations on that variable to add into:

    add_filter( ‘wc_customer_order_csv_export_order_row’, ‘wc_csv_export_modify_row_data’, 10, 2 );

    What I also need to get is the SKU for each order and assign it to a variable but no matter what I try the answer eludes me!

    Is there a way of getting the SKU and assigning it to a variable before outputting it to a new column?

  25. We have been using the plugin for about a week now for nightly emailed .csv’s, but we’ve noticed that we are seeing some of the orders are being sent two nights in a row. Shouldn’t the csv plugin set the exported flag on an order, and then not include that order the next night? This is a problem for our distributor, not major, but still a problem.

    • Hey Rex, this is sounds a bit strange – we’d be happy to take a look at this for you. Could you please submit a support ticket here so we can get the needed info, and then reply back with the 6-digit ticket number? That way I can pull the ticket and make sure it’s assigned. Thanks!

  26. How do I export only a specific product and not all.

  27. how we can export order including product name

  28. thanks for your plugins! are great, one question:
    I would like to be able to export orders and customers in sync with bookings in a more eficient way for the moment Im using CSV export. When I import the customers with the CSV import suite (skyverge) is fast an automatic, but when I import the orders I am able to do so, but then, I have to go one by one to create a new booking for each order, so I can see the booking (reservations) in the calendar .
    Is there a way to import the orders in sync with the bookings so the calendar is also populated?.
    thanks for your help , best wishes

    • I’m not sure if Bookings has a CSV import feature yet, but when they do you could use that to import both at the same time. Otherwise I think you’d need some custom code to create the bookings based on the new orders that are imported. hope this helps!

  29. Please let us know whether you have a utility to import products in woocommerce in an automated way in time intervals.

  30. I enter a large number of customer orders manually in the woocommerce backend so my customer database wothin woo commerce is a split of 80% through my website and 20% through the add order backend. My question is will the customer export function correctly export all the customers that have orders associated with them or just the ones who have gone through the checkout process and leave the 20% of manually entered orders behind.

    • Manually added customers will be included, as the customer export will include any customer that has an order placed with their account. If you manually add a customer and have assigned at least one order to him or her, the customer will be included in the export.

  31. Any suggestions on how you can export email addresses based on a specific product?

    So I could email people who bought that product?

  32. Beka,

    I have a customer who is using Admin Custom Fields for the orders to track sales by sales representative. We are wondering if this plugin would allow us to create a custom export which displayed this field and the general sales information for a given month?

  33. any way to add a gross sales column?

    • Hey mike, not sure what you’re asking — could you clarify? This plugin will export a CSV of each order placed in the shop (based on a date range, order status, etc), rather than the total sales data, so not sure what you’d be expecting with a gross sales column. Would love to provide a better answer with more info :).

  34. Hi – I have been searching for a plugin like this for WEEKS! SO HAPPY I found this! Your product takes care of 98% of what I need!

    One last desire…is this possible?

    I LOVE how it explains which coupon they used, but it still lists the order as the total cost of the product. It doesn’t actually deduct the coupon. Is there a report you can create that DOES show what the customer actually paid, instead of what they “would have paid” prior to the coupon?

    Thanks so much!! LOVE this!

    • Hi Sarah, the order total and item totals show the discounted price, not the regular price, for all items in the order (just as the WooCommerce order itself shows this). This holds true for each export format, so if you’re seeing the original price instead, please definitely open a support ticket so we can look into this!

  35. I have a client (online food) who wants to use WooCommerce to take orders and then just print off a summary of orders for the kitchen (as well as a shipping list for which I have fond another plugin.

    So she wants to be able to output

    20 Chicken Sandwiches
    10 Beef Rools
    4 Cokes

    And put it on the wall in her kitchen – sort of ap ick list but simpler.

    Does the plugin do this perhaps?

  36. Hi, I’m wondering if we can automatically have the order status changed in WooCommerce when the orders are exported, e’g from ‘Processing’ to ‘Completed’? Is this possible, and if so, how? Thanks, D

  37. Hi,

    I have 2 tax rates. I try to add a column for each rate in default orders export. I add the header, but how to get the values ? Thanks

  38. Hello!
    May I remove the autoexport csv and use only order export after create new order?

  39. Hi there
    I have been searching for something like this. I am selling fruit and veg boxes and ordering opens for 24 hours once a week. Once all orders are placed I want a report that has the customer names across the top and the products down the left side so then I can add up how much of a particular item has been ordered by everyone. Can this be done and what would the report be called?
    Thanks heaps

    • Hey Lucy, afraid this isn’t possible with our plugin in the way you’ve described. You could do a default – one row per item export, then sort it by the item_name column, which would let you see how many rows there are for that product (thus how many times it was ordered). Customer names will always be within one column though rather than across the top.

  40. Hi there,

    Is it possible to output the shipping costs as a single row in the “Legacy – One Row per Item” template? I use your CSV export to import orders into my accounting software (Twinfield), which needs to import every amount as a single line. The same goes for the bundled products, which are exported under Fees?

    My only solution till so far has been to export in the default format and then use Excel to stack each order line into multiple lines. I first merge the line_items with the shipping_items and fee_items into a single cell with a specific separator and then split each item up in a single row (maintaining the same order number, date, etc) defined by the separator to get the same result as the Legacy template. This method is very cumbersome however, since it relies on the export file with the exact same defined number of columns, which changes with updates.

    Any suggestions would be greatly appreciated. I wouldn’t be surprised if more people run into this problem as well.

    Cheers, Ardjan

    • Hey Ardjan, sure there’s no reason you couldn’t add a row that totals the shipping costs in its own row. However, customizing the export format as heavily as you’ve outlined would require some custom code — we typically recommend Codeable for this, as they’ve customized the plugin in the past.

  41. Hi,
    Is it possible to schedule a monthly export report? So that we can send via email all orders placed within 1 month? (export interval in minutes will give odd days every month, and we would like the report generated on the 1st of every month without having to manually create it)

  42. It looks like this plugin doesn’t export users (role: customer) that are imported with the plugin ‘Import users from CSV with meta’

    Is this a common issue?

  43. Guys,

    How can I change order and name of column of exported csv file?

Hmm, looks like this article is quite old! Its content may be outdated, so comments are now closed.