Posted on

Quick Tip: Add Order Manually in WooCommerce and Send Payment Invoice Link to Customer

This post explains how you can add an order for your customers in WooCommerce and allow them to make payment easily.

WooCommerce manual order

Last updated on January 10, 2024

If you are using WooCommerce, you need to manually add orders for all these and similar situations:

  • You want to give special, exceptional pricing to a customer.
  • At times, you want to just send a ‘payment invoice link’ to your customers.
  • You want to pre-fill order details for customers and allow them to make payment only.
  • At other times, you may have products that do not show up on your catalog, but you want to give them to some customers.

This article will help you cut down the time spent by your customer while making a purchase and also how you can manage orders better.

Here’s how to add orders manually in WooCommerce

  • Go to WooCommerce > Orders on your WordPress admin panel.
  • Click on Add order to add a new order. Fill all the details – customer name, their billing / shipping details, email, etc.
  • Keep the order status as Pending payment.
  • woocommerce manual orders addition
  • Add products, their quantities and prices, discounts, shipping and taxes.
  • add products to the order
  • You can add details under the Custom Fields section and Downloadable product permissions if required.
  • Under Order actions, choose the Email invoice/ order details to customer option.
  • order action WooCommerce
  • Click on Create

That’s it. Your manual order is created.

If the customer is a Guest, anyone with the link Customer payment page (can be found under WooCommerce > Orders > the manual order created) will be able to view the payment page and pay for the order.

And if the customer is registered, they can log in to their My Account area, see this order and a Pay button to make the payment.

Sending a reminder notification or invoice to the customer (with a payment link)

You can also resend order email to your customers for making the payment:

  • Click on Order actions.
  • From the dropdown, select Customer invoice.
  • Click the Save Order and Send Email button.

Tip: Make sure your order confirmation emails have product images and links to helpful content so that your customers are satisfied with their shopping experience.

How to manage hundreds and thousands of orders from one place?

If you create hundreds of manual orders like these or have other online orders, editing their details like order status, customer billing and shipping details, other order details will be a nightmare.

Instead, you can use Smart Manager plugin to add, manage, bulk edit order details from one place using an Excel-like spreadsheet.

You can directly change order statuses of a single order or apply filters to update order statuses in bulk for hundreds of products at once. Massive time-savings!

Smart Manager orders dashboard

You can also export orders to CSV, delete orders, duplicate orders and perform other order related operations using the sheet editor.

Try the live demo

The backstory

This was actually something a customer asked us for on support. We felt this will be useful to other WooCommerce users too.

P.S. Approaching our support is as easy as chatting with a friend. Do not hesitate to contact us if you have any questions!

55 thoughts on “Quick Tip: Add Order Manually in WooCommerce and Send Payment Invoice Link to Customer

  1. Hi I saw this a few weeks ago and it has been working great till I updated to Woocommerce version 2.1.2. My customers are now getting an invalid order message when they click the pay button on the invoice. Any suggestions?


    1. We’ve re-checked it on WooCommerce 2.1.2 at our side & it is working perfectly. It is creating new order with valid Pay link.

      Are you getting any error message in apache error log. It might be due to compatibility with WooCommerce 2.1. Some of your plugins or theme might be conflicting.

      Have you followed proper steps while updating WooCommerce. You can communicate about this with WooCommerce team also.

  2. same for me. used to work, now does not.

    1. We’ve re-checked it on WooCommerce 2.1.2 at our side & it is working perfectly. It is creating new order with valid Pay link.

      Are you getting any error message in apache error log. It might be due to compatibility with WooCommerce 2.1. Some of your plugins or theme might be conflicting.

      Have you followed proper steps while updating WooCommerce. You can communicate about this with WooCommerce team also.

  3. Hi There. Useful information. I’ve noticed that the payment link has a ‘timeout’?

    This meaning that if a payment is not made within 2 hours, the order status changes to ‘Oh Hold’ and the link becomes invalid?

    I thought it was the stock management feature changing the order status, but that was disabled.

    Any ideas?


    1. Is this ‘timeout’ included in ‘pay’ link, we can’t see that? Have you selected any payment gateway while creating order?

      Can you please guide us in reproducing this case at our end, please tell us steps to create such order or you can provide us screenshot of such order, along with option you selected.

  4. Thanks for the reply. I have communicated with Woocommerce, but no one gets back to me.

    We seemingly have updated everything properly, and as of today, Still not leaving it in the customer account and still not generating invoices with links that work.

    It says that the order is “not a valid” order in the page that shows up for the customer.

    1. Do you have any testing site? Can we get wordpress admin account of it? If yes, please submit it from contact-us form don’t submit it here.

      If you are getting any error in apache error log, please provide us that also. We’ll go through it & will check what is the cause of the issue.

  5. I used the above procedure. But here when user click on the Pay link in the invoice email it does not performs the actual payment procedure. I mean Paypal operation is not done when user redirect from invoice mail.

    Thank You

    1. When you click on ‘Pay’ link, where it is redirecting? Is it redirecting on PayPal? Or it is redirecting on PayPal, but further processes are not working well.

      Is PayPal working perfectly when you are purchasing any product directly from store? Can you please confirm whether PayPal is configured properly or not?

  6. Thank You it is done. But i have one more doubt . Will you please help me.

    I have certain requirement in woocommerce plugin. I want the new user to pay for the selected items after admin approve the order. That means user select products then add to cart and then just place order. After that admin approve the order and a payment link will be sent to the user mail account.

    Is it possible in woocommerce

    1. No, I don’t know about such plugin which can perform this kind of operation in WooCommerce.

      We have a product Offer Your Price, but it asks customer to offer their price & this request goes under review & when store admin approves it, a discount coupon is automatically generated & it is sent to customer so that they can purchase that product at their price. A dashboard for approval process is still under development but it’ll be soon included in the plugin.

  7. Thank you very much for this! It worked perfectly!

    @Bibudha, I have created a similar functionality to what you are looking for and I plan to make the process more automated.
    The way it stands now, I have a “Invoice” payment gateway that sets the order status to “on-hold”. The store manager then reviews the order and sets it to “pending” to approve it. At this point the “Pay” link is available and the store manager manually emails the customer that the order is ready to be paid. I plan on automating this email so that the customer gets an email saying their order is ready to be paid for with a link to pay. When they click that link they have the option to pay with PayPal or any other payment gateways enabled.

    If this is something you are looking for, then get in contact with me and I can provide you with a plugin when it is ready.


    1. I would love to have this functionality, is there some code / plugin to automate it:

      – Customer loads an order, but when sending, it automatically goes ‘on hold’ or ‘pending’ (no payment option at this point’
      – customer is sent a message saying something like ‘thanks for your order reques, we will forward your order total with shipping costs shortly’
      – Admin adds shipping cost to order, and sends ‘customer invoice’ email with payment button.
      – customer clicks payment button, pays, and order processes.

      1. Currently, we don’t have any plugin also code for this.

        I think all other task is possible from within WooCommerce except first.

        For 1st point, we need to allow placing of order without any payment option.

        Even though these features are implemented, store admin will have to put a lot of effort in entering shipping & order total, sending email to customer.

        Consider a case where a lot of customer is placing such orders. Then you’ll need a manger to either automate this process or at-least give an easy user interface to manage these things

    2. Tamara, omg this is totally what my client is looking for, i was wondering if you ever managed to get this plugin working. please contact me regarding this. Happy to pay for plugin if needed.

  8. Hi,
    good article
    How do you make sure the exceptional pricing doesn’t default back to the normal one ?

    1. For one time orders, the price you set in the order will be the one customer will pay. For subscriptions, you would need to set up additional meta values. You may observe these in other subscription orders and copy them to the manually created order if you want.

      Did that answer your question??

  9. I made a new order for a customer following this tutorial but when the customer click on the pay button he receive a notice saying that “the cart is currently empty” and a return to shop button. what’s the problem?

    1. This is months old, but I’m having the exact same problem and trying to figure out why it’s happening. The order is clearly there in the My Account page, the link to pay is there, paypal is working fine (non-manual orders are coming in fine), woocommerce just seems to think there’s nothing in the cart.

      Any clues what might be going on?

      1. Can you please send us URL link of ‘Pay’ button. You can get it by ‘Right-click on button -> Copy link address’.

        If you do not wish to make that link public, send it to support(at)storeapps(dot)org

  10. Is there a plugin that once I made all the orders I can bulk send all the mails with the links to all the customers without having to go one by one online ?

  11. Hi I hope you will still reply. I generate the invoice and payment link email ok but when I hit pay it says “This order’s status is “Pending Payment”—it cannot be paid for. Please contact us if you need assistance.
    Any help please

    1. Hi I’m having the same problem too:
      “This order’s status is “Pending Payment”—it cannot be paid for. Please contact us if you need assistance.”

      I know this is an old article but maybe someone has a fix?

  12. Hi, Its working fine for me too, Thanks.
    But is their any way to charge client credit card from admin panel directly.

    1. No, I’m not aware on any such feature or plugin which does this.

      1. Thanks for reply

  13. Hi team,

    Do you have plugin that can add order automatically (example add order all customer every month on 30th).

  14. I don’t know if anyone still reads this but I could use some serious help here! I tried sending multiple invoices to different people using the above method and each person gets a message that says there was a transaction error and the payment didn’t work. I would love to be able to utilize this method but I can’t get it to work. My payment processor works just fine on normal orders, it just fails trying this method. If anyone can help me that would be great. I’m not sure if this is a woo problem or my payment processor problem.

    1. I tested this with single order again on my machine & it is not giving me any such error.

      How you send multiple invoices to customer? Have you used any 3rd party plugin?

      Can you find the error generated are from which plugin & from which file and which line number?

      Which payment processor (gateway) you are using?

  15. I forgot to add that I checked my payment gateway page and the orders don’t even come up at all. It doesn’t show as an order at all, not denied, approved, or anything.

    1. Do you know about compatibility of your theme with WooCommerce? You can check this from WordPress admin menu “WooCommerce -> System Status”

      It might also be related to WooCommerce only. To verif this, deactivate all plugins except WooCommerce. Now perform same step again & check if the payment issue is still there.

  16. I have problem: the email does not contain the payment link… Just overview table, but no link to redirect to pay gate….

    1. Have you followed above mentioned steps exactly? Can you please mention version of WooCommerce?

      What is the order status when you are sending email?

  17. Is there any way to make the renewal order date equal to the payment date instead of the original failed payment order date. Our members payments have been failing due to the new chip cards, and if a member goes in 10 days later to select the pay button and complete the checkout, the order date shows the original failed order date, not the date that he paid for the renewal order. Our members think we are cheating them out of 10 or how ever many days when the payment is back dated to the original failed payment date (date the renewal order was created). We have all the updates for WordPress, woo commerce, and plugins up to date.

    1. Original failed order dates are shown by WooCommerce core. The same case can happen even when the order is not renewal order.

      So, this can be general use case & it’s a valid case. It would be best to submit this query to WooCommerce.

      If they’ll add it in core, it would be great, otherwise inform us, we’ll check whether we can add it as feature in our plugin or not.

  18. Hi friends,

    I am having a similar issue as someone posted above with my woocommerce store using Citrus Payemnt Gateway.

    The payment link generated after manual order shows up fine – but when I click on make payment, it redirects to an empty cart page and says ‘your cart is empty’

    Any help will be highly appreciated!

    1. Make sure you’ve followed above mentioned steps exactly & haven’t missed any step.

      On clicking the payment link it should redirect to payment gateway. If it is not going there, check payment gateway is setup properly & it is active & functional.

      If still it is not working, go to Contact us page & send us the payment link.

    2. Hello Ritesh,

      Could you please let me know how this problem is solved, I’m having the same problem

      Thanks in advance

  19. Just a clarification that might help some of you: The payment link is included in the invoice email only if order status is “Pending”. This means if the payment was cancelled, there is no payment link available. You need to change the order status to “Pending”, save the order, and then send out the invoice according to the instructions above. Then there will be a payment link in the email. Chers!

    1. Hi, need your help for the woocommerce feature you presented. Something is wrong with settings.
      I followed all the steps and manually as administrator created an order, the invoice was sent with the link, but when I open through the link the checkout page, the payment button “Pay for order” have no link under and not working for any payment option I choose, while when ordering as a customer everything works fine
      Here is link from invoice

      1. Hi Kestas,

        Pay for order button will not have a link but on clicking it a form should be submitted. I can see that, when I’m clicking on Pay for order button, nothing is happening. Also there’s no JavaScript error in browser console.

        First thing, make sure that order status is pending.

        Also, to verify that no other plugin or theme is conflicting with this functionality, temporarily switch to a default WordPress theme & temporarily deactivate all plugins except WooCommerce (it would be best if you’ll do it on staging/testing site). Check it again, if it works, it means either theme or some plugin is conflicting.

        To find out, switch back to your previous theme & re-activate your other plugins, one-by-one, keep checking if that button started working.

  20. Hi, i have e-commerce portal to provide the furniture and home appliances on rent basis.
    I want that after every month an automated email must go to customer to pay the rent.

    How is it possible with Woocommerce

    1. Hi Swayam,

      There are a few different solutions to what you want to achieve.

      1. You can use Subscriptions / Recurring Orders to create monthly orders. Then have people sign up to subscriptions using PayPal / Stripe etc. Their monthly rent payment will now be automatic. You won’t need to remind them.

      2. If your payments are not online, you may use an autoresponder email series for reminders – or use MailChimp or similar. You may even write a small custom plugin that sends payment reminders every month. Additionally, you can use the “Reorder” feature in WooCommerce. For faster checkout, combine few of our plugins – Renewals, Buy Now and Express Checkout.

      3. If the number of customers is not high, you may even do this manually!

      My recommendation would be 1st solution. Automate payments so you don’t have to worry about sending payment reminders!

      Hope that helps!

  21. I am attempting to use this functionality, but running into a problem. When the customer selects “Credit card” and clicks on “Pay for order” they get this message:

    Gateway Error: Billing Information missing REFID:3201046429

    I’m sure the billing address, etc is filled in completely – what else could this be?

    We are using WooCommerce Payline Data Gateway.


    1. As this is a gateway error, you should submit this error (Gateway Error: Billing Information missing REFID:3201046429) to WooCommerce Payline Data Gateway developers.

      They’ll be knowing possible reasons for this error. And they’ll help you resolve this error.

  22. Hello
    I’m using Woo Commerce Invoice Payment Gateway and when my rep clicks on the pay link in the invoice, she get’s the following message “Invalid order. If you have an account please log in and try again.”
    All of my other reps get a message that tells them that the order is still processing and can’t be paid for at this time. When I send them the invoice, the status of the order is Pending Payment so I don’t know when it changes to Processing because I am not changing the status. It must happen when they click on the link. How do I fix this because none of my reps are able to pay off the link from the invoice.
    Thank you.

    1. Is it happening on all products? What are the product configurations? Is there any plugin which is forcing all pending orders to processing status?

      1. That is because they removed the ability to make payments while not logged in as the original owner in the version 3.0 and after. It’s a shame and it’s affecting a lot of businesses. The only thing you can do at this point is downgrade your WooCommerce install.

      2. Is Guest Checkout enabled. I was able to successfully complete payment (in WooCommerce 3.0) when Guest Checkout is enabled under WooCommerce > Settings > CheckoutEnable Guest Checkout in WooCommerce

  23. I’m having the same issue with the payment link in my invoices.
    Upon opening Checkout page, error reads:
    Pay for order
    This order cannot be paid for. Please contact us if you need assistance.

    1. Make sure that before creating order, you’ve created an account for the customer using their email address. Then create order & link the customer correctly under Customer on “Add order/Edit order” page.

      Also, make sure that the customer who is linked with this order is the one who’s trying to pay for the order. In short, the customer’s account, which is linked with this order, can only pay for this order. This order can’t be paid from any other account.

      If this is still not working, report it to our technical team directly from here: Open a ticket

  24. Hello,
    I’m looking for a plugin to order for customers and send them a payment link. Your plugin seems to be perfect but which one it is ?
    Thank you by advance

    1. This feature is available in the WooCommerce itself if you want to send payment link after creating order manually. If you don’t want to create orders manually, you can consider our Buy Now plugin.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.