Use Unit Ledger History when you want each property’s charges and payments in Vlge - so residents see how a balance was built, not only “you owe $200.”
Decide how much history to bring, and whether those rows should post to the General Ledger, in Financial Imports: Opening Ledger before you upload a file.
Before you begin
Create properties / units first. Rows match on street address.
Set charge types under Billing Settings so import types map cleanly.
If you need starting cash or other balance-sheet accounts, use Opening Balances - do not also put those same dollars in this CSV.
Make sure auto-pay is NOT enabled (paused) as importing charges as open charges on a unit may trigger autopay to settle those charges.
Where to find it
Financial Dashboard → Setup → Import Tools → Unit Ledger History.
Download the template, delete the sample rows, then add your data.
CSV columns
Column | Required | Notes |
unit_address | Yes | Street address that matches an existing property |
date | Yes | MM/DD/YYYY or YYYY-MM-DD |
type | Yes | Your org’s charge type name from Billing Settings, plain English (for example NSF Fee), or a code: dues, late_fee, fine, special_assessment, prior_balance, payment, credit, other |
description | Yes | What the resident should see |
amount | Yes | Always positive; sign comes from type |
status | No | paid or pending. Defaults to paid for historical data |
Unrecognized types are flagged in preview so you can map or create them before importing. prior_balance / Opening Balance posts to Opening Equity, not revenue.
Do not mix these two approaches on the same unit
Approach A - charges already paid
Set status to paid on settled charges. Do not also add a payment row for those same dollars. Simplest when history is fully settled.
Approach B - pending charges plus payment rows
Leave charges pending and add type payment rows. Payments apply to the oldest charges. Any leftover becomes a credit. Use this when one check covers several charges, or the payment does not match the charge total.
Do not mark charges paid and import a payment row for the same unit. That double-counts and creates a false credit.
General Ledger posting (choose one)
After preview, the importer asks how to treat the GL:
Mode | What happens | When to use |
Full history - post to GL | Each charge and payment posts a journal entry on its original date. | You want prior-period reports in Vlge and the chart of accounts is ready (A/R, revenue, cash, opening equity). |
Subledger only - skip GL | Rows appear on unit ledgers only. No journal entries. | You already posted (or will post) Opening Balances for the aggregate A/R and cash. |
The old statement “this import does not affect the General Ledger” is no longer true. That is only the Subledger-only mode.
Preview, import, undo
Upload the CSV. Preview classifies each row as ready, warning, or error.
Fix unmatched addresses and unknown charge types before you continue.
Choose the GL mode. Review the projected GL impact card if you chose Full history.
Import. Balances recalculate automatically.
If the batch is wrong, undo it from Recent Imports within 24 hours. See Deleting Recent Financial Imports.
What actually happens during this import
When importing unit-level charges:
The charges are created first,
Then the payments are imported as "unapplied".
Once the file posts, a credit sweep "walks" each unit's unapplied payments from oldest first and applies them to open charges using the payment application order (the default being the oldest due date first).
The payments begin settling those charges (from the "sweep" one after the other until the account is balanced.
Outcomes:
The account is perfectly balanced showing zero owing or owed.
A credit amount is left over -which can be stored as a prepaid, or
The account has an amount owing, which will appear in My Property to the member.
Bank reconciliation after import
Importing history is not the same as reconciling it. Start formal Bank Reconciliation at a recent date - see Bank Reconciliation and Opening Ledger.
