VRPlatformVRPlatform

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

TypeDescriptionUse For
ledgerStandard accounting accountsRevenue, expenses, receivables, payables
bankBank and credit card accountsDeposits, payments, reconciliation
recurringFeeAccounts for fee calculationsRecurring fee credit/debit accounts
nonPostingAdministrative accountsTracking without financial impact

Account Classifications

Standard accounting classifications determine how accounts appear on reports:

ClassificationDescriptionExamples
assetThings you own or are owedBank accounts, accounts receivable
liabilityThings you oweAccounts payable, security deposits held
revenueIncome earnedRental income, management fees
expenseCosts incurredRepairs, utilities, cleaning

Account Assignments

Assignments designate accounts for specific system functions. Only one account can have each assignment:

Receivables & Payables:

  • accountsReceivable - Guest balances owed
  • accountsPayable - Bills to pay

Deposits:

  • deposit_channelFee - Channel fees on deposits
  • deposit_coHostPayout - Co-host payout receivables

Transfers:

  • transfer_ownerPayout - Owner distributions

Revenue Recognition:

  • deposit_deferredRevenue - Unearned revenue

Account Status

StatusDescription
activeAccount is operational
inactiveAccount 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:

PropertyDescription
categorytrust, operating, or external
typedeposit (checking/savings) or creditCard
last4Last 4 digits of account number
currencyAccount currency

Bank connections:

  • Bank accounts can link to external banking connections
  • Enables automatic bank feed imports
  • Supports reconciliation workflow

Bank records tracking:

  • reconciled - Matched transactions
  • unreconciled - Pending transactions
  • total - Total imported records

External References

FieldDescription
uniqueRefYour 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

MethodEndpointDescription
GET/accountsList accounts with filters
GET/accounts/{id}Get account details
POST/accountsCreate an account
PUT/accounts/{id}Update an account
DELETE/accounts/{id}Delete/archive an account
POST/accounts/{id}/init-bankingInitialize bank starting balance

Filtering Accounts

GET /accounts?type=ledger&status=active
GET /accounts?type=bank&banking.category=trust

Response 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:

AccountTypeClassificationAssignment
Accounts ReceivableledgerassetaccountsReceivable
Rental Incomeledgerrevenue-
Cleaning Fee Incomeledgerrevenue-
Management Fee Incomeledgerrevenue-
Repairs & Maintenanceledgerexpense-
Owner Distributionsledgerliabilitytransfer_ownerPayout

Locking Rules

Accounts are subject to locking:

ConditionBlocked Operations
Used in locked transactionsCannot deactivate
Has system assignmentCannot delete

On this page