Financial

Pennylane MCP Server

Connect your account, then chat with AI to run tools.

Connect Pennylane accounting and invoicing so AI agents can read customers, invoices, ledger entries, bank transactions, and trial balance — and automate AR/AP workflows on French SMB finance data.

Best forFrench SMB FinanceAccountantsBookkeepersFounder Finance

Try this workflow

Review open receivables

List recent Pennylane customer invoices with status and amounts due. Group overdue rows by customer and summarize who needs follow-up first.

Managed
68 tools
Agent guide included

Opens MCPBundles Studio with this server selected. After sign-in, chat and run tools from the same thread.

Browse all tools

What you can do with Pennylane

Built for

French SMB Finance Teams, Accountants, Bookkeepers, Founder Finance, RevOps

Example workflows

Review open receivables

Turns AR list reads into a collections brief without manual exports.

Try this

List recent Pennylane customer invoices with status and amounts due. Group overdue rows by customer and summarize who needs follow-up first.

Run a trial balance check

Uses fiscal-year context plus the dedicated trial balance read.

Try this

Pull Pennylane trial balance for the current fiscal year to date and flag the largest account balances and any unusual movements.

Plan incremental sync

Shows changelog feeds for operational integrations.

Try this

Use Pennylane customer and invoice changelogs from the last seven days and list which customers and invoices changed for a downstream sync.

Match supplier payments

Chains AP reads with nested payment-match detail.

Try this

List open Pennylane supplier invoices, then fetch payment matches for the first invoice and summarize unmatched bank transactions.

Context to know first

What Pennylane data can MCPBundles work with?

Customer and supplier parties, quotes, customer and supplier invoices, products, categories, ledger accounts, journals, ledger entries, bank accounts and transactions, billing subscriptions, commercial documents, purchase requests, SEPA and GoCardless mandates, changelogs, and trial balance — plus create/update tools when your token has write scopes.

How does Pennylane authentication work on MCPBundles?

Connect a company API bearer token from Pennylane settings (Integrations → API). Grant read scopes for queries and write scopes for upsert, delete, and action tools. Tokens are company-scoped.

What can I do with Pennylane on MCPBundles?

Read and update customers, suppliers, quotes, invoices, products, categories, ledger accounts, journals, ledger entries, bank accounts and transactions, billing subscriptions, commercial documents, changelogs, and trial balance. Import invoices from PDFs, match bank payments, run accounting exports, and assign analytical categories when your token has the right permissions.

AI Skill
SKILL.md

Domain knowledge for Pennylane — workflow patterns, data models, and gotchas for your AI agent.

Pennylane

Pennylane is accounting and invoicing software for French SMBs.

Operational order

  1. Company profile once per session — confirms legal entity, currency, and fiscal settings before party or invoice work.
  2. Customers and suppliers when you need party ids for invoice filters.
  3. Products and categories when building or checking invoice line references.
  4. Customer invoices / supplier invoices for AR/AP — always paginate; large firms span many cursor pages.
  5. Ledger accounts, journals, and ledger entries for GL structure and postings.
  6. Quotes for open sales quotes before they convert to invoices.
  7. Bank accounts and transactions before payment matching actions.
  8. Changelogs for incremental sync — set resource to the entity family; use start_date on first page, then cursor only.

Reads

Omit id to list with cursor pagination; pass id to fetch one row.

Bulk GL extracts

For full-period books, use the export action — not unbounded ledger line pagination. Start with export_type (fec, general_ledger, or analytical_general_ledger), period_start, and period_end; poll with the returned id until status is ready; set download=true on the poll call to fetch via a spillover link (file links expire in ~30 minutes). Analytical exports accept mode in_line or in_column.

Analytical categories

One categorize write covers customers, suppliers, both invoice types, and bank transactions — pass resource plus a JSON array of {id, weight} (weights in the same group must sum to 1).

Pagination

  • Use cursor (opaque token from next_cursor) and limit (default 25, max 100 on most lists; changelogs allow up to 1000).
  • Re-send filter and sort on every page when the list is filtered or sorted.
  • Changelog feeds: use start_date OR cursor, never both. Retention is ~4 weeks.
  • Do not request huge pages on invoice lists — filter by customer_id, supplier_id, or date when possible.

Trial balance

Requires period_start and period_end (YYYY-MM-DD) plus optional cursor pagination.

Invoice lifecycle

  • From quote — convert an accepted quote into a customer invoice.
  • Import — upload the PDF or e-invoice file first (returns file_attachment_id), then import customer or supplier invoice with that id.
  • Finalize — draft customer invoices only.
  • Email delivery — finalized or imported customer invoices and quotes; if the PDF is still generating, wait a few minutes and try again.
  • Match payment — link bank transactions to finalized customer or supplier invoices.
  • Validate AP — mark supplier invoice accounting complete.
  • Quote statuspending, accepted, denied, invoiced, or expired (separate from line edits).

Filtering

Optional filter is a JSON array: [{"field":"…","operator":"eq","value":"…"}]. Common operators: eq, not_eq, lt, lteq, gt, gteq, in, not_in (field support varies by resource).

Writes

  • Upsert pattern — omit id to create; pass id to update. Use body_json when typed fields are not enough.
  • Customers — set customer_type to company or individual.
  • Supplier invoices — updates require an existing id; importing a file uses the dedicated import action with body_json when needed.
  • Delete customer invoice — draft invoices only.
  • Monetary amounts are decimal strings, not floats.
  • File upload — inline base64 is capped at 1 MB; use file_url for larger PDFs (up to 100MB). Local-only files over 1 MB need MCPBundles Desktop to stage bytes first. A presigned download link from a prior large read can be passed as file_url.
  • Nested reads — pass parent_id for invoice lines, payments, matches, customer categories/contacts, commercial document lines, etc.

Large read payloads

List and detail responses return JSON inline when small. Oversize payloads return a presigned download link — open it for full JSON, or pass that URL as file_url on upload/import steps.

Data model

  • Customers, Suppliers — parties.
  • Customer invoices, Quotes, Supplier invoices — billing documents.
  • Products, Categories, Category groups, Ledger accounts — catalog and chart structure.

Tools in this Server (68)

Pennylane Categorize

Replace analytical categories on a Pennylane customer, supplier, invoice, or bank transaction. Set resource to the entity type and pass categories_jso...

Pennylane Create Customer Invoice From Quote

Create a customer invoice from an existing Pennylane quote. The invoice inherits quote customer and line data.

Pennylane Delete Customer Invoice

Delete a draft Pennylane customer invoice or draft credit note. Finalized invoices cannot be deleted.

Pennylane Export

Start or poll Pennylane async exports (fec, general_ledger, analytical_general_ledger). Omit id and pass period_start/period_end to start a job (retur...

Pennylane Finalize Customer Invoice

Finalize a draft customer invoice or credit note. Finalized documents cannot be edited through upsert.

Pennylane Get Bank Accounts

List or fetch Pennylane bank accounts linked for reconciliation.

Pennylane Get Bank Establishments

List or fetch Pennylane bank establishment reference rows for account setup.

Pennylane Get Billing Subscriptions

List or fetch Pennylane recurring billing subscriptions that generate customer invoices.

Pennylane Get Categories

List or fetch Pennylane accounting categories. Omit id for cursor-paginated lists; pass id for one category. Use filter on supported fields when narro...

Pennylane Get Category Group Categories

List or fetch categories belonging to one Pennylane category group. Pass parent_id from a category group list or fetch (omit id on that read to list g...

Pennylane Get Category Groups

List or fetch Pennylane category groups used to organize reporting categories.

Pennylane Get Changelog

Incremental change feed for Pennylane sync. Set resource to the entity family (customers, customer_invoices, supplier_invoices, products, quotes, supp...

Pennylane Get Commercial Document Lines

List invoice lines on a Pennylane commercial document.

Pennylane Get Commercial Documents

List or fetch Pennylane commercial documents (proposals, delivery notes, etc.).

Pennylane Get Cust Inv Matches

List bank transactions matched to a Pennylane customer invoice.

Pennylane Get Customer Categories

List analytical categories assigned to a Pennylane customer.

Pennylane Get Customer Contacts

List contacts linked to a Pennylane customer.

Pennylane Get Customer Invoice Lines

List invoice lines on a Pennylane customer invoice or credit note.

Pennylane Get Customer Invoice Payments

List payments recorded against a Pennylane customer invoice.

Pennylane Get Customer Invoices

List or fetch Pennylane customer invoices and credit notes. Large accounts need cursor pagination — keep limit modest and filter by customer_id or dat...

Pennylane Get Customer Invoice Templates

List Pennylane customer invoice PDF templates available for new invoices.

Pennylane Get Customers

List or fetch Pennylane customers (company and individual). Filter on customer_id, external_reference, name, or emails when known.

Pennylane Get Fiscal Years

List or fetch Pennylane company fiscal years.

Pennylane Get Gocardless Mandates

List or fetch Pennylane GoCardless payment mandates.

Pennylane Get Journals

List or fetch Pennylane accounting journals.

Pennylane Get Ledger Accounts

List or fetch Pennylane chart-of-accounts rows. Large charts paginate by cursor — do not assume a single page holds the full COA.

Pennylane Get Ledger Entries

List or fetch Pennylane ledger entries including drafts. Filter by date when scanning closed periods.

Pennylane Get Ledger Entry Lines

List or fetch Pennylane ledger entry lines across entries. Filter by date or ledger account when scanning GL detail.

Pennylane Get Ledger Entry Lines For Entry

List ledger entry lines belonging to one Pennylane ledger entry.

Pennylane Get Pa Registrations

List Pennylane Partner Dematerialization Platform (PA) registration rows for e-invoicing onboarding status.

Pennylane Get Products

List or fetch Pennylane product catalog rows referenced on invoices and quotes.

Pennylane Get Profile

Read the connected Pennylane company and API user: legal company name, registration identifiers, base currency, fiscal-year settings, and the user tie...

Pennylane Get Purchase Requests

List or fetch Pennylane purchase requests and linked purchase orders.

Pennylane Get Quotes

List or fetch Pennylane sales quotes.

Pennylane Get Sepa Mandates

List or fetch Pennylane SEPA direct debit mandates.

Pennylane Get Supp Inv Matches

List bank transactions matched to a Pennylane supplier invoice.

Pennylane Get Supplier Invoice Lines

List invoice lines on a Pennylane supplier invoice.

Pennylane Get Supplier Invoice Payments

List payments recorded against a Pennylane supplier invoice.

Pennylane Get Supplier Invoices

List or fetch Pennylane supplier (purchase) invoices. Use filter on supplier_id or date — AP volume can span thousands of pages.

Pennylane Get Suppliers

List or fetch Pennylane suppliers for purchase invoices and AP workflows.

Pennylane Get Transaction Matched Invoices

List customer and supplier invoices matched to a bank transaction.

Pennylane Get Transactions

List or fetch Pennylane bank transactions. Use filter on bank_account_id or date before paginating large feeds.

Pennylane Get Trial Balance

Fetch Pennylane trial balance for a date range. Requires period_start and period_end. Paginates with cursor and limit.

Pennylane Import Customer Invoice

Create a customer invoice from an uploaded PDF or e-invoice file already stored in Pennylane. Requires file_attachment_id from the file upload step. P...

Pennylane Import Supplier Invoice

Import a supplier invoice with an attached file via JSON body. Use body_json for the full import payload including file_attachment_id.

Pennylane Mark Customer Invoice Paid

Mark a customer invoice as paid without automatic bank reconciliation.

Pennylane Match Customer Invoice Transaction

Match one bank transaction to a finalized customer invoice. Call once per transaction; repeat to match multiple payments.

Pennylane Match Supplier Invoice Transaction

Match one bank transaction to a supplier invoice. Call once per transaction; repeat to match multiple payments.

Pennylane Send Customer Invoice By Email

Deliver a finalized or imported customer invoice to a recipient by email through Pennylane. If Pennylane reports the PDF is still generating, wait a f...

Pennylane Send Quote By Email

Deliver a Pennylane quote to a recipient by email through Pennylane. If Pennylane reports the PDF is still generating, wait a few minutes and call aga...

Pennylane Unmatch Customer Invoice Transaction

Remove a bank transaction match from a finalized customer invoice.

Pennylane Unmatch Supplier Invoice Transaction

Remove a bank transaction match from a supplier invoice.

Pennylane Update Quote Status

Change a Pennylane quote lifecycle status. Pass status (pending, accepted, denied, invoiced, or expired) or body_json with {"status": "accepted"}. Sta...

Pennylane Upload File Attachment

Upload a file to Pennylane file_attachments (PDF/images, max 100MB). Returns file_attachment_id for customer_invoices/import and supplier_invoices/imp...

Pennylane Upsert Bank Account

Create a Pennylane bank account.

Pennylane Upsert Billing Subscription

Create or update a Pennylane recurring billing subscription. Use body_json for invoice line sections when needed.

Pennylane Upsert Category

Create or update a Pennylane category. Omit id to create; pass id to update. Use body_json when typed fields are not enough.

Pennylane Upsert Customer

Create or update a Pennylane customer. Set customer_type to company or individual. Omit id to create.

Pennylane Upsert Customer Invoice

Create or update a Pennylane customer invoice or credit note. Omit id to create a draft or finalized invoice. Pass invoice_lines via body_json for ful...

Pennylane Upsert Journal

Create or update a Pennylane accounting journal.

Pennylane Upsert Ledger Account

Create or update a Pennylane ledger account.

Pennylane Upsert Ledger Entry

Create or update a Pennylane ledger entry. Pass journal_id, date, and ledger_entry_lines via body_json for full control.

Pennylane Upsert Product

Create or update a Pennylane product. Monetary amounts are decimal strings. Use body_json for invoice-line fields not listed here.

Pennylane Upsert Quote

Create or update a Pennylane sales quote. Use body_json for quote line sections and appendices when needed.

Pennylane Upsert Supplier

Create or update a Pennylane supplier. Omit id to create; pass id to update.

Pennylane Upsert Supplier Invoice

Update an existing Pennylane supplier invoice by id. To import a new invoice from a file, use the supplier invoice import action with body_json.

Pennylane Upsert Transaction

Create or update a Pennylane bank transaction. Amount fields are decimal strings.

Pennylane Validate Supplier Invoice Accounting

Mark a supplier invoice accounting as complete (Complete state).

Frequently Asked Questions

What Pennylane data can MCPBundles work with?

Customer and supplier parties, quotes, customer and supplier invoices, products, categories, ledger accounts, journals, ledger entries, bank accounts and transactions, billing subscriptions, commercial documents, purchase requests, SEPA and GoCardless mandates, changelogs, and trial balance — plus create/update tools when your token has write scopes.

How does Pennylane authentication work on MCPBundles?

Connect a company API bearer token from Pennylane settings (Integrations → API). Grant read scopes for queries and write scopes for upsert, delete, and action tools. Tokens are company-scoped.

What can I do with Pennylane on MCPBundles?

Read and update customers, suppliers, quotes, invoices, products, categories, ledger accounts, journals, ledger entries, bank accounts and transactions, billing subscriptions, commercial documents, changelogs, and trial balance. Import invoices from PDFs, match bank payments, run accounting exports, and assign analytical categories when your token has the right permissions.

Why might a tool return a download link instead of JSON?

Large list or detail payloads spill to a short-lived download URL so agents stay within MCP size limits. Open the link for the full JSON, or pass it as file_url when uploading attachments for invoice import.

How do I connect Pennylane to my AI agent?

Add the MCPBundles server URL to your MCP client configuration (Claude Desktop, Cursor, VS Code, etc.). The URL format is: https://mcp.mcpbundles.com/bundle/pennylane. Authentication is handled automatically.

How many tools does Pennylane provide?

Pennylane provides 68 tools that can be called by AI agents, along with a SKILL.md that gives your AI agent domain knowledge about when and how to use them.

What authentication does Pennylane require?

Pennylane uses API Key. Pennylane requires credentials. Connect via MCPBundles and authentication is handled automatically.

Setup Instructions

Connect Pennylane to any MCP client in minutes

MCP URL
https://mcp.mcpbundles.com/bundle/pennylane

One-click install:

The link prefills the Add custom connector dialog — you still review the values and click Add, then Connect to complete OAuth.

Or add manually

  1. Open claude.ai → Settings → Connectors.
  2. Click the + button and choose Add custom connector.
  3. Set Name to Pennylane and paste the MCP URL into Remote MCP server URL.
  4. Click Add. Pennylane will appear under Not connected — select it and click Connect to complete OAuth.
Name: Pennylane
Remote MCP server URL: https://mcp.mcpbundles.com/bundle/pennylane
Authentication: OAuth

Custom connectors at claude.ai require a paid Claude plan (Pro, Max, Team, or Enterprise).

Ready to use Pennylane?

Sign in to connect your credentials and start running tools from the chat.

Pennylane MCP Server & Skill