Cash at reception
Enter received amount, calculate change, choose the active cashier shift, and issue a receipt. The shift must balance at closing.
Money flow from booking to ledger
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.
| Line type | Typical source | Review before checkout |
|---|---|---|
| Room charge | Nightly reservation rate snapshot | Dates, room, rate, discount, taxes |
| Service / Minibar | Hotel service or stock posting | Quantity, price, room/guest, staff record |
| POS / Room service | Restaurant order posted to room | Order reference, items, tips/tax, guest authorization |
| Condition discrepancy | Accepted and Manager-approved departure handover | Evidence, suggested cost, approval; never post an open dispute |
| Payment | Cash, card provider, bank, payment link, corporate AR | Provider status, reference, amount, currency |
| Refund / Reversal | Authorized correction | Original payment, reason, approver, provider result |
Enter received amount, calculate change, choose the active cashier shift, and issue a receipt. The shift must balance at closing.
Create the provider checkout or payment link. Treat the verified provider/webhook result as payment authority, not a browser redirect alone.
Record the bank reference only after the hotel's verification process confirms receipt. Pending proof is not cleared money.
Use an active approved corporate relationship with sufficient credit. Unauthorized credit requires Manager/Owner approval.
| Field | Purpose | Example |
|---|---|---|
| Amount | The exact money received or requested. | USD 475.00 |
| Method | Controls reconciliation and accounting treatment. | Cash, Stripe, PayPal, bank transfer |
| Reference | External receipt, provider, or bank identifier. | pi_3Q… or bank receipt 84751 |
| Notes | Operational context, never card data. | Deposit collected at reception |
| Idempotency | Prevents duplicate processing of the same provider event. | Generated automatically for supported payment flows |
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.
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
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.
| Problem | Safe response |
|---|---|
| Payment redirect succeeded but folio is unpaid | Check provider/webhook status and logs. Do not manually mark paid solely from the redirect. |
| Duplicate payment event | Check idempotency/webhook record; do not create a second manual payment. |
| Checkout blocked by balance | Collect payment or use a permitted audited credit/manager override. |
| Journal period locked | Post an allowed current-period adjustment or have an authorized accountant manage the period; do not edit posted rows. |