---
title: Unified Accounting API — Truto Unified API
slug: accounting
canonical: "https://truto.one/unified-apis/accounting/"
---

# Financial Management Unified API

Integrate Financial Management data across 11 providers with one API. 25 normalized resources, real-time pass-through, fully customizable.

**Base URL:** `https://api.truto.one/unified/accounting`  
**Resources:** 25  
**Integrations:** 11

## Resources

### Accounts

Account represents bank accounts or a general ledger account (14 fields)

- `id` (string) — The unique identifier for the account
- `name` (string) — The name of the account
- `description` (string) — The description of the account
- `classification` (string) — The classification of the account. If no clear mapping exists, then raw value is returned.
- `type` (string) — The more specific classification of the account
- `status` (string) — The status of the account. If no clear mapping exists, then raw value is returned.
- `current_balance` (number) — The current balance of the account
- `currency` (string) — The currency of the account
- `account_number` (string) — Represents the bank account number if the account is of type bank account.
- `parent_account` (string) — The ID of the parent account of the account
- `company` (string) — The ID of the company the account belongs to
- `created_at` (string) — This represents the date when the accounts was created
- `updated_at` (string) — This represents the date when the accounts was updated
- `etag` (string) — The unique identifier for the specific version of the resource.

### Attachments

Attachment represents the company's attachment (9 fields)

- `id` (string) — The unique identifier for attachment
- `file_name` (string) — The name of the attachment
- `file_url` (string) — The url of the attachment
- `file_size` (number) — The size of the attachment
- `file_type` (string) — The MIME type of the attachment
- `parent` (object) — The parent object of the attachment
- `company` (string) — The company the attachment belongs to
- `created_at` (string) — This represents the date when the attachment was created
- `updated_at` (string) — This represents the date when the attachment was updated

### Budgets

Budget represents the budgets set for a company (9 fields)

- `id` (string) — The unique identifier for budget
- `name` (string) — The name of the budget
- `tracking_categories` (array) — The tracking categories of the budget
- `status` (string) — The status of the budget
- `start_date` (string) — The start date of the budget
- `end_date` (string) — The end date of the budget
- `line_items` (array) — The line items of the budget
- `created_at` (string) — This represents the date when the budget was created
- `updated_at` (string) — This represents the date when the budget was updated

### Company Info

Company Info represents the company's information (13 fields)

- `id` (string) — The unique identifier for company info
- `name` (string) — The name of the company
- `legal_name` (string) — The legal name of the company
- `emails` (array) — 
- `tax_number` (string) — The tax number of the company
- `fiscal_year_end_month` (string) — The fiscal year end month
- `fiscal_year_end_day` (string) — The fiscal year end day
- `currency` (string) — The currency of the company
- `urls` (array) — The urls of the company
- `addresses` (array) — The addresses of the company
- `phones` (array) — The phone numbers of the company
- `created_at` (string) — This represents the date when the company info was created
- `updated_at` (string) — This represents the date when the company info was updated

### Contact Groups

ContactGroup represents the groupings used by the company for their contacts (5 fields)

- `id` (string) — The unique identifier for contact group
- `name` (string) — The name of the contact group
- `status` (string) — The status of the contact group
- `created_at` (string) — This represents the date when the contact group was created
- `updated_at` (string) — This represents the date when the contact group was updated

### Contacts

Contacts represents the company's vendor or a customer (12 fields)

- `id` (string) — The unique identifier for the contact
- `name` (string) — The name of the contact
- `type` (string) — The type of the contact
- `emails` (array) — The emails of the contact
- `tax_number` (string) — The tax number of the contact
- `status` (string) — The status of the contact
- `currency` (string) — The currency of the contact
- `company` (string) — The ID of company the contact belongs to
- `addresses` (array) — The addresses of the contact
- `phones` (array) — The phone numbers of the contact
- `created_at` (string) — This represents the date when the contact was created
- `updated_at` (string) — This represents the date when the contact was updated

### Credit Notes

Credit Notes represents the credit notes of the company (14 fields)

- `id` (string) — The unique identifier for credit notes
- `number` (string) — The number of the credit note
- `status` (string) — The status of the credit note
- `transaction_date` (string) — The transaction date of the credit note
- `contact` (string) — The contact of the credit note
- `company` (string) — The company of the credit note
- `total_amount` (number) — The total amount of the credit note
- `remaining_credit` (number) — The remaining credit of the credit note
- `line_items` (array) — The line items of the credit note
- `currency` (string) — The currency of the credit note
- `payments` (array) — The payments of the credit note
- `created_at` (string) — This represents the date when the credit note was created
- `updated_at` (string) — This represents the date when the credit note was updated
- `tracking_categories` (array) — Tracking categories of the credit notes

### Currencies

Currency represents the currencies used by the company (6 fields)

- `id` (string) — The unique identifier for currency
- `name` (string) — The name of the currency
- `code` (string) — The code of the currency
- `status` (string) — The status of the currency
- `created_at` (string) — This represents the date when the currency was created
- `updated_at` (string) — This represents the date when the currency was updated

### Employees

Employee represents an employee of the company (9 fields)

- `id` (string) — The unique identifier for employee
- `first_name` (string) — The first name of the employee
- `last_name` (string) — The last name of the employee
- `name` (string) — The display name of the employee
- `emails` (array) — The emails of the employee
- `phones` (array) — The phone numbers of employee
- `addresses` (array) — 
- `created_at` (string) — This represents the date when the employee was created
- `updated_at` (string) — This represents the date when the employee was updated

### Expenses

Expenses represents the expenses of the company (11 fields)

- `id` (string) — The unique identifier for expenses
- `transaction_date` (string) — The transaction date of the expense
- `contact` (string) — The contact of the expense
- `company` (string) — The company of the expense
- `currency` (string) — The currency of the expense
- `exchange_rate` (number) — The exchange rate of the expense
- `memo` (string) — The memo of the expense
- `total_amount` (number) — The total amount of the expense
- `line_items` (array) — The line items of the expense
- `created_at` (string) — This represents the date when the expense was created
- `updated_at` (string) — This represents the date when the expense was updated

### Invoices

Invoices represents the invoices of the company (21 fields)

- `id` (string) — The unique identifier for invoices
- `type` (string) — The type of the invoice
- `contact` (object) — The contact for whom the invoice is raised.
- `number` (string) — The number of the invoice
- `issue_date` (string) — The issue date of the invoice
- `due_date` (string) — The due date of the invoice
- `paid_on_date` (string) — The paid on date of the invoice
- `memo` (string) — The private note of the invoice
- `company` (string) — The company the invoice belongs to
- `currency` (string) — The currency of the invoice
- `exchange_rate` (number) — The exchange rate of the invoice
- `total_discount` (number) — The total discount of the invoice
- `sub_total` (number) — The sub total of the invoice
- `total_tax_amount` (number) — The total tax amount of the invoice
- `balance` (number) — The remaining balance of the invoice
- `payments` (array) — List of payment IDs associated with the invoice
- `line_items` (array) — The line items of the invoice
- `status` (string) — The status of the invoice
- `created_at` (string) — This represents the date when the invoice was created
- `updated_at` (string) — This represents the date when the invoice was updated
- `tracking_categories` (array) — Tracking categories of the invoices

### Item Receipts

 (0 fields)

### Items

Items represents the items of the company (13 fields)

- `id` (string) — The unique identifier for the item
- `name` (string) — The name of the item
- `description` (string) — The description of the item
- `status` (string) — The status of the item. If no clear mapping exists, then raw value is returned
- `quantity` (number) — The quantity of the Item.
- `unit_price` (number) — The unit price of the item
- `purchase_price` (number) — The purchase price of the item
- `purchase_account` (string) — The ID of the account used to record the purchase of the item
- `sales_account` (string) — The ID of the account used to record the sale
- `asset_account` (string) — The ID of the account used to record the asset
- `company` (string) — The ID of the company the item belongs to
- `created_at` (string) — This represents the date when the item was created
- `updated_at` (string) — This represents the date when the item was updated

### Journal Entries

Journal Entries represents the journal entries of the company (10 fields)

- `id` (string) — The unique identifier for journal entries
- `payments` (array) — The payments of the journal entry
- `memo` (string) — The private note of the journal entry
- `type` (string) — The type of the journal entry
- `currency` (string) — The currency of the journal entry
- `exchange_rate` (number) — The exchange rate of the journal entry
- `company` (string) — The company the journal entry belongs to
- `lines` (array) — 
- `created_at` (string) — This represents the date when the journal entry was created
- `updated_at` (string) — This represents the date when the journal entry was updated

### Payment Method

Payment method represents the payment methods of the company (6 fields)

- `id` (string) — The unique identifier for payment method
- `name` (string) — The name of the payment method
- `status` (string) — The status of the payment method
- `type` (string) — The type of payment method
- `created_at` (string) — This represents the date when the payment method was created
- `updated_at` (string) — This represents the date when the payment method was updated

### Payments

Payments represents the payments of the company (13 fields)

- `id` (string) — The unique identifier for payments
- `payment_for` (string) — What entity was the payment for. Can be invoice or bill.
- `status` (string) — The status of the payment.
- `transaction_date` (string) — The transaction date of the payment
- `contact` (object) — The contact of the payment
- `account` (string) — The ID of the account for the payment
- `invoice` (object) — The invoice associated with the payment
- `currency` (string) — The currency of the payment
- `exchange_rate` (number) — The exchange rate of the payment
- `company` (string) — The ID of the company the payment belongs to
- `total_amount` (number) — The total amount of the payment
- `created_at` (string) — This represents the date when the payment was created
- `updated_at` (string) — This represents the date when the payment was updated

### Purchase Order Requisitions

Purchase Order Requisitions represents the purchase order requisitions of the company (16 fields)

- `id` (string) — The unique identifier for purchase order requisition
- `status` (string) — The status of the purchase order requisition
- `issue_date` (string) — The issue date of the purchase order requisition
- `delivery_date` (string) — The delivery date of the purchase order requisition
- `delivery_address` (string) — The delivery address of the purchase order requisition
- `customer` (string) — The customer contact making the purchase order requisition
- `vendor` (string) — The vendor contact fulfilling the purchase order requisition
- `memo` (string) — The memo of the purchase order requisition
- `total_amount` (number) — The total amount of the purchase order requisition
- `currency` (string) — The currency of the purchase order requisition
- `exchange_rate` (number) — The exchange rate of the purchase order requisition
- `line_items` (array) — 
- `created_at` (string) — This represents the date when the purchase order requisition was created
- `updated_at` (string) — This represents the date when the purchase order requisition was updated
- `tracking_categories` (array) — Tracking categories of the purchase order requisition
- `employee` (object) — Employee contact fulfilling the purchase order requisition

### Purchase Orders

Purchase Orders represents the purchase orders of the company (16 fields)

- `id` (string) — The unique identifier for purchase orders
- `status` (string) — The status of the purchase order
- `issue_date` (string) — The issue date of the purchase order
- `delivery_date` (string) — The delivery date of the purchase order
- `delivery_address` (string) — The delivery address of the purchase order
- `customer` (string) — The customer contact making the purchase order
- `vendor` (string) — The vendor contact fulfilling the purchase order
- `memo` (string) — The memo of the purchase order
- `total_amount` (number) — The total amount of the purchase order
- `currency` (string) — The currency of the purchase order
- `exchange_rate` (number) — The exchange rate of the purchase order
- `line_items` (array) — 
- `created_at` (string) — This represents the date when the purchase order was created
- `updated_at` (string) — This represents the date when the purchase order was updated
- `tracking_categories` (array) — Tracking categories of the purchase order
- `employee` (object) — Employee contact fulfilling the purchase order

### Repeating Transactions

RepeatingTransaction represents the repeating transactions of the company (19 fields)

- `id` (string) — The unique identifier for repeating transaction
- `name` (string) — The name of the repeating transaction
- `entity` (object) — The entity of the repeating transaction. The schema will be based on the type of entity, but `id` and `type` will always be present.
- `status` (boolean) — The status of the repeating transaction
- `recurring_type` (string) — The recurring type of the repeating transaction
- `interval_type` (string) — The interval type of the repeating transaction
- `interval_num` (number) — The interval number of the repeating transaction. E.g., 1 (every 1 week), 2 (every 2 months), etc.
- `day_of_month` (number) — The day of the month of the repeating transaction
- `month_of_year` (number) — The month of the year of the repeating transaction
- `day_of_week` (number) — The day of the week of the repeating transaction
- `week_of_month` (number) — The week of the month of the repeating transaction
- `days_before` (number) — The days before of the repeating transaction
- `start_date` (string) — The start date for the repeating transaction
- `end_date` (string) — The end date for the repeating transaction
- `max_occurrences` (number) — The maximum number of occurrences for the repeating transaction
- `next_date` (string) — The next date of the repeating transaction
- `prev_date` (string) — The previous date of the repeating transaction
- `created_at` (string) — Rhe date when the repeating transaction was created
- `updated_at` (string) — The date when the repeating transaction was updated

### Reports

Report gets you the various reports available in the accounting software (8 fields)

- `id` (string) — The unique identifier for report
- `name` (string) — The name of the report
- `company` (string) — The company the report belongs to
- `start_date` (string) — The start date of the report
- `end_date` (string) — The end date of the report
- `currency` (string) — The currency of the report
- `created_at` (string) — This represents the date when the report was created
- `report_data` (object) — The data of the report

### Shipping Methods

Shipping methods represent the shipping methods supported by the company.
 (2 fields)

- `id` (string) — The id of the shipping method
- `titile` (string) — The title of the shipping method

### Tax Rates

TaxRates represents the tax rates of the company (9 fields)

- `id` (string) — The unique identifier for tax rates
- `name` (string) — The name of the tax rate
- `description` (string) — The description of the tax rate
- `total_tax_rate` (number) — The total tax rate of the tax rate
- `effective_tax_rate` (number) — The effective tax rate of the tax rate
- `company` (string) — The company the tax rate belongs to
- `created_at` (string) — This represents the date when the tax rate was created
- `updated_at` (string) — This represents the date when the tax rate was updated
- `status` (string) — The status of the contact

### Tracking Categories

TrackingCategories represents the tracking categories of the company (9 fields)

- `id` (string) — The unique identifier for tracking categories
- `name` (string) — The name of the tracking category
- `status` (string) — The status of the tracking category
- `category_type` (string) — The category type of the tracking category
- `parent_category` (string) — The parent category of the tracking category
- `company` (string) — The company the tracking category belongs to
- `options` (array) — The options for the tracking category. Present in Xero
- `created_at` (string) — This represents the date when the tracking category was created
- `updated_at` (string) — This represents the date when the tracking category was updated

### Transactions

Transactions represents the transactions of the company (15 fields)

- `id` (string) — The unique identifier for transactions
- `number` (string) — The number of the transaction
- `transaction_type` (string) — The type of the transaction
- `transaction_date` (string) — The date upon which the transaction occurred
- `account` (string) — The account which receives the transaction
- `account_from` (string) — The account which initiates the transaction
- `contact` (string) — The contact to whom the transaction relates to
- `total_amount` (string) — The total amount of the transaction
- `currency` (string) — The currency of the transaction
- `exchange_rate` (string) — The exchange rate of the transaction
- `company` (string) — The company the transaction belongs to
- `line_items` (array) — 
- `tracking_categories` (array) — Tracking categories of the transaction
- `created_at` (string) — This represents the date when the transaction was created
- `updated_at` (string) — This represents the date when the transaction was updated

### Vendor Credits

VendorCredits represents the vendor credits of the company (11 fields)

- `id` (string) — The unique identifier for vendor credits
- `number` (string) — The number of the vendor credit
- `transaction_date` (string) — The transaction date of the vendor credit
- `vendor` (string) — The vendor that owes the refund
- `total_amount` (number) — The total amount of the vendor credit
- `currency` (string) — The currency of the vendor credit
- `exchange_rate` (number) — The exchange rate of the vendor credit
- `company` (string) — The company the vendor credit belongs to
- `line_items` (array) — The line items of the invoice
- `created_at` (string) — This represents the date when the vendor credit was created
- `updated_at` (string) — This represents the date when the vendor credit was updated

## Supported integrations

- [Brightpearl](https://truto.one/integrations/detail/brightpearl/)
- [Coupa](https://truto.one/integrations/detail/coupa/)
- [ERPNext](https://truto.one/integrations/detail/erpnext/)
- [FreeAgent](https://truto.one/integrations/detail/freeagent/)
- [Microsoft Dynamics 365 Business Central](https://truto.one/integrations/detail/msbusinesscentral/)
- [Oracle Netsuite](https://truto.one/integrations/detail/netsuite/)
- [QuickBooks](https://truto.one/integrations/detail/quickbooks/)
- [Sage Intacct](https://truto.one/integrations/detail/sageintacct/)
- [Wave](https://truto.one/integrations/detail/wave/)
- [Xero](https://truto.one/integrations/detail/xero/)
- [Zoho Books](https://truto.one/integrations/detail/zohobooks/)

## Related reading

- [The Best Unified Accounting API for B2B SaaS and AI Agents (2026)](https://truto.one/blog/the-best-unified-accounting-api-for-b2b-saas-and-ai-agents-2026/) — Compare the best unified accounting APIs for 2026. Learn the true cost of custom integrations and how to integrate QuickBooks, Xero, and NetSuite with AI agent readiness.
- [What Are Accounting Integrations? (2026 Architecture & Strategy Guide)](https://truto.one/blog/what-are-accounting-integrations-2026-architecture-strategy-guide/) — A technical guide to building customer-facing accounting integrations. Learn the architecture, hidden costs, rate limit traps, and double-entry pitfalls.
- [Plugging Revenue Leaks: Automating Quote-to-Cash with Unified APIs](https://truto.one/blog/plugging-revenue-leaks-automating-quote-to-cash-with-unified-apis/) — Revenue leakage costs companies 3-7% of top-line revenue annually. Learn how engineering teams use unified APIs to automate quote-to-cash workflows.
- [How to Integrate with the Zoho Books API (2026 Engineering Guide)](https://truto.one/blog/how-to-integrate-with-the-zoho-books-api-2026-engineering-guide/) — Engineering guide to the Zoho Books API: regional domains, the silent 20-refresh-token limit, 100 req/min rate caps, and when to use a unified accounting API.
- [Can AI Agents Safely Write Data Back to Accounting Systems Like QuickBooks and Xero?](https://truto.one/blog/can-ai-agents-write-data-back-to-accounting-systems-like-quickbooks/) — AI agents can write invoices and journal entries to QuickBooks and Xero, but only with strict guardrails. Learn how to handle rate limits, schemas, and idempotency safely.
- [How to Integrate with the QuickBooks Online API (2026 Guide)](https://truto.one/blog/how-to-integrate-with-the-quickbooks-online-api-2026-guide/) — A practical guide to integrating with the QuickBooks Online API: OAuth 2.0 token management, rate limits, webhook quirks, and the new Intuit App Partner Program pricing.
