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

# Unified Accounting API

> Unified Accounting API for financial data management across platforms with standardized charts, transactions, and reports.

export const category_0 = "accounting"

<Warning>
  **Legacy documentation.** The Legacy Unified APIs are no longer in active development. Existing functionality remains supported, and no new features or enhancements will be added.

  For the current StackOne platform, connectors, and agent tooling, see [docs.stackone.com](https://docs.stackone.com).
</Warning>

## What is a Unified API?

A **unified API** provides a single, standardized interface to interact with multiple third-party providers. Instead of learning each provider's unique API format, authentication scheme, and data model, you write code once, and StackOne handles the differences.

**What StackOne normalizes:**

* **Data models** – Consistent field names and structures across providers (e.g., `files` in Google Drive, SharePoint, and Dropbox all return the same schema; `users` in Google Workspace, Okta, and 1Password all return the same schema)
* **Authentication** – OAuth, API keys, and tokens are managed per-provider; you just pass an `x-account-id` header
* **Pagination** – Cursor-based pagination works the same regardless of whether the provider uses offsets, pages, or cursors
* **Error formats** – Standardized error responses with provider-specific details when available

<Tip>
  **Building AI agents?** Use the [MCP Server](https://docs.stackone.com/embed/call-actions/mcp), an [AI Toolset SDK](https://docs.stackone.com/embed/call-actions/agent-sdk), or the [Actions API (RPC)](https://docs.stackone.com/platform/api-reference/actions/make-an-rpc-call-to-an-action) instead. Same data, optimized for LLM tool calling.
</Tip>

The StackOne unified API handles financial data management across diverse accounting platforms, managing variations in chart of accounts, transaction structures, and reporting formats while supporting customer-specific workflows and compliance requirements. It enables financial data synchronization, reporting, and analysis without relying on provider-specific schemas. With 2-way API interaction, accounting systems can efficiently manage financial data from multiple sources through a single integration.

## Benefits of the Accounting API

<AccordionGroup>
  <Accordion title="Real-Time Data Synchronization">
    StackOne's APIs support real-time data polling, allowing for immediate updates and synchronization across platforms.
  </Accordion>

  <Accordion title="Privacy-First Design Ensuring Compliance">
    With a [focus on security](https://www.stackone.com/blog/why-your-choice-of-unified-api-could-make-or-break-compliance), StackOne's architecture avoids unnecessary data storage, maintaining compliance with data protection regulations.
  </Accordion>

  <Accordion title="Synthetic and Native Webhooks for Updates">
    Both [synthetic and native webhooks](/legacy-unified-apis/common-guide/webhooks), enable real-time notifications for tickets and comment events.
  </Accordion>

  <Accordion title="Comprehensive Integration Coverage">
    StackOne offers [pre-built connectors](https://www.stackone.com/integrations) with a wide range of {category_0} platforms, simplifying the integration process.
  </Accordion>
</AccordionGroup>

## Key Features

| **Feature**                  | **Description**                                                                                       |
| ---------------------------- | ----------------------------------------------------------------------------------------------------- |
| Chart of Accounts Management | Easily create and manage chart of accounts across multiple accounting platforms with unified fields   |
| Transaction Synchronization  | Keep financial transactions, journal entries, and balances synchronized across all integrated systems |
| Real-Time Webhooks           | Receive instant notifications for new transactions, account changes, and financial updates            |
| Multi-Entity Support         | Manage multiple companies, subsidiaries, and business units within a single integration               |
| Financial Reporting          | Generate standardized financial reports and statements across different accounting systems            |

## StackOne SDKs & OpenAPI Specification

<p class="sdk-text">Use our official SDKs for faster integration. Build with language-native libraries. Full list [here](https://docs.stackone.com/platform-api/api-sdks).</p>

<CardGroup cols={2}>
  <Card title="OpenAPI Specification" icon="link" href="https://api.eu1.stackone.com/oas/accounting.json" arrow="true" cta="Click here" />

  <Card title="Popular SDKs" icon="download" class="sdk-card">
    [Node.js](https://www.npmjs.com/package/@stackone/stackone-client-ts)
    [Java (JVM)](https://mvnrepository.com/artifact/com.stackone/stackone-client-java)
    [PHP](https://packagist.org/packages/stackone/client-sdk)
    [Ruby](https://rubygems.org/gems/stackone_client)
  </Card>
</CardGroup>

## Entity Model and Relationships

The following diagram illustrates the key entities within the Accounting API:

```mermaid theme={null}
%%{init: {
    "er": {
        "layoutDirection": "LR",
        "nodeSpacing":   60,
        "rankSpacing":  120
    },
    "useMaxWidth": false
}}%%
erDiagram
    COMPANY {
        string id
        string remote_id
        string name
        string base_currency
        number fiscal_year_start_month
        number fiscal_year_start_day
    }
    ACCOUNT {
        string id
        string remote_id
        string company_id
        string code
        string name
        string type
        boolean active
    }
    JOURNAL {
        string id
        string remote_id
        string company_id
        string reference
        string memo
        datetime transaction_date
        string status
        array lines
        datetime created_at
        datetime updated_at
        datetime posted_at
    }
    JOURNAL_LINE {
        string id
        string account_id
        string account_type
        string description
        string currency_code
        number exchange_rate
        integer amount
        integer tax_amount
        number tax_rate_percentage
        string tax_rate_id
    }
    TAX_RATE {
        string id
        string remote_id
        string company_id
        string name
        string code
        number percentage
        boolean active
    }

    COMPANY ||--o{ ACCOUNT : ""
    COMPANY ||--o{ JOURNAL : ""
    COMPANY ||--o{ TAX_RATE : ""
    ACCOUNT ||--o{ JOURNAL_LINE : ""
    JOURNAL ||--o{ JOURNAL_LINE : "contains"
    TAX_RATE ||--o{ JOURNAL_LINE : ""
```

## Entity Definitions

| Entity      | Description                                                                                                       |
| ----------- | ----------------------------------------------------------------------------------------------------------------- |
| Company     | A business entity with financial records, including base currency and fiscal year settings.                       |
| Account     | A financial account within the chart of accounts, representing assets, liabilities, equity, revenue, or expenses. |
| Journal     | A journal entry containing multiple lines that maintain accounting equation balance.                              |
| JournalLine | Individual line within a journal entry, linked to a specific account with amount and tax details.                 |
| Tax Rate    | Defines a tax rate (e.g., VAT, GST) for a company, including percentage, code, and status.                        |
