PMS Β· How-To Guide

Everything you need to run the front desk, from day one.

This page walks your team through every screen and every workflow in the Saskey PMS β€” bookings, billing, GST, banquet, housekeeping, vendor payments, reports, the mobile app, and the settings that tie it all together.

Login & roles

Open hms.saskey.in and sign in with the email + password your admin provided. If the same email belongs to more than one property, a property picker appears after you enter your password β€” choose the one you want to work in. Your access to screens depends on your role:

πŸ‘‘AdminFull access including Settings, Accounting, Reports, Users.
πŸ“ŠManagerBookings, discounts, reports. Can add non-admin users. No admin Settings access.
πŸ”‘ReceptionistBookings, walk-in, check-in/out, payments, invoices, invoice register, police report.
πŸ’³CashierCash & day-book style reports, cashier report, invoice register.
🧾Front Office ManagerFront-desk plus the full report set.
🧹HousekeepingFloor-wise rooms, cleaning tasks, guest requests.
πŸ”§MaintenanceTickets by floor + room, start/stop work timer.
🏒Accountant / Back officePurchases, vendor payments, ledgers, GST filing, financials.
NEWManagers can now add users from the Users screen β€” but only non-admin roles, and they can't edit an admin user or promote anyone to admin.

The sidebar groups screens by function:

  • Dashboard β€” daily snapshot of occupancy, arrivals, departures, today's revenue. Every tile is clickable and opens the matching report with the date already filtered (see Dashboard drill-downs).
  • Rooms β€” live grid of every room with status colour (Clean / Dirty / Occupied / Out-of-order).
  • Bookings β€” list view + calendar view + filters (date range, status, search).
  • Night Audit β€” preview tonight's auto-postings; manually run if needed.
  • Front Desk β€” quick screen for arrivals & departures today.
  • Housekeeping / Maintenance / Linen / Assets / Store β€” operational modules.
  • Accounts β€” Purchases, Purchase Returns, Vendor Payments, Expenses, Cash/Bank Ledger, Card Settlement, Journal/Contra, Bank Reconciliation, Corporates, GST Filing, Missing Invoices, Financials.
  • Banquet β€” hall bookings with their own list + calendar + ledger flow.
  • Reports β€” a single hub with a two-level menu (grouped by Operations, Financial, Compliance…). Police Report and Invoice Register now live inside Reports.
  • Settings β€” property config, theme, users, charge categories, GST, SMS, ledger routing.

First-time setup checklist

Before the first guest, an admin should walk through:

1Property infoSettings β†’ Property β†’ name, GSTIN, address, state code, check-in/out times, hotel logo.
2Room categoriesSettings β†’ Room Categories β†’ set single rate, double rate, max occupancy, extra-person rate, SAC code.
3RoomsSettings β†’ Rooms (or Rooms page) β†’ add each room number with its category and floor.
4GST slabsSettings β†’ GST β†’ exempt-below, low-rate, threshold, high-rate. Indian default: β‚Ή1000 exempt, 5% below β‚Ή7500, 18% above.
5Charge categoriesSettings β†’ Charge Categories β†’ F&B 5%, Banquet 18%, Laundry 18%, etc. with SAC codes.
6Bank & cash accountsAccounts β†’ set up each real cash drawer and bank account (each gets its own ledger + Chart-of-Accounts code).
7Cash / Bank routingSettings β†’ Cash/Bank β†’ which account each payment method (cash / card / UPI / bank transfer / cheque) posts to.
8UsersSettings β†’ Users β†’ invite your team with the right role.
9SMSSettings β†’ SMS β†’ paste DLT credentials and template IDs.

Create a booking

  1. Bookings β†’ + New Booking.
  2. Pick the guest (search by phone first; system auto-fills if guest exists). If new, fill name + phone + ID type/number.
  3. Pick check-in and check-out dates.
  4. Set adults + children. The rate auto-recalculates: 1A β†’ single rate, 2A β†’ double rate, 3+ β†’ double + extra-person Γ— N.
  5. Choose the room category and (optionally) assign a specific room. You can leave it unassigned and pick at check-in.
  6. Save. Booking status starts as confirmed.
TIPThe system also sends an SMS confirmation to the guest if your SMS provider is configured. Check Settings β†’ SMS β†’ "Test SMS" to validate the wiring before relying on it.

Walk-in (guest at the desk now)

  1. Rooms screen β†’ click a vacant_clean room β†’ Walk-in button.
  2. Fill guest details, ID type + number, address.
  3. Confirm adults (rate updates live).
  4. Optionally collect an advance amount + payment method now β€” it'll be posted to the folio immediately.
  5. Save. The booking is created with status=checked_in and the room flips to occupied.

Multi-room booking (one guest, several rooms)

From an existing booking detail page, click + Link Another Room. Each linked room has its own rate (per category and occupancy), but they share one folio + one invoice. Checkout only generates the invoice when the last room vacates.

Change occupancy mid-stay

On Booking Detail β†’ click πŸ‘₯ Occupancy. Pick new adults / children. The system:

  • Updates the saved per-room occupancy.
  • Re-computes the rate from the room category settings.
  • If past nights have already been charged, you'll see a confirm prompt β€” choose either "reverse + re-post past nights at the new rate" (creates offsetting JV entries) or "future-only" (past nights keep their old rate).
WHYRe-posting past nights touches the accounting GL. The confirm prompt makes sure the operator is doing it intentionally. (Once a final invoice exists, occupancy is locked β€” issue a credit note instead.)

Check-in

  1. Booking Detail β†’ Check-in.
  2. Confirm room assignment (system blocks dirty rooms β€” Mark Clean first).
  3. System sets actual_check_in=NOW(), room β†’ occupied, status β†’ checked_in.

Check-out & round-off

  1. Booking Detail β†’ Check Out.
  2. Late checkout? You'll see a suggested fee based on Settings β†’ Late Checkout Policy. You can override.
  3. System asks you to settle the folio balance before closing β€” Record Payment or set the booking as Corporate Bill-To.
  4. The invoice is generated automatically at checkout, and the grand total is rounded to the nearest rupee β€” the paise difference posts as a Round Off line so the payable is a clean whole number (standard Indian hotel-invoice practice). This never changes the tax.
  5. Folio closes, room flips to vacant_dirty, a housekeeping task is auto-created.

Undo checkout

Checked a guest out by mistake? Booking Detail β†’ Undo Checkout reopens the folio and puts the room back to occupied.

  • Because checkout now issues the tax invoice automatically, Undo Checkout voids that invoice and its revenue posting so the folio is clean again.
  • It requires an Admin or Manager, and only works while the invoice's GST period is not yet filed. If GSTR-1 for that month is already filed, issue a credit note instead.
  • Re-checking out afterwards simply generates a fresh invoice with a new number; the voided one stays as a historical record.

Room shift

To move a guest to a different room: Booking Detail β†’ Room Shifting β†’ pick the new (vacant_clean) room. The original folio history stays; future charges go to the new room.

Extend / shorten stay

Booking Detail β†’ Amend Stay. Pick the new check-out date. Extending posts additional night charges; shortening reverses charges from the dropped dates (room + GST rows only β€” F&B and misc charges stay).


Folio & charges

Every booking has one folio. The Folio tab on Booking Detail shows all transactions grouped by date, with taxes indented under their parent charge.

To add a non-room charge (Food, Laundry, Mini Bar, etc.), click + Add Charges, pick a category, amount, and (optionally) override the SAC or GST rate. The category's default GST from Settings is used automatically.

Apply discount

  1. Folio β†’ % Apply Discount.
  2. Enter the percentage and a reason.
  3. System reverses every room + extra-person row, then re-posts them with GST calculated on the discounted base. F&B / Laundry / etc. are not discounted.

Record payments

Folio β†’ + Record Payment. Pick the method (Cash / Card / UPI / Bank Transfer / Cheque). The deposit account auto-fills from your Settings β†’ Cash/Bank routing defaults, but you can override at payment time.

Each payment writes a receipt (RCPT/FY/00001), posts a balanced JV (Dr Bank / Cr AR), and updates the folio balance.

Generate invoice

Checkout finalises the invoice automatically (see Check-out). You can reprint it any time from Booking Detail β†’ Invoice tab β†’ Print Invoice. The document number (INV/FY/00001) and its line items are locked once issued β€” further changes need a credit note.

For a Pro-forma at any time: Folio tab β†’ Pro Forma.

Share invoice on WhatsApp

From the Invoice modal β†’ πŸ’¬ Send via WhatsApp. The system mints a 30-day public share link hms.saskey.in/i/<token> and opens WhatsApp with a pre-filled message to the guest. No PDF attachment needed; the guest just taps the link.

GST handling

Three layers:

  • Room slabs β€” Settings β†’ GST: exempt-below / low rate / threshold / high rate.
  • Charge categories β€” each row has its own default GST. F&B 5%, Banquet 18%, etc.
  • Place of supply β€” derived from the guest's GSTIN (first 2 digits = state). Same state β†’ CGST + SGST. Different state β†’ IGST.

Purchases & purchase returns

Accounts β†’ Purchases records supplier bills for store items, linen, assets and consumables. Each bill posts the expense/asset and credits Accounts Payable, and (for asset lines) creates the asset record automatically.

  • Record a payment against a single purchase bill from the bill itself β€” or pay several bills together on the Vendor Payments screen (below).
  • Edit / Cancel a bill reverses its accounting and inventory. Cancelling an asset bill also removes the asset it created.
  • Purchase Returns handle goods sent back to a supplier and adjust the payable.

Vendor payments NEW

Accounts β†’ Vendor Payments pays a vendor's outstanding bills β€” both laundry bills (raised on the Linen screen) and purchase bills β€” in a single cheque or bank transfer, posting one clean entry to the account the money left.

1Pick the vendorThe dropdown shows every vendor and their total due.
2Choose "Paid From"The bank or cash account the money leaves β€” this is what makes the payment show up in that account's Cash/Bank Ledger.
3Select the billsTick the bills you're paying. The Pay Amount defaults to each bill's outstanding; edit it to pay part of a bill. You can't enter more than a bill's balance.
4Round off (optional)Type an adjustment or hit "β€³ Nearest β‚Ή" so the bank pays a whole number. Bills still clear in full; the paise post to a Round Off account.
5Record PaymentPosts one journal entry: Dr Accounts Payable Β· Cr the chosen bank account. Each paid bill is marked settled.
WHYRecording the bank account on the payment is what lets it appear in the Cash/Bank Ledger and reconcile against your statement. The old laundry "Mark Paid" (which always assumed cash) has been retired β€” the Linen screen now links here.

Vendor advances

On the same screen you can also handle prepayments to a vendor:

  • Add advance β€” pay a vendor money not tied to any bill (you can even pick a vendor with no open bills). Posts Dr Advances to Vendors Β· Cr Bank, and builds up that vendor's advance balance.
  • Apply advance β€” when a vendor has an advance balance, the screen shows "(β‚ΉX avail)". Draw from it to settle bills, and the bank pays only the difference (Dr Accounts Payable Β· Cr Advances to Vendors).

Example: pay a β‚Ή2,000 advance today β†’ next week a β‚Ή1,500 bill arrives β†’ apply β‚Ή1,500 from the advance, bank pays β‚Ή0, and β‚Ή500 stays in the vendor's wallet.

Cash / Bank ledger

Accounts β†’ Cash/Bank Ledger shows a running-balance passbook for any cash drawer or bank account. Pick the account and a From / To date range to see every inflow and outflow with the closing balance β€” money in from guest payments, money out on expenses and vendor payments, plus manual journal/contra entries tagged to that account.

Bank reconciliation

Accounts β†’ Bank Reconciliation matches your books against the bank statement.

  1. Pick the bank account and upload the SBI statement PDF / e-statement (the parser handles both current accounts and OD accounts).
  2. Confirm the auto-suggested matches between statement lines and your ledger entries.
  3. For bank-only lines (charges, interest) post a quick adjustment so both sides tally.
TIPUse the real bank account on every non-cash payment (guest payments, vendor payments, expenses) so entries are tagged and reconciliation is mostly one-click.

Corporates & credit

Accounts β†’ Corporates tracks companies you bill on credit. A corporate booking can be marked Bill-To at checkout β€” a tax invoice is raised but the balance stays as receivable until the company pays.

  • Each corporate page shows all its bookings, the discount given per booking and the total discount at the top (information only), plus outstanding, aging and a statement.
  • Record the company's payments against their receivable from the same page.
NOTECorporate entities are matched on GSTIN, not company name β€” two businesses can share a trade name, so the GSTIN keeps their books separate.

GST filing

Accounts β†’ GST Filing is the month-wise compliance hub: GSTR-1, GSTR-3B and GSTR-2B views, the filing JSON, a 2B reconcile, and a filing lock. Once a month is marked filed, the system blocks edits that would change that period's figures (e.g. undo-checkout on an invoice in a filed month) so your books can't drift from what you submitted.


Banquet β€” new booking

  1. Banquet β†’ + New Booking.
  2. Fill event name, date, hall, pax count, food rate/pax, hall charges, contact.
  3. Optionally enter an initial advance + payment method.
  4. Save. Status starts as confirmed.

Advance payments + receipts

Open the booking detail β†’ Payment Ledger β†’ + Add Payment. Multiple advances are allowed any time before the event. Each gets a receipt number RCPT-BNQ/FY/00001 you can print from the πŸ–¨οΈ icon.

Complete event β†’ generate invoice

After the event happens, click Mark Completed. The Generate Invoice button enables only at this point (locks the amount; pre-event changes are allowed).

WHYPre-event changes are common (pax revision, hall swap). Locking the invoice only after completion prevents discrepancy with what you file in GSTR-1.

Cancel & refund

Open detail β†’ Cancel Booking β†’ confirm reason. The system:

  • Reverses the revenue + GST JV (if invoice was issued).
  • Does NOT touch payment rows β€” money is still in your bank.
  • Surfaces a ↩️ Refund button with the eligible amount.

Click Refund β†’ pick mode (Cash / UPI / Bank) β†’ pick which account to refund from β†’ submit. Each refund creates a refund-receipt row and posts Dr Advance / Cr Bank.


Housekeeping tasks

Housekeeping page shows rooms grouped by floor with their cleaning tasks. Tap a room β†’ Start begins a timer. Stop closes the task and records duration.

Multi-floor assignments: Settings β†’ Users β†’ click a housekeeping staff member β†’ Floors β†’ tick the floors they handle. They'll only see their floors in the mobile app + web.

Maintenance tickets

Maintenance page lists open / in-progress / closed tickets. Receptionists raise tickets from Booking Detail β†’ πŸ”§ Ticket β†’ category (electrical / plumbing / AC / etc.), priority (low/normal/high/urgent), description.

Maintenance staff get a push notification on their phone and a row on their mobile dashboard.


Install the mobile app

Android: Google Play Store β†’ search "HMS by Saskey" β†’ Install. Or use the internal-testing invitation link from your admin.

iOS: TestFlight invitation (forthcoming on App Store).

Sign in with the same email + password you use on the web. Updates arrive over-the-air β€” if a screen looks out of date, fully close the app twice to pull the latest.

Role-specific screens

πŸ‘‘AdminπŸ“Š Dashboard (occupancy + pax + financials) Β· πŸ“… Bookings Β· πŸ›οΈ Rooms Β· πŸ“ˆ finance & revenue reports.
πŸ“ŠManagerπŸ“Š Dashboard Β· πŸ“… Bookings (with apply-discount) Β· reports.
πŸ”‘ReceptionistπŸ›οΈ Rooms Β· πŸ“… Bookings Β· πŸ›ŽοΈ Raise Guest Request Β· πŸ”§ Raise Ticket.
🧹HousekeepingFloor-wise tasks with start/stop timer.
πŸ”§MaintenanceTickets by floor + room with start/stop timer.
NEWThe mobile Reports tab now carries the finance & revenue reports from the web (day sales, revenue & tax, occupancy) and drops the back-office/maintenance ones.

Push notifications

Tasks and tickets are pushed to the assigned staff member's device within seconds. If you stop receiving them: settings β†’ app permissions β†’ ensure Notifications is enabled. Sign out + back in re-registers your push token with the server.


Night audit

Runs automatically at 00:05 IST daily. Posts room charges for every in-house booking for that night, using each room's live occupancy and category rate. Open Night Audit to preview what's about to post, or run it manually if you missed a day.

Dashboard drill-downs

Every tile on the Dashboard is a shortcut into the matching report, with the date filter already applied β€” click today's Revenue tile and you land on the Revenue report for today; click Arrivals and you get today's arrivals list.

The Occupancy % tile is calculated on a room-nights basis (rooms occupied for the night Γ· sellable rooms), and shows the number of guests (pax) in-house beneath it. The same figures appear in the mobile app.

Reports & menu

Reports is one hub with a two-level menu β€” pick a group along the top (Operations, Financial, Compliance…), then the report underneath. Police Report and Invoice Register now live here too (with a "back to Reports" link), and Missing Invoices sits under Accounts.

  • Day Sales / Cash / Cashier / Day Book β€” collections by date, method and cashier.
  • Revenue & Tax β€” GST-segregated revenue (CGST/SGST/IGST) for the period.
  • Occupancy β€” per-day occupancy with a pax (guest count) column, and the Flash report shows pax on its tile.
  • P&L / Balance Sheet / Trial Balance β€” GL-derived, date-filtered, always tally.
  • Receivables Aging β€” open folios and corporate dues by age.
  • Invoice Register β€” every issued invoice; Police Report β€” the daily guest register.

Every dated report has quick presets (Today Β· Yesterday Β· This/Prev month Β· Custom) and exports to CSV or Print/PDF.

Report access by role

Reports are gated per role so each person sees what's relevant:

RoleSees
Admin Β· Accountant Β· Back office Β· Front Office ManagerAll reports.
Receptionist Β· CashierCash, Day Book, Cashier, Breakfast, Police Report, Invoice Register.
HousekeepingOccupancy, Housekeeping.
MaintenanceMaintenance.

GSTR-1 export

Accounts β†’ GST Filing β†’ pick month. The output groups invoices by HSN/SAC, calculates per-bucket taxable + tax, and produces the format your CA / accountant can file. Voided invoices are excluded, and the taxable value is derived from each invoice's stored totals.


Settings β€” Theme colours

Settings β†’ Theme β†’ set the Primary and Accent hex codes. Used everywhere: sidebar gradient, h1 colour, accent strip, primary buttons. Leave blank to fall back to navy / blue defaults.

Settings β€” SMS templates

Provider: pay4sms.in (or SmartPing). Paste the token + sender ID + DLT template IDs from your DLT portal. The Settings page has a πŸ§ͺ Test SMS form β€” pick an event, type a phone, send. The result + the actual rendered message both show inline.

Settings β€” Charge categories

Add each non-room service you'll bill: F&B, Laundry, Mini Bar, Banquet, Spa, etc. Each row stores SAC code + default GST rate. When you add a charge on a booking and pick this category, both fields auto-fill.

Settings β€” Cash / Bank routing

Pick which Chart-of-Accounts account each payment method posts to. Example: Cash β†’ 1101 (Cash on hand), Card β†’ 1145 (Card/UPI Clearing), UPI β†’ 1145, Bank Transfer β†’ 1120 (Bank Accounts), Cheque β†’ 1101. These defaults pre-fill the account on every payment, so operators rarely have to think about it.

Settings β€” Users & roles

Invite a user with email + role. Change role inline anytime. For housekeeping / maintenance roles, also assign the floors they should see (Floors button next to the user row). Managers can add non-admin users but cannot create or edit admins.


Cancel & refund β€” accounting view

The system distinguishes booking cancel from refund:

  • Cancel = reverse the revenue recognition (and the invoice's GST). Sets status='cancelled'.
  • Refund = operator decides when and via which mode the money actually leaves. Multiple partial refunds allowed.
TIPCancel does NOT auto-refund. You must explicitly click Refund. This prevents accidentally returning a guest's money before they hand back the keycard.

License & access

Each property runs on a Saskey license with an end date. While the license is current, everyone works as normal. If it lapses, the PMS blocks sign-in and every screen (web and mobile) with a "license expired" message β€” no data is lost, access is simply paused.

RENEWALLicense renewal is handled by Saskey. If you see a "license expired" message, contact us (details below) and we'll extend it β€” access returns immediately, no reinstall needed.

Troubleshooting

"Your Saskey PMS license has expired"

Your property's license end date has passed. Nothing is lost β€” message Saskey to renew and access is restored the moment we update the date.

A vendor payment isn't showing in the Cash/Bank Ledger

Make sure the payment was recorded with the correct Paid From account on the Vendor Payments screen. The ledger lists a payment only when it's tagged to that bank/cash account.

The theme isn't applying on some pages

Hard refresh the browser (Cmd+Shift+R / Ctrl+Shift+R). Confirm Settings β†’ Theme shows your colours saved. Open DevTools β†’ Inspect <html> β†’ look for --theme-primary in computed styles.

An SMS test failed

Check the error message inline. Common causes: DLT template ID empty, body still uses {#var#} instead of {#alphanumeric#} (both now supported), pay4sms balance ran out.

F&B GST showing 18% instead of 5%

Settings β†’ Charge Categories β†’ "Food & Beverage / Restaurant" β†’ set Default GST to 5%. Save. New F&B charges will post at 5%; existing wrong ones need to be void + re-added.

Invoice grand total doesn't match folio

The right-side summary subtracts discount + payments and applies the whole-rupee round-off; the line items show gross. If they don't reconcile, run a Trial Balance and check the journal entries for that booking β€” every Dr should match Cr per account.

Mobile app doesn't show new tasks / screens look old

Pull to refresh. If push isn't arriving: settings β†’ notifications enabled, then sign out + back in to re-register the push token. For an out-of-date screen, fully close the app twice so it pulls the latest over-the-air update.


Get support

WhatsApp: +91 84892 56789
Email: info@saskey.in
Web: saskey.in

Mention your property name and the booking number you're stuck on β€” that gives us instant context.