Introducing Terrace Accounts Receivable: Stop profit leakage in your hotel — Read more →
terrace
Bank Reconciliation

Hotel Bank Reconciliation

Automate hotel bank reconciliation across every property. Terrace matches merchant deposits, ACH receipts, OTA payouts, and wires back to PMS folios and the GL — so cash is tied out daily, not at month-end.

less time reconciling bank statements
85%less time reconciling bank statements
faster month-end close
5xfaster month-end close
of deposits traced to source
100%of deposits traced to source
The unified bank workflow

One platform for every hotel bank reconciliation.

Terrace ingests bank statements, merchant batches, OTA payouts, and PMS payment records, then matches every deposit and withdrawal back to its source. Your team reviews only the exceptions instead of rebuilding the entire bank rec each month.

  • Direct bank feeds and BAI2 ingestion
  • Merchant batch and settlement matching across processors
  • Portfolio rollups across every property bank account
Terrace hotel bank reconciliation dashboard

What is hotel bank reconciliation?

Hotel bank reconciliation is the process of matching every deposit and withdrawal on a hotel's bank statement to the merchant batches, OTA payouts, ACH receipts, wires, and folio payments that produced them, then tying the cash account on the general ledger to the bank's ending balance. Unlike retail bank rec — where one sale equals one deposit — hotel cash flows through multiple processors, channels, and operating days, so matching requires unwinding fees, timing differences, and chargebacks.

A complete hotel bank reconciliation confirms that every guest payment, group deposit, OTA remittance, and ancillary receipt has reached the bank, that nothing extra has appeared, and that all timing differences are explained. Hospitality bank reconciliation software like Terrace AI automates this matching across every property in a portfolio.

What teams check
  • Every bank deposit traced to a source batch
  • Net deposit reconciles to gross less fees
  • ACH and wire receipts identified by originator
  • OTA payouts matched to included reservations
  • Returns and chargebacks applied to right period
  • Cash GL balance matches bank ending balance

Why hotel bank reconciliation is painful for accounting teams

Merchant deposits are net, not gross

Banks deposit net of interchange, processor fees, and chargebacks while the PMS records gross charges. Matching requires unwinding every reduction.

Settlement timing creates lag

A folio posted on Monday may settle on Tuesday's deposit, and weekend batches land on the next business day. Date-based matching alone fails.

OTA payments hit the bank weeks later

Booking.com, Expedia, and other channel payouts arrive long after the stay, on aggregated remittance lines with no per-reservation detail.

Multiple merchant accounts per property

Many hotels run separate merchant accounts for restaurants, spa, and group billing, each producing its own batches that need to be matched.

Returned items and NSFs reopen prior periods

Returned ACH items and NSF checks reverse posted revenue from earlier months, forcing the team to revisit closed periods.

Multi-property cash management is manual

Treasury teams reconciling 20+ hotel bank accounts run an identical workflow on each one, with no shared tooling or audit trail.

What data is matched in hotel bank reconciliation?

Bank statements
Daily statement / BAI2
  • Posting date
  • Description
  • Amount
  • Reference
Merchant processor batches
FreedomPay, Shift4, Elavon, Stripe
  • Batch ID
  • Gross
  • Fees
  • Net deposit
PMS folio postings
Opera, Mews, Cloudbeds
  • Folio total
  • Payment method
  • Settlement date
OTA remittance statements
Expedia Collect, Agoda, Booking VCC
  • Remittance ID
  • Stays included
  • Net amount
Accounting cash GL
Sage Intacct, NetSuite, M3
  • Posted date
  • Account
  • Reference
  • Amount
ACH and wire details
Bank file
  • Originator
  • Trace number
  • Memo

Common hotel bank reconciliation exceptions

Deposit on bank but no matching batch

A deposit posted to the bank account cannot be tied to a merchant batch, ACH receipt, or expected wire.

Merchant batch posted but no deposit yet

The processor closed a batch but it has not yet settled to the bank within the expected window.

Net deposit does not equal batch minus fees

Interchange, chargeback, or reserve adjustments cause the net deposit amount to differ from the expected batch net.

ACH return or NSF reverses prior receipt

A returned ACH or NSF check reverses a prior period's deposit and must be re-applied to the original folio.

Wire from unknown originator

A wire transfer arrives with limited memo data and cannot be tied to a group, contract, or AR invoice.

Inter-company transfer treated as revenue

A treasury sweep or inter-company transfer was posted as a cash receipt and inflates the bank reconciliation total.

How hotels manually reconcile bank statements

  1. 1

    Pull the bank statement for the period, either as a PDF, CSV, or BAI2 file from the bank portal.

  2. 2

    Export merchant batch and settlement data from each processor for the same period.

  3. 3

    Export PMS payment posting reports broken out by tender type and settlement date.

  4. 4

    Build a spreadsheet matching bank deposits to merchant batches by amount and date window.

  5. 5

    Reduce gross batch totals by interchange, chargeback, and reserve to confirm the expected net.

  6. 6

    Investigate any deposits without a matching batch, including wires and ACH receipts.

  7. 7

    Post adjustment journal entries for bank fees, chargebacks, and timing differences.

  8. 8

    Close the bank reconciliation and file the audit trail for the period.

Automated hotel bank reconciliation with Terrace AI

Terrace connects to your bank, processors, PMS, and accounting platform and matches every deposit automatically, replacing manual spreadsheet rec.

Bank ingestion

Direct bank statement ingestion

Terrace pulls daily bank statements via direct bank feeds and BAI2 files, normalizing every line for matching.

Daily bank feeds · Mar 14, 2026
Direct bank statement ingestion
4 banks
BK
Chase Hospitality
BAI2 · Mar 14 · 142 lines
Ingested
BK
Wells Fargo Treasury
BAI2 · Mar 14 · 88 lines
Ingested
BK
Bank of America CashPro
API · live · 211 lines
Streaming
BK
Truist Operating Acct
BAI2 · Mar 14 · 24 lines
Late file
465 lines normalized into the matching engine. Truist file expected by 06:30 ET.
Next pull 04:00 ETView raw →

Batch matching

Merchant batch-to-deposit matching

Terrace matches every bank deposit back to the merchant batch that created it, even when fees and chargebacks shift the net amount.

Stripe · Batch 88412
Merchant batch ↔ bank deposit
Mar 14
Gross batch
$48,820.00
284 card auths
Net deposit
$47,938.42
Chase · 6471
Interchange
-$684.18
Reserve
-$148.40
Chargebacks
-$49.00
Reconciles to the penny
Gross less interchange, reserve, and chargebacks equals the Chase deposit on Mar 14.
Auto-matchedView audit trail →

Folio trace

Trace deposits back to folios

Drill from a bank line through to the merchant batch, settlement record, and individual guest folios that funded it.

Trace · DEP-22418
Bank deposit → batch → folios
Drill-down
Bank line$47,938.42
Chase 6471 · Mar 14 · "DEP STRIPE 88412"
Stripe batch$48,820.00 gross
BATCH-88412 · 284 auths · Mar 13 close
Opera folios62 folios
#18841 · #18852 · #18867 · 59 more
3 hops · 100% tracedOpen folio list →

OTA payouts

OTA payout reconciliation

Channel payments from Booking.com, Expedia, and others are matched to the included reservations and posted to the right cash account.

Channel payouts · Mar 8–14
OTA payout reconciliation
4 channels
BO
Booking.com
REMIT-44128 · 18 stays
$9,212.18Matched
EX
Expedia Collect
EXP-PO-7711 · 11 stays
$5,840.00Matched
AG
Agoda
AG-2218 · 4 stays
$1,422.40+$22 vs PMS
HO
Hotels.com
HC-9981 · 2 stays
$612.00Missing stays
Hotels.com REMIT-9981 settled to Wells Fargo but no stays found in PMS for 2 of the 4 reservations
2 channels need reviewInvestigate →

Exceptions

Exception queue with bank evidence

Unmatched deposits, missing batches, and returned items surface in a single queue with the bank line, processor data, and PMS records attached.

Exceptions · 4 open
Exception queue with bank evidence
Today
DEP-22431No source
Unknown wire · $14,500 · Mar 14
BATCH-88419Settling
Stripe batch · no deposit yet · Mar 13
NSF-118Reversed
ACH return · $842 · Mar 12 · Folio #18781
DEP-22422Fee var
Net $4,818 vs expected $4,890 · -$72
2 returns · 1 wire · 1 fee varianceResolve →

Multi-property

Portfolio-wide bank reconciliation

Treasury teams see status across every hotel bank account on one dashboard, with portfolio rollups and per-property drilldowns.

Treasury · 5 properties
Portfolio-wide bank reconciliation
Mar 14
Total deposits
$214,818
Auto-matched
98.1%
Open exc
8
Hyatt Place — Austin
Reconciled: 100%
Clean
Hampton Inn — Denver
Reconciled: 98%
2 exc
Marriott — Boston
Reconciled: 100%
Clean
Holiday Inn — Phoenix
Reconciled: 92%
6 exc
Westin — Miami
Reconciled: 100%
Clean
3 clean · 2 need reviewDrill in →
Get started

Put hotel revenue on autopilot

From OTA statement to GL posting — faster cash, accurate books, and less manual reconciliation.

Frequently asked questions

Hotel bank reconciliation is the process of matching every deposit and withdrawal on a hotel's bank statement back to the merchant batches, ACH receipts, wires, and folio payments that produced them, then reconciling the result to the cash account on the GL. It confirms that every dollar received at the property has landed in the bank and been recorded correctly.