Title: Heave Invoice Manager for Pennylane
Author: Heave
Published: <strong>November 4, 2026</strong>
Last modified: November 4, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/heave-invoice-manager-for-pennylane.
svg)

# Heave Invoice Manager for Pennylane

 By [Heave](https://profiles.wordpress.org/heave/)

[Download](https://downloads.wordpress.org/plugin/heave-invoice-manager-for-pennylane.1.0.1.zip)

 * [Details](https://wordpress.org/plugins/heave-invoice-manager-for-pennylane/#description)
 * [Reviews](https://wordpress.org/plugins/heave-invoice-manager-for-pennylane/#reviews)
 *  [Installation](https://wordpress.org/plugins/heave-invoice-manager-for-pennylane/#installation)
 * [Development](https://wordpress.org/plugins/heave-invoice-manager-for-pennylane/#developers)

 [Support](https://wordpress.org/support/plugin/heave-invoice-manager-for-pennylane/)

## Description

Heave Invoice Manager for Pennylane links your WooCommerce store to [Pennylane](https://www.pennylane.com/),
the French accounting and invoicing platform.

**For your customers**

 * A “Download my invoice” button in “My account”, on every order whose invoice 
   exists in Pennylane.
 * Optional WooCommerce email that sends the PDF invoice as an attachment as soon
   as it is available (also works for guest orders).

**For you**

 * **Automatic matching** — every 20 minutes, new Pennylane invoices are linked 
   to their WooCommerce order through the invoice external reference.
 * **Dashboard** — for any period: which orders have an invoice, which are still
   drafts, which are missing, which are paid. Link, create a missing invoice as 
   a draft, or finalize drafts of paid orders, one by one or in batch.
 * **Draft finalization** — by hand with a confirmation, or automatically once the
   order is paid. Drafts dated before the last finalized invoice are moved to today’s
   date, as Pennylane requires chronological numbering. Recording payments stays
   a manual step in Pennylane.
 * **VAT checks** — finds domestic orders charged without VAT, lines without VAT,
   wrong VAT rates, intra-EU exemptions without a VAT number, and gaps between WooCommerce,
   Pennylane and the money actually collected by your payment gateway (Stripe fees
   taken into account). Filter and export to CSV for your accountant. Optional real-
   time alert on new orders.
 * **Built for safety** — the PDF is served through a gated proxy (the Pennylane
   link is never exposed), finalizing or creating invoices is reserved to shop managers
   and always confirmed, and every API error is logged.

**Requirements**

 * WooCommerce 8.0 or later (compatible with HPOS and the Cart & Checkout blocks).
 * A Pennylane account and an API token (Pennylane > Settings > Connectivity > Developers).
 * Your Pennylane invoices must carry the WooCommerce order number as external reference—
   this is what most WooCommerce  Pennylane invoicing integrations do.

This plugin is developed by Heave. It is not affiliated with, nor endorsed by, Pennylane.“
Pennylane” is a trademark of its respective owner and is used here only to describe
compatibility.

### External services

This plugin connects to the **Pennylane API** (`https://app.pennylane.com/api/external/
v2`), operated by Pennylane SAS, to read and manage the customer invoices of your
Pennylane account. It is the core purpose of the plugin: nothing is sent before 
you enter an API token.

What is sent, and when:

 * **Every 20 minutes (background sync), on the dashboard and on the order screen**:
   requests to list and read customer invoices, filtered by date or by order number(
   external reference). Only your API token and these filters are sent.
 * **When you finalize a draft** (button, or the optional automatic finalization):
   the invoice ID, and when needed the new invoice date.
 * **When you create a missing invoice** (button, always confirmed): the order number,
   date and amounts, the order lines (product names, quantities, prices, VAT rates,
   shipping and fees), and the customer’s name, company, email address and billing
   address — used to find or create the customer in Pennylane.
 * **When an invoice PDF is needed** (customer download, invoice email): the PDF
   is downloaded from the secure link returned by the Pennylane API, then cached
   on your server.
 * Pennylane terms of service: https://www.pennylane.com/fr/conditions-generales
 * Pennylane privacy policy: https://www.pennylane.com/fr/legal/privacy

The plugin does not send any data to its author and does not track usage.

## Installation

 1. Install and activate WooCommerce.
 2. Install this plugin from the Plugins screen and activate it.
 3. Go to **WooCommerce > Pennylane > Settings** and paste your Pennylane API token.
    For better security you can define it in `wp-config.php` instead: `define( 'PENNYLANE_SYNC_API_TOKEN','
    your-token' );`
 4. Check the **order number meta key** with the matching diagnostic (Sync & tools 
    tab): it must hold the number used as external reference in Pennylane.
 5. Optional: enable the “Pennylane invoice” email in **WooCommerce > Settings > Emails**.

## FAQ

### Which API permissions does the token need?

Read access to customer invoices and customers is enough to display invoices. Write
access to customer invoices is needed to finalize or create invoices, and write 
access to customers to create a customer that does not exist yet in Pennylane.

### Does the plugin record payments in Pennylane?

No. Recording a payment (reconciliation with the bank) stays a manual step in Pennylane.
The plugin only finalizes drafts and, on request, creates missing invoices as drafts.

### Why was my draft re-dated when finalized?

Pennylane numbers invoices chronologically and refuses to finalize an invoice dated
before the last finalized one. A draft is issued the day it is finalized, so an 
older date is moved to today. The order note keeps track of the change.

### Can customers download invoices for guest orders?

The download button requires an account. For guest orders, enable the “Pennylane
invoice” email: the PDF is sent as an attachment.

### Where are the PDFs stored?

In `wp-content/uploads/pennylane-invoices/`, under random file names, protected 
by an `.htaccess` file on Apache. On Nginx, add a rule denying access to this folder.
The cache is purged after the number of days set in the settings; Pennylane remains
the source of truth.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Heave Invoice Manager for Pennylane” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ Heave ](https://profiles.wordpress.org/heave/)

[Translate “Heave Invoice Manager for Pennylane” into your language.](https://translate.wordpress.org/projects/wp-plugins/heave-invoice-manager-for-pennylane)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/heave-invoice-manager-for-pennylane/),
check out the [SVN repository](https://plugins.svn.wordpress.org/heave-invoice-manager-for-pennylane/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/heave-invoice-manager-for-pennylane/)
by [RSS](https://plugins.trac.wordpress.org/log/heave-invoice-manager-for-pennylane/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.1

 * Security: an invoice is linked to an order only when it is finalized, not cancelled,
   not a credit note, and carries the order’s exact reference. A reference shared
   by several orders links nothing.
 * Security: a link is removed when the invoice is cancelled, deleted or moved to
   another order in Pennylane (checked on refresh, range runs, downloads and manual
   emails). The order note tells why.
 * Security: the cached PDF is tied to its invoice, so a replaced invoice is never
   served or emailed again.
 * Security: creating a draft no longer reuses a Pennylane customer found only by
   email: the name must match too.
 * Security: the VAT CSV export neutralizes formulas anywhere in a text cell.
 * Fix: deleting a refund no longer causes a fatal error.

#### 1.0.0

 * First public release.

## Meta

 *  Version **1.0.1**
 *  Last updated **9 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.6 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [Accounting](https://wordpress.org/plugins/tags/accounting/)[invoice](https://wordpress.org/plugins/tags/invoice/)
   [pennylane](https://wordpress.org/plugins/tags/pennylane/)[vat](https://wordpress.org/plugins/tags/vat/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/heave-invoice-manager-for-pennylane/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/heave-invoice-manager-for-pennylane/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/heave-invoice-manager-for-pennylane/reviews/)

## Contributors

 *   [ Heave ](https://profiles.wordpress.org/heave/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/heave-invoice-manager-for-pennylane/)