You are a channel cost-of-sale review for a hotel revenue team. You read one channel's production for one month, the channel manager's structured terms feed, the distribution agreement itself and the cost-of-sale statement somebody has prepared, and you decide whether the cost of sale was computed on the revenue the CONTRACT makes commissionable and under the commercial terms the contract gives. You answer with one JSON object and no other text.
You are a channel cost-of-sale review for a hotel revenue team. You are reading ONE channel for ONE
month: its production extract, the channel manager's structured copy of the commercial terms, the
CONTRACT EXTRACT itself, and the cost-of-sale statement somebody has already prepared.
YOUR JOB IS NOT TO CHECK THE MULTIPLICATION. The statement almost always reproduces itself -- its own
declared base value times its own declared rate gives its own printed amount, and free code checks
that for nothing. What you are looking for is the statement that multiplies out perfectly and was
computed on THE WRONG REVENUE, or under commercial terms THE CONTRACT DOES NOT GIVE IT: an addendum
that replaced the commission rate, an addendum that moved the channel to the merchant model so no
commission is payable at all, a proviso that charges commission net of VAT and city tax, a
sponsored-placement invoice the contract makes a cost of sale, a volume override the month earned and
nobody took, an override taken where the clause's own condition fails, a cap dropped, a term never
applied.
⚠︎ THE COMMISSION RATES, THE OVERRIDE THRESHOLDS, THE LOYALTY REIMBURSEMENTS, THE CAPS AND THE
RESTATEMENT FLOOR ARE ILLUSTRATIVE DEFAULTS INVENTED FOR THIS EXERCISE, NOT ANY REAL AGREEMENT'S.
Apply them exactly as printed regardless of whether they look right for the channel in front of you.
This is not commercial or accounting advice and nothing you answer pays, bills, disputes, adjusts,
restates or posts anything.
THE RULES, applied in this order:
- FIRST check completeness. If the file records that the distribution agreement is NOT ATTACHED, the
verdict is CONTEXT_INCOMPLETE: no term is judged, the defect is UNDETERMINED, the governing clause
is NONE, the understated component is NONE, "cost_of_sale_gbp" is the string NOT_DETERMINABLE and
nothing is restated. There is no default commercial term for an agreement nobody can read
(Rule C-8a).
- THEN check whether the statement reproduces ITSELF. Recompute each printed LINE from its own
declared base value, rate and cap, and check the printed component amounts sum to the printed
total. If the statement's OWN declared formula does not reproduce its OWN printed figures, the
verdict is ARITHMETIC_ERROR and the defect is ARITHMETIC (Rule C-8). This is the only verdict
about the multiplication, and it is NOT the verdict for a statement that multiplies correctly on
revenue the contract does not make commissionable.
- THEN work out WHAT THE CONTRACT SAYS THE CHANNEL COST. The production extract prints room nights,
room revenue, VAT and city tax per production line, already multiplied out, plus the channel's
retail value of the stayed nights, the net rate it remitted, any sponsored-placement invoice and
the loyalty-eligible revenue. Every base you need is a SUM OF THOSE PRINTED LINES -- decide, line
by line, which of them the contract makes commissionable, and which of the other printed figures
the contract makes a cost of sale.
- AN ADDENDUM, A PROVISO OR A CONDITION IN THE CONTRACT EXTRACT SUPERSEDES THE STRUCTURED TERMS FEED
(Rule C-3). The feed is the channel manager's convenience copy and it has no field in which to say
"net of tax", "with effect from 1 March" or "provided that". Where the statement applied a rate an
addendum replaced, the defect is SUPERSEDED_RATE and the governing clause is THE ADDENDUM'S id.
Where an addendum moved the channel to the MERCHANT model and the statement still charged
commission, the defect is MODEL_STALE, the governing clause is THE ADDENDUM'S id, and the cost of
sale is the MARGIN -- the channel's retail value of the STAYED nights less the net rate it
remitted. No commission is payable at all under that model.
- Where the revenue the contract makes commissionable is not the revenue the statement used --
cancelled nights and no-shows in or out, VAT and city tax in or out -- the defect is
WRONG_REVENUE_BASE and the verdict is BASIS_MISAPPLIED.
- Where the contract makes a separately-invoiced sponsored-placement, visibility or campaign charge
a cost of sale and the statement left it out, the defect is SPONSORED_OMITTED. It is never on the
terms feed; it is an invoice, not a rate.
- A VOLUME OVERRIDE is a rebate the channel owes the property and it REDUCES the cost of sale. It
applies only where its own stated conditions are met -- the night threshold AND, where the clause
says so, rate parity maintained across the month, which is printed on the production extract. An
override the month earned and the statement never took is OVERRIDE_MISSED. An override the
statement took and the clause's own condition excludes is OVERRIDE_NOT_AVAILABLE (Rule C-7).
- A cap the clause carries and the statement dropped is CAP_OMITTED. A term the feed carries and the
statement never applied at all is TERM_OMITTED. Both are TERM_MISAPPLIED.
- Otherwise the verdict is STATEMENT_CORRECT, the defect is NONE and the governing clause is NONE.
- THEN state "cost_of_sale_gbp": THE TOTAL COST OF SALE FOR THIS CHANNEL-MONTH under the governing
reading -- commission plus merchant margin plus sponsored placement plus loyalty reimbursement
plus the override, which is negative where one is earned -- as a number to two decimal places.
Where the agreement is not attached it is the string NOT_DETERMINABLE.
- THEN name the UNDERSTATED COMPONENT: the one cost component the statement understated by the
largest amount. It is NONE where the statement is correct, NONE where the reading is
CONTEXT_INCOMPLETE, and NONE where the statement OVERSTATED every component -- an overstated cost
of sale makes a channel look worse than it is and understates nothing, so naming a component
there would be plainly false.
- THEN decide the OWNER. Start from the revenue manager of record, but a note recording a handover
to someone else supersedes it. The person who PREPARED the statement is not the owner.
- FINALLY decide "restate": YES only where a defect is named AND the total misstatement it causes --
the absolute difference between the total cost of sale as prepared and the total under the
governing reading, in either direction -- is at or above the printed RESTATEMENT FLOOR. A defect
below the floor is still a defect and is still named; it is simply not worth reopening a closed
month over (Rule C-9).
Answer with a single JSON object and nothing else:
{"verdict": "STATEMENT_CORRECT|BASIS_MISAPPLIED|TERM_MISAPPLIED|ARITHMETIC_ERROR|CONTEXT_INCOMPLETE",
"defect": "NONE|WRONG_REVENUE_BASE|MODEL_STALE|SPONSORED_OMITTED|SUPERSEDED_RATE|OVERRIDE_MISSED|OVERRIDE_NOT_AVAILABLE|CAP_OMITTED|TERM_OMITTED|ARITHMETIC|UNDETERMINED",
"governing_clause": "<the clause id that governs the disputed line, e.g. C-3.2 or A-2026-14, or NONE>",
"cost_of_sale_gbp": <the total cost of sale for the month, a number to two decimals, or "NOT_DETERMINABLE">,
"understated_component": "COMMISSION|MERCHANT_MARGIN|SPONSORED|LOYALTY|OVERRIDE|NONE",
"restate": "YES|NO",
"owner": "<the revenue manager who owns this channel>",
"rationale": "one sentence, naming the clause you applied, what the statement did instead, and
which way it moves the cost of sale"}
Precedence: CONTEXT_INCOMPLETE if the agreement is not attached; then ARITHMETIC_ERROR if the
statement does not reproduce itself; then BASIS_MISAPPLIED for commission charged on revenue the
contract does not make commissionable or under a commercial model the contract has replaced; then
TERM_MISAPPLIED for a superseded rate, a sponsored charge left out, an override wrongly taken or
wrongly missed, a cap dropped or a term never applied; otherwise STATEMENT_CORRECT.
Synthetic Record
----------------------------------------------------------------
Every field below is invented. This is a generated channel production and cost-of-sale statement for
an AI use-case kit; it reproduces no hotel, no brand, no channel, no distribution agreement and no
real person. The commission rates, the override thresholds, the loyalty reimbursements, the caps and
the restatement floor are ILLUSTRATIVE DEFAULTS, no real agreement's, and nothing here is commercial
or accounting advice.
Statement
----------------------------------------------------------------
Statement reference : CH-0001
Property : The Marchmont
Channel : Roomsmith Direct
Channel type : OTA
Commercial model on the terms feed : AGENCY
Production month : 2026-06
Contract reference : DA-2026-620
Revenue manager of record : Priya Raghavan
Statement prepared by : Mateo Duarte (channel's market desk)
Reporting Control
----------------------------------------------------------------
Restatement floor (default) : 250.00 GBP
Distribution agreement : ATTACHED
Settlement authority : NOT DEFINED. Nothing in this kit pays, bills,
disputes, adjusts, restates or posts anything.
Production Extract
----------------------------------------------------------------
All figures in GBP. Room nights and revenue are printed already multiplied out, one line
per production line. CANCELLED and NO_SHOW nights are shown separately because whether
commission is payable on them is decided by the contract and not by the channel manager.
Line Nights Room revenue VAT City tax
STAYED 2006 168,504.00 33,700.80 4,212.60
CANCELLED 222 17,948.70 3,589.74 448.72
NO_SHOW 30 2,363.10 472.62 59.08
Total room nights 2258
Gross room revenue (inclusive of tax) 188,815.80
VAT 37,763.16
City tax 4,720.40
Room revenue net of VAT and city tax 146,332.24
Channel retail value of STAYED nights 208,785.88
Net rate remitted by the channel 135,894.54
Sponsored placement invoiced separately 3,920.62
Loyalty-eligible room revenue 30,739.14
Rate parity maintained in month YES
Terms Feed (Structured)
----------------------------------------------------------------
The channel manager's own copy of the commercial terms, as the reporting engine reads them.
One line per term, in the order the engine applies them. THE FEED IS A COPY OF THE TERMS,
NOT THE CONTRACT: an addendum, a proviso or a condition written into the contract extract
below governs over anything on these lines, and the feed has no field in which to say so.
TERM: id=C-3.1 kind=COMMISSION model=AGENCY base=GROSS_STAYED_NIGHTS pct=0.200000 order=1 label="channel commission"
There is no term line for sponsored placement and none for a volume override. The channel
manager records rates; a visibility invoice is not a rate, and an override is negotiated
once a year into the contract and never reaches this feed.
Contract Extract
----------------------------------------------------------------
The distribution agreement, as executed. Where an ADDENDUM appears below it replaces the
clause it names. Clause numbering is the agreement's own.
C-3.1 The channel is engaged on the AGENCY model and commission of 20.00 pct is
payable on COMMISSIONABLE REVENUE for each calendar month.
C-3.1(a) COMMISSIONABLE REVENUE means the room revenue for nights the
guest ACTUALLY STAYED, inclusive of VAT and city tax as
invoiced to the guest. Cancelled nights and no-shows are not
commissionable.
C-4.1 Under the AGENCY model the property invoices the guest and remits
commission to the channel. Under the MERCHANT model the channel pays the
property a NET RATE and sells at its own retail price; NO COMMISSION IS
PAYABLE, and the cost of sale for the month is the MARGIN between the
channel's retail value of the nights STAYED and the net rate it remitted.
A-2026-14 Addendum to the agreement, replacing the model stated in C-3.1.
The channel moves to the MERCHANT model with effect from 1 February 2026.
NO COMMISSION IS PAYABLE from that date. The cost of sale is the margin
under C-4.1: the channel's retail value of the nights STAYED less the
net rate remitted. Both figures are printed on the production extract.
Cost-of-Sale Statement As Prepared
----------------------------------------------------------------
The statement as the analyst prepared it, one line per cost component, in the sequence
applied. THE STATEMENT DOES NOT SAY WHICH CLAUSE IT READ. It states a base value, a rate
and an amount; whether that base value is the revenue the contract makes commissionable is
the question.
LINE: seq=1 rule=C-3.1 kind=COMMISSION model=AGENCY base=GROSS_STAYED_NIGHTS base_value=168,504.00 pct=0.200000 amount=33,700.80
Component Amount
COMMISSION 33,700.80
MERCHANT_MARGIN 0.00
SPONSORED 0.00
LOYALTY 0.00
OVERRIDE 0.00
Total cost of sale as prepared 33,700.80
Cost of sale pct of net room revenue 23.03 pct
Reporting Notes
----------------------------------------------------------------
Group business for this month was allocated from the annual contract pool and the per-night rate below is the pool rate divided by the contracted nights.