FlowRunner
PricingContact
Theme
Start Free

Pennylane

Accounting

Pennylane is the French accounting and invoicing platform. Agents manage customer and supplier invoices, quotes, customers, suppliers, and products, read the general ledger and bank transactions, and tag analytical categories.

1 trigger 70 actions API key available
Pennylane website Platform Documentation Capability data verified 2026-08-24
A scheduled reconciliation pass runs over the bank transactions still unmatched
List Transactions returns the lines waiting, paged by cursor rather than by page number
List Customer Invoices narrows open invoices by amount and date around each transaction
Amounts, references, and the customer are compared, and partial or combined payments are separated out
Categorize Transaction attributes each line to its analytical category, which can still be changed
The unambiguous matches and the ambiguous ones go to the accountant as two separate lists
The accountant confirms each match before Match Transaction To Invoice writes it

What This Integration Enables

Pennylane is the French accounting and invoicing platform, and its distinguishing feature is who else is in the system. The company works in it and so does its accountant, on the same books. This connector goes as deep as they do. Alongside customer and supplier invoices, quotes, customers, suppliers, and products, agents reach the general ledger itself: the chart of accounts, the double entry postings behind every document, the individual entry lines, the trial balance, the journals, and the statutory FEC export the French tax administration requires. Lettering, the French reconciliation step that marks an invoice line and its payment line as settling each other, is exposed in both directions.

Three properties shape how an agent should behave here. The draft flag decides everything about an invoice: a draft is editable, deletable, and unnumbered, while a finalized invoice is a numbered accounting record that cannot be edited or deleted, and Finalize Customer Invoice is the one way door between them. Categorizing replaces the whole set, so the categories you send become the complete list and anything omitted is removed. And VAT rates are codes rather than percentages, which is worth knowing before an agent invents one. FlowRunner's human-in-the-loop gate on this connector is placed on the one write here that has no inverse operation at all, which is not the finalize step people expect.

Without FlowRunner

The company and the accountant out of step Documents are exported, emailed, and re-keyed on the way to the ledger
Reconciliation done in bulk, late Bank lines are matched in a long session where every decision looks like the last one
Analytical coding added afterwards Management categories are applied at reporting time, on records nobody remembers

With FlowRunner

One ledger, reached directly Invoices, entries, and bank lines are all readable and writable from the same flow
Reconciliation proposed and reviewed The clean matches are separated from the ambiguous ones, and only the ambiguous ones take attention
Coding applied with the record Categories are set as the document or transaction lands, while the context is still available

Use Case Scenarios

  • Payments in, invoices matched, exceptions raised

    Card revenue settles through Stripe and bank movements arrive from Revolut Business. The agent reads List Transactions for the lines still unmatched and narrows candidate invoices with List Customer Invoices, using Pennylane's filter document to bound the search by date and amount. Where one invoice matches exactly on amount and reference, that pair is proposed. Where a transaction covers several invoices, or covers part of one, or arrives from a payer whose name does not match the customer on any candidate, it goes on the second list. Both lists reach the accountant. The agent has done the searching and the arithmetic; what it has not done is commit a match it could not fully justify.

  • Supplier bills into the ledger with their evidence attached

    Supplier invoices arrive as files. The agent calls Import Supplier Invoice with the document attached, and because Pennylane reads the document itself, the invoice details are optional rather than something the agent has to extract and risk getting wrong. It then sets the analytical categories with Categorize Supplier Invoice, sending the complete set deliberately because that call replaces whatever was there. Validate Supplier Invoice Accounting commits the entries to the ledger, and where a bill was settled outside Pennylane, Update Supplier Invoice Payment Status records that rather than leaving the bill open. The supporting file stays attached, which is what makes the booking defensible later.

  • Change detection that does not depend on webhooks

    Pennylane's webhook feature is in beta and covers three events, and the vendor's own advice during that phase is to fall back on the changelog endpoints. So the reliable sync here is a poll. The agent calls Get Changelog for the resources it cares about, stores the cursor between runs so each call returns only what has changed, and drives its downstream work from that. Notable movements post into Slack. Where the webhook is used, the agent also watches for the subscription being disabled, because Pennylane disables one permanently after a single unrecoverable response and never re-enables it by itself.

Human-in-Loop Highlight

The obvious gate on this connector is Finalize Customer Invoice, and the obvious gate is the wrong one. Finalizing is a one way door, but Pennylane provides the way out: a finalized invoice is corrected with a credit note and Link Credit Note, and the ledger shows the correction. Match Transaction To Invoice has no way out. It reconciles a bank transaction against an invoice, which is what marks that invoice paid from the bank line, and this connector publishes no operation that unmatches one. Unletter Ledger Entry Lines undoes a lettering. Nothing undoes a match.

The failure that follows is quiet, which is what makes it worth a person's attention. A transfer from a customer who owes you two similar amounts gets matched to the wrong invoice. Both are the right amount, so nothing looks wrong. One invoice reads paid that was not, and one stays open that was. Collections stops chasing money that never arrived and starts chasing money that did. So the agent proposes and stops: "This transaction of 3,240 euro from Groupe Berthier matches invoice FA-2026-0219 and invoice FA-2026-0247 equally well. Both are open, both are for that amount, and neither reference appears in the transaction label. Which one does this settle?" The accountant answers. Everything before that moment, meaning the search, the filtering, the narrowing to two candidates, is exactly what an agent should be doing unattended. The write with no inverse is exactly what it should not.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

70 actions

Account

2
  • Get Profile Reads the user and company the API token belongs to, which is the quickest way to confirm a connection works. A token belongs to one company, so this also confirms which set of books a flow is in.
  • List Fiscal Years Lists the fiscal years of the company, which is what a ledger export or a trial balance has to sit inside.

Customer Invoices

16
  • List Customer Invoices Lists the customer invoices. Filters are given as field, operator, and value entries, and paging is by cursor rather than by page number.
  • Get Customer Invoice Reads one customer invoice by its identifier.
  • Create Customer Invoice Creates a customer invoice, as a draft or as a finalized accounting record. A finalized invoice gets its number immediately and cannot be edited afterwards.
  • Update Customer Invoice Updates a draft customer invoice. A finalized invoice cannot be changed and is corrected with a credit note instead.
  • Finalize Customer Invoice Turns a draft invoice into a finalized accounting record. It gets its number and can no longer be edited or deleted.
  • Delete Draft Invoice Deletes a draft invoice. A finalized invoice cannot be removed and is corrected with a credit note instead.
  • Mark Invoice As Paid Marks a customer invoice paid without matching it to a bank transaction, which is what an invoice settled outside Pennylane needs.
  • Send Invoice By Email Emails a customer invoice to its recipients.
  • Create Invoice From Quote Creates a customer invoice from an accepted quote, carrying its lines across.
  • Link Credit Note Links a credit note to the customer invoice it corrects, which is how a finalized invoice is unwound.
  • Import Customer Invoice Imports a customer invoice issued by another system, attaching the original file as the document of record.
  • List Invoice Lines Lists the lines of a customer invoice, which the invoice itself does not carry unless they were explicitly included.
  • List Invoice Payments Lists the payments recorded against a customer invoice.
  • Upload Invoice Appendix Attaches a supporting file to a customer invoice by fetching it from a URL.
  • Categorize Customer Invoice Sets the analytical categories of a customer invoice. The set sent replaces the existing one entirely.
  • Match Transaction To Invoice Reconciles a bank transaction against a customer invoice, which is what marks the invoice paid from the bank line. There is no operation here that unmatches one, which is why this page's human gate sits on it.

Supplier Invoices

8
  • List Supplier Invoices Lists the supplier invoices. Filters are given as field, operator, and value entries, and paging is by cursor.
  • Get Supplier Invoice Reads one supplier invoice by its identifier.
  • Update Supplier Invoice Updates a supplier invoice. Only the fields supplied are changed.
  • Import Supplier Invoice Imports a supplier bill with its file attached. Pennylane reads the document itself, so the invoice details are optional.
  • Update Supplier Invoice Payment Status Sets the payment status of a supplier invoice, which is how a bill settled outside Pennylane is marked paid.
  • Validate Supplier Invoice Accounting Validates the accounting of a supplier invoice, which commits its entries to the ledger.
  • Match Transaction To Supplier Invoice Reconciles a bank transaction against a supplier invoice, which is what marks the bill paid from the bank line. Like its customer side counterpart, it has no inverse here.
  • Categorize Supplier Invoice Sets the analytical categories of a supplier invoice. The set sent replaces the existing one entirely.

Quotes

6
  • List Quotes Lists the quotes of the company. Filters are given as field, operator, and value entries, and paging is by cursor.
  • Get Quote Reads one quote by its identifier.
  • Create Quote Creates a quote. It takes the same line shape as an invoice, and Create Invoice From Quote carries the lines across once it is accepted.
  • Update Quote Updates a quote. Only the fields supplied are changed.
  • Update Quote Status Records whether a quote was accepted or refused, which is what a decision taken outside Pennylane writes back.
  • Send Quote By Email Emails a quote to its recipients.

Customers and Suppliers

8
  • List Customers Lists the customers of the company, both companies and individuals. They are created on separate routes but read on this one.
  • Get Customer Reads one customer by its identifier, whether it is a company or an individual.
  • Create Customer Creates a customer. A company needs a name and an individual needs a first and last name, and both need a complete billing address.
  • Update Customer Updates a customer. The route depends on whether it is a company or an individual, so the customer kind has to say which.
  • List Suppliers Lists the suppliers of the company.
  • Get Supplier Reads one supplier by its identifier.
  • Create Supplier Creates a supplier. For a French company the registration numbers follow the national format, with nine digits for the entity and fourteen for the establishment.
  • Update Supplier Updates a supplier. Only the fields supplied are changed.

Products

4
  • List Products Lists the products, which carry the price, VAT rate, and ledger account an invoice line can inherit.
  • Get Product Reads one product by its identifier.
  • Create Product Creates a product. The VAT rate is a code rather than a percentage, so a rate has to be named from Pennylane's own code set.
  • Update Product Updates a product. Only the fields supplied are changed.

General Ledger

11
  • List Ledger Accounts Lists the chart of accounts, which is what every booking references.
  • Create Ledger Account Creates a ledger account. The number follows the French plan comptable.
  • List Ledger Entries Lists the ledger entries, which are the double entry postings behind every document.
  • Get Ledger Entry Reads one ledger entry by its identifier.
  • Create Ledger Entry Posts a manual entry into the general ledger. The debits and the credits are added up first and an unbalanced entry is refused before it is sent.
  • Update Ledger Entry Updates a ledger entry. The lines must still balance, and that is checked before sending.
  • List Ledger Entry Lines Lists the individual ledger entry lines, which is the level reconciliation and lettering work at.
  • Letter Ledger Entry Lines Letters ledger entry lines together, the French reconciliation step that marks an invoice and its payment as settling each other.
  • Unletter Ledger Entry Lines Removes the lettering from ledger entry lines, undoing a reconciliation.
  • Get Trial Balance Reads the trial balance, which is the closing position of every ledger account over a period.
  • List Journals Lists the accounting journals, which is where the journal identifier a ledger entry needs comes from.

Banking

5
  • List Bank Accounts Lists the bank accounts, which is where the account identifier a transaction needs comes from.
  • List Transactions Lists the bank transactions. An unmatched transaction is one still waiting to be reconciled against an invoice.
  • Get Transaction Reads one bank transaction by its identifier.
  • Create Transaction Records a bank transaction, which is how a line reaches an account Pennylane does not sync automatically.
  • Categorize Transaction Sets the analytical categories of a bank transaction. The set sent replaces the existing one entirely.

Analytical Categories

3
  • List Categories Lists the analytical categories, which is what documents and transactions are attributed to for management reporting.
  • List Category Groups Lists the analytical category groups, which is where the group identifier a new category needs comes from.
  • Create Category Creates an analytical category in a category group.

Changelogs, Exports and Files

4
  • Get Changelog Reads the change history of one resource. With webhooks in beta, the vendor's own advice is to poll these rather than rely on deliveries, and storing the cursor between runs makes the poll incremental.
  • Create Export Starts an accounting export, such as the French statutory FEC file. The export runs in the background.
  • Get Export Reads the progress of an export and, once it has finished, the link to the file it produced.
  • Upload File Uploads a file and returns its identifier, which a ledger entry can then attach as its supporting document.

Webhook Subscriptions

3
  • List Webhook Subscriptions Lists the webhook subscriptions belonging to the API token, including any the trigger installed and any Pennylane has disabled.
  • Update Webhook Subscription Re-enables or pauses a webhook subscription. Pennylane disables one permanently after a single unrecoverable response and never re-enables it by itself, so this is how a fixed endpoint is brought back.
  • Delete Webhook Subscription Deletes a webhook subscription from the account.

Triggers

1 triggers

Event Triggers

1
  • On Pennylane Event Fires when Pennylane reports the chosen event. The webhook feature is in beta and covers only three events, and the vendor recommends the changelog endpoints as the fallback during that phase. Deliveries are signed and the signature is verified against the secret Pennylane returns once at registration. A single unrecoverable response disables the subscription permanently, so a flow that depends on this trigger should watch for that and re-enable it deliberately.

Frequently Asked Questions

What can FlowRunner do with Pennylane?

FlowRunner agents can run Get Profile, List Fiscal Years, and List Customer Invoices in Pennylane, plus 67 more actions.

Does connecting Pennylane to FlowRunner require OAuth?

No. Pennylane connects to FlowRunner with an API key, no OAuth flow required.

Can Pennylane trigger a FlowRunner workflow automatically?

Yes. Pennylane supports 1 trigger that can start a FlowRunner workflow automatically.

Start building with Pennylane

Free plan, no card required. Connect in minutes.