Bank Reconciliation — import statements and match transactions
Import your bank statements, let Property360 match every credit and debit to rent dues, invoices, GST challans, property tax and expenses, and decide the rest from one queue — nothing is marked reconciled without a decision.
Overview
Bank Reconciliation (sidebar Operations → Rent Management → Bank Reconciliation) reads the statements your bank gives you and lines every entry up against what Property360 already knows: rent dues in the Rent Ledger, GST invoices, GST challans, property-tax payments, construction expenses and misc. dues. A credit that equals a tenant's May rent, arrives in May and carries the tenant's name or the UTR you recorded is matched automatically; anything less certain is proposed for you to confirm; what fits nothing stays unmatched until you decide.
The page has five tabs:
- Statements — the imported files per account, grouped by assessment year (newest first, each group with its statement count, entries imported and the sum of the closing balances) with their period, rows, status (Parsed, Failed, Needs mapping) and the parse report; click a column header to sort within the groups (closing balance, largest first, by default; click again to flip), click N warnings under a status to unfold what the import flagged — an account not on the landlord's profile, rows skipped as already imported, a balance that did not reconcile, a guessed column. Warnings never block an import. Import a file and run matching from here. Matching runs one statement at a time: clicking Run matching on further rows adds them to a queue (the button reads Queued #2, remove takes it out again), a banner above the table says which statement is matching, its position and elapsed time and what is next, and every row keeps its own result — Matching… 12 s, Done · 2 auto-matched · 15 proposed · 22 to review · 68 unmatched · Open queue →, or Failed with the reason. Nothing you queue is cancelled by another click.
- Transactions — every entry with its date, narration, bank and account (the bank's name with the last four digits, and the statement file underneath), money in / out, status, the proposed match (or matches) with a confidence bar and the attributes that matched, and the actions: confirm, reject, match manually, exclude, mark duplicate. Click a column header to sort (date, newest first, by default; money in / out largest first; match by confidence). The arrow keys, Enter and the letters c / r / m / x / d work on the selected row.
- Exceptions — what still needs a decision: Unmatched, Needs review, Duplicate, Partial and Discrepancy, each with a plain description of what to do.
- Rules — narration and counterparty patterns that match entries on their own; see Matching rules.
- Settings — the confidence thresholds, amount and date tolerances, the Auto-post rent receipts switch and the list of your bank accounts with the taxpayer profile each one is linked to.
Before you start
- You need to be a landlord (your own accounts and your circle) or a master admin. A CA, a supervisor and a tenant cannot open the page or call its API.
- Add the bank account under Landlord Info → Edit Landlord → Banking first, and link it to a taxpayer profile there when the account belongs to an HUF or a family member — the package attributes credits on a shared account by that link.
- The matching targets must exist: rent rows generated for the months (Rent Ledger), GST invoices, GST payment months, property-tax and expense records. Matching never creates them.
- Supported files: the Excel (.xls / .xlsx) and CSV statements the banks' portals download, and PDF statements (a password-protected PDF asks for the password; it is used once and never stored). The bank is detected from the file's headers; a layout Property360 does not recognise is parsed with a generic mapper and marked Needs mapping if the columns could not be told apart.
Steps
Import a statement
- Open Bank Reconciliation → Statements and click Import.
- Pick the file, choose the Bank account it belongs to and leave Bank (optional hint) on Auto-detect unless the file is unusual.
- Click Import. The parse report shows the bank detected, the period, the rows read, how many were imported and how many were duplicates — an entry already imported from another statement (same account, date, amount, direction and narration) is never imported twice, and the same file uploaded twice is refused.
- Matching runs on its own right after the import (Settings → Run matching after every import, on by default) and the report adds a Matched on import line — 12 auto-matched (9 from what you confirmed before) · 3 proposed · 2 unmatched. With the switch off, click Run matching on the statement row (or Score every open entry of this landlord at the top) to score the new entries.
Decide the proposals
- Open Transactions. Filter by Status, Direction (Money in / Money out), Account, a date range or a word from the narration.
- For a Proposed row, read the candidate: the record it points at, the confidence and the chips saying what matched (amount, month, tenant name, UTR, a rule, or Learned · N confirmations · banks when it comes from an earlier confirmation — see Learned matches). Click Confirm (or press c) or Reject (r).
- For a Needs review row several records fit about equally — open it, compare the candidates and confirm the right one.
- For an Unmatched row choose Match manually (m): pick the open rent dues, invoices, expenses or a category, allocate the amount — one credit can settle two or three months, or two credits can cover one invoice — and save. Use Exclude (x) for a personal entry, a transfer between your own accounts or bank charges, and Mark duplicate (d) when the same entry appears twice.
- To confirm many at once: the checkbox in the header ticks every proposed row in view (any confidence); tick or untick rows yourself, then click Confirm N selected — the top candidate of each ticked row is confirmed as your decision, and the confirmation dialog says how many of them sit below the auto-confirm threshold so you can look again before you agree. With nothing ticked the button reads Confirm N ≥ 90% and takes only the clear proposals at or above the threshold (no close second candidate). Use Clear to drop the selection.
Shared accounts and related landlords
One account often receives rent for more than one landlord — a joint or HUF account into which the tenants of two related landlords' properties pay. When a statement is imported under one landlord, the engine also looks at the open rent dues and invoices of the landlords related to them (the relationships kept under Landlord relationships) and of any landlord whose lease names this account as its deposit account. Such a candidate carries the chip → <landlord> and the note Tenant of <landlord>'s property; it scores exactly like your own records, a little higher when the lease's agreed deposit account is this account and a little lower otherwise, so your own record wins a tie. Confirming it posts the receipt to that landlord's lease (the receipt note names the statement it came from), the match records which landlord the record belongs to for the audit trail and the CA package, and a record already allocated from any statement — yours or theirs — is never offered again; a second attempt is refused with the file and row that took it. A landlord can confirm into related landlords only; a master admin into anyone.
Keep the Rent Ledger in step
A confirmed rent match writes the receipt (amount, date, mode, UTR and a note naming the statement file and row) into the Rent Ledger on the rent row it points at: Confirm, Match manually and Split post it by default; matches the engine confirms on its own post only when Auto-post rent receipts on automatic matches is on under Settings (off by default). It never posts more than the row's outstanding, skips a row already settled or a UTR already recorded (the reason is written on the match), and Undo the match deletes the receipt it posted. Every decision is recorded with who made it and when.
Rent paid partly by bank, partly in cash. When a lease records an account (bank) portion and a cash portion, the engine expects the net bank deposit on the owner's deposit account — the account portion at that owner's share, plus GST and less TDS on that portion only, exactly as the Rent Ledger computes the due — and also the same figure less 10 % TDS when the lease records none. A ₹89,000 rent with ₹30,000 by bank on a property owned 50 / 50 therefore matches a ₹15,000 credit on either owner's account; the cash part is never looked for in a statement.
The deposit account on the lease is a hint, never a filter. A lease names the account that receives the rent now; last year's rent may have landed elsewhere (a different owner's account, an HUF account). The engine gives a small boost when the statement account is the one the lease named for that month — or any account the lease ever named, using the account history kept when you change it — and holds nothing against a record when the account differs. A related landlord's tenant is proposed on your statement on the strength of the name, the amount and the month alone; the account only breaks ties.
A year the ledger does not cover yet. A payment can only be for its own month, the month before (advance) or the month after (late). When every rent row of a tenant is two or more months after the payment — typically a statement from before the Rent Ledger was started — those rows are penalised (chip Period months ahead) and never auto-matched; instead the engine proposes Rent · tenant · link only (chip Link only · no receipt). Confirming records the credit as that tenant's rent for the reconciliation and the CA package, posts nothing to the ledger, and teaches the learned matching which tenant pays with that wording, so next year's statement matches on its own. Generate the month in the Rent Ledger first if you do want the receipt.
Example
Priya imports her April–September statement for the account her shop tenants pay into. The parse report reads 6 months, 92 rows, 92 imported, 0 duplicates. After Run matching, 54 credits are Matched · auto (rent that arrived on time with the tenant's name in the narration), 9 are Proposed (a tenant who paid May and June together, two who paid short because of TDS) and 4 are Unmatched (interest, a refund and two transfers from her own savings). She confirms the nine, excludes the four, and the Exceptions tab reads Nothing needs attention. In October she imports the next statement; the overlapping September rows are reported as duplicates and skipped.
FAQs
Does matching change my rent records?
Not on its own. A proposal is just a suggestion. Confirming a rent match posts a receipt only when you tick it (or when the auto-post switch is on); every other kind of match only records the link between the bank entry and the record.
A tenant paid less than the rent — what happens?
The engine matches within the tolerance you set (by default a small percentage or a fixed rupee amount) and marks the difference as a Discrepancy in Exceptions when the shortfall is larger — usually TDS the tenant deducted or a deduction you agreed. Confirm the match and record the deduction on the rent row.
Can I undo a confirmation?
Yes — Unmatch on the row. The receipt it posted is not deleted automatically; remove it in the Rent Ledger if it was wrong.
Why is an entry attributed to "no taxpayer" in the CA package?
The account is shared and not linked to a profile, and the matched lease names no rent recipient. Link the account under Landlord Info → Banking or name the recipient on the lease, then rebuild the package.
Troubleshooting
"This file was already imported"
The same file (byte for byte) is already in the vault. Import the next period's statement instead; overlapping rows inside a new file are skipped as duplicates automatically.
The statement imported with status "Needs mapping"
The columns could not be told apart (for example a bank whose headers Property360 has not seen). Export the statement again as Excel or CSV from the bank's portal; if it still fails, send the headers (never the rows) to support.
A PDF statement will not open
Enter the password the bank set on it (often the account number or your customer id) when asked. If the PDF is a scan rather than text, download the Excel version from the bank instead.
"Cannot delete — the statement has confirmed matches"
A statement is deleted only when nothing is confirmed against it. Unmatch the entries first, or keep the statement.