> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ledgitify.com/llms.txt
> Use this file to discover all available pages before exploring further.

# What Ledgitify accesses in Xero

> Every Xero permission Ledgitify requests, what it's for, and why it's read-only.

Ledgitify requests the **minimum** permissions it needs to build your budget reports, and every one
of them is **read-only**. Ledgitify never creates, edits, voids, or deletes anything in your Xero
organisation.

<Warning>
  Ledgitify makes **no changes** in Xero. There is no scenario in which connecting Ledgitify alters
  your accounts, invoices, contacts, or journals. It only reads.
</Warning>

## Identity permissions

| Permission                   | What it's for                                                                                               |
| ---------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `openid`, `profile`, `email` | Confirms who you are and pre-fills your name and email when you sign up with Xero.                          |
| `offline_access`             | Lets Ledgitify refresh its own access securely in the background so you don't have to reconnect every hour. |

## Accounting permissions (all read-only)

| Permission                         | What it reads                                                                 | Why Ledgitify needs it                                                            |
| ---------------------------------- | ----------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| `accounting.banktransactions.read` | Bank transactions (money spent and received)                                  | The core cash movements you allocate to budget lines.                             |
| `accounting.invoices.read`         | Bills (money owed) and sales invoices (money owing to you)                    | Expense and revenue tracking against your budget.                                 |
| `accounting.manualjournals.read`   | Manual journals                                                               | Non-cash items such as depreciation, accruals, and in-kind contributions.         |
| `accounting.settings.read`         | Chart of accounts, tracking categories, and your organisation's base currency | To label transactions correctly and, optionally, pre-filter by tracking category. |
| `accounting.contacts.read`         | Contacts                                                                      | So each transaction shows its payee, supplier, or funder.                         |

## What Ledgitify does **not** request

* **No write access** of any kind. There is no `.write` scope in the list above.
* **No payroll access** by default. Payroll is a future feature and is only requested once
  separately approved, so payroll data is not accessed unless you explicitly enable it.

## How your access is stored and protected

* Ledgitify stores a Xero **access token**, never your Xero password.
* Tokens are refreshed automatically before they expire (Xero access tokens last 60 minutes).
* If you disconnect, or revoke access from within Xero, Ledgitify detects it, stops syncing, and
  clears the stored token. See [Disconnecting Xero](/disconnect-xero).
