Reports and compliance

The hotels compared on what matters

Every measure the owner asks about — occupancy, ADR, RevPAR, GOPPAR, payroll and food cost as a share, utilities per occupied room, distribution cost — for one hotel, a city, a company or the group, with each hotel against the group's median.

Menu → KPIs. A hotel's own numbers were always readable. What an owner of several asks is different: *which of my hotels is worse than the others, and by how much?*

The sheet: every KPI in the pack with its value, its target, the numerator and denominator it is made of, and what it means.
The sheet: every KPI in the pack with its value, its target, the numerator and denominator it is made of, and what it means.

The sheet

Pick the scope — a hotel, a company, a city or region, or the whole group — and the window. Every KPI in the pack comes back with its value, its target, and the numerator and denominator it was made from, so a number that looks wrong can be taken apart on the spot. Occupancy, ADR, RevPAR, TRevPAR, GOPPAR, EBITDA margin, payroll as a share of revenue, food and beverage cost, cost per occupied room, utilities per occupied room, housekeeping supplies per room, distribution cost, spend per cover.

The benchmark

Benchmark takes one KPI and puts every hotel under the scope side by side with the group's median, each hotel's variance from it and its rank. That is the table the owner reads: the same measure, the same window, no argument about definitions.

A KPI is a row, not code

The pack is the definitions themselves. Each says what the numerator and the denominator are, in sources the engine knows — revenue, revenue of one department, expense, an account by its code, rooms sold, rooms available, covers, bookings, headcount — its unit, whether higher or lower is better, and its target. A group that measures something of its own adds a row; one that disagrees with a seeded definition overrides it by its code. Nothing about a hotel's KPIs is written into the product's code, which is what lets a chain keep its own.

Where the number comes from is the ledger and the operating tables, through one resolver, so a KPI and the statement it is read beside cannot disagree.

More in Reports and compliance

Running a reportPick it, set the hotel and the dates, Run. Export CSV for anything that leaves the building. Which report answers which questionForty reports, grouped by the question somebody actually asked. The occupancy heatmapEvery hotel you may see, the month day by day: rooms, occupancy and ARR in each cell, coloured by occupancy, last year beneath, the month summed on the right. The log: everything that happened, on one pageOperations → Log is every kind of event for this hotel in one list — bookings, rooms, messages, mail, channel traffic, support access — newest first, seven days by default. GST, GSTR-1 and the tax invoiceWhat the system produces, and the two things it does not do. What an auditor will ask forThe six reports that get asked for every time, and what each proves. Approvals: what needs a second signatureOne machine for everything one person must not do alone: a rule says what needs approving, at how many levels, by whom, above what amount; the queue is where it is signed. How many rooms are leftThe night-by-night availability sheet: rooms, out of order, sold, on hold and what is left to sell, per room type and in total. Closing the month by a listA month is locked only when its checklist is done — every day audited, the sub-ledgers agreeing, the bank reconciled — and at the lock the trial balance is snapshotted and hashed. Reopening needs two signatures. The budget: the year planned by account, the month measured against itAn amount per account per month. The rooms lines are derived from occupancy and rate, the outlet from covers and check, the rest typed; then every month the ledger is measured against it and a rolling forecast says where the year is heading. The payroll: the month received, posted and paidThere is no HR module. The payroll engine's result — by department: gross, PF, ESI, PT, TDS, advances, net — is imported once a month and posted as one journal; then the net and each authority is paid, with a challan. The group adds up: consolidated statements and the owner's pageOne statement for a hotel, for a legal entity's hotels, or for the whole group — profit and loss, balance sheet, consolidated trial balance — and the owner's page: equity, the result, distributions, the FF&E reserve. What to run daily, weekly and monthlyA short habit that catches most problems while they are still small. A report sent by mail, on a scheduleAny report in the catalogue, to anyone, daily, on weekdays, or monthly on a day — at an hour in the hotel's own time, for yesterday, the last seven days, the month to date or last month. What the books noticed: anomaly alertsRules, not models, read the live books every day and raise an alert with its evidence — a near-duplicate bill, an odd manual journal, a cashier's voids, a vendor's price drift, a bad GSTIN, an uncharged room, an unmatched bank line. Nothing posts by itself. A rupee is not the only money: foreign invoices and revaluationAn overseas agent invoiced in dollars, an OTA that remits in dollars: the invoice keeps its rupee value, carries a foreign face at the rate it was quoted, and at month end the open balance is revalued — the gain or loss named in the books. One ledger, many dimensions: department, cost centre, geographyOne Electricity account for the whole group, with the hotel, the department, the cost centre and the city carried on every line — instead of one account per location. The books then read by any of them. The compliance calendar: what is due, and whenEvery statutory obligation the hotel actually has — from its own PAN, TAN, GST registrations, headcount and turnover — raised before it is due, prepared, approved, filed and evidenced. What the books already know is filled in from the books. A government notice, and what was done about itA notice from any authority — its number, section, amounts, the date the answer is due — with every response, hearing, extension and order dated under it, and a deadline that escalates like any other. A shared cost spread by a rule, and what one company owes anotherHead office pays the electricity for four hotels: a rule spreads it by occupied rooms, revenue, headcount or a fixed share, reads the driver from the books, and posts. What one company of the group owes another is then settled and eliminated. PF, ESIC, professional tax and the payroll returnsThe staff master the authorities need — UAN, ESIC IP, PAN, state, joining and leaving — and from a posted payroll month: the PF ECR file, the ESIC contribution file, professional tax and LWF checked against the state's own slabs, and the 24Q and Form 16 datasets. The company's own book, and the labour registersWhat the Registrar asks of a company — directors, shareholders, auditors, charges, related parties, the capital — kept as registers that raise their own filing when something changes; and the establishment's licences, minimum wages and statutory registers. Asking for a purchase, contract rates and what other hotels payThe front of the buying chain: a store asks, somebody approves, and only then is a purchase order raised — at the vendor's contracted rate. Beside it: the rate cards, the price variance, what the same item costs at every hotel, and the MSME clock. What the reports cannot do yetFixed reports, run and exported by hand. There is no report builder and no scheduling. When goods leave the hotel: delivery notes and e-way billsA hotel sells rooms and food and neither moves — but stock transferred between two stores, goods sent for repair, and equipment sold do. Each is a delivery note, and above the state's threshold it needs an e-way bill before it travels. The company's own tax: the estimate, the instalments and the demandsThe year's taxable income worked out from the books line by line — what is added back, what is deducted, the credits already suffered — then the four advance-tax instalments with their shortfall and interest, the challans posted, and any demand tracked to its end. The money ahead, who may see what, and every call in and outWhat is coming in and going out for the next weeks, from documents that already exist, with the first day the balance goes short; a masking policy that shows a number without showing whose it is; and one log of every outbound and inbound call with a queue for what failed. Bank accounts, cash and chequesEach bank account and petty cash float has its own ledger; the till's cash is deposited to a named account; a company's cheque is deposited, clears, or bounces — and the books follow each step. Bank reconciliation — the statement and the books, line by lineImport the bank's statement, let the rules match it to the books, finish the rest by hand, and read the reconciliation statement: books, plus what the bank has not seen, less what the books have not seen, equals the bank. Banquet finance — an event is a ledger of its ownDeposits by milestone, the fee when a client lets go, the florist's bill and the food issued tagged to the function, the salesperson's cut — and the margin each event made. Cash position — what is in the bank, what leaves, what comes in, day by dayEvery bank account with the books' balance and the bank's, what neither side has seen, the sanctioned limit; every rupee owed or held, dated; the balance for the next thirty days; who may sign; funding a sister hotel. Collections — reminders, write-offs and the provisionPast-due bills are chased by mail on a schedule, each is assigned to somebody with a promise date, a debt is forgiven only with a second signature, and the books carry a provision for what may not come. Commission bills and the group's own feesA travel agent that invoices the hotel for commission gets its month's bill raised from the bookings it sent; the management fee or franchise royalty is raised from the month's revenue by a rule. Connectors — a batch leaves the books once, and says where it wentMap the chart to the other system's ledgers, build a batch of journals for a period with control totals and a hash, send it (Tally bridge, Zoho, QuickBooks, a file), read back what the other side said; issue keys for systems that post into the books, and read the rejection queue. Cost of sales — the stock ledger in the booksWhat the kitchen used is the cost of the day; what sits on the shelf is an asset. From the day you switch it on, the night audit reads the stores. CSV, QuickBooks, webhooks and the warehouse feedA batch as a CSV with the mapped codes; QuickBooks Online through the same batch machinery; signed webhooks for posted, recorded, approved and paid events; the nightly line-level CSV for a warehouse. E-invoices — the B2B invoice is registered with the IRP and carries its signed codeAbove ₹5 crore a B2B invoice is registered with the Invoice Registration Portal the moment it closes; the IRN, acknowledgement and signed QR come back and print on the invoice; cancel within 24 hours, else a credit note. Fixed assets — a thing the hotel owns is numbered, and wears outEvery asset is a row with a tag, a cost, a life under two books, an insurance date and a history; depreciation is a monthly run; a count says what could not be found. Gateway settlements — what Razorpay, PhonePe and the card machine paid, and what they keptImport (or pull) the gateway's settlement, match each line to the payment the desk took, post one journal per settlement: the bank gets the net, 5060 gets the fee with its input GST, and the card / UPI receivable comes down by the gross. GST returns — GSTR-1 and GSTR-3B from the books, frozen when prepared, amended by the differencePrepare GSTR-1 (the portal's JSON) and GSTR-3B (the tables) for a registration and a month from the documents, the bills and the channels' TCS; download; mark filed with the ARN; read what changed since as next month's amendments; check that the ledger's output tax agrees. OTA and aggregator statements — what the channel collected, what it kept, what it paidImport MakeMyTrip's, Booking.com's, Agoda's, Zomato's or Swiggy's payout statement; every line is matched to its booking's invoice (or the order's payment); posting settles the invoices through the receivable — commission, GST on it, TCS, TDS and the net — or, for an aggregator, writes one journal. Packages, free nights, gift cards — revenue the books read rightA CP rate is a room and a breakfast; the books split it, the bill does not. A free night is an expense with an approver's name on it. A gift card is money held, until it is spent or it expires. Paying vendors — the payment runVendors are paid in runs: one person proposes what is due, another approves, the money goes with its UTR, the books and the bills follow; advances, debit notes and failed payments have their own doors. Purchase matching — the credit is only what the supplier declaredImport the month's GSTR-2B from the portal; every line is matched to the bills by GSTIN and invoice number; mismatches are named in words; accept, reject or keep pending each line (IMS) and export the actions; write to the supplier from the row. Receivables — who owes what, bill by billEvery bill moved to a company or an agent is an invoice with a due date; record what they paid against it, with the TDS they deducted; the ageing reads by due date. Tally — the day lands once, and Tally's GSTR-1 equals oursJournals go as Journal vouchers by the mapped ledger names; documents go as Sales / Credit Note / Receipt / Purchase / Payment vouchers with the party's GSTIN and the tax ledgers by rate; every voucher carries our id so a re-send alters instead of duplicating; the Tally Bridge on the accountant's PC moves the batches and reads Tally's ledger list back. TDS returns — the deduction is returned on 26Q, the credit is claimed against 26ASForm 26Q for the quarter in the RPU's text from what was deducted and deposited; the 16A certificates customers send, matched to the receipts; Form 26AS imported and reconciled on both sides; the channels' TCS against GSTR-2X. TDS — the deduction is a dated rule, and the threshold is per yearThe rates and thresholds are rows with effective dates; the year's aggregate is what the threshold is tested against; every deduction, challan and the 26Q rows are reports. The accounting API — the routes the pages use, for anyone who signs inEvery screen of the ledger, receivables, payables, bank, tax and connectors is a versioned REST route under /api with a capability; the same routes serve an integration that holds a session or an integration key. The booksEvery closed day is posted, two-sided, into a ledger you can read as a journal, a trial balance, a P&L and a balance sheet — and hand to Tally. The revenue reportThe money of a period, one row per bill, narrowed every way the owner asks. Vendor bills — matched before they are owedA vendor's bill is captured for the hotel, a goods bill is matched against the GRN and the PO, and approval is the moment it is owed: TDS held back, one journal posted. Vendors — who the group buys from, and the two-person rule on their bank accountA vendor belongs to the group, says who it is for GST and TDS, and its bank account is changed only by a proposal that a second login approves. Zoho Books — the books are mirrored, each day onceStore the Zoho organisation and its OAuth refresh token under the vault key; pull Zoho's chart into the mapping; send journals, invoices, customer payments (with the TDS withheld), credit notes and bills as batches; Zoho's answers and ids come back to the batch.