Purpose
This document walks through how VRTrust records each transaction type under Operations Accounting (OPEX), at the journal-entry level.
It's written for accounting professionals supporting VRTrust clients. For a plain-language overview, see the companion article Operations Accounting OPEX) in VRTrust.
Note: All amounts below are illustrative. Each iteration uses its own example figure, so amounts are not consistent across iterations. Focus on the structure of the entries, not the numbers.
The Model
Two ledgers. Every journal-entry line carries a Ledger tag: Trust or Operating. The two ledgers are maintained as independent sets of books.
Balanced by ledger. A journal entry must balance debits to credits within each ledger, not just overall. This is the rule that drives everything that follows.
Party tag. Each line is also tagged to a Party: Owner or Manager (bank/cash lines carry no party). Party plus Listing determine which statement a revenue/expense line lands on.
Due to/From Trust. When a single transaction touches both ledgers, each ledger would be left out of balance on its own. VRTrust posts an offsetting pair to a balancing account — Due to/From Trust — one line in each ledger, tagged Party = Manager. This is the mechanism that keeps both books internally balanced.
When Due to/From Trust is used. A Due to/From Trust pair appears whenever cash in one ledger settles an obligation that lives in the other ledger. If a transaction sits entirely within one ledger, no balancing pair is posted.
The combinations that trigger the pair, by transaction type:
Transaction | Bank account | Line's party |
Expense | Trust | Manager |
Expense | Operating | Owner |
Deposit | Operating | Owner |
Payout | Operating | Owner (always) |
Bank Transfer | Trust ↔ Operating | None (bank account line) |
The user only sets party on expense and deposit lines via the line's Bill To (Owner or Manager).
On a Payout, the settled line is always Owner; the user doesn't choose it. Bank/cash account lines — including both legs of a Bank Transfer — carry no party at all.
Account naming
Where a journal-entry line posts to an account chosen by a configurable assignment, it's shown below as Account name (Assignment), using the standard default chart of accounts. A client who has remapped the assignment may post to a different account.
Payout
The payment of an owner's balance, triggered by "Create payment" on a published statement.
Note: this transaction was formerly called "Transfer" and is now "Payout."
Paid from a Trust account
Account | Debit | Credit | Party | Ledger |
Owner Payouts (Payout Distribution) | 1,000 |
| Owner | Trust |
Accounts Payable |
| 1,000 | Owner | Trust |
Accounts Payable | 1,000 |
| Owner | Trust |
Trust Bank Account |
| 1,000 | — | Trust |
This occurs entirely within the Trust ledger, so there is no Due to/From Trust pair. (The two A/P lines offset within the entry: the payable is relieved and re-stated as it is paid.)
Paid from an Operating account
Account | Debit | Credit | Party | Ledger |
Owner Payouts (Payout Distribution) | 800 |
| Owner | Trust |
Accounts Payable |
| 800 | Owner | Trust |
Accounts Payable | 800 |
| Owner | Trust |
Operating Bank Account |
| 800 | — | Operating |
Trust<->Operating Cash Adjustments (Due to/from Trust) | 800 |
| Manager | Operating |
Trust<->Operating Cash Adjustments (Due to/from Trust) |
| 800 | Manager | Trust |
Cash leaves the Operating ledger to settle an owner (Trust-ledger) obligation, so a Due to/From Trust pair balances each ledger.
Trust: Dr 1,600 / Cr 1,600. Operating: Dr 800 / Cr 800.
Bank Transfer
This transaction type represents movement of cash between two bank accounts. A Due to/From Trust pair is posted only when the transfer crosses between the Trust and Operating ledgers.
Trust → Operating
Account | Debit | Credit | Party | Ledger |
Trust Bank Account |
| 450 | — | Trust |
Operating Bank Account | 450 |
| — | Operating |
Trust<->Operating Cash Adjustments (Due to/from Trust) |
| 450 | Manager | Operating |
Trust<->Operating Cash Adjustments (Due to/from Trust) | 450 |
| Manager | Trust |
Trust → Trust
Account | Debit | Credit | Party | Ledger |
Trust Bank Account 1 |
| 300 | — | Trust |
Trust Bank Account 2 | 300 |
| — | Trust |
Operating → Operating
Account | Debit | Credit | Party | Ledger |
Operating Bank Account 1 |
| 900 | — | Operating |
Operating Bank Account 2 | 900 |
| — | Operating |
Same-ledger transfers (Trust→Trust, Operating→Operating) need no balancing pair.
Reservation
Recorded when a reservation is booked. All lines are Trust ledger, Party = Owner. No change to ledger placement here — reservations remain fully in Trust.
Account | Debit | Credit | Party | Ledger |
Rents |
| 9,020 | Owner | Trust |
Cleaning Fees |
| 325 | Owner | Trust |
Channel Fees | 120 |
| Owner | Trust |
Taxes Revenue |
| 340 | Owner | Trust |
Guest Deposits (net of A/R) (Accounts Receivable) | 9,565 |
| Owner | Trust |
Fee / Commission
The allocation of revenue between Owner and Manager. Placement depends on the revenue-side and expense-side party.
Owner ↔ Manager (revenue and expense parties differ)
Account | Debit | Credit | Party | Ledger |
Management Commission Revenue |
| 340 | Manager | Trust |
Management Commission Expense | 340 |
| Owner | Trust |
Owner revenue / Owner expense
Account | Debit | Credit | Party | Ledger |
Some Fee Revenue |
| 10 | Owner | Trust |
Some Fee Expense | 10 |
| Owner | Trust |
Manager revenue / Manager expense
Account | Debit | Credit | Party | Ledger |
A Fee Revenue |
| 45 | Manager | Trust |
A Fee Expense | 45 |
| Manager | Trust |
A fee has no bank/cash movement, so it does not post a Due to/From Trust pair.
When the revenue and expense parties differ, the entry reallocates value between Owner and Manager (surfacing as a Manager Payable balance); the balancing cash entry only occurs later, when the amount is actually settled (an Owner Payout or a Bank Transfer).
Expense
An expense has two independent switches: Bill To (Owner or Manager) and, at payment, the bank account used (Trust or Operating). Accounts Payable follows Bill To — Owner-billed A/P sits in the Trust ledger; Manager-billed A/P sits in the Operating ledger.
Recording the unpaid expense
Bill To = Owner
Account | Debit | Credit | Party | Ledger |
Maintenance | 50 |
| Owner | Trust |
Accounts Payable |
| 50 | Owner | Trust |
Bill To = Owner, with markup
Account | Debit | Credit | Party | Ledger |
Maintenance | 5 |
| Owner | Trust |
Expense Markup Revenue (Expense Markup) |
| 5 | Manager | Trust |
Bill To = Owner, with markup tax
Account | Debit | Credit | Party | Ledger |
Maintenance | 0.50 |
| Owner | Trust |
VAT on Expenses/Output Tax (Expense Sales Tax) |
| 0.50 | Manager | Trust |
Bill To = Manager
Account | Debit | Credit | Party | Ledger |
Inventory | 1,082 |
| Manager | Operating |
Accounts Payable |
| 1,082 | Manager | Operating |
Paying the expense
These examples settle both an Owner-billed payable (50, Trust ledger) and a Manager-billed payable (1,082, Operating ledger) in one payment.
Paid from a Trust account
Account | Debit | Credit | Party | Ledger |
Trust Bank Account |
| 1,132 | — | Trust |
Accounts Payable | 50 |
| Owner | Trust |
Accounts Payable | 1,082 |
| Manager | Operating |
Trust<->Operating Cash Adjustments (Due to/from Trust) |
| 1,082 | Manager | Operating |
Trust<->Operating Cash Adjustments (Due to/from Trust) | 1,082 |
| Manager | Trust |
Trust cash settles a Manager (Operating-ledger) payable, so a Due to/From Trust pair is posted for that portion. Trust: Dr 1,132 / Cr 1,132. Operating: Dr 1,082 / Cr 1,082.
Paid from an Operating account
Account | Debit | Credit | Party | Ledger |
Operating Bank Account |
| 1,132 | — | Operating |
Accounts Payable | 50 |
| Owner | Trust |
Accounts Payable | 1,082 |
| Manager | Operating |
Trust<->Operating Cash Adjustments (Due to/from Trust) | 50 |
| Manager | Operating |
Trust<->Operating Cash Adjustments (Due to/from Trust) |
| 50 | Manager | Trust |
Operating cash settles an Owner (Trust-ledger) payable, so the pair is posted for that portion. Operating: Dr 1,132 / Cr 1,132. Trust: Dr 50 / Cr 50.
Paid from a non-trust account (expense reimbursement, non-cash path)
Account | Debit | Credit | Party | Ledger |
Expense Reimbursement Revenue (Expense Reimbursement) |
| 50 | Manager | Trust |
Accounts Payable | 50 |
| Owner | Trust |
This is the existing non-trust reimbursement path, used to record an owner expense not paid from any connected VRTrust bank/credit card account. It stays within the Trust ledger and is unchanged by OPEX.
Deposit
Guest and non-reservation receipts. The deposit's bank account (Trust or Operating) drives ledger placement.
Paid into a Trust account
When a deposit is received into a Trust account, all lines are placed in the Trust ledger — including Manager-party lines — so the entry balances within Trust and no Due to/From Trust pair is required.
Line type | Account | Debit | Credit | Party | Ledger |
Reservation | Guest Deposits (net of A/R) (Accounts Receivable) |
| 1,000 | Owner | Trust |
Reservation | Merchant Fees (Deposit Merchant Fee) | 10 |
| Manager | Trust |
Reservation | Channel Commissions - Non-Airbnb (Deposit Channel Fee) | 20 |
| Manager | Trust |
Reservation | Reserved Funds withheld by Merchant Processor (Deposit Reserve) | 30 |
| Owner | Trust |
Reservation | Co-Host Payouts (Deposit Co-Host Payout) | 10 |
| Owner | Trust |
Reservation | VAT on Expenses/Input Tax (Deposit VAT) | 1 |
| Manager | Trust |
Non-reservation | Pet Fees |
| 500 | Manager | Trust |
Non-reservation | Merchant Fees (Deposit Merchant Fee) | 1 |
| Manager | Trust |
Cash | Trust Bank Account | 1,428 |
| — | Trust |
Paid into an Operating account
When a deposit is received into an Operating account, Owner-party lines stay in the Trust ledger while Manager-party lines move to the Operating ledger. A Due to/From Trust pair balances the owner amounts that landed in operating cash.
Line type | Account | Debit | Credit | Party | Ledger |
Reservation | Guest Deposits (net of A/R) (Accounts Receivable) |
| 1,000 | Owner | Trust |
Reservation | Merchant Fees (Deposit Merchant Fee) | 10 |
| Manager | Operating |
Reservation | Channel Commissions - Non-Airbnb (Deposit Channel Fee) | 20 |
| Manager | Operating |
Reservation | Reserved Funds withheld by Merchant Processor (Deposit Reserve) | 30 |
| Owner | Trust |
Reservation | Co-Host Payouts (Deposit Co-Host Payout) | 10 |
| Owner | Trust |
Reservation | VAT on Expenses/Input Tax (Deposit VAT) | 1 |
| Manager | Operating |
Non-reservation | Pet Fees |
| 500 | Manager | Operating |
Non-reservation | Merchant Fees (Deposit Merchant Fee) | 1 |
| Manager | Operating |
Cash | Operating Bank Account | 1,428 |
| — | Operating |
Balancing | Trust<->Operating Cash Adjustments (Due to/from Trust) |
| 960 | Manager | Operating |
Balancing | Trust<->Operating Cash Adjustments (Due to/from Trust) | 960 |
| Manager | Trust |
The 960 is the owner's net receipt that landed in the operating account (A/R 1,000 less owner-side Reserved Funds 30 and Co-Host Payouts 10). Trust: Dr 1,000 / Cr 1,000. Operating: Dr 1,460 / Cr 1,460.
Opening Balances
Opening-balance entries follow the same dual-ledger model (each item offset against an Opening Balance account, balanced by ledger).
See the help article: How do I set opening balances for an operating account?
Enhanced trust-integrity controls
Applies to all teams. These controls are not Operating (OPEX) Accounting–specific - they apply to every team, whether there is an operating bank account in VRTrust or not.
Alongside the dual-ledger mechanics, there are controls that govern which accounts a transaction can post to, so the trust balance sheet stays an honest measure of what's owed.
The governing principle. On the Trust ledger, Owners party, the balance sheet is deliberately limited to six buckets:
Accounts Payable (assignment account)
Accounts Receivable (assignment account)
Deferred Revenue (assignment account)
Lodging Taxes Payable (accounts in category Taxes Payable – Lodging & Occupancy)
Security Deposits Payable (accounts in category Security Deposits Payable)
Owner Payables (revenue/expense accounts where party = Owners)
Any remaining asset, liability, revenue, or expense falls to the Trust ledger, Manager party as Manager Payable.
The reasoning:
If money sitting in the trust account isn't attributable to one of those six buckets, it must be reflected as Manager Payable so it correctly increases or decreases what's available to pay the manager. This is what keeps the trust balance sheet tied to the PM Statement's available balance - no stray asset or liability can silently inflate or deflate the payable position.
How it's enforced:
VRTrust restricts the accounts that can be hit at every point where an account is chosen (manual coding, reservation line-type mappings, fee/commission mappings, and assignment mappings). A/P and A/R can never be selected manually anywhere.
Manual coding (expenses and non-reservation deposit lines)
When Bill To = Owner, only these accounts are selectable, and everything else is greyed out: the Deferred Revenue assignment, category Taxes Payable – Lodging & Occupancy, category Security Deposits Payable, and any revenue or expense account. The same whitelist applies on both expenses and non-reservation deposit lines.
Reservation line-type mappings
Reservation line types always post with party = Owners, so their restriction is about classification rather than party. They may be mapped only to revenue accounts, expense accounts, category Taxes Payable – Lodging & Occupancy, and category Security Deposits Payable. They cannot be mapped to A/P or A/R (those assignments accept asset/liability accounts only). Deferred Revenue is not an available mapping target for reservation line types.
Fee and commission mappings (Advanced Settings)
The revenue and expense accounts configured on a fee cannot be mapped to A/P, A/R, or the Deferred Revenue assignment.
When the fee's revenue or expense party is Owners, only these are selectable: revenue accounts, expense accounts, category Taxes Payable – Lodging & Occupancy, and category Security Deposits Payable.
When that party is Manager, the Taxes Payable – Lodging & Occupancy and Security Deposits Payable categories are additionally disallowed (those liabilities belong to the owner side).
Assignment mappings by classification
Wherever an assignment's line hits party = Owners, the account it maps to is constrained:
Assignment | Allowed account classification |
Accounts Payable | Asset or Liability |
Accounts Receivable | Asset or Liability |
Deferred Revenue | Asset or Liability |
Deposit Co-Host Payout | Revenue or Expense |
Cancellation Revenue | Revenue or Expense |
Opening Balance | Revenue or Expense |
Payout Distribution | Revenue or Expense |
Deposit assignment → party
Each deposit assignment posts to a fixed party, and that mapping is identical whether the line lands on the Reservation or the Non-Reservation tab:
Deposit assignment | Party |
Accounts Receivable | Owners |
Deposit Merchant Fee | Manager |
Deposit Channel Fee | Manager |
Deposit Reserve | Manager |
Deposit VAT | Manager |
Deposit Co-Host Payout | Owners |
When a fetched deposit can't be payment-matched, its A/R and Co-Host Payout lines land on the Non-Reservation tab tagged party = Owners with no listing/reservation, treated as Unapplied Cash (below) rather than forced onto the manager.
Other restrictions
Payout Bank Account assignment: mappable only to accounts with Classification = Asset or Liability and Account Type = Bank. No party is tagged on that cash line, so a revenue/expense account there would orphan the amount.
Tax-rate expense accounts: restricted to revenue or expense.
Unapplied Cash: the A/R assignment and Taxes Payable – Lodging & Occupancy accounts may be posted to party = Owners with no listing/reservation attached, so fetched deposits aren't forced into a premature reservation match.
Add Exceptions modal (Settings → Accounting → Reservations): applies the same account restrictions as the standard Line Mappings page.
Reporting changes
Because every journal-entry line carries a Ledger tag (Trust or Operating), the reporting layer gains this dimension.
The Ledger dimension and defaults
The Ledger dimension (Trust / Operating) is available across the core financial reports. By default these reports open showing both ledgers combined, so the top-line figures reflect the whole business unless you narrow the view.
The dimension is exposed differently depending on the report: as a filter on the detailed reports, and as tabbed views on the financial statements (below).
Trial Balance and General Ledger Overview
Trial Balance gains a user-facing Book filter — run it for Trust only, Operating only, or both. A single-ledger trial balance will foot on its own because entries are balanced by ledger.
General Ledger Overview gains a Ledger column so each posting shows its ledger inline, plus the same Book filter.
Exports and API: the Ledger value is included in the General Ledger Detail and journal-entry CSV exports and in the corresponding API responses, so downstream tooling can split or pivot by ledger without re-deriving it.
Profit & Loss and Balance Sheet
Both statements present Trust and Company tabs. Company = Trust + Operating combined; Trust isolates the trust side.
On these two statements the ledger scope is driven by the selected tab: the filters are applied and locked to the tab rather than left as a free control. This prevents an inconsistent trust view.
Breakdown variations: a By Ledger and a By Party variation are available; By Party is the default on the Balance Sheet, and the Company → By Ledger view includes a Total column so Trust and Operating can be read side by side with the combined figure.
Balance Sheet structure: Owner Payables is presented under Current Liabilities, reflecting that owner balances are amounts the trust owes rather than the manager's equity.
Tie-out to the PM Statement: on the Balance Sheet's Trust tab, By Party, the top-line total of the Manager column agrees to the Property Management Statement's available balance at any given point in time.
The two carry opposite signs: the Balance Sheet states the manager position as an amount owed to/from the manager, while the PM Statement states it as the manager's balance, but the magnitude ties, so it's a reliable reconciliation check.
Inter-ledger elimination: on the Balance Sheet's Company → By Ledger view, the Due to/From Trust balances net to zero in the Total column.
The Trust-side and Operating-side legs are equal and opposite, so the inter-ledger balancing eliminates on consolidation and doesn't affect the combined company position.
Trust reconciliation reports
The Trust Reconciliation Report and Trust Reconciliation by Listing are forced to run Trust ledger only, regardless of any filter, so operating activity never dilutes the trust reconciliation.
Taxes Payable is broken out into its own section, and Security Deposits Payable is presented as a distinct line, so the trust liability composition is explicit.
Operational reports
The operational reports — Guest Balances, Reservation Lodging & Occupancy Tax, and Owner Statement Summaries — all run on the Trust ledger only; operating activity never appears in them.
Visibility gating
All of the ledger-related controls above (the Book filter, By Ledger view, and the Trust/Company tabs) stay hidden until an operating account is connected. Until then, every report runs Trust-only.
Property Management (PM) Statement considerations
Applies to all teams. The PM Statement receives the same treatment for every team, regardless of whether or not an operating bank account is connected to VRTrust.
The PM Statement presents the manager's full position, not just period earnings.
Scope — all account types
Previously the statement showed only revenue and expense accounts (the manager's P&L). It now also includes asset- and liability-classified accounts, so it reflects what the manager is owed and owes as well as what was earned.
Ledger/party scoping
The statement is scoped in the background to the Trust ledger, Party = Manager — it presents the manager's position within the trust books. Because that scope is fixed, users can't adjust the Ledger filtering.
"Assets and Liabilities" section
This section collects the manager's asset- and liability-classified balances, adjusting for earnings that aren't yet available in cash due to timing differences, like payment processor reserves.
As-of / cumulative treatment
The Assets and Liabilities section is presented on a balance-sheet (as-of) basis — cumulative balances as of the statement date — rather than period-only activity, so timing items (processor reserves, amounts due to/from trust) carry their running balance.
"Transfers" section
Within the statement template, the Transfers section identifies any movement of money from the trust account to the operating account or vice versa. (This was formerly labeled "Payouts")
Unassigned / null-account detail
The Detail tab now surfaces lines with no account assigned (account = null) and returns that unassigned-account detail, so nothing is silently dropped.
Statement Summary box
The PM Statement now exposes a dedicated summary roll-up, giving a consistent header-level view of the statement.
Section composition
Each section of the statement is built from a defined set of accounts:
Section | Made up of | Basis |
Net Revenue | Accounts where classification = Revenue | Period |
Expenses | Accounts where classification = Expense and category ≠ Equity | Period |
Adjustments | Accounts where classification = Expense and category = Equity, plus the Due to/from Trust assignment where transaction type ≠ Bank Transfer | Period |
Transfers | The Due to/from Trust assignment where transaction type = Bank Transfer, plus the Payout Distribution assignment | Period |
Assets and Liabilities | Accounts where classification = Asset or Liability, plus lines with no account assigned (null) | As-of (cumulative) |
Note how the Due to/from Trust assignment splits across two sections by transaction type: bank-transfer activity lands in Transfers, everything else in Adjustments.
Statement summary roll-up
The summary reconciles the manager's position from the start of the period to the amount available to draw:
Balance start + Net earnings (Net Revenue − Expenses) + Adjustments + Transfers = Balance end
Balance end + Assets and Liabilities (as-of) = Available Balance
Balance end carries forward as the next period's Balance start. The period sections (Net Revenue, Expenses, Adjustments, Transfers) are period activity; Assets and Liabilities is an as-of balance, which is why it sits below Balance end and feeds Available Balance rather than Balance end.
Worked example:
Balance start 3,489 + Net earnings 7,000 (10,000 − 3,000) + Adjustments 300 + Transfers (−4,000) = Balance end 6,789. Available Balance = 6,789 + Assets and Liabilities (−500) = 6,289.
