# Accounting API



<EndpointIndex
  names={[
  	'fetchAccountingTransaction',
  	'fetchLedgerAccount',
  	'fetchMultipleLedgerCashAccounts',
  	'fetchTenantLevelCashBalance',
  ]}
  titles={{
  	fetchAccountingTransaction: 'Fetch an Accounting Transaction',
  	fetchLedgerAccount: 'Fetch a Ledger Account',
  }}
/>

Accounting Transactions [#accounting-transactions]

Fetch an Accounting Transaction [#fetch-an-accounting-transaction]

<ApiEndpoint name="fetchAccountingTransaction" title="Fetch an Accounting Transaction" />

<ApiSchema name="AccountingTransactionResponse" />

<ApiSchema name="AccountLineItem" />

Accounting T-Accounts [#accounting-t-accounts]

Fetch a Ledger Account [#fetch-a-ledger-account]

<ApiEndpoint name="fetchLedgerAccount" title="Fetch a Ledger Account" />

<ApiSchema name="LedgerAccountResponse" />

<ApiSchema name="LedgerAccountLineItem" />

Cash Accounts [#cash-accounts]

Cash accounts record inflows and outflows of cash from the system. For example, if a payment is received, the payment itself records the credit, and the customer account's cash t-account records the debit.

Fetch Multiple Ledger Cash Accounts [#fetch-multiple-ledger-cash-accounts]

<ApiEndpoint name="fetchMultipleLedgerCashAccounts" />

<ApiSchema name="LedgerAccountListResponse" />

Fetch Tenant Level Cash Balance [#fetch-tenant-level-cash-balance]

<ApiEndpoint name="fetchTenantLevelCashBalance" />

<ApiSchema name="TenantCashBalance" />


## API Reference

GET /billing/{tenantLocator}/accounting/faTransactions/{locator} — fetchAccountingTransaction
Tags: accounting-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 AccountingTransactionResponse — OK

GET /billing/{tenantLocator}/accounting/ledgerAccounts/{refType}/{refLocator} — fetchLedgerAccount
Tags: accounting-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  refType (Enum accountCreditBalance | invoiceCreditBalance | cash | creditCash | charge | credit | installmentItem | invoiceItem | account | policy | accountExpenseBalance, path, required)
  refLocator (ulid, path, required)
  currency (string, query)
  size (integer, query)
Responses:
  200 LedgerAccountResponse — OK

GET /billing/{tenantLocator}/accounting/ledgerAccounts/cash/list — fetchMultipleLedgerCashAccounts
Tags: accounting-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  currency (string, query)
  size (integer, query)
  offset (integer, query)
  count (integer, query)
  extended (boolean, query)
Responses:
  200 LedgerAccountListResponse — OK

GET /billing/{tenantLocator}/accounting/ledgerAccounts/cash — fetchTenantLevelCashBalance
Tags: accounting-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  currency (string, query)
Responses:
  200 TenantCashBalance — OK

AccountingTransactionResponse
Properties:
  faTransactionLocator (ulid, required)
  faTransactionTime (datetime, required)
  faTransactionNote (string, required)
  currency (string, required)
  accountLines (AccountLineItem[], required)

AccountLineItem
Properties:
  accountingType (Enum credit | debit, required)
  referenceType (Enum accountCreditBalance | invoiceCreditBalance | cash | creditCash | charge | credit | installmentItem | invoiceItem | account | policy | accountExpenseBalance, required)
  referenceLocator (ulid, required)
  amount (number, required)

LedgerAccountResponse
Properties:
  referenceLocator (ulid, required)
  referenceType (Enum accountCreditBalance | invoiceCreditBalance | cash | creditCash | charge | credit | installmentItem | invoiceItem | account | policy | accountExpenseBalance, required)
  balance (number, required)
  currency (string, required)
  lineItems (LedgerAccountLineItem[], required)

LedgerAccountLineItem
Properties:
  faTransactionLocator (ulid, required)
  faTransactionTime (datetime, required)
  faTransactionNote (string, required)
  accountingType (Enum credit | debit, required)
  amount (number, required)

LedgerAccountListResponse
Properties:
  listCompleted (boolean, required)
  items (LedgerAccountResponse[], required)

TenantCashBalance
Properties:
  balance (number, required)
  currency (string, required)