> ## Documentation Index
> Fetch the complete documentation index at: https://help.kwentra.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Income — Negative Room Charge Validation

> The system catches negative room charge issues at three points — reservation save, daily charge posting, and Night Turn pre-check — with clear errors and direct links.

The system now catches negative room charge issues at three points — when saving a reservation, when posting daily charges, and during Night Turn pre-check — with clear error messages and direct links for fast resolution.

**Business Value**

* Catches negative room charge issues at the earliest point — when saving the reservation, before any charge is posted.
* Prevents unbalanced Journal Vouchers from being created during daily charge posting.
* Blocks the Night Run entirely if any in-house reservation would produce a negative room charge.
* Shows clear error messages with clickable reservation links — no manual navigation needed.
* Covers reservation save, all three daily charge posting locations, and the Night Turn pre-check screen.

**Use Cases**

* Receptionist creates a reservation with a USD package on an EGP rate — the system blocks the save and shows exactly which night and rate is the problem.
* Night auditor opens Night Turn, sees the pre-check screen listing affected reservations, clicks a link to fix the rate, then runs the night audit.
* Front desk user posting daily charges gets an error with a clickable reservation link and jumps directly to fix the package setup.

**Why Does a Negative Room Charge Happen?**

The net room charge is calculated as: (Rate Amount − Packages − Discount − Fixed Included Tax) ÷ (1 + % Included Tax). Three configurations can push this below zero:

* Included packages exceed the room rate — packages collectively cost more than the rate amount (e.g., Rate = EGP 500, packages = EGP 580 → charge = −EGP 80).
* Currency mismatch on packages — a package priced in a stronger currency (e.g., USD) converts to an EGP amount that exceeds the room rate (e.g., \$10 USD → EGP 500 on a EGP 400 rate → charge = −EGP 100).
* Fixed included taxes — a nightly fixed tax deducted from the room charge pushes the net amount below zero (e.g., rate − packages = EGP 10, fixed tax = EGP 20 → charge = −EGP 9.26).

| **To fix: review the rate's included package setup and/or included tax configuration.**  Adjust package amounts or remove the currency mismatch so the net room charge is positive. |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

**How It Works**

**1. Reservation Save — Blocked When Rate Setup Would Produce Negative Charges**

| **Where:** Front Office → Individual Reservation → Create / Edit |
| ---------------------------------------------------------------- |

When creating or editing a reservation, the system now simulates the net room charge calculation for every night of the stay. If any night would result in a negative room charge, the save is blocked immediately.

| **Error message example:**  "Cannot save reservation: Rate \[HALF-BOARD (ID: 42)], Night \[2026-02-15] will produce a negative room charge because the included packages and/or tax setup exceed the room rate amount. Please check the included package setup and/or tax setup for this rate."  The error identifies the rate name, rate ID, and the specific night date with the issue. |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

| **Fix it before saving: adjust the rate's included packages or tax configuration so the net room charge is positive for every night of the stay.** |
| -------------------------------------------------------------------------------------------------------------------------------------------------- |

**2. Night Turn Pre-Check — Negative Room Charge Block**

| **Where:** Income → Night Turn |
| ------------------------------ |

Before the Night Run starts, the system checks ALL in-house reservations for the upcoming night. If any reservation would result in a negative room charge, a new section appears on the Night Turn pre-check screen:

| **Reservations That Would Result in a Negative Room Charge**  *The following reservations would result in a negative room charge. Please check the included package setup and/or tax setup for this rate.* |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

The section displays a table with all affected reservations:

| **Reservation** | **Guest Name** |
| --------------- | -------------- |
| 21028 (link)    | John Smith     |

* Reservation — a clickable link that opens the reservation directly.
* Guest Name — the full name of the guest on that reservation.

| **The Night Run is fully blocked until all listed reservations are resolved.**  This works the same way as other Night Turn blockers — unsettled POS invoices and unclosed cashiers. |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

**3. Post Daily Charges — Clickable Reservation Link in Error Message**

| **Where:** Front Office → Night Turn → Post Daily Charges |
| --------------------------------------------------------- |

**Also applies in:**

* Single Reservation Billing → Post Daily Charges
* Front Office → Reservation List → Bulk Post Daily Charges

When posting is blocked because a reservation would result in a negative room charge, the error message now shows the reservation as a clickable link:

| **Error message example:**  *"Cannot post daily charges: Reservation \[1234], Rate \[HALF-BOARD (ID: 42)], Night \[2026-02-15] would result in a negative room charge. Please check the included package setup and/or tax setup for this rate."*  *Clicking \[1234] opens that reservation directly. Fix the rate, package, or tax setup, then re-run the posting.* |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
