Every Order Explains Where Its Margin Went
The gap between what the buyer pays and what the supplier receives cannot be a guess.
An order’s margin equals the seller’s markup plus the commission built into the supplier’s price. Only search-and-book orders used to split it; payment-link and offline orders now use the same calculation and checks, and leave the amount empty with a stated reason when there is no basis for it.
Every hotel order carries a gap: what the buyer pays minus what goes to the upstream supplier. That gap has two parts, the markup the seller added and the commission already built into the supplier’s price. Before anyone settles commission or explains a month’s profit, those two parts have to be separated. If they are not, finance is left guessing from totals.
Orders do not arrive through one door. Search-and-book orders always split the gap and checked it: markup plus built-in commission must equal buyer price minus cost, exactly. Payment-link orders and offline entries recorded only where they came from, and their split amounts were empty. Three kinds of orders had three levels of completeness, and the commission payable ledger received blanks.
Payment-link and offline orders now go through the same split as search-and-book. It reads the commissionable price the supplier declared in the quote, falls back to the commission rate agreed on that supplier connection, and if neither exists it leaves the amount empty with an explicit reason instead of inventing commission. Where the order came from is filled in by the server for each entry point, never taken from the request, and a split that breaks the equation is refused.
One more guardrail: built-in commission may not exceed the order’s whole gap. If it does, that “commission” does not exist economically, so the system declines to record the amount, notes the reason and lets the booking go ahead. Whether a guest searched and booked, paid through a link, or a salesperson entered the order afterwards, the books hold the same kind of split or a stated reason.