The WooCommerce Sync module comes with the option to automatically generate invoices from your WooCommerce orders. This will generate invoices based on the order’s line items and attach the invoice to the customer and the transaction. If this is what you want, ensure the “Create Invoices from WooCommerce Orders” setting is ticked in Jetpack CRM > CRM Settings > WooSync.
The invoice will then show up in the Client Portal for your customer. They can log in and view all their invoices with you.
Say goodbye to emails asking you for invoices!
WooCommerce and Jetpack CRM Invoicing
It may be tempting to use Jetpack CRM invoices alongside WooCommerce Sync instead of using WooCommerce orders. If you have the following process in mind, read on:
- Add a contact to Jetpack CRM
- Create an invoice in Jetpack CRM
- Add your WooCommerce products to the invoice
- Send the invoice to your contact to pay (using Invoicing Pro)
This is not what WooCommerce Sync is intended to offer, and has some major shortcomings, so we do not recommend doing that.
Why is this wrong?
WooCommerce Sync won’t import WooCommerce products to your invoices or update your product inventory. This typically means you would still need to manually create and fulfill the order in WooCommerce. You’re also limited to the payment options in Invoicing Pro (Stripe and PayPal).
So why use Jetpack CRM and WooCommerce for Invoices?
What the feature is useful for is being able to give your customer their invoice history from the client portal, saving you the headache of manually generating invoices when they ask for them.
Also, a little known fact is that you can actually generate invoices for WooCommerce Orders using the “Order actions” dropdown, but they don’t look great:
The above image is from the email sent when you choose the “Order action”.
Secondly, also there’s no central location for all invoices. So while this is a solution, it lacks the following:
- Everything is via email. You’ll need to manually resend if a customer asks you.
- The invoice email is not very customisable (e.g. you can’t add extra business info such as a logo).
- You’ll need to hunt down any orders you have for a contact and do this for each one.
- You can’t easily provide a PDF version to your customer.
The benefits of using Jetpack CRM invoices alongside WooCommerce are as follows:
- You can use your own invoice style vs the generic WooCommerce invoice style (HTML/CSS skills needed)
- All invoices are accessible from the Client Portal
- Downloadable PDF versions are available (if using Client Portal Pro)
Setting up WooCommerce + Jetpack CRM Invoices
The rest of this article looks at how you’d setup your process utilising WooCommerce, Jetpack CRM and its invoices. It will give your customers better-looking invoices that they can access at any time from their Client Portal.
Here’s how you go about doing it, while making sure WooCommerce is handling the payment and fulfilment of the order itself.
Step 1: Create a WooCommerce Pending Payment Order
Your WooCommerce store should be where your orders happen. If running a store, then use the “Pending Payment” order feature if you’re manually creating orders for customers (vs allowing them to populate a cart from your store). The added benefits of this are
- Link in with product stock inventories
- Add your products to the invoices
- Use any payment provider you have configured with WooCommerce checkout
You’ll see in the above screenshot that there is a link for “Customer payment page”. This is where the customer would pay for their order (and NOT through the Jetpack CRM invoice system).
What happens in Jetpack CRM at this point?
At this point, in Jetpack CRM a new contact is created (or updated if it already exists) and the above transaction is added as a pending payment status. Additionally (optionally) an unpaid invoice is created.
Step 2: Direct the customer to pay for their order
The customer then follows the link to pay for their order. This is a page provided via WooCommerce and will allow them to pay using any payment method you have supported via your WooCommerce install.
You’ll see this fits your theme, and allows the customer to pay for the product. It also does the following:
- generates download links if applicable
- update stock levels
- plays nicely with third-party WooCommerce extensions, etc.
What happens in Jetpack CRM at this point?
Once the customer has paid, this then updates the transaction to be Completed and sets the invoice to be marked as Paid. It also makes sure that the customer record in the CRM is fully up to date.
The customer’s invoice is now viewable from the Client Portal. This gives a central place where your customer can login and see all their invoices (and download a PDF version if you have Client Portal Pro installed).
So, in summary, while you may have thought WooCommerce Sync and Jetpack CRM should be used to create orders and have customers pay for them, the ideal solution would be to do this via WooCommerce’s “pending payment” order feature.
Using Jetpack CRM invoices and Invoicing Pro
There may be cases where you want a remote team to use Jetpack CRM to populate your invoices, keeping your sales team out of your store and still allowing customers to pay online.
While this is a solution possible with Jetpack CRM and its invoices, it’s worth bearing in mind the limitations of this approach:
- Orders will need to be manually created in WooCommerce
- Stock levels will need managing separately
- Paid Invoices will need to be reflected in WooCommerce (as needed)
- You’ll need to process refunds via the payment gateway
- Payment options in Invoicing Pro are limited to PayPal and Stripe
If you do the remote CRM approach (using your store setup for Jetpack CRM Invoices) you’re effectively running a manual store, and you may not need WooCommerce at all.