HavenSuiteBilling and night audit
Financial operationsIn-app Docs

Money flow from booking to ledger

Folios, Payments, Invoices, and Night Audit

The guest folio is the operational bill for a stay. Accounting journals are the financial record. Payments, refunds, POS, minibar, services, taxes, room charges, corporate credit, and approved condition charges connect the two without deleting audit history.

Understand the Guest Folio

Line typeTypical sourceReview before checkout
Room chargeNightly reservation rate snapshotDates, room, rate, discount, taxes
Service / MinibarHotel service or stock postingQuantity, price, room/guest, staff record
POS / Room serviceRestaurant order posted to roomOrder reference, items, tips/tax, guest authorization
Condition discrepancyAccepted and Manager-approved departure handoverEvidence, suggested cost, approval; never post an open dispute
PaymentCash, card provider, bank, payment link, corporate ARProvider status, reference, amount, currency
Refund / ReversalAuthorized correctionOriginal payment, reason, approver, provider result

Post a Charge Correctly

  1. Open the guest's active folio from the reservation or Front Desk.
  2. Select the correct charge category so reporting and accounting mapping remain accurate.
  3. Enter quantity, unit amount, tax behavior, service date, and a useful reference.
  4. Confirm the amount and guest/room before submitting. Use integer currency precision provided by the application.
  5. If the charge is wrong, use the authorized reversal/adjustment flow. Do not create a misleading negative line or edit database history.

Record or Collect Payment

Cash

Cash at reception

Enter received amount, calculate change, choose the active cashier shift, and issue a receipt. The shift must balance at closing.

Card

Online/provider card

Create the provider checkout or payment link. Treat the verified provider/webhook result as payment authority, not a browser redirect alone.

Bank

Bank transfer

Record the bank reference only after the hotel's verification process confirms receipt. Pending proof is not cleared money.

Credit

Corporate account

Use an active approved corporate relationship with sufficient credit. Unauthorized credit requires Manager/Owner approval.

Payment field guide

FieldPurposeExample
AmountThe exact money received or requested.USD 475.00
MethodControls reconciliation and accounting treatment.Cash, Stripe, PayPal, bank transfer
ReferenceExternal receipt, provider, or bank identifier.pi_3Q… or bank receipt 84751
NotesOperational context, never card data.Deposit collected at reception
IdempotencyPrevents duplicate processing of the same provider event.Generated automatically for supported payment flows

Refund and Correction Rules

  • Refund against the original payment record and use the real provider outcome.
  • Require the configured permission/manager approval and a specific reason.
  • Never mark a refund successful before provider confirmation.
  • Use a journal reversal or adjustment for accounting corrections. Posted journals remain immutable.
  • Keep invoice numbering and correction history intact; do not reuse or delete issued financial documents.

Cashier Shift

  1. Open the shift with the counted float.
  2. Record cash movements through approved application actions, not informal notes.
  3. At handover, count physical cash and compare with the expected system total.
  4. Enter actual closing cash. Any difference requires a note and the configured review.
  5. Close the shift only when no colleague still needs to post through that drawer.

Issue an Invoice

Confirm guest or company legal name, tax identifier, address, currency, folio lines, taxes, payments, and balance. Generate the invoice from the folio so totals and references remain connected. Send through configured email or download through the authorized route. Do not expose private invoices on the public storage disk.

Night Audit Workflow

Resolve blockersPost room chargesReview no-showsClose shiftsPost accountingGenerate report
  1. Review arrivals not checked in, departures not completed, open room conflicts, incomplete handovers, and payment failures.
  2. Confirm in-house rooms and reservation dates match physical occupancy.
  3. Post the applicable nightly room and tax charges exactly once.
  4. Review no-show candidates and apply policy after contact/arrival-window checks.
  5. Confirm cashier shifts, payments, refunds, folio balances, and corporate credit decisions.
  6. Run the audit. If blocked, resolve the identified record instead of forcing the business date forward.
  7. Review the generated audit result and accounting posting; hand over every unresolved exception.

Night audit readiness

  • No active stay has an impossible room/date conflict.
  • No departure is silently closed with an unexplained balance.
  • No disputed condition item has been posted as a charge.
  • Every provider payment has a verified status and reference.
  • Cash shifts are counted; differences are documented.
  • Accounting periods and journal rules allow the intended posting date.

Accounting Relationship

Guest folios explain what the hotel charged and collected. Accounting explains which assets, liabilities, income, expenses, receivables, cash, and tax accounts changed. Daily posting creates or updates the appropriate immutable journals. Corrections use reversals or adjustments, and locked accounting periods reject backdated postings.

php artisan hotel:accounting-post-daily
php artisan schedule:run

Example: Departure with Corporate Credit

Approved company account pays after stay

Reception reviews the final folio and completed departure handover. The active corporate contract has sufficient approved credit, so checkout transfers the balance to corporate receivables instead of pretending cash was collected. Accounting sees the receivable; the company statement and later payment settle it through the proper AR workflow.

Financial Troubleshooting

ProblemSafe response
Payment redirect succeeded but folio is unpaidCheck provider/webhook status and logs. Do not manually mark paid solely from the redirect.
Duplicate payment eventCheck idempotency/webhook record; do not create a second manual payment.
Checkout blocked by balanceCollect payment or use a permitted audited credit/manager override.
Journal period lockedPost an allowed current-period adjustment or have an authorized accountant manage the period; do not edit posted rows.