Skip to main content

Pennylane Integration

Pennylane is an online accounting and invoicing platform designed for the French market (FR / BE / LU / CH). When configured in CADENSA, you can issue legally valid invoices directly from your tracked time entries, compliant with the Factur-X standard — mandatory for French B2B e-invoicing from September 2026.

Supported countries

Pennylane is designed for businesses in France 🇫🇷, Belgium 🇧🇪, Luxembourg 🇱🇺, and Switzerland 🇨🇭.

Factur-X compliance

Factur-X (PDF/A-3 with embedded XML) becomes mandatory in France:

  • September 2026 — large companies
  • 2027 — phased rollout to all businesses

CADENSA's Pennylane integration is ready for this requirement.


Before You Begin

You need:

  • An active Pennylane accountEssentiel plan or higher (the API is not available on the Basique plan)
  • A Pennylane API token (see below)
  • CADENSA unit with at least Admin role
Plan requirement

The Pennylane Public API is only available on the Essentiel (€24/mo) and Premium (€79/mo) plans. The Basique plan (€14/mo) does not include API access.


Step 1 — Create a Pennylane Account

  1. Go to pennylane.com
  2. Click "Démarrer maintenant" (top right)
  3. Select "Essentiel" and click "Essayer"
  4. Register with your email and password
  5. Create a company (required — tokens are company-scoped)

A 15-day free trial starts automatically. No commitment required.


Step 2 — Get Your Pennylane API Token

  1. Log in to app.pennylane.com
  2. In the left sidebar, click Paramètres (Settings — gear icon, bottom left)
  3. Navigate to Intégrations → API
  4. Click "Générer un token" (Generate a token)
  5. Copy the generated Bearer token
Keep your API token secret

Never share your token or commit it to version control. Anyone with the token can create and manage invoices on your behalf.

For the official Pennylane guide, see: pennylane.readme.io/docs/generating-my-api-token


Step 3 — Configure in CADENSA

  1. Open Settings → Invoice in CADENSA
  2. Select Pennylane 🇫🇷 as the provider
  3. Paste your API token into the API Key field
  4. Click Test Connection — a green confirms the token is valid and shows your company name
  5. Click Save

Step 4 — Set Defaults

Configure defaults so the Generate Invoice dialog is pre-filled with sensible values:

SettingRecommended value (FR)Description
Default CurrencyEURCurrency used on new invoices
Default VAT %20Standard French VAT (TVA) rate
Payment Terms Days30Days until due date (30 days is standard in France)
Default Document TypeInvoicePre-selects "Invoice" in the dialog
Issuer CountryFRYour company's country — enables automatic VAT suggestion
Other French VAT rates
  • 10% — Reduced rate (hospitality, transport)
  • 5.5% — Super-reduced rate (food, books, some cultural services)
  • 0% — Exempt (intra-community supply, export)

Issuing an Invoice via Pennylane

Once configured, follow the standard invoice generation flow:

  1. Open Reports → apply date range and project filters
  2. Click Generate Invoice
  3. In the Document Type field, select Invoice — the output channel shows Pennylane
  4. Fill in client details (name, address, country, VAT number if applicable)
  5. Set the VAT rate (default: 20%)
  6. Click Preview Invoice → review line items and totals
  7. Click Issue Invoice (Pennylane)

CADENSA sends the invoice to the Pennylane API. A customer record is automatically found or created by name match. The invoice is created and finalized, and the PDF is downloaded from Pennylane.

What happens in Pennylane
  • A new customer invoice is created in Pennylane under Ventes → Factures clients
  • The invoice is finalized immediately (status: waiting_payment)
  • PDF is available for download both from CADENSA (Invoice History) and from Pennylane

Draft Mode

To create a draft invoice without finalizing it:

The Pennylane integration creates finalized invoices by default (draft: false). For testing or review purposes, contact your Pennylane account to set invoices to draft manually, or delete test invoices from the Pennylane dashboard after testing.

Testing without real invoices

Since Pennylane has no sandbox environment, use Proforma or Work Summary document types in CADENSA for test runs — these are always generated as internal PDFs and never sent to Pennylane.


VAT Rate Codes

Pennylane uses specific French VAT rate codes internally:

Tax RatePennylane CodeUse case
20%FR_200Standard TVA (taux normal)
10%FR_100Reduced rate (taux intermédiaire)
5.5%FR_055Super-reduced rate (taux réduit)
0%exemptVAT-exempt, export, intra-EU

CADENSA maps your numeric tax rate to the correct Pennylane code automatically.


Document Routing

Document TypeOutput
ProformaInternal PDF (never sent to Pennylane)
Work SummaryInternal PDF (never sent to Pennylane)
InvoiceSent to Pennylane API → PDF returned

Only Invoice type documents are sent to Pennylane. Proforma and Work Summary are always generated internally, regardless of provider setting.


Invoice History & PDF Download

After a successful invoice creation:

  • The invoice appears in Reports → Invoices in CADENSA
  • The invoice also appears in your Pennylane account under Ventes → Factures clients
  • You can re-download the PDF at any time from either place

Testing the Connection

Use the Test Connection button after entering your API token. CADENSA calls the Pennylane /me endpoint to verify:

  • The token is valid
  • The company name is returned

A successful test shows:

✓ Connection successful — Pennylane account: Your Company Name

Troubleshooting

"401 Unauthorized" error

The API token is invalid, expired, or from the wrong Pennylane account.

Fix: Generate a new token in Pennylane (Paramètres → Intégrations → API → Générer un token) and re-enter it in CADENSA.

"API not available" / 403 error

Your Pennylane plan does not include API access.

Fix: Upgrade to the Essentiel (€24/mo) or Premium (€79/mo) plan — the Basique plan does not include API access.

"INVOICE_NO_ENTRIES" error

No time entries were found for the selected date range and project filters.

Fix: Adjust the date range or project filter and try again.

Customer not created / wrong customer matched

CADENSA searches for an existing Pennylane customer by company name. If no match is found, a new customer is created. If the name matches incorrectly, manually verify or update the customer in Pennylane.

Fix: Check Contacts in Pennylane and merge or correct duplicate customer records.

PDF download fails

Pennylane generates PDFs asynchronously. If the PDF is not immediately available, CADENSA retries for a short period.

Fix: Wait a moment and re-download from Reports → Invoices.


See Also