# Pennylane — Accounting API: configuration

> Canonical URL: https://developers.apideck.com/apis/accounting/pennylane/configuration

# How to connect to the Pennylane API

Apideck enables you to build a native integration with Pennylane. This guide explains how to configure the Pennylane connector.

Pennylane does not run a self-service developer portal. OAuth credentials are issued by Pennylane's Partnerships team after a short validation step: there is no `developer.pennylane.com` site. Plan for the partnership review in your timeline; it is not instant.

> **Note:** Pennylane's partner journey is French-first: the partnership request form and parts of Pennylane's documentation are in French.

## Before you start, you'll need:

- A Pennylane account ([app.pennylane.com](https://app.pennylane.com))
- The redirect URI you want to register: `https://unify.apideck.com/vault/callback`
- A short description of your integration and the [OAuth scopes](https://pennylane.readme.io/docs/v2-scopes) you intend to request

## Step 1: Request OAuth credentials from Pennylane

1. Submit the [Partnership request form](https://www.pennylane.com/fr/contact-demande-de-partenariat/) to Pennylane's Partnerships team. Include:
   - Your company name and a link to your product
   - A short description of the integration use case
   - The list of scopes you intend to request (see below, and [Pennylane scopes](https://pennylane.readme.io/docs/v2-scopes))
   - Your redirect URI: `https://unify.apideck.com/vault/callback`
2. Pennylane's team reviews the request and, once approved, registers your OAuth app and returns a **Client ID** and **Client Secret**.
3. Store both immediately. Pennylane does **not** allow retrieving the Client Secret later: if it is lost, a new OAuth app must be created.

> **Testing while you wait:** the partnership review above is the only way to get an OAuth **Client ID and Secret**: there is no self-service route to those. If you want to start exploring Pennylane's API before that review completes, an existing Pennylane account holder can sign in at [app.pennylane.com](https://app.pennylane.com) and go to **Mon compte → Environnements de test** to generate a developer API token. That token is for testing against your own account only: it does not produce a Client ID/Secret pair, and it cannot be used to connect through [Vault](https://platform.apideck.com/vault). You still need Pennylane's Partnerships team to issue your OAuth app credentials before you can connect consumers.

For the full OAuth flow details, see Pennylane's [OAuth 2.0 walkthrough](https://pennylane.readme.io/docs/oauth-20-walkthrough).

### Scopes requested by the connector

When describing your integration to Pennylane's Partnerships team, request the scopes the Apideck Pennylane connector uses:

```
bank_accounts:all               fiscal_years:readonly
billing_subscriptions:all       journals:all
categories:all                  ledger_accounts:all
commercial_documents:all        ledger_entries:all
customer_invoice_templates:readonly   products:all
customer_invoices:all           purchase_requests:all
customers:all                   quotes:all
exports:fec                     supplier_invoices:all
file_attachments:all            suppliers:all
                                transactions:all
                                trial_balance:readonly
```

Request only the scopes your integration actually needs: a connection authorized without a required scope returns `403` on the affected resource.

## Step 2: Configure the Pennylane connector in Apideck

1. Open the [Pennylane connector configuration](https://platform.apideck.com/configuration/accounting/pennylane) in the Apideck Dashboard.
2. Toggle **Custom credentials** on.
3. Paste the **Client ID** and **Client Secret** issued by Pennylane.
4. Confirm the redirect URI shown matches the one registered with Pennylane (`https://unify.apideck.com/vault/callback`).
5. Save the connector.

## Step 3: Make your first API call

- Connect a Pennylane account through [Vault](https://platform.apideck.com/vault) with a test session.
- Call the [Invoices](https://developers.apideck.com/apis/accounting/reference#operation/invoicesAll) endpoint to confirm the connection:

```
curl --location --request GET 'https://unify.apideck.com/accounting/invoices' \
--header 'x-apideck-consumer-id: test-consumer' \
--header 'x-apideck-app-id: {APIDECK_APP_ID}' \
--header 'x-apideck-service-id: pennylane' \
--header 'Authorization: Bearer {APIDECK_API_KEY}' \
--header 'Content-Type: application/json'
```

## Start building with the Pennylane API

Learn what else you can [build with the Pennylane API](https://www.apideck.com/integrations/pennylane).

Interested in a personalized demo? [Let us know](https://www.apideck.com/demo-request?from=guide).


[API reference](https://developers.apideck.com/apis/accounting/reference.md) · [Coverage matrix](https://developers.apideck.com/apis/accounting/coverage)
