Accounting
Accounting is fed by folios, payments, refunds, cashier sessions, POS, expenses, corporate receivables, and agent settlements. Operational teams create source activity; accountants review and post it.
Daily accounting workflow
- Confirm the previous night audit completed and no cashier sessions remain unexpectedly open.
- Review unposted folio, payment, refund, POS, and expense activity.
- Investigate exceptions before posting rather than editing totals afterward.
- Run or review daily posting and confirm balanced debit/credit totals.
- Reconcile payment-method totals with cash counts, terminal reports, and gateway settlements.
- Export or lock the period only after exceptions are explained.
Ledger rules
| Rule | Why it matters |
|---|---|
| Amounts use integer minor units | Avoids floating-point rounding errors in money calculations. |
| Posted journals are immutable | Preserves the audit trail and protects financial reports. |
| Corrections use reversals/adjustments | Shows both the original mistake and the approved correction. |
| Source references are retained | Lets an accountant trace a journal line back to a folio, payment, POS order, or expense. |
Example: card settlement differs
The folio report shows 2,450.00 in card payments, while the terminal settles 2,400.00. Do not change a guest payment. Compare individual references, refunds, timing cutoffs, and pending gateway transactions. Record an approved adjustment only after identifying the 50.00 cause.
Period close checklist
- No unexplained unposted entries or out-of-balance journals.
- Cash, card, bank, and gateway totals reconcile to external evidence.
- Corporate invoices and agent commissions are reviewed.
- Tax reports match configured rules and issued documents.
- Backup/export is retained according to policy before locking the period.
Automation
The daily posting command is php artisan hotel:accounting-post-daily. Schedule it only after the application scheduler and monitoring are working. Automation does not replace review of warnings, disputes, delayed charges, or failed provider transactions.