The WooCommerce Sync module comes with the option to generate invoices from your WooCommerce orders automatically. This will generate invoices in Jetpack CRM based on the WooCommerce order’s line items and attach the invoice to the Jetpack CRM contact and transaction.
To use that, go to Jetpack CRM > CRM Settings > WooSync. Check the box next to the “Create Invoices from WooCommerce Orders” setting, then scroll down and click the “Save Settings” button.
After you’ve enabled that setting, invoices will be visible to the contact in their Client Portal. They can log in and view all their invoices from Jetpack CRM without accessing WooCommerce or asking you for an invoice.
WooCommerce and Jetpack CRM Invoicing
Using Jetpack CRM invoices alongside WooCommerce Sync may be tempting instead of using WooCommerce orders. For example, you may think you could create an invoice in Jetpack CRM, add your WooCommerce products to that invoice, and send the invoice to your customer.
This is not what WooCommerce Sync is intended to offer. That process has some shortcomings, so we do not recommend it.
Why doesn’t this work?
WooCommerce Sync does not import WooCommerce products to your invoices nor update your product inventory.
If you send a Jetpack CRM invoice to a customer, your WooCommerce inventory will not reflect that sale. This typically means you would need to manually create and fulfil the order in WooCommerce and create the Jetpack CRM invoice. It’s giving yourself double work.
It also means customers can only pay via Stripe or PayPal, the payment methods available with the Jetpack CRM Invoicing Pro extension. WooCommerce has many more payment options.
So why use Jetpack CRM and WooCommerce for invoices?
It is useful for allowing your customers to view their invoices directly from the client portal, saving you the headache of manually generating invoices when they ask for them.
You can also generate invoices for WooCommerce Orders using the “Order actions” dropdown when viewing/editing an order, but the default WooCommerce invoices are pretty minimal:
Additionally, there isn’t a central location to view all invoices within WooCommerce. While manually generating invoices in WooCommerce is an option, 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 for a contact and do this for each one.
- There isn’t a built-in option to provide a PDF version to your customer.
The benefits of using Jetpack CRM invoices alongside WooCommerce are:
- 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.
- Customers can download PDF versions of invoices themselves (if using Client Portal Pro).
Setting up WooCommerce + Jetpack CRM Invoices
If you’d like to create manual orders in your WooCommerce store, there is a way to set up the Jetpack CRM invoicing feature to work with your Woo orders and payments.
This setup will ensure clearer and better-looking invoices your clients can check from their Client Portal and allow smooth payment and order fulfilment management on your WooCommerce store end.
Step 1: Create a WooCommerce Pending Payment Order
Your WooCommerce store should be where your orders happen. If running a store, 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 a link for the “Customer payment page” in the screenshot above. 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 page is 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 updates the transaction to be Completed and sets the invoice to be marked as Paid. It also ensures that the customer record in the CRM is fully current.
The customer’s invoice is now viewable from the Client Portal. This gives a central place where your customer can log in 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 to be managed 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 make the remote CRM approach (using your store setup for Jetpack CRM Invoices), you’re effectively running a manual store and may not need WooCommerce.