Accounting Data Model
API limitations and requirements are documented in this section; you can use the SupportEnhancedSQL feature, set by default, to circumvent most of these limitations.
Tables
The Tables section, which details standard SQL tables, and the Views section, which lists read-only SQL tables, contain samples of what you might have access to in your Xero account.
Common tables include:
| Table | Description |
| Accounts | Allows for the querying, insertion, updating, and deletion of accounts for a Xero organization. Accounts represent the various financial categories used to track and record the organization's financial transactions, such as assets, liabilities, and equity. |
| BankTransactions | Queries, inserts, and updates bank transactions within Xero. Bank transactions include deposits, withdrawals, and other activities that affect the cash accounts of the organization. |
| Invoices | Used to query, insert, and update invoices within Xero. Invoices are sent to customers for payment for goods or services provided. |
| Payments | Used to query, insert, and delete payment records within Xero. Payments include transactions made to suppliers or received from customers. |
| Contacts | Used for querying, inserting, and updating contact records within a Xero organization. Contacts include customers, suppliers, and other entities that the organization interacts with for business transactions. |
| CreditNotes | Used to query, insert, and update credit notes for a Xero organization. Credit notes are used to adjust invoices, typically in cases of overpayment, returns, or errors. |
| Employees | Used for querying, inserting, and updating employee records within a Xero organization. Employees are individuals working for the organization and their data includes payroll, tax, and employment information. |
| ExpenseClaims | Used for querying, inserting, and updating expense claims. Expense claims are submitted by employees or contractors for reimbursement of business-related expenses. |
| BankTransfers | Manages bank transfer records. It allows for querying and editing transfers between accounts, helping track money movements between different bank accounts. |
| PurchaseOrders | Used to query, insert, and update purchase orders in Xero. Purchase orders are used to track items or services that the organization intends to buy from suppliers. |
| Receipts | Enables querying, inserting, and updating receipts for a Xero organization. Receipts confirm that payments have been made, and they help track money received by the organization. |
| ManualJournals | Used to query, insert, and update manual journals. Manual journals are used to record financial transactions that don't follow standard processes. |
| Items | Manages items in Xero. Items can be products, services, or other billable units used in transactions. |
| Journals | Used for querying line items in journals. Journals in Xero are used to record debits and credits for financial transactions. |
| TaxRates | Manages tax rates in Xero. It allows you to query, insert, and update tax rates, which are necessary for calculating tax liabilities on sales and purchases. |
| Users | Allows querying the list of users in a Xero organization. It includes user details like name, role, and access permissions, which are crucial for managing user access to financial data. |
| TrackingCategories | Enables querying tracking categories, which are used to segment financial transactions for better analysis and reporting. For example, you can track sales by region or department. |
| Prepayments | Used to query prepayment records. Prepayments refer to money paid before goods or services are received. |
| Overpayments | Used to query overpayments made within a Xero organization. This helps manage and apply payments that exceed the amount owed. |
| RepeatingInvoices | Allows you to query templates for repeating invoices in Xero. Repeating invoices are automatically generated for regular billing cycles such as monthly or yearly, reducing the need for manual invoicing. |
API limitations and requirements are documented in each table.
Stored Procedures
Stored Procedures are actions that are invoked via SQL queries. They perform tasks beyond standard create, read, update, delete (CRUD) operations, including managing invoices, attachments, and OAuth tokens.