Table of contents

You have a technical background. Unfortunately, it’s time to get a financial one.
As a developer, being able to understand accounting terminology is critical to building out integrations within your product. But we’ll be frank: accounting as a field is confusing as is. Add in different accounting providers and APIs that use varying objects and fields, and you have a recipe for headache.
Welcome, then, to the common reference that helps you navigate the world of Accounting APIs.
The guide below does more than clarify key accounting terminology: it provides context on the data models that represent these terms. Using Merge’s Accounting Unified API as a standard, we’ll elaborate on definitions of each object and relevant fields.
Accounting terms connect in related systems through three interrelated data models: Reference Objects, Transaction Objects, and Report Objects.
Together, References, Transactions, and Reports create an accounting system that can efficiently and effectively track a company’s finances.
Related: Examples of accounting APIs
Accounts
Accounts refer to what companies use to track transactions. They can be both bank accounts or a ledger (also called a chart of accounts). Across accounting APIs, the term “account” is standard: what differs are the fields included within the object.
Key Fields:
See our official accounting documentation for accounts here.
Contacts
The contact object refers to either a supplier or a customer. Among different Accounting APIs, “contacts” can be called “entities”.
Key Fields:
See our official accounting documentation for contacts here.
Items
Items are the goods involved in a transaction. The item object details what the product or service is, its price, and the buyer’s and seller’s account.
Key Fields:
See our official accounting documentation for items here.
Payment
The payment object represents general payments made towards a specific transaction. A transaction object can include payment objects as part of the transaction.
See our official accounting documentation for payments here.
Related: Examples of ERP API integrations
Transactions are any record of money movement that directly affect the financial status or statements of a business.
Transactions fall into one of two categories: Accounts Receivable and Accounts Payable.
Account receivables and account payables are accounts on a company’s general ledger. A general ledger is a set of numbered accounts used to keep track of transactions. The numbering scheme for general ledger (“G/L”) is illustrated below.

The following are common fields used in several of the transactions objects:
Invoice
An invoice is a request for payment. It is an accounts receivable transaction that exists on the vendor's side as a record of a transaction between a buyer and seller. An invoice can outline the terms of a transaction, including payments, the customers involved, the service or goods, and the price. An invoice’s type is accounts_receivable.
Bill
A bill is a request for payment that exists on the customer side. It carries the same information as the invoice object, but customers use the term “bill” for when they owe money to a business. Bills are an accounts payable transaction, because the holder owes money to a business. In an Accounting Unified API, a bill is an invoice with its type set to accounts_payable.
See our official accounting documentation for invoices and bills here.
Journal Entries
Journal entries are records of business transactions kept for bookkeeping purposes. A journal entry includes the amount of money moved, where the money went, and where it is from. Each row (referred to as a “line”) in an entry is classified as either debit or credit. Together, the debit and credit of each entry must sum to zero.

Key Fields:
See our official accounting documentation for journal entries here.
Purchase Order
A purchase order is a formal record of request for a product or service between a buyer and a seller. This is typically used in cases of a bulk order. A purchase order includes information about the item being purchased, the customer and vendor, and in some cases, delivery information.
As an example, the customer would issue a purchase order to the vendor indicating the item, amount needed, and price they intend to pay. The vendor would then send an invoice to the customer to complete the purchase.
Key Fields:
See our official accounting documentation for purchase orders here.
Credit Notes
Credit note is an accounts receivable transaction used when a vendor offers a gift or refund to a customer. This record exists on the vendor side, and outlines how the customer is owed credit. A credit note will contain information on the amount of credit owed, the customer, and the account.
Key Fields:
See our official accounting documentation for credit notes here.
Vendor Credit
Vendor credit is an accounts payable transaction used to show that a customer is owed a gift or refund. It holds the same information as a credit note, but is held by the customer rather than the vendor. This record exists on the customer side, and outlines the amount of credit owed to the customer, the vendor that owes credit, and the account.
Key Field:
See our official accounting documentation for vendor credit here.
Expenses:
These represent a purchase made from a vendor which can be made with a check, credit card, or cash. Each expense object is dedicated to a grouping of expenses, with each expense recorded in an ExpenseLine object. For example, an expense object can be for “new employee supplies” with an ExpenseLine object for a “MacBook Pro”.
Key Fields:
See our official accounting documentation for expenses here.
Transactions (Object)
Since there are several different types of transactions covered across various accounting APIs, an Accounting Unified API uses a general transaction object to cover any transaction type that does not already have a dedicated object. The transaction object does not cover expenses, credit notes, vendor credit, invoices, purchase orders, and journal entries. The type of transaction is determined by the transaction_type field.
This object can be used with the Netsuite, Quickbooks, and Xero APIs, which all support a variety of transaction types.
Key Fields:
See our official accounting documentation for transactions here.
Reports are a way to measure the financial health of a company by tracking cash inflow and outflow along with account statuses over time. The three main types of reports are Balance Sheets, Profit and Loss (P&L, or Income Statements) and Cash Flow statements. Quickbooks and Xero support these reports within their APIs, however Netsuite only supports these reports in its UI. You cannot pull reports from the Netsuite API programmatically.
Balance Sheet
A balance sheet shows a company’s assets, liabilities, and equity. Assets should be equal to liabilities and equity combined. Balance sheets are pulled at the end of every quarter, month, and year. They show the company’s financial health at a specific point in time.
See our official accounting documentation for balance sheets here.
Income Statement (also known as Profit and Loss):
In our common model, Profit and Loss or Income Statements are found in the income statement object. This report shows a company’s income, the cost of sales, operating expenses, and non-operating expenses. Other important values included are gross profit, gross operating profit, and net income. Income statements represent a period of time, such as a quarter or month.
Key Fields:
See our official accounting documentation for income statements here.
Cash Flow Statement:
A cash flow statement shows three types of activities:
A cash flow statement also includes the value of cash at the beginning of the period and end of the period. These reports are typically pulled monthly, quarterly, and annually.
Key Fields:
See our official accounting documentation for cash flow statements here.
remote_data: To offer the most comprehensive yet transferable model, an Account Unified API maps the most common and widely-used fields. For some fields that are unique to certain APIs, our common model includes remote_data which copies the object’s fields and data exactly as it appears in the API it is called from. Essentially, you can access any endpoint in any source API through remote_data. Learn more about how to use remote_data here.
remote_created_at: when this object was created by the third party
remote_updated_at: when the third party updated this object’s information.
remote_was_deleted: Indicates whether or not this object has been deleted by third party webhooks.
remote_id: The third-party API ID for the matching object.
CompanyInfo: This object represents general company information. This includes tax numbers, company website URLs, addresses, phone numbers, and fiscal year start and end dates.
Address: This object represents the address of a contact, including the city, country, state, street, and zip code.
AccountingPhoneNumber: This object represents the phone number of a contact.
Having a thorough understanding of accounting terminology can help you discern what information and which integrations you may need for your product.
If you’re still on the fence about how an Accounting Unified API can help you, read about the benefits of an Accounting Unified API here.
To scope your use case with the information you have learned here, head to our accounting documentation.
And finally, for special inquiries or to see our API in action, talk to a sales representative here.