In short
- Pennylane and Qonto each have a documented API. Through these official interfaces, an AI agent can connect to both programs to prepare supporting documents, bank reconciliation and payment reminders.
- At Qonto, an integration built for clients goes through OAuth 2.0. At Pennylane, we aim for V2; access for a service provider remains to be confirmed with the publisher.
- Our rule: the agent reads and prepares, your team approves. It gains autonomy only with your written agreement and is never given the right to make a transfer.
Do you keep your accounts in Pennylane and bank with Qonto? Both programs open up to other programs through an API. An API is an official entry point: a program asks it for data, or leaves an action there, with authorisation. An AI agent can therefore connect to it. What remains is how, with which rights, and where the limits are.
We re-read the official documentation on 13 October 2026. What it does not say is flagged as such.
What we want to automate: supporting documents, matching, reminders
Take a typical scenario: an SME of 30 employees, accounts in Pennylane, bank at Qonto. Every month, someone chases supporting documents, ticks off bank transactions and reminds late-paying clients.
An “accounting documents” agent will be able to:
- retrieve supplier invoices, from Pennylane or from the mailbox for those that still arrive that way, and extract the supplier, the date and the amounts excl. VAT, VAT and incl. VAT;
- propose the bank reconciliation, that is, link each bank transaction to its invoice;
- list the transactions without a supporting document before the end of the month.
A “reminders” agent will prepare the reminder emails for unpaid invoices. In both cases, the agent prepares and a person approves. It will stop as soon as a document is unreadable, a duplicate is suspected or a supplier is unknown.
A word on electronic invoicing in France. The reform has been in effect since 1 September 2026. Since that date, all companies must be able to receive electronic invoices. An SME like the one in our example has until 1 September 2027 to issue them. These invoices go through a platform approved by the tax authorities. Until then, these companies can still send their invoices directly to their clients. In exactly what form: check with your chartered accountant. The agent will not replace the approved platform: it will work alongside it, without breaking the legal chain.
Pennylane: API V2, authentication, known limits
The version. Pennylane presents V2 as “the official stable version”. V1 has been declared obsolete since July 2025, and users had until the end of 2025 to migrate. A new connection therefore targets V2.
Authentication. There are two routes.
- The company token: a secret key created in the Pennylane settings, shown only once. It needs an Essential plan or higher and administrator access. You choose “read-only” or “read and write”, then a duration: 1, 6 or 12 months, or unlimited.
- The OAuth 2.0 application. OAuth 2.0 is an authorisation protocol: you give an application limited access without handing over your password. The application registers with Pennylane’s Partnerships team. The access token, the temporary key the application receives, expires after 24 hours.
The API terms of use date from January 2024. They call an “API partner” a third party that Pennylane authorises to develop integrations. Under these terms, the OAuth identifier is used to call the API, and Pennylane grants it at its discretion. They also reserve API access for authorised users and API partners, who are bound by confidentiality. The case of a service provider using its client’s token is not clearly covered: we will put the question to Pennylane in writing before any connection.
Permissions. Each access, token or application, carries permissions by type of data, called “scopes”. Each exists in two versions: :readonly for read-only, :all to read, write and, under the page’s general rule, delete. There is no “write without deleting” level. According to the reference page, transactions:readonly is enough to read bank transactions. Recording a reconciliation in Pennylane, however, requires supplier_invoices:all. The same pages still mention the old ledger permission: we will test this in the test environment before writing the agent’s rulebook.
Known limits.
- 25 requests every 5 seconds per token. A request is a call from the program to the API. Beyond that, the API replies with a 429 error (“too many requests”) and says how many seconds to wait.
- Webhooks, the messages Pennylane sends when data changes, are in beta, that is, still in testing. In the meantime, Pennylane advises relying on the endpoints that list changes. An endpoint is a specific address of the API, dedicated to one type of data.
- A test environment is created from the company account: you can try things out without touching real data.
Qonto: API key or OAuth, and why we will use OAuth
The Qonto Business API accepts two authentication modes: the API key and OAuth 2.0.
The API key is for Qonto clients who automate their own business. The developer guidelines consider it simpler. They point towards OAuth 2.0 as soon as sensitive actions are needed or you want to limit permissions to a precise list.
For an integration built for its clients, Qonto refers to the OAuth 2.0 route. That is our choice: even when the agent runs on your servers, we are the ones who will build and connect it. OAuth also lets us give it a closed list of permissions.
Good to know: the API key already opens a lot of doors. For example, it allows you to create a transfer between two accounts of the same company. Creating a SEPA transfer, international transfers and card actions open only with OAuth, and only with the matching permission.
One point to know: with OAuth, reading bank transactions requires the organization.read permission. Qonto classes it as “sensitive”: it gives access to the balance, the IBAN, transactions, the organisation and the team. For an application that connects to its clients’ accounts, this permission goes through Qonto’s approval before going live. Qonto advises requesting only the permissions that are useful. If the agent only needs the PDFs of supplier or client invoices, attachment.read is enough, without organization.read.
Published limits: 1,000 requests per 10 seconds and 10,000 per 10 minutes, per IP address, that is, per network address of the machine calling the API. Download links for attachments expire after 30 minutes. A test environment is open to those registered on the developer portal.
Least access: read-only at the start, no transfers by the agent
Our rule is simple: the agent receives the minimum.
- Read-only by default. At Pennylane:
transactions:readonly,supplier_invoices:readonly,customer_invoices:readonly. At Qonto:organization.read,attachment.readorclient_invoices.read, depending on the real need written in the agent’s rulebook. - Write access only if you ask for it, on a single type of data. Example: attaching a supporting document to a Qonto transaction (
attachment.write). Another example: recording an approved reconciliation in Pennylane, withsupplier_invoices:all. This permission can also give the right to delete supplier invoices: we will tell you before requesting it. - No payment, transfer or card permission: not
payment.write, notinternal_transfer.write, notinternational_transfer.write, notcard.write. Without them, the agent does not have the key to make a transfer, even by mistake.
At the start, every write action goes through your approval. An agent gains autonomy only on measurements (agreement rate, errors) and with your written agreement. Payments stay out of its reach.
Reconciliation will follow the same principle. The agent will read your transactions and your invoices, then propose the matches on an approval screen designed for that purpose. Your team will confirm or correct. Every action will be recorded in a log: what the agent read, what it proposed, who approved, and when.
Frozen versions and API changes: avoiding the silent failure
An API evolves. The real risk is not the outright failure, which you see straight away. It is the silent failure: data that stops arriving, without anyone noticing.
Pennylane gives a recent example. Its 2026 changes guide replaces the old ledger permission with finer permissions. It also changes how some lists are split into pages. The timeline: testing possible from 14 January 2026, new behaviour by default on 8 April, no going back from 1 July 2026.
Pennylane promises an email at least one month before declaring a version obsolete. Every API response also carries a header, a piece of technical information attached to the response: Api-Version-Expires-At gives the end date of an old version. Its terms of use nevertheless reserve the right to change the API “with or without notice”.
At Qonto, a breaking change leads to a new version of the API. Within the same version, Qonto may add fields or endpoints at any time. Qonto does not publish a notice period before withdrawing a version.
Our method provides three safeguards:
- Each deployed agent will have a version number, and so will its connectors. A connector is the part of the program that talks to a software’s API. An update will go through a short series of tests on the test environment.
- The connector will watch for warning signs: Pennylane’s version end-date header, repeated 429 errors, an empty response where it expects data.
- If in doubt, the agent will stop and flag it itself: a ticket will open in our support tool, and you will follow it in your future client area.
Do you use other software?
The method stays the same: read the official documentation, note the version, the authentication and the limits, and say what is not verified. Holded and Exact Online will go through this same survey before the Spanish and Belgian versions of this article. As long as their APIs are not verified at the source, we promise nothing about these connectors.
Going further
- The “Accounting Documents” and “Payment Reminders and Invoices” agents: Our AI agents
- The autonomy levels, from the agent that observes to the supervised autonomous agent: Our method
- The alerts and tickets the agents will open themselves: Supervision
- Where your data is processed: Data and security
- Take stock of your tools and their APIs: the audit, €490 excl. VAT, deducted from the set-up quote if you sign it within 30 days