For Agents
Read and write standardised accounting data — invoices, bills, journal entries, customers, suppliers, and payments — across 20+ accounting platforms through a single unified interface.
Get started with Accounting API in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"fetch invoices from a customer's accounting software"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Accounting API API.
Pull standardised invoices, bills, and journal entries from QuickBooks, Xero, Sage, and 17 other accounting platforms
Push new invoices, bill payments, and credit notes back into a customer's linked accounting software
Retrieve customers, suppliers, and chart of accounts data normalised to the Codat schema
Generate financial reports including profit and loss, balance sheet, cash flow, and aged debtors
GET STARTED
Use for: I need to fetch a company's outstanding invoices from QuickBooks, I want to push a new bill payment into a customer's Xero account, Retrieve the latest profit and loss report for a linked company, List all suppliers from a connected accounting platform
Not supported: Does not handle direct bank feed connectivity, payment processing, or commerce platform sales — use for unified accounting ledger read and write across QuickBooks, Xero, Sage, and similar platforms only.
Codat's Accounting API provides a unified interface for reading and writing accounting data across 20+ accounting platforms including QuickBooks, Xero, Sage, NetSuite, and FreeAgent. It standardises invoices, bills, journal entries, customers, suppliers, payments, and financial reports so a single integration maps to all supported systems. The API supports both pull operations (read normalised data from a linked company) and push operations (create or update records back into the source ledger). It is designed for fintech applications, lending platforms, and B2B SaaS products that need accounting data from their customers' books.
Reconcile bank accounts and bank transactions imported from linked accounting platforms
Manage tax rates, tracking categories, and payment methods used during pushed transactions
Attach files and supporting documents to bills, bill credit notes, and direct costs
Patterns agents use Accounting API API for, with concrete tasks.
★ Underwriting and Lending Decisions
Lenders use the Codat Accounting API to pull a borrower's invoices, bills, and financial statements directly from their accounting software during underwriting. This replaces document upload and manual review with structured data fetched from QuickBooks, Xero, or Sage in seconds. The /companies/{companyId}/data/financials/profitAndLoss and /data/invoices endpoints surface the cash flow and receivables data that credit models need, accelerating decisioning from days to minutes.
Fetch the last 12 months of profit and loss data for company {companyId} and list any invoices over 90 days past due.
Automated Bill Pay and Spend Management
Spend management platforms write reconciled expenses back into the customer's accounting ledger using the push endpoints. After capturing a card transaction or vendor bill, the platform calls /companies/{companyId}/connections/{connectionId}/push/bills or /push/billPayments to record the expense in QuickBooks or Xero with the correct GL account, tax rate, and tracking category. This eliminates duplicate data entry for finance teams.
Push a new bill for supplier ID {supplierId} totalling $1,250 with tax rate 'GST' against account 'Office Expenses' for company {companyId}.
B2B SaaS Embedded Reporting
Vertical SaaS products embed real-time financial dashboards using Codat's reports endpoints. The /data/reports/profitAndLoss, /reports/balanceSheet, and /reports/cashFlowStatement operations return normalised report data that can drive in-app charts and KPIs without the SaaS team writing per-platform connectors. Integration moves from months of work per accounting system to a single API surface.
Retrieve the balance sheet report for company {companyId} for the period 2026-01-01 to 2026-06-30 and extract total assets and total liabilities.
AI Agent Bookkeeping Assistant
AI agents acting as bookkeeping assistants use the Codat Accounting API through Jentic to answer client questions and perform routine reconciliations. The agent searches Jentic for 'fetch unpaid invoices', loads the operation schema, and executes against the customer's linked QuickBooks or Xero. Jentic handles credential isolation so the API key never enters the agent's context, and the unified schema means the same agent code works across every accounting platform a client uses.
Search Jentic for 'list unpaid invoices in Codat', load the operation, then list all invoices with status 'Submitted' older than 60 days for company {companyId}.
135 endpoints — codat's accounting api provides a unified interface for reading and writing accounting data across 20+ accounting platforms including quickbooks, xero, sage, netsuite, and freeagent.
METHOD
PATH
DESCRIPTION
/companies/{companyId}/data/invoices
List standardised invoices from a linked accounting platform
/companies/{companyId}/connections/{connectionId}/push/invoices
Create an invoice in the linked accounting software
/companies/{companyId}/data/bills
List standardised bills
/companies/{companyId}/connections/{connectionId}/push/billPayments
Push a bill payment into the linked accounting software
/companies/{companyId}/data/accounts
Retrieve the chart of accounts
/companies/{companyId}/data/journalEntries
List general ledger journal entries
/companies/{companyId}/data/customers
List customers linked to invoices and payments
/companies/{companyId}/data/invoices
List standardised invoices from a linked accounting platform
/companies/{companyId}/connections/{connectionId}/push/invoices
Create an invoice in the linked accounting software
/companies/{companyId}/data/bills
List standardised bills
/companies/{companyId}/connections/{connectionId}/push/billPayments
Push a bill payment into the linked accounting software
/companies/{companyId}/data/accounts
Retrieve the chart of accounts
Three things that make agents converge on Jentic-routed access.
Credential isolation
Codat API keys are stored encrypted in the Jentic vault. Agents receive a scoped execution token at runtime — the raw 'Basic ...' Authorization header is constructed inside Jentic and never enters the agent's context.
Intent-based discovery
Agents search Jentic by intent (e.g. 'fetch unpaid invoices from accounting software') and Jentic returns the matching Codat operation with its input schema, so the agent calls the right endpoint without browsing the 135 paths.
Time to first call
Direct Codat integration: 1-2 weeks for auth, connection lifecycle, and per-platform quirks. Through Jentic: under 1 hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Codat Sync for Expenses
Codat product purpose-built for pushing expense transactions into accounting platforms
Choose Sync for Expenses when the agent only needs to write expense transactions; choose the Accounting API when the agent needs full read and write across invoices, bills, and reports.
Codat Banking API
Codat Banking API surfaces bank transaction data from direct bank connections rather than the accounting ledger
Use Banking when the agent needs raw bank feed data; use Accounting when the agent needs ledger-level invoices, bills, and journal entries.
Codat Assess API
Codat Assess builds on accounting and banking data to provide lending and risk metrics
Use Assess when the agent needs ready-made financial KPIs for credit decisioning; use Accounting for raw normalised data.
Specific to using Accounting API API through Jentic.
What authentication does the Codat Accounting API use?
The API uses an API key passed in the Authorization header as 'Basic <base64-encoded-key>'. The single security scheme is named auth_header in the spec. Through Jentic, the Codat API key is stored encrypted in the vault and never exposed to the agent runtime — agents receive a scoped execution token instead.
Can I push invoices into QuickBooks or Xero with the Codat Accounting API?
Yes. Use POST /companies/{companyId}/connections/{connectionId}/push/invoices to create an invoice in the linked accounting platform. The same endpoint pattern works across QuickBooks, Xero, Sage, NetSuite, and the other supported systems because Codat normalises the request schema.
What are the rate limits for the Codat Accounting API?
Codat does not publish a fixed rate limit in the OpenAPI spec; limits are governed at the company and connection level and depend on the underlying accounting platform's own limits. Codat returns HTTP 429 with a Retry-After header when a limit is hit, and recommends exponential backoff on retries.
How do I fetch a profit and loss report through Jentic?
Search Jentic for 'profit and loss codat', load the GET /companies/{companyId}/data/reports/profitAndLoss operation, and execute it with the company ID and period range. Install with pip install jentic and run the standard async search, load, and execute flow.
Which accounting platforms does the Codat Accounting API support?
The API normalises data from 20+ accounting platforms including QuickBooks Online, QuickBooks Desktop, Xero, Sage Business Cloud, Sage Intacct, NetSuite, FreeAgent, FreshBooks, MYOB, KashFlow, and Zoho Books. The same endpoints and schemas work for every supported platform.
Can I read bank transactions through the Codat Accounting API?
Yes, but only the bank accounts and transactions that exist in the linked accounting ledger. Use GET /companies/{companyId}/data/bankAccounts and the related bank account transactions endpoints. For direct bank feeds use the separate Codat Bank Feeds or Banking APIs.
/companies/{companyId}/data/journalEntries
List general ledger journal entries
/companies/{companyId}/data/customers
List customers linked to invoices and payments