CIIFragments Studio is CII-accredited: recover up to 20% of your software development spendLearn more

Integrator for Pennylane

Integrating the Pennylane API into your system

We wire Pennylane into your SaaS or billing stack: the invoice created in the product lands at the firm, the payment matches, with no export on the 10th.

  • Senior product team
  • accounting connectors in production
  • from scoping to monitoring
In short

Why work with a Pennylane integrator and why wire it into your platform?

Pennylane is online accounting for founders and their accountants, with a public API on sales, purchases, bank and ledger. You integrate it so your platform pushes business events into Pennylane: invoice issued, payment received, credit note. Pennylane stays the firm's system of record; your product stays the field tool. The work is mapping order, invoice and refund to the Pennylane model, in the right direction, without a parallel spreadsheet.

Use cases

What Pennylane changes in your platform

01

Invoice created in the app, visible in Pennylane

An invoice issued in your SaaS or business tool lands in accounting with its attachment. No monthly catch-up by the firm and no intermediate file.

02

Stripe or bank payment that matches itself

The collection carries its reference through to Pennylane, which does the matching. You do not write a reconciliation engine on the side, or a tracking spreadsheet.

03

Credit note or refund that reverses

A return or refund triggered in the product creates the reverse entry. Support and accounting share the same event, aligned with the books.

04

Several client files from the same system

One firm token tracks document collection across hundreds of client files from your platform, instead of one integration per company.

For you

What it changes in your product

Engineering in service of a measurable outcome: invoice from the product, matching from the funnel, Pennylane as the reference.

No more export on the 10th

Documents leave the product as they happen. The monthly appointment with a file to correct drops off the schedule.

Matching stops being parallel work

Payments carry their reference and match in Pennylane. What used to be manual becomes the exception to handle.

One figure in the product and at the firm

Your dashboard and your accounting start from the same source. You stop holding meetings to explain the gap between the two.

A connector wired into your touchpoints

Code delivered, documented, wired into billing, collection and support. You are locked into neither a black box nor a generic connector.

Method

How we ship your Pennylane connector

01

Scoping

Where Pennylane enters your product: billing, collection, credit notes, multi-file. Token type, backfill volume, scopes: we list the edge cases before the code.

02

Mapping

Matching your business objects to the Pennylane model, an identifier table, validated with your accountant. This decides whether the product invoice posts correctly.

03

Development and testing

A connector wired into your business events. Rate-limited client, filtered pagination, decimal amounts, retry queue. Replay invoice → payment → credit note.

04

Monitoring

Consistency check against the trial balance, alerts on gaps. You see an incident before it breaks close or support.

What the API allows

What the API brings to your platform

Push sales from the product
Customers, products, quotes, invoices and subscriptions. The flow that links your sales front or SaaS to the firm's books.
Bring purchases into the same system
Import supplier invoices and purchase requests, with routing into your internal approval circuit before booking.
Read the ledger for ops dashboards
Journals, accounts, entries, trial balance, fiscal years and FEC export. Enough to feed reporting reconciled with the books, not beside them.
Send the e-invoice from the product
Import Factur-X, UBL or CII, send to the accredited platform and track status. The journey stays inside your application.
Glossary

The vocabulary of the Pennylane API

Company token and firm token
The first opens a single company, the second several client files. A firm token demands strict partitioning in the application, encryption at rest and a documented rotation.
Read-only or full scope
Each resource is requested for reading or for writing. A clean integration asks only for what it needs, and that list is something you can hand to an IT director.
transaction_reference
The object carrying an invoice's payment reference. Filled in, it triggers automatic matching; left empty, it silently switches matching off.
Pagination cursor
The next-page token. It does not encode your filters: they have to be resent with every request, otherwise the following pages come back unfiltered.
ledger_account
The chart-of-accounts account, formerly named plan_item. That rename is part of a series that breaks connectors written for the first version of the API.
Amounts as strings
In v2, monetary values travel as text. A client typed as a number produces validation errors or, worse, silent rounding on accounting entries.
Good to know

The real constraints of the Pennylane API

01

Twenty-five requests every five seconds

The limit is low, and it applies per token. A naive history backfill saturates it within seconds: it has to run in the background, split by period and driven by the counters returned on every response.

02

The cursor does not encode your filters

If the filter and sort are not resent with the cursor, the following pages come back unfiltered, without a single HTTP error. It is the costliest bug on this API because it silently produces wrong data.

03

Webhooks cover almost nothing

Three events in beta, all tied to electronic invoicing and files. There is no event for an entry being created: any general sync goes through the changelog endpoints or a measured re-read.

04

Matching is limited to three sources

Bank transfers by description, Stripe and GoCardless. A payment taken through another provider does not match on its own: the rule has to be planned on the connector side.

Pennylane or installed accounting

Pennylane or installed accounting software?

Two ways to wire your platform into accounting. The right choice depends on the software you already run, not on how modern the API is.

CriterionPennylaneNative web APIInstalled accountingSage 100, EBP, Cegid
Access channelPublic REST APIBusiness objects or a component to host
Time to first accessOne token, a few daysServer access, network, scheduling
Electronic invoicingImport and send through the APIDepends on the range and the version
Multi-file accounting firmOne token for several companiesOne access per installation
Real timeLimited webhooks, changelog as fallbackMost often a scheduled batch
Available throughput25 requests / 5 s per tokenDepends on the server and its load
The right caseFlows as they happen, a cloud-native SMEInstalled software and heavy accounting history

The choice usually belongs to your accountant, not to your IT department. We integrate both, and we know how to make them coexist during a migration.

Our expertise

What we measure on a Pennylane integration

15 d
first invoice → Pennylane flow in production
€0.00
gap tolerated against the trial balance
3 years
of history backfilled without hitting the quota
4
senior developers on the project
Compare

The other accounting software

If Pennylane is not the core of your billing / close journey, these options are worth discussing during scoping.

We combine Pennylane with

The stack around Pennylane when we wire it into a SaaS or a billing product.

  • Qonto
  • Stripe
  • GoCardless
  • PostgreSQL
  • n8n
FAQ

Pennylane integration: your questions

We wire it into your product touchpoints: invoice issued, payment received, credit note, multi-file. First the right token (company or firm) with strict scopes. Then a connector that respects the rate limit, keeps filters and sort on pagination, and treats amounts as decimals. Finally the mapping table from your business IDs to Pennylane's. The real difficulty is not the technical call; it is the accounting mapping.

Certification is a commercial label from the vendor, useful for rolling out the tool itself. To wire Pennylane into a custom platform, what counts is accounting-connector experience and rigour on the mapping: chart of accounts, journals, analytical categories, and the rule when a gap appears. We claim no Pennylane partner status: we act as the development team on the integration, with your accountant.

It depends on the number of flows, their direction and how much history has to be backfilled. Pushing customer invoices from your software costs far less than a full chain with supplier invoices, payment matching, electronic invoicing and a consistency check against the trial balance. The state of your customer register weighs as much as the engineering: duplicates left unhandled upstream end up in the accounts. We scope the perimeter up front and give a firm estimate before starting.

Yes, and those are the two most frequent requests. Pennylane natively matches payments coming from a bank transfer, from Stripe and from GoCardless, provided the invoice carries the right payment reference: filling that in is precisely the connector's job. For Qonto, we build the flow that pushes banking operations with their receipts into Pennylane, handling account mapping and discrepancy cases. A payment taken through another provider needs a matching rule written on the connector side.

A fair question, and the answer comes down to one constraint: the API accepts twenty-five requests every five seconds per token. A backfill therefore runs in the background, split by period, with a persisted cursor to resume after an interruption and a recovery window to catch objects modified in the meantime. In practice, three years of invoicing is backfilled over a few nights without ever approaching the limit or blocking your day-to-day flows. It is a sizing question, not an obstacle.

A Pennylane integration project?

Let's talk. 30 minutes to scope where Pennylane enters your platform (billing, payments, support) and tell you honestly what is feasible.

Discuss my Pennylane project
Discuss my Pennylane project