Skip to main content

Accounts

Accounts represent the financial ledger structure used for posting transactions and integrating with external accounting systems. The billing system uses accounts to track receivables, revenue, tax collections, and prepayments. Each account has a hierarchical structure, classification properties, and specific rules about whether transactions can be posted directly to it and whether cost centers are required for transactions.

Properties

PropertyTypeDescription
idGUIDUnique identifier
accountCodestringAccount number
namestringAccount name
descriptionstringDetailed description
accountStatusstringActive, Inactive, Archived
isPostingAccountbooleanCan post transactions
requiresCostCenterbooleanCost center required
balanceSheetPositionstringAsset, Liability, Equity, null
profitAndLossPositionstringRevenue, Expense, null
accountTypeIdGUIDAccount type reference
accountCategoryIdGUIDAccount category reference
parentAccountIdGUIDParent account (hierarchy)

Account Types in Billing

The billing system uses several specific account types for different purposes. Receivable accounts track customer outstanding balances and are assigned at the customer level. Revenue accounts record income from invoice line items and are typically assigned at the article level. Tax accounts hold tax amounts collected from customers. Prepayment accounts track advance payments made by customers before invoices are issued.

API Endpoints

GET /accounts
GET /accounts/{id}
GET /account-types
GET /account-categories

Response Example

{
"id": "8d7f9e8a-8536-41fe-a53c-3d874bf2c9d1",
"accountCode": "4000",
"name": "Tuition Revenue",
"description": "Revenue from tuition fees",
"accountStatus": "Active",
"isPostingAccount": true,
"requiresCostCenter": true,
"balanceSheetPosition": null,
"profitAndLossPosition": "Revenue",
"accountTypeId": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"accountCategoryId": "2b3c4d5e-6f7a-8b9c-0d1e-2f3a4b5c6d7e",
"parentAccountId": null
}

Usage in Invoices

Accounts are referenced at two levels in the invoice structure. At the invoice level, the receivableAccountId specifies where to post the total amount due from the customer. At the line item level, each item has a revenueAccountId that determines where the revenue for that specific charge should be posted in the accounting system.