{
 "categories": [
  "accounting"
 ],
 "deployment": "saas",
 "evidence": [
  {
   "date": "2026-10-16",
   "fact": "homepage",
   "note": "The French homepage presents Pennylane as the platform for finances, accounting, and the professional account.",
   "source": "https://www.pennylane.com/fr/",
   "tier": "declared"
  },
  {
   "date": "2026-10-16",
   "fact": "name",
   "note": "The page title and body use the name Pennylane.",
   "source": "https://www.pennylane.com/fr/",
   "tier": "declared"
  },
  {
   "date": "2026-10-16",
   "fact": "vendor",
   "note": "pennylane.com publishes the MCP connector as the official Pennylane connector.",
   "source": "https://www.pennylane.com/fr/mcp",
   "tier": "declared"
  },
  {
   "date": "2026-10-16",
   "fact": "categories",
   "note": "The homepage leads with accounting, invoicing, and financial management. The record category is accounting.",
   "source": "https://www.pennylane.com/fr/",
   "tier": "declared"
  },
  {
   "date": "2026-10-16",
   "fact": "license",
   "note": "The MCP guide says company access needs a paid plan, Essentiel and above, and that the Free, Starter, and Basic plans are not eligible. A named free plan makes the license freemium.",
   "source": "https://pennylane-mcp.readme.io/docs/getting-started",
   "tier": "declared"
  },
  {
   "date": "2026-10-16",
   "fact": "deployment",
   "note": "API calls go to https://app.pennylane.com and tokens are created by logging into the Pennylane account. Pennylane hosts that workspace. Deployment is saas.",
   "source": "https://pennylane.readme.io/docs/generating-my-api-token",
   "tier": "declared"
  },
  {
   "date": "2026-10-16",
   "fact": "platforms",
   "note": "The token is created in the logged-in Pennylane workspace under Settings, Connectivity, Developers. That is a browser app. Platforms include web.",
   "source": "https://pennylane.readme.io/docs/generating-my-api-token",
   "tier": "declared"
  },
  {
   "date": "2026-10-16",
   "fact": "modalities.api.exists",
   "note": "The API overview says the API can access and sync invoicing, accounting, banking, and financial data.",
   "source": "https://pennylane.readme.io/docs/api-overview",
   "tier": "declared"
  },
  {
   "date": "2026-10-16",
   "fact": "modalities.api.kinds[0]",
   "note": "The token example is an HTTPS GET to /api/external/v2/me with a JSON response. The choice guide describes resource endpoints for invoices, entries, and reports.",
   "source": "https://pennylane.readme.io/docs/generating-my-api-token",
   "tier": "declared"
  },
  {
   "date": "2026-10-16",
   "fact": "modalities.api.auth[0]",
   "note": "Company API tokens are bearer tokens. Every request sends Authorization Bearer with the company token.",
   "source": "https://pennylane.readme.io/docs/generating-my-api-token",
   "tier": "declared"
  },
  {
   "date": "2026-10-16",
   "fact": "modalities.api.auth[1]",
   "note": "Pennylane documents OAuth 2.0 authorization code at https://app.pennylane.com/oauth/authorize. The token response includes a Bearer access token and a refresh token. The walkthrough says company customers should use API tokens, and partners and firms use this flow.",
   "source": "https://pennylane.readme.io/docs/oauth-20-walkthrough",
   "tier": "declared"
  },
  {
   "date": "2026-10-16",
   "fact": "modalities.api.coverage",
   "note": "The Company API covers sales, purchases, accounting entries, and reports, on Essential or higher. Firm Group access is on request. Scopes can be read-only. Coverage is partial.",
   "source": "https://pennylane.readme.io/docs/what-apis-are-available",
   "tier": "declared"
  },
  {
   "date": "2026-10-16",
   "fact": "modalities.api.docs",
   "note": "Opened as the current Company API token guide.",
   "source": "https://pennylane.readme.io/docs/generating-my-api-token",
   "tier": "declared"
  },
  {
   "date": "2026-10-16",
   "fact": "modalities.mcp.first_party",
   "note": "The Pennylane product page publishes https://mcp.pennylane.com/mcp as the official connector and says authentication is OAuth.",
   "source": "https://www.pennylane.com/fr/mcp",
   "tier": "declared"
  },
  {
   "date": "2026-10-16",
   "fact": "modalities.mcp.verdict",
   "note": "The MCP documentation describes the official server, OAuth 2.1 with PKCE, and a read-only tool list. The verdict is official.",
   "source": "https://pennylane-mcp.readme.io/docs/getting-started",
   "tier": "declared"
  },
  {
   "date": "2026-10-16",
   "fact": "modalities.extensibility.webhooks",
   "note": "The webhooks page says Pennylane sends an HTTP POST to a registered HTTPS endpoint when a subscribed event occurs, and it marks the feature beta.",
   "source": "https://pennylane.readme.io/docs/webhooks",
   "tier": "declared"
  },
  {
   "date": "2026-10-16",
   "fact": "modalities.data_access.export[0]",
   "note": "The example response for GET /api/external/v2/me is a JSON object with user and company fields.",
   "source": "https://pennylane.readme.io/docs/generating-my-api-token",
   "tier": "declared"
  },
  {
   "date": "2026-10-16",
   "fact": "modalities.data_access.export[1]",
   "note": "The Company API and Firm API feature lists include accounting reports such as the trial balance, FEC, and ledger.",
   "source": "https://pennylane.readme.io/docs/what-apis-are-available",
   "tier": "declared"
  },
  {
   "date": "2026-10-16",
   "fact": "modalities.data_access.import[0]",
   "note": "The help article says Company API v2 can import customer and supplier invoices as Factur-X PDF files.",
   "source": "https://help.pennylane.com/fr/articles/18770-utiliser-les-api-publiques-pennylane",
   "tier": "declared"
  },
  {
   "date": "2026-10-16",
   "fact": "verdict.scores.api",
   "note": "A documented bearer API with read and write scopes, OAuth for partners, rate limits, and beta webhooks is practical. The Essential-plan gate and partner approval for OAuth keep the score at 7.",
   "source": "https://pennylane.readme.io/docs/generating-my-api-token",
   "tier": "declared"
  },
  {
   "date": "2026-10-16",
   "fact": "verdict.scores.mcp",
   "note": "An official read-only server with invoices, ledger, tax returns, and an operations catalog is useful. The absence of writes keeps the score at 6.",
   "source": "https://pennylane-mcp.readme.io/docs/getting-started",
   "tier": "declared"
  },
  {
   "date": "2026-10-16",
   "fact": "freshness.watch[0].url",
   "note": "Opened and verified as the current Company API token guide, including the Bearer header.",
   "source": "https://pennylane.readme.io/docs/generating-my-api-token",
   "tier": "declared"
  },
  {
   "date": "2026-10-16",
   "fact": "freshness.watch[1].url",
   "note": "Opened and verified as the current OAuth 2.0 walkthrough, including 24-hour access tokens and 90-day refresh tokens.",
   "source": "https://pennylane.readme.io/docs/oauth-20-walkthrough",
   "tier": "declared"
  },
  {
   "date": "2026-10-16",
   "fact": "freshness.watch[2].url",
   "note": "Opened and verified as the current Pennylane MCP guide, including the read-only tool tables.",
   "source": "https://pennylane-mcp.readme.io/docs/getting-started",
   "tier": "declared"
  },
  {
   "date": "2026-10-16",
   "fact": "freshness.watch[3].url",
   "note": "Opened and verified as the current webhooks page. It marks webhooks beta.",
   "source": "https://pennylane.readme.io/docs/webhooks",
   "tier": "declared"
  }
 ],
 "freshness": {
  "last_verified": "2026-10-16",
  "volatility": "high",
  "watch": [
   {
    "type": "docs",
    "url": "https://pennylane.readme.io/docs/generating-my-api-token"
   },
   {
    "type": "docs",
    "url": "https://pennylane.readme.io/docs/oauth-20-walkthrough"
   },
   {
    "type": "mcp",
    "url": "https://pennylane-mcp.readme.io/docs/getting-started"
   },
   {
    "type": "docs",
    "url": "https://pennylane.readme.io/docs/webhooks"
   }
  ]
 },
 "homepage": "https://www.pennylane.com/fr/",
 "id": "pennylane",
 "license": "freemium",
 "modalities": {
  "agent_docs": {
   "llms_txt": "unknown"
  },
  "api": {
   "auth": [
    "bearer",
    "oauth2"
   ],
   "coverage": "partial",
   "docs": "https://pennylane.readme.io/docs/generating-my-api-token",
   "exists": true,
   "kinds": [
    "rest"
   ]
  },
  "cli": {
   "exists": "unknown"
  },
  "computer_use": {
   "issues": [],
   "viability": "unknown"
  },
  "data_access": {
   "export": [
    "json",
    "fec"
   ],
   "import": [
    "factur-x"
   ]
  },
  "extensibility": {
   "scripting": [],
   "webhooks": true
  },
  "integrations": {
   "make": "unknown",
   "n8n": "unknown",
   "power_automate": "unknown",
   "zapier": "unknown"
  },
  "mcp": {
   "first_party": true,
   "third_party": [],
   "verdict": "official"
  },
  "rpa": {
   "drivability": "unknown",
   "notes": "No repeatable UI probe was run. Tokens are created in the Pennylane workspace under Settings, Connectivity, Developers. The documented machine paths are the API and the hosted read-only MCP server. This record is Pennylane, not Qonto.\n",
   "ui_stack": [
    "web-dom"
   ],
   "vendor_support": []
  },
  "sdk": {
   "exists": "unknown",
   "languages": [],
   "official": "unknown"
  }
 },
 "name": "Pennylane",
 "platforms": [
  "web"
 ],
 "related": {
  "alternatives": [
   "fortnox",
   "quickbooks",
   "xero"
  ],
  "our_products": []
 },
 "schema_version": 1,
 "score_version": 1,
 "status": "active",
 "vendor": "Pennylane",
 "verdict": {
  "best_path": "api",
  "scores": {
   "api": 7,
   "cli": null,
   "computer_use": null,
   "integrations": null,
   "mcp": 6,
   "overall": 7,
   "rpa": null
  },
  "search": {
   "description": "Pennylane documents bearer tokens and OAuth for its API. The official MCP server is read-only and companies need an Essentiel plan.",
   "title": "Pennylane is automatable through its API"
  },
  "summary": "Pennylane is automatable today through its public API. The Company API token guide says an Essential plan or higher and an executive or accountant role are required. The token is sent as Authorization Bearer. The example call is GET https://app.pennylane.com/api/external/v2/me and the response is JSON. A token is read-only or read-and-write, and it expires after 1 month, 6 months, 12 months, or never. A missing scope returns 403. OAuth 2.0 authorization code is documented for integration partners and for firm-level access. Registering an OAuth app goes through the Partnerships team. The example token response has expires_in 86400, and the guide says access tokens expire after 24 hours. Refresh tokens last 90 days and rotate on use. The API choice guide says the Company API covers sales documents, purchases, accounting entries, and reports such as the trial balance and FEC. The Firm API is for a client portfolio. The Firm Group API is on request. Rate limiting allows 25 requests every 5 seconds per token, and a 429 includes retry-after. Webhooks are documented and marked beta. Pennylane POSTs to an HTTPS endpoint the integration registers. The official MCP server at https://mcp.pennylane.com/mcp uses OAuth 2.1 with PKCE and Streamable HTTP. It is read-only. Company access needs Essentiel or above. The MCP guide says the Free, Starter, and Basic plans are not eligible. The tool reference lists customers, invoices, suppliers, ledger lines, the trial balance, VAT and tax returns, and a read-only operations pair. The guide says writes are planned and that write access uses the API. Zapier, Make, Power Automate, and n8n catalog pages were not opened. Computer-use viability is unassessed. The API scores 7. The MCP server scores 6 because the read surface is broad and writes are absent. The API is the best path because it can create and update records.\n"
 }
}