---
title: "List Ledger Entries"
method: GET
path: "/api/external/v2/ledger_entries"
tags: ["Ledger Entries"]
---

# List Ledger Entries

`GET /api/external/v2/ledger_entries`

## Request

- Base URL: `https://app.pennylane.com`
- URL: `https://app.pennylane.com/api/external/v2/ledger_entries`
- Auth: OAuth 2
  - Authorization code: `https://app.pennylane.com/oauth/authorize`
  - Token URL: `https://app.pennylane.com/oauth/oauth/token` scopes: `ledger_entries:readonly`, `ledger_entries:all`

Returns a list of ledger entries.

> ℹ️
> This endpoint requires one of the following scopes: `ledger_entries:readonly`, `ledger_entries:all`

## Query parameters

- `cursor` string
- `limit` integer
- `filter` string
- `sort` string

## Headers

- `X-Company-Id` string

## Response `200`

Returns a list of ledger entries

- object
  - `items` object[], required
    - `id` integer, required: ID of the ledger entry
    - `created_at` string, date-time, required: Created at
    - `updated_at` string, date-time, required: Last update
    - `label` string, nullable, required: Label that describes the ledger entry
    - `piece_number` string, nullable, required
    - `date` string, date, nullable, required: Date of the ledger entry (ISO 8601)
    - `due_date` string, date, nullable, required: The date the invoice is due
    - `invoice_number` string, nullable, required: Invoice number of the document linked to the ledger entry
    - `journal_id` integer, required: This attribute is **deprecated**. Please use `journal` instead. The journal ID where the ledger entry was created
    - `journal` object, required
      - `id` integer, required
      - `url` string, required
    - `status` 'accounting_needed' | 'archived' | 'complete' | 'draft' | 'entry' | 'validation_needed' | 'waiting_details', nullable, required: The accounting state of the entry. - `archived`: The entry has been archived. - `draft`: The customer invoice is still in draft and has not been finalized. - `entry`: The invoice is incomplete, some information is missing and needs to be completed. - `waiting_details`: The entry is awaiting additional accounting details. - `validation_needed`: The entry is sent to the accountant and needs validation. - `accounting_needed`: The entry needs to be processed by the accountant. - `complete`: The entry has been validated by the accountant. - `null` : The entry is neither a transaction nor an invoice that needs to be processed on Pennylane
    - `categories` object[], required
      - `id` integer, required
      - `label` string, required
      - `weight` string, required
      - `category_group` object, required
        - `id` integer, required
      - `analytical_code` string, nullable, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
    - `ledger_attachment_filename` string, nullable, required: This attribute is deprecated. Please use `filename` from `attachment` instead.
    - `attachment` object, nullable, required: The primary accounting file of this ledger entry. For invoices and most document types this is auto-generated by Pennylane. For miscellaneous entries it can be set via `file_attachment_id` on create/update, though that behavior will soon be deprecated. Files attached through the Pennylane UI are exposed separately via `GET /api/external/v2/ledger_entries/{id}/dms_files`.
      - `filename` string, required
      - `url` string, required: URL to the uploaded file.
  - `has_more` boolean, nullable, required: Indicates whether additional results are available beyond this set. Use this flag to determine if another request is needed.
  - `next_cursor` string, nullable, required: Cursor to retrieve the next set of results. Include this value in the cursor parameter of your next request to fetch subsequent items. A `null` `next_cursor` in the response indicates no further results.

## Other responses

- `400`: Bad request
- `401`: Access token is missing or invalid
- `403`: Access to this resource forbidden
- `404`: The resource was not found

## Changes

- **2026-11-03** `871f863307e5`: 1 info
  - added the new optional `header` request parameter `X-Company-Id`

[Operation history](https://skmtc.dev/pennylane/apis/company-v2/changes/api/external/v2/ledger_entries/get.md)

---

[API](https://skmtc.dev/pennylane/apis/company-v2.md) - [All operations](https://skmtc.dev/pennylane/apis/company-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/pennylane/apis/company-v2/revisions/871f863307e5?raw)
