Accounts
Account types, classifications, assignments, bank accounts, and categories
Accounts
Overview
Accounts are the foundation of your financial tracking. They represent where money comes from (revenue), where it goes (expenses), what you have (assets), and what you owe (liabilities).
VRPlatform includes default accounts for common scenarios, but you can create custom accounts for your specific needs.
Key Concepts
Account Types
| Type | Description | Use For |
|---|---|---|
ledger | Standard accounting accounts | Revenue, expenses, receivables, payables |
bank | Bank and credit card accounts | Deposits, payments, reconciliation |
recurringFee | Accounts for fee calculations | Recurring fee credit/debit accounts |
nonPosting | Administrative accounts | Tracking without financial impact |
Account Classifications
Standard accounting classifications determine how accounts appear on reports:
| Classification | Description | Examples |
|---|---|---|
asset | Things you own or are owed | Bank accounts, accounts receivable |
liability | Things you owe | Accounts payable, security deposits held |
revenue | Income earned | Rental income, management fees |
expense | Costs incurred | Repairs, utilities, cleaning |
Account Assignments
Assignments designate accounts for specific system functions. Only one account can have each assignment:
Receivables & Payables:
accountsReceivable- Guest balances owedaccountsPayable- Bills to pay
Deposits:
deposit_channelFee- Channel fees on depositsdeposit_coHostPayout- Co-host payout receivables
Transfers:
transfer_ownerPayout- Owner distributions
Revenue Recognition:
deposit_deferredRevenue- Unearned revenue
Account Status
| Status | Description |
|---|---|
active | Account is operational |
inactive | Account is disabled |
Deactivation rules:
- Cannot deactivate if used in locked transactions
- Cannot deactivate if assigned to system functions
Account Categories
Accounts can be grouped into categories for reporting:
- Categories have a name and optional classification
- Useful for P&L and Balance Sheet organization
- Create your own category hierarchy
Offset Accounts
Some accounts have an offsetAccount for balanced entries. When posting to the primary account, the system automatically creates a balancing entry to the offset account.
Bank Accounts
Bank-type accounts have additional properties:
| Property | Description |
|---|---|
category | trust, operating, or external |
type | deposit (checking/savings) or creditCard |
last4 | Last 4 digits of account number |
currency | Account currency |
Bank connections:
- Bank accounts can link to external banking connections
- Enables automatic bank feed imports
- Supports reconciliation workflow
Bank records tracking:
reconciled- Matched transactionsunreconciled- Pending transactionstotal- Total imported records
External References
| Field | Description |
|---|---|
uniqueRef | Your internal account ID |
Common Scenarios
Creating an Expense Account
POST /accounts
{
"name": "Pool Maintenance",
"type": "ledger",
"status": "active",
"categoryId": "category-repairs"
}Creating a Bank Account
POST /accounts
{
"name": "Trust Account - Chase",
"type": "bank",
"status": "active",
"banking": {
"category": "trust",
"type": "deposit",
"last4": "4567",
"currency": "USD"
}
}Initializing Bank Starting Balance
POST /accounts/account-123/init-banking
{
"startingBalanceDate": "2024-01-01",
"startingBalanceAmount": 5000000
}Assigning Account Purposes
PUT /accounts/account-123
{
"assignments": ["accountsReceivable"]
}API Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /accounts | List accounts with filters |
GET | /accounts/{id} | Get account details |
POST | /accounts | Create an account |
PUT | /accounts/{id} | Update an account |
DELETE | /accounts/{id} | Delete/archive an account |
POST | /accounts/{id}/init-banking | Initialize bank starting balance |
Filtering Accounts
GET /accounts?type=ledger&status=active
GET /accounts?type=bank&banking.category=trustResponse Structure
{
"id": "account-123",
"name": "Trust Account - Chase",
"type": "bank",
"status": "active",
"uniqueRef": "TRUST-001",
"assignments": [],
"category": {
"id": "category-banking",
"name": "Bank Accounts",
"classification": "asset"
},
"offsetAccount": null,
"banking": {
"category": "trust",
"type": "deposit",
"last4": "4567",
"currency": "USD",
"connections": [
{
"id": "bank-conn-456",
"name": "Chase Bank Feed",
"status": "active",
"connection": {
"id": "conn-chase",
"name": "Chase",
"status": "active",
"isErrorState": false,
"icon": "chase-icon"
},
"currentSync": null,
"source": null
}
],
"bankRecords": {
"reconciled": 150,
"unreconciled": 12,
"total": 162,
"latestCreatedAt": "2024-06-15T10:30:00Z"
},
"balance": {
"openingDate": "2024-01-01",
"opening": 5000000,
"ending": 7500000
}
}
}Default System Accounts
VRPlatform creates default accounts for common scenarios:
| Account | Type | Classification | Assignment |
|---|---|---|---|
| Accounts Receivable | ledger | asset | accountsReceivable |
| Rental Income | ledger | revenue | - |
| Cleaning Fee Income | ledger | revenue | - |
| Management Fee Income | ledger | revenue | - |
| Repairs & Maintenance | ledger | expense | - |
| Owner Distributions | ledger | liability | transfer_ownerPayout |
Locking Rules
Accounts are subject to locking:
| Condition | Blocked Operations |
|---|---|
| Used in locked transactions | Cannot deactivate |
| Has system assignment | Cannot delete |
Related Topics
- Transactions - Record entries to accounts
- Recurring Fees - Fee credit/debit accounts
- Owner Statements - Account totals in statements
- Locking - Modification restrictions
