Ritzy Web • Mobile

Mobile Apps (PWA) — User Manual

Fifteen installable phone apps over the same Ritzy database. Seven are for any Ritzy company — Ritzy Track, Ritzy Dues, Ritzy CRM, Ritzy Delivery, Ritzy Notify, Ask Ritzy and Ritzy Support. Six belong to the Real Estate module: Ritzy Tenant, Ritzy Jobs, Ritzy Inspect, Ritzy Letting, Ritzy Collect and Ritzy Holiday Homes. Ritzy Stores belongs to Inventory and Ritzy Employee to Payroll. Each signs in with the user's existing Ritzy credentials and adds nothing to the desktop menu — except Ritzy Tenant, which is for your tenants and uses no Ritzy login at all.

Ritzy ERP  |  Progressive Web Apps

1 The fourteen apps

Each app is a separate address on the Ritzy server. Install only the ones a person actually needs — a driver has no use for the sales pipeline, and a salesperson has no use for the run sheet. The last five appear only where the Real Estate module is licensed.

AppWho it is forWhat it doesAddress
Ritzy TrackAnyone, and customersLook up a shipment and follow its milestones:8081
Ritzy DuesCustomers, collections staffOutstanding balance and the invoices behind it:8082
Ritzy CRMSalesLeads, follow-ups, customer briefings — with AI help:8083
Ritzy DeliveryDelivery driversToday's deliveries, QR scan, photo & signature proof of delivery:8084
Ritzy NotifyEveryoneNotification inbox, messages to colleagues, push alerts:8085
Ask RitzyDirectors, managersAsk by voice or text where the company stands — sales, cash, profit, who owes what:8086
Ritzy SupportEveryoneAsk Ritzy how to do something, by voice or text — answers link into the manual:8087
Ritzy TenantYour tenantsWhat they owe, what they have paid, their statement — and reporting a fault:8088
Ritzy JobsMaintenance techniciansAssigned jobs, work log, parts, photos and the tenant's signature:8089
Ritzy InspectProperty staffCheck-in and check-out condition reports, with or without a signal:8090
Ritzy LettingLetting agentsVacant search, photograph a unit, send a shortlist, log viewings, hold a unit:8091
Ritzy CollectRent collectorsThe round, taking payment at the door, the slip, and the bag:8092
Ritzy EmployeeEvery employeeYour payslips, leave balance, applying for leave — and your team's requests to approve:8095
Ritzy StoresStorekeepers, countersThe day’s store work: lookup by scan, receiving (with or without a PO, proof of delivery), returns, transfers, issuing requests, picking orders, and offline stock counts:8093
Ritzy Holiday HomesHoliday-let managersDaily rentals: today’s arrivals and departures, the portal checklist (block or reopen dates on Airbnb, Booking.com and the rest), a week calendar per unit, bookings, check-in, check-out with the invoice, and payments:8094
One login per app
Signing in to Ritzy CRM does not sign you in to Ritzy Delivery. Each app keeps its own session, so a shared phone can be handed between two people without one seeing the other's data.

2 Installing on a phone

  1. Open the app's address in the phone's browser — Chrome on Android, Safari on iPhone. Ask your administrator for the address; it looks like http://192.168.1.100:8083.
  2. Android: tap Install on the banner the app shows, or use the browser menu → Add to Home screen. (Ritzy Track has no banner — use the menu.)
  3. iPhone: tap Share → Add to Home Screen. Safari never offers an install button, so the app shows the instruction instead.
  4. Open the app from the home screen. It fills the whole screen with no browser bar.
  5. Sign in once with your Ritzy User ID, password and company. The app remembers you.
Install Ritzy Delivery and Ritzy Notify, do not just bookmark them
On an iPhone the camera and push notifications are only available to an app that has been added to the home screen. Used as a browser tab, Ritzy Delivery cannot scan (you can still type the job number) and Ritzy Notify cannot alert you.

3 Who can use which app

Access uses the permissions your administrator already grants in the web app under Tools → User Manager → Rights. No new permission screens were added.

AppPermission needed
Ritzy TrackAny Ritzy login
Ritzy DuesCustomer Statement (Accounts) — View
Ritzy CRMThe CRM module in your licence, plus Sales Pipeline (CRM) — View
Ritzy DeliveryDelivery List Report (Shipping) — View
Ritzy NotifyAny Ritzy login — every user has an inbox
Ask RitzyDashboard / Quick View (Accounts) — View, the same permission as the Accounts & Finance Dashboard
Ritzy SupportAny Ritzy login — support is help with the software, not access to data
Ritzy TenantNo Ritzy login. The tenant is invited from Tenant Portal and signs in with a code sent to their mobile or e-mail
Ritzy JobsThe Real Estate module, plus Maintenance Board (Real-estate) — View. A technician sees only the jobs assigned to them
Ritzy InspectThe Real Estate module, plus Unit Inspections (Real-estate) — View to read, Add to carry one out
Ritzy LettingThe Real Estate module, plus the vacant property report — View. Property Photos adds the camera and share links; Letting Enquiries adds the pipeline and holds
Ritzy CollectThe Real Estate module, plus Collection Rounds (Real-estate) — View for the round, Add to take payment. A collector sees only their own round
Ritzy EmployeeMy HR (Payroll) — View, and Link to User set on the person's employee record. Applying for and approving leave also needs Leave Request (Payroll) — View / Add
Ritzy StoresThe Inventory module. Lookup: Product (Inventory) — View; cost also needs Show Cost. Receive: GRV (Inventory) — Add; History needs GRV View; returns need GRV Return — Add. Move: Stock Transfer — Add; requests need Stock Issue — View (Add to hand over); picking needs Sales Order — View and Delivery Order — Add. Count: Stock Adjustment (Inventory) — View to count, Add to post. A tab appears only with its permission
Ritzy Holiday HomesThe Real Estate module, plus Holiday Homes (Real Estate) — View to see bookings and the homes’ photos and details, Add to enter bookings, Edit to check in, check out, take payments and tick off the portal checklist, Delete to withdraw a payment or undo a check-out. The same Add / Edit / Delete enter, change and cancel costs. Adding or removing photos and videos needs Property Photos — Add / Delete

If you sign in without the permission the app tells you so plainly and returns to the login screen, rather than leaving you on a page that will not load. Show that message to your administrator.

The field apps are deliberately narrower than the permission
A permission is the door; it is not the room. Maintenance Board lets somebody see every job in the web app, but Ritzy Jobs shows a technician only the jobs assigned to them. Collection Rounds would let somebody receipt any tenant, but Ritzy Collect acts only on the round given to that collector. The server enforces the narrower rule on every write, not just the phone.

4 Ritzy Track

Look up any shipment and see where it has got to. The oldest of the seven apps and the one most often handed to a customer — it answers "where is my cargo?" without anyone in the office picking up the phone.

Finding a shipment

  1. Choose what you are searching by in the picker at the top: Job No, MBL No, HBL No, MAWB No, HAWB No, Booking No or Container No.
  2. Start typing. The app suggests matching numbers as you go, so a half-remembered reference is usually enough.
  3. Tap Track or pick a suggestion.

One match opens straight away. Several matches are listed with their date and shipper so you can pick the right one. Sea, air and misc cargo jobs are searched together with Liner jobs, so you do not have to know which desk the shipment belongs to.

The shipment card

The top card gives the job number, its type and status, the date, the route (loading port → destination), the vessel, the shipper and consignee, and the MBL/MAWB and HBL/HAWB numbers where they exist. New clears everything and starts another search.

Milestones

Under the card, four small tiles summarise progress — Progress %, Done, Pending and Overdue — followed by the milestone timeline itself:

A milestone finished late also carries a small "nd late" tag, and any remarks recorded against it are shown underneath.

Marking a milestone complete

Tap Done next to an open milestone, set the completion date (today by default), add remarks if useful, and confirm. This is the same record the web app and the desktop client use — an operations person can close off a step from the quayside instead of waiting to get back to a desk.

Marking milestones is not restricted
Any user who can sign in to Ritzy Track can complete a milestone. If you hand the app to customers, be aware they see the same Done button. Give external users a login whose group has no other access, and treat the milestone history as the audit trail — each completion records who did it and when.

Notifications for one shipment

The bell on the shipment card subscribes this device to that job: when a milestone is completed the phone is alerted, even with the app closed. Tap it again to stop following the job. A filled bell means you are following it.

Following a job alerts you on every milestone
The bell is deliberately not selective — complete any milestone on that job and every device following it is alerted. On a job with a long template of internal steps that is a lot of buzzing, so follow the handful of shipments you are actually chasing rather than everything on your desk.

This is a different thing from the milestone messages that land in Ritzy Notify. Those go only to the recipients named on a template line marked Notify, and they reach those people whether or not anyone is following the job. One is "tell me about this shipment", the other is "tell these people about this step".

5 Ritzy Dues

Customer outstanding balances and the invoices behind them, with print and share. Built for the collections call and for handing a customer a copy of an invoice on the spot.

Who owes what

The opening screen lists every customer with a non-zero balance in name order, with a count and the total across all of them above the list. Type any part of a customer's name to narrow it; the search waits until you stop typing, so it keeps up on a slow connection.

Each row shows the customer's name, their account code, the outstanding amount and the currency. Customers who are square with you do not appear at all — the list is a work list, not a directory.

A customer's open items

Tap a customer to see what makes up the balance. Every open item on the account is listed, not only the invoices — a receipt on account, a journal or an opening balance is part of what they owe, so it is part of the statement:

A count of open items and their total sit above the list. The back arrow returns to the customer list; the header keeps the customer's name and balance in view while you work through their items.

Not every item has a document to print
Only invoices, cash memos and debit/credit notes have a printable document behind them. A receipt or a journal is a ledger entry, not a letter — those rows say No printable document and their preview button is greyed out. Earlier versions left such customers showing an empty screen instead of their statement.

Viewing, printing and sharing a document

Tap any document to open a full preview. It is rendered from the same print template the web app uses for that document type, so what the customer sees on your phone is exactly what they would have received by post — company letterhead, VAT number, line detail, totals and amount in words included.

Sharing a customer's own invoice back to them
This is the intended use: on a collections call, share the PDF of the invoice being disputed while you are still on the phone. Remember that the file leaves your device once you send it — check the recipient before you tap send.
If the preview says no print template is configured
The document type has no active template in the web app under Tools → Report Templates. Everything else in Ritzy Dues still works; only the preview needs one.

Asking for help

The 🎧 headset button beside Sign out opens the Ritzy assistant, by voice or keyboard (see section 10). Here it is deliberately scoped to using this app — finding an invoice, reading the outstanding figure, sharing a document.

Know who is holding the phone
Ritzy Dues is the one app you commonly hand to your own customers, so its assistant is worded for them. It will not answer a query about the balance itself — a payment not showing, an amount in dispute — because it cannot see the account; it says so and points them back to you. The privacy note it shows them is written from their side too: it explains that the question goes to Ritzy along with your company name and the login they signed in with, and that their invoices and balances do not.

6 Ritzy CRM

The sales pipeline in your pocket. Everything you record here appears immediately on the CRM board in the web app, and vice versa — it is one pipeline, not a copy.

Today

The screen you land on. Three lists, and only the ones that have something in them are shown:

Switch between Mine and Everyone at the top. The three tiles above the lists (Open, Win rate, At risk) appear only if your group has the CRM Dashboard permission; without it the lists still work.

Pipeline

Your stages as swipeable columns — drag the board sideways to move between New, Contacted, Quoted and so on. Each column header shows how many leads and their total value. Tap a card to open the lead.

The filter box searches the enquiry text, the customer and the owner at once. Scan runs the AI at-risk scan over every open lead and drops a reminder into the notification centre for each owner who has something going cold.

Why there is no drag-and-drop between columns
Dragging a card across a phone screen fights with scrolling. Moving a lead to another stage is a single tap inside the lead instead — and it records the stage change on the timeline exactly as the desktop board does.

Adding a lead

Tap + on the Pipeline tab. The green box at the top of the form is the fast way in: paste the customer's email or WhatsApp enquiry, tap Extract with AI, and the enquiry summary, job type, value, currency, deadline and notes are filled in for you. If the sender's company is already a Ritzy customer it is linked automatically; if not, you are told so and can search for the right one.

Nothing is saved until you tap Create. Read what the AI filled in, fix anything it got wrong, then create the lead. A prospect who is not in the customer master yet is normal for a lead — leave the Customer field empty and link it later from the web app.

Working a lead

Tap a lead to open it. From here you can:

Customers

Search any customer to see their profile, their open pipeline and their recent CRM activity, with the same Brief me button. Use it before a cold call to a name you do not recognise.

Scanning a visiting card

The other half of the question — the person in front of you is not on file yet. Scan a visiting card photographs the card and reads it into a form:

  1. Take photo opens the phone's camera. Lay the card flat, fill the frame, avoid glare.
  2. The AI reads it and fills in what it can see — company, contact, designation, phone, mobile, email, website, address, city, country and the VAT/TRN number.
  3. Check the form. Nothing is saved yet. A card photographed in poor light will get a digit wrong sooner or later, and a phone number nobody checked is worse than one that was corrected.
  4. Save customer adds it to the CRM customers and opens the new customer's 360, ready for a lead. Turning it into an accounting customer or a consignee/shipper is done later from the web app’s CRM Customers master.

If the company name looks like one already on file, the app says so before you save — scanning a card at an account you already deal with is the easiest way to create a duplicate.

Adding a customer needs the add permission on the CRM Customers master (CRM, form 107). Being able to see the pipeline is not the same as being allowed to add customers, and the button reports it if you lack the right.

Read the AI, do not trust it blindly
Every AI feature here produces a draft for a person to check — extracted fields, a suggested email, a briefing, a risk score. None of them price a job, commit to anything or contact a customer. If your server has no AI key configured, the extraction and drafting buttons report that, and the at-risk scan falls back to a plain rules-based score.

7 Ritzy Delivery

The driver's app. It shows the deliveries assigned to you — both cargo (import) deliveries and inland transport jobs — and records proof that each one was handed over.

The run sheet

One list, sorted by due date, mixing both kinds of work:

The three tiles at the top are Due today, Overdue and Done today. Use For delivery / Delivered / All to switch what the list shows, the search box for a job number, HBL or street, and the date range when you need last week's work.

Only mine is the default. Tap it to become All drivers when you are covering someone else's route — you can then open and complete a delivery that was never assigned to you, and the record shows that you delivered it.

Scanning the delivery order

  1. Tap the round Scan button at the bottom right.
  2. Point the camera at the QR code on the delivery order. The app opens the matching delivery as soon as it reads the code — no button to press.
  3. If the code covers a job with several delivery lines, the app asks which one. It never guesses, because stamping the wrong line is worse than one extra tap.
  4. If the code is torn, wet or unreadable, type the job number or HBL in the box underneath and tap Find.

The QR code is the one printed by the web app's Delivery List report, so no new paperwork is needed. On Android the scanner also reads ordinary barcodes.

Photographing the goods

Open a delivery and tap Take a photo. The phone camera opens; take the shot and it uploads on the spot. Take as many as the situation needs — the pallet on the tail-lift, the seal number, damage you want on record.

Confirming the delivery

  1. Type the name of the person receiving the goods. This is required.
  2. Add their phone number and any remarks — short delivery, damage, gate instructions.
  3. Hand the phone over and let them sign with a finger in the signature box. Optional but worth having.
  4. Optionally pick colleagues under Notify the office; they get a notification the moment you confirm.
  5. Tap Confirm delivery.

The app records the time, who delivered, who received, the remarks, the signature and — if the phone has a fix — the GPS location, which becomes a map link on the delivery afterwards.

At least one photo is required
A delivery cannot be confirmed with no photo of the goods. That is the point of the app: a delivery that is not evidenced is a dispute waiting to happen. The rule is enforced by the server, not just the phone, so it cannot be worked around.
A confirmed delivery is final on the phone
Once confirmed, the delivery is read-only in the app and its photos can no longer be removed. Corrections are made in the web app by someone with the authority to make them.

Every confirmation writes straight into the same delivery record the office already uses, so the Delivery List report in the web app shows the delivery as done, by whom and when, without anyone re-keying anything.

8 Ritzy Notify

The Ritzy notification centre as a phone app. The same inbox as the bell icon in the web app and the toast in the desktop client — one set of messages, three places to read them.

Inbox

Received shows what has been sent to you, newest first, with a dot against anything unread and a count on the tab. Sent shows what you sent and whether it has been read. Tap a message to read it in full; opening it marks it read, which sends a read receipt back to the sender.

Sending a message

Tap the round pencil button. Pick recipients or tick Everyone, write a subject and message, and choose Normal or High priority. High-priority messages are tagged in the recipient's list. Reading a message you received gives you a Reply button that fills in the recipient and subject for you.

Push notifications

On the Settings tab, turn on Push notifications to be alerted on this device even when the app is closed. The phone will ask for permission — you have to allow it.

The inbox is the record, push is only the doorbell
A message is never lost because a push failed. Alerts from elsewhere in Ritzy — a CRM follow-up falling due, a delivery being confirmed, the Accounts and Payroll daily alerts — all arrive in this same inbox.

9 Ask Ritzy

The company’s position, in words. Ask a question out loud or type it — “how much cash have we got?”, “who owes us the most?”, “are we making money this year?” — and get a short answer with the figures drawn as charts. It is a reading app for directors and managers: it changes nothing and posts nothing.

Asking

The Ask tab opens with a few suggested questions. Tap one, or tap the round microphone and speak. The words appear as you say them; tap the send arrow when you have finished, or the crossed-out microphone to stop without asking. If you would rather type, start typing and the microphone becomes a send button.

Position

The Position tab is the same picture without asking for it: cash and bank, revenue and expenditure for the financial year, net profit and margin, what you are owed and what you owe, and how long customers are taking to pay. It works whether or not the AI is set up, and always shows the same figures for the same day.

Alerts

The Alerts tab is the short list of things worth looking at: debt more than 90 days old, an overdrawn bank account, a customer past their credit limit, a period being traded at a loss, work done and not yet invoiced, jobs running late. Tap one and it hands the question straight to the Ask tab so you can dig into it.

Reading a chart

Every figure comes from your ledger, not from the AI
Ask Ritzy uses AI to work out what you meant and to write the sentence — nothing else. It cannot write its own queries: it chooses from a fixed set of readings of your data, and the cards and charts are filled in by the server from those readings. The AI never types a number, so what you see on a chart is what is in your accounts.
These are live figures, not a report you can file
Balances are as at today and trading figures cover the open financial year unless you ask for another period. For a statement to send out, or one with a particular layout, use the reports in the web app.

10 Ritzy Support

Ask Ritzy a question about Ritzy. How do I do this, why does this figure look wrong, what is the correct accounting treatment — typed or spoken, and answered with a link straight to the right page of the manual. It is the only app here whose subject is the software rather than your business.

Two apps with similar names, doing opposite things
Ask Ritzy answers questions about your company — cash, profit, who owes what. Ritzy Support answers questions about Ritzy — how to use it. If the answer would be a number from your ledger, you want Ask Ritzy.
The same assistant is inside the other six apps
Every app in this manual carries a 🎧 headset button in its top bar, which opens the same assistant over the screen you are on — so it already knows which app and which tab you are asking about. Use that for “how do I do this, here”; use this app for the question that has no screen behind it, and for the history of what you have asked before. On Ritzy Dues, where the person signed in is often your customer rather than a colleague, the button is scoped to using the app rather than to running Ritzy.

Asking

The Ask tab opens with a few example questions. Tap one, type your own, or tap the microphone and speak — the words appear as you say them, and you can edit them before sending. The 🔊 speaker button at the top has the phone read answers aloud; it stays off until you turn it on, then stays on.

History

The History tab lists what you have asked before — yours only, never a colleague’s. Tap one to reopen it with the whole conversation intact and carry on from where it stopped. This is the one thing the Support button inside the other apps does not do: there the conversation is a passing aside and is thrown away when you close it.

Thumbs up, thumbs down

Under every answer are two small buttons, and they are worth using. A 👍 adds that answer to Ritzy’s shared knowledge base, so the next person — at your company or any other — who asks something similar gets a reply built on one that already worked. A 👎 takes it straight back out and flags the conversation for a human at Ritzy. It costs one tap and it is the most useful thing you can do to make the assistant better.

Raising a support ticket

The assistant answers from the manual. Some things it cannot answer at all — “our invoice print shows the wrong branch address” depends on your own setup, and only somebody inside your company can change it. That is what the Tickets tab is for.

  1. Raise a ticket asks for one line describing the problem, then what you were doing — what you expected, what happened instead, and the document or job number if there is one.
  2. Mark it Low, Normal or Urgent.
  3. Take a photo attaches a picture of the screen — up to six. A photo explains “it looks wrong here” far better than a paragraph does, and it is the single most useful thing you can add. You can also pick an existing screenshot from the phone’s gallery.

The ticket gets a reference of its own (SUP-000123) and your administrators are notified straight away. It is stamped with the screen you were on and the Ritzy build you are running, so nobody has to ask.

Reading the answer

The Tickets tab lists your own tickets — never a colleague’s — with the status of each: Open, In progress, Resolved or Closed. Tap one to see what you reported, the photos you attached, and the resolution once it is written.

You do not have to keep checking. When an administrator answers it you get a notification — in the Ritzy notification centre in the web app and, if you have Ritzy Notify installed, as a notification on your phone. Tidying the wording of an answer afterwards does not notify you a second time; only a change of status does.

A ticket stays inside your company unless an administrator sends it on
A ticket is a record in your own database and your own administrators answer it, which is why it keeps working when the internet does not. Anyone signed in can raise one — needing help is not a permission — but only an administrator can answer.

When it turns out to be a Ritzy fault

Some tickets are not your administrator’s to answer. If the software itself is wrong, they can press Send to Ritzy on the ticket, and it joins Ritzy’s own support queue with the screen you were on and the build you are running already attached.

Sending a ticket to Ritzy sends what is written in it
This is the one place Ritzy receives anything from your database, and it is off until somebody deliberately turns it on. When a ticket is sent, its subject, description, the screen and your build number go to Ritzy — so anything you typed into it goes too. Screenshots go only if your administrator ticks them individually; none are sent by default. Describe the shape of the problem rather than pasting customer names and amounts, and if your organisation does not permit any data leaving the building, leave the setting off.

Accounting questions

Ask about practice rather than the software — when to recognise revenue, straight-line or reducing balance, how often to reconcile — and you get the standard treatment first, then where Ritzy supports it. Local tax rates, thresholds and filing deadlines are the exception: you will get the general principle and be told to confirm the specifics with your own accountant, because those differ by country and change every year.

What is sent, and what is not
Your question, your company name and your Ritzy user name go to Ritzy Support. No ledger, job, customer or payroll data is sent, and no audio — dictation is turned into text by your own phone. Describe the shape of a problem rather than pasting customer names, account numbers or amounts into it.
It cannot see your data, and it will say when it is unsure
Ritzy Support reads nothing from your database, so it cannot tell you what an invoice totals — only how to find it. An answer tagged not sure — check with Ritzy means it could not find solid grounding; treat that one as a starting point. An answer tagged offline answer was produced without the manuals because the Ritzy service could not be reached.

11 Ritzy Tenant

The only app in this set that is not for your staff. It is for the person living in the flat: what they owe, what they have paid, and a way to report a fault without telephoning the office.

How a tenant gets in

A tenant has no Ritzy login and never gets one. Instead the office issues an invitation from Real-estate → Others → Tenant Portal, and the tenant signs in with a code sent to their mobile or e-mail each time.

  1. The office opens Tenant Portal, finds the tenancy and presses Invite.
  2. The tenant receives a link. Opening it once activates their access on that phone.
  3. From then on they enter their mobile or e-mail, receive a six-digit code, and type it in.
No password, and nothing shared with your staff logins
The portal is a separate door into the same database. A tenant cannot reach any Ritzy screen, cannot see another tenant, and their access has no connection to the user accounts your staff sign in with.

What the tenant sees

Reporting a fault

The tenant picks a category — air conditioning, plumbing, electrical, an appliance, doors and locks, common areas, or something else — describes it, and may attach photographs. The request lands in Real-estate → Others → Tenant Requests for the office to deal with.

A request is not a maintenance job
It is the tenant's account of a problem. Somebody in the office decides whether it becomes a job, because raising one opens a cost record in Accounts — and a tenant pressing a button on a phone must never post anything into your books.

When access stops

Access follows the tenancy, automatically. The portal works while the tenant has a live contract on that account, and closes itself the moment that stops being true:

What happens to the tenancyThe portal
VacatedCloses. A former tenant keeps nothing.
SuspendedCloses, and re-opens by itself if the tenancy is made active again.
Reserved, not yet moved inNo access until check-in.
Renewed onto a new contractNothing happens — they stay signed in.

Nobody has to remember to switch a tenant off. Vacating the contract is the switch.

12 Ritzy Jobs

The maintenance technician's job sheet. It shows the jobs assigned to them, what was agreed, and what they did about it — recorded at the flat rather than remembered until the evening.

Getting work onto a phone

Jobs are assigned in the web app under Real-estate → Others → Maintenance Board. Until a job is assigned to somebody it appears on nobody's phone, which is the point: a technician sees their own work, not every open job in the company.

The job sheet

A technician marks work done; only the office closes a job
Done means the work is finished. Closing the job is a separate act done in the web app, because closing it also closes the cost record in Accounts. If that were a button on a phone, a job could be closed before its parts and labour were costed.
Notes are added to, never overwritten
Whatever the office wrote on the job stays. A technician's notes are appended beneath, with the time and who wrote them, so nobody's account of the work can quietly replace anybody else's.

13 Ritzy Inspect

The condition report. Walk a unit at check-in and again at check-out, mark the state of everything in it, photograph what is wrong, and take the tenant's signature — so a deposit argument is settled from a record rather than from memory.

Starting a walkthrough

  1. Pick the unit, and say whether this is a check-in, a check-out or a periodic visit.
  2. The app downloads that unit's furnishings there and then — while there is still a signal — and the walkthrough itself needs none.
  3. Mark each item: Good, Fair, Poor, Missing, or leave it as not inspected.
  4. Add a remark or a photograph against anything worth evidencing.
  5. Finish with the tenant's signature, or record why it could not be taken.
It works with no signal at all
The walkthrough is held on the phone and written after every answer, so a flat with no coverage, a browser that gets killed, or a phone that runs out of battery costs you nothing. Finished inspections queue up and send themselves when the phone is back.

A check-out is compared against the check-in

On a check-out the app carries what the check-in said about each item and shows it beside your answer, so you are grading against what was handed over rather than against an impression. Anything that got worse appears in a what changed list at the end, with the inspector's estimate beside it if one was given.

Those figures are an opinion, not a charge
Nothing in this app deducts anything from a deposit or posts to Accounts. The estimate is there to have a conversation with. Any deduction is decided and raised by the office, separately.
“Not inspected” is never damage
An item nobody looked at is left out of the damage list, in both directions. An inspector in a hurry cannot cost a tenant their deposit by skipping items.

The report

From Sent, any finished inspection produces the condition report as a PDF, which can be shared straight to the tenant from the phone. The office prints the identical document from Unit Inspections in the web app.

A submitted inspection cannot be changed
Not by anybody, on the phone or at a desk. If something is wrong, carry out a new inspection — it supersedes the old one and both stay on record. A report that can be edited afterwards is not evidence.

14 Ritzy Letting

For the letting agent, in the flat, with the prospect standing next to them. Search what is empty, photograph it, build a shortlist across buildings and send it before leaving — then log what happened.

What can I show?

The vacant list, filtered the way an agent actually asks: area, rent, bedrooms, a particular building. Bedrooms means at least that many, because showing a three-bed when the two-beds have gone is normal.

The rent shown is an asking price
It is the figure held on the unit, which may have been set several tenancies ago. What a sitting tenant actually pays is on their contract. The app labels it, and so should you before quoting it.

A unit already spoken for is marked: Held if another agent is holding it, Already let if the office has reserved or let it. Both still read as vacant on the reports — seeing it here saves the drive.

Photographing a unit

Tap Photograph and shoot. Every photograph taken in the field arrives as a draft.

A draft cannot reach a prospect
Drafts are invisible to the gallery, to share links and to the public page. This matters: a shot taken to remind yourself where the meter is would otherwise sit one tap away from being sent to somebody you are trying to let a flat to. Press Send to the gallery when a photograph is meant to be seen, or bin it.

Whether an agent may publish their own photographs is your decision, set per user group: add permission on Property Photos lets them take drafts, edit lets them publish. Give one without the other and the app becomes upload-only for that group.

The shortlist

Add units to the shortlist from anywhere; it is kept on the phone and survives moving between buildings, closing the app and losing signal. When it is ready, send it — the prospect gets the same share page the office would have sent, with your name and number on it, expiring after a week by default.

Only photographs that are in the gallery go out. Anything taken today and not yet published stays out of the link.

Enquiries, viewings and holds

A hold is not a reservation
It stops another agent showing the unit, and it does nothing else. The unit still reads as vacant on every report, nothing is charged to anybody, and no contract exists. The office turns a hold into a tenancy contract — that needs a ledger account and signed terms, which is not something to do from a doorstep. A hold that runs out simply lapses; nobody has to tidy it up.

15 Ritzy Collect

The rent collector's round: who to call on, what they owe, what happened at each door — and taking the money, with or without a signal.

The round

The office makes up a round in Real-estate → Others → Collection Rounds and assigns it. The collector opens the app and sees only their own round — never every tenant in the company.

Each door shows what is owed and how late it is: Due now, A month behind, Months behind, Long overdue. That is there to tell the collector which conversation this is before they knock.

At the door

Two buttons on every call: Take payment and No money.

  1. Take payment — the amount, how it was paid (cash, cheque, card, transfer), and which bills it is meant to settle. The app suggests the oldest first.
  2. A cheque needs its number, bank and date, and can be marked post-dated.
  3. Type the name of whoever handed the money over, and take the payment.
  4. No money — nobody in, refused, or promised to pay. A promise asks for a date.
Card numbers are never recorded
A card payment is recorded as card, via the terminal, with the terminal's own reference. The app has no field for card digits and will not be given one.
A door is marked collected by the money, not by saying so
There is no button that marks a call collected without a payment behind it. A figure on a management report that no money supports is the one thing a collections system must not produce.

The slip, and what it is not

Every payment produces a numbered collection slip — something like COL-A7K2M9-14 — which is what the tenant is handed. The slip is the company's acknowledgement that the money changed hands. It is not the receipt. The receipt is a voucher in the accounts, and the app names it on the slip as soon as it exists.

Taking money out of signal

Take the payment exactly as normal. The phone issues the slip number itself, so the tenant is handed a real number whether or not the server could be reached, and the screen says plainly: taken — but not yet receipted.

Held is not receipted
A payment held on a phone is money you are carrying that the office has never seen. The Bag counts it as cash on hand and the app keeps telling you it is there. Send it before you hand in.

The moment the phone has a signal it sends them by itself. Sending twice cannot receipt a tenant twice — each payment carries a reference that the office recognises, so a retry returns the receipt that already exists.

The bag

Bag is what you are carrying and what the office thinks you are carrying. Cash on me counts cash only — a cheque in an envelope is not what anyone counts at a hand-in. Anything that failed to post is listed with the reason and a Try again.

A payment that will not post
Sometimes the office has to fix something first — a collector with no cash account set up, or money taken in an accounting period that has since closed. The app says which, keeps the payment, and shows it to the office. You still have the money and the tenant still has their slip; nothing is lost, but it is not finished either.

Handing in

At the end of the round the office presses Hand in on the round and the money moves out of the collector's own cash account into the bank or the till. Until then, the accounts themselves say what each collector is carrying.

16 Ritzy Employee

The payroll module turned around to face the person it is about. Everything in this app is the signed-in employee’s own record and nobody else’s — the server works out whose payslips to show from the login, not from anything the phone asks for.

What an employee sees

Notifications

The switch on the Home screen turns on push notifications for that phone: the employee hears when their leave is approved or rejected, and a supervisor hears the moment a request arrives. It is the same notification the web app shows in its inbox — the phone alert is only the doorbell.

Only closed months appear
A payroll month that has been generated but not yet posted is still being worked on, so it is not shown. Employees see a month’s payslip once payroll closes it.
The QR code is on the My HR screen
In the web app, Payroll → My HR has a Phone App button showing the install QR code for this server. Staff scan it and install the app in one step — no address to dictate. The button disappears if an administrator disables the app in Tools → PWA Apps.

17 Ritzy Stores

The storekeeper’s phone, for the Inventory module. Home shows the day’s work; Lookup shows what the store holds; Receive books goods in (and sends them back); Move sends goods out — to another store, to whoever requested them, or to a customer; Count counts a location. Each tab and each action appears only for someone with the matching Inventory permission (section 3), so a counter who only counts sees only Home and Count. Everything the app posts is the same document the desk screen posts — a GRV, GRV Return, Stock Transfer, Stock Issue, Delivery Order or Stock Adjustment — and the office sees it there at once.

Home

Tiles for the chosen location: purchase orders to receive (and how many are due), stock requests waiting, sales orders to pick, items at or below their reorder level, batches expired or expiring soon, and open counts. Tap a tile to go to the work; the reorder and expiry tiles open their lists.

The location

Under the title is the location this phone works in. Choose it once; the phone remembers it. Lookup shows the stock there first, and a new count starts there. Choose All locations to see totals only.

Finding an item

Every tab finds items the same way. Type a code and press Enter, tap the barcode button to use the camera, or use a Bluetooth or built-in scanner (it types the code and presses Enter for you). An exact match on the barcode code wins. The barcode code is whichever of the five item codes Inventory Settings → Barcode field names. After that, an exact match on any other item code wins. A partial match shows a list to pick from.

iPhones read QR codes only
Android phones read the codes printed on products (EAN, UPC, Code 128 and others) with the camera. iPhones read QR codes with the camera; type the code on an iPhone, or pair a Bluetooth scanner.

Lookup

The item’s stock at the chosen location and in total, its price (the default price type, or the retail price), every location holding it with its bins, batches in stock with their expiry dates, and the last fifteen movements. Batches expiring within 30 days are marked orange, expired ones red. Average cost shows only with the Show Cost permission. Lookup changes nothing.

Receive

  1. Open purchase orders are listed with the oldest delivery date first; search by order number, supplier or reference. Tap one.
  2. Enter the supplier’s delivery note number. By default each line goes to the location on its order line; pick a location to send everything there instead.
  3. For each line type the quantity that arrived, or tap Scan items and scan each piece; every scan adds one. Everything arrived fills in all that is left on the order.
  4. Add the batch number and expiry date. If one line arrived in two batches, tap Another batch and split the quantity.
  5. Tap Receive. This posts a normal Goods Received Voucher, the same as one made on Inventory → GRV. The goods are in stock, the batches exist and the order shows what is still to come.

You cannot receive more than is left on an order line; the app names the line. Receiving needs a signal. If the connection drops while you press Receive, press it again: the phone sends the same receipt, and the server returns the GRV it already wrote instead of booking the goods twice. The same protection covers every document the app posts.

Proof of delivery

Before pressing Receive, take photos of the delivery note and of anything damaged, type the driver’s name and have them sign on the screen. Once the GRV is posted these are attached to it, exactly as if they had been attached on the desk GRV screen. If one fails to upload the app says so; add it again from History.

Goods without a purchase order

Choose No PO, pick the supplier and the location, enter the delivery note number, then scan each item (scanning one again adds one). Set the unit, batch and expiry, add proof of delivery and press Receive. The GRV is priced the way the desk would start it: the supplier’s contract price for the unit, otherwise the item’s last purchase price, in the supplier’s currency. The purchase invoice corrects it if needed. Prices are shown only to someone with Show Cost.

History and returns

History lists the GRVs of the last day, week, month or quarter. Open one to see what came in, its batches and its proof of delivery (and to add more), or to print it. With GRV Return rights, Return goods to the supplier takes chosen quantities back out of stock as a GRV Return, with the reason; the GRV’s own batches go first. You cannot return more than is left on a line after earlier returns and the supplier’s invoice.

Move

Count

  1. Start a count for a location, optionally limited to one category (and its sub-categories). A location can have only one open count; anyone else joins it from the list.
  2. Choose how to count: Type quantity (scan an item, then type how many) or Each scan = 1 (every scan adds one, and Keep the camera scanning leaves the camera on).
  3. Count each item as you find it. Several people can count the same location at once; their counts add up. Counting the same shelf twice therefore counts it twice, so share out the aisles.
  4. A mistake is fixed with Undo on Your last entries. Undo adds a correcting entry; nothing is deleted.
  5. When everyone is done, a supervisor taps Post count. For every counted item the app compares the count with what the system holds at that moment. All the differences are posted as one Stock Adjustment, dated today, valued and posted to the adjustment account exactly as one made on the desk.

Counting works without a signal. On opening a count the phone downloads the items it may contain, so scans resolve offline. Entries wait on the phone (“n entries waiting to send”) and are sent when the signal returns. Each entry carries its own id, so one sent twice is stored once. Posting needs a signal and refuses to run while this phone still has unsent entries.

Counters count blind. Only someone who can post the count sees the system figure and the difference beside each item.

Items nobody counted are left alone
Posting adjusts only the items that were counted. An item with stock at the location that nobody scanned keeps its figure, and the post confirmation says how many such items there are. If an item should be there and is not, scan it in Type quantity mode and enter 0: that counts it as none, and posting writes it down to zero.
The QR code is on the GRV and Stock Adjustment screens
In the web app, Inventory → GRV and Inventory → Stock Adjustment carry the install QR code for this server.

18 Ritzy Holiday Homes

The holiday-let manager’s phone, for apartments, units and villas let by the night. Bookings arrive on Airbnb, Booking.com, Trip.com, Agoda and Trivago, from agents and by referral; the manager keys each one in from the portal’s notification and blocks the same dates on the other portals by hand. The app is the same register as Real-estate → Realestate → Holiday Homes in the office, so a booking made on either is on both at once. Only properties set to Holiday homes on the Property master appear (see the Real Estate manual).

Today

What to do now, in this order:

Calendar

A week per unit, one square per night, coloured by the channel the booking came from (grey is closed dates). Tap a booked night to open the booking, a free one to book it. Find free asks for check-in and check-out dates and lists every unit free for all of those nights, with the price at its usual rate.

A new booking

  1. Tap +. Choose the unit and the dates.
  2. Choose where it came from (Booked via) and type the portal’s confirmation number. The same number cannot be entered twice for the same portal, so a booking keyed in by two people is caught.
  3. The guest’s name and mobile, and how many are staying.
  4. The rate per night comes from the unit. If the portal’s price is not simply the rate times the nights, type the portal’s total instead. The channel’s commission and whether it collects the money come from its setup; change them if this booking differs.
  5. Save. The app refuses dates that overlap another booking or closed dates on that unit, and names the clash. The booking’s dates go straight on the portal checklist.

Close dates (the switch at the top of the form) takes a unit off sale for an owner’s stay, maintenance or a deep clean. It goes on the checklist the same way.

Bookings from the portals’ calendars

When calendar sync is set up in the office (Real Estate manual, section 20.5), new Airbnb, Booking.com, Agoda and Trip.com reservations arrive by themselves. Today lists them under Complete from the portal: open each, tap Edit and fill in the guest, the portal’s reference and the price from the booking notification. Gone from the portal lists reservations a portal no longer shows that could not be cancelled automatically. A red or orange box at the top means a portal’s calendar could not be read, or two portals sold the same night.

Setting up the sync from the phone. Open a home on the Homes tab and choose Sync (needs the Holiday Homes edit permission). For each portal:

Read all portal calendars now at the top of the Homes tab reads every saved portal address at once instead of waiting for the half-hourly read. The Ritzy address only works for the portals when the app is opened on Ritzy’s public https address; the Sync card warns when it is not.

Homes: photos, videos and details

The Homes tab lists every unit with its cover photo, bedrooms, size and usual rate. Open one, or tap photos, videos and details on a booking, to see:

Costs: cleaning, laundry, repairs

When expenses are set up in the office (Real Estate manual, section 20.6), the cost of keeping each home is entered from the phone, usually at the door with the bill in hand:

Choose what it was for, the amount, and Paid now (from which cash or bank account, and to whom) or Bill to pay later (from which supplier, with the bill number). Photo of the bill takes a picture or picks one from the phone; it is shrunk on the phone and sent after the cost is saved, so a weak signal can lose the photo but never the cost. Saving posts it to Accounts at once: a payment, or a purchase from the supplier. Entering needs the Holiday Homes add permission, changing it edit, cancelling it delete.

The Costs tab is the month’s report. Step through the months with the arrows. At the top: what was spent, and what the homes earned — revenue less the portals’ commission and the costs, before tax. Below that, costs by category and by home (revenue, costs and net for each unit, and each building’s shared costs). Tap a category or a home to narrow the list of every cost underneath; tap a cost to open it. Share this report sends the figures as text through the phone’s share sheet — to an owner on WhatsApp, say — or copies them.

The booking

It needs a signal
A booking needs the clash check and money needs the ledger, so the app works online only. If the connection drops while you press Save, press it again: the phone sends the same booking or payment, and the server returns the one it already wrote instead of making a second.
The QR code is on the Holiday Homes screen
In the web app, Real-estate → Realestate → Holiday Homes carries the install QR code for this server.

19 Administrator setup

Full server instructions are in DEPLOYMENT.md. In short:

Give an external user a login that can only do one thing
Ritzy Track and Ritzy Dues are the two apps customers are commonly given. Both sign in against the ordinary USERS table, so a customer login is a real Ritzy user — put it in a group whose rights cover nothing but the app you intend them to reach. No phone-app sign-in consumes a licence seat — not a customer reading their statement, and not a member of staff — so handing out an app never costs you a concurrent user at the desk. Signing in to the web app still does.
Serve the apps over HTTPS before handing out phones
Browsers only allow the camera and push notifications on a secure address. On plain http:// over the office LAN, Ritzy Delivery cannot scan (drivers must type job numbers) and Ritzy Notify cannot push. Put the PWA ports behind TLS, or a reverse proxy that terminates it.

20 Troubleshooting

What you seeWhat it means
"You do not have access to…" straight after signing inYour group lacks the permission in section 3. Your administrator grants it in User Manager.
"…has been switched off by your administrator"The app has been disabled in Tools → PWA Apps. Only the DBA account can switch it back on.
The company list on the login screen is emptyThe phone cannot reach the Ritzy server. Check you are on the office network or VPN, and that the address is right.
Track: "No matching shipments found"Almost always the wrong search field — an HBL typed into Job No finds nothing. Switch the picker and try again, and let the suggestions confirm the number exists.
Track: following a job but no alerts arriveCheck notifications are still allowed for the site, that the bell is filled, and that the server has push configured (section 11). Clearing browser data drops the subscription — tap the bell again to re-follow.
Track: too many alerts from one jobFollowing a job alerts you on every milestone, by design. Un-follow the job, or ask your administrator to shorten the milestone template.
Track: "No milestones defined for this job"No milestone template has been applied to that job yet. It is applied from the web app.
Dues: a customer is missing from the listThe list only holds customers with a non-zero balance. A customer who has paid up drops off it — that is the intent, not a fault.
Dues: "No print template is configured for this document type"That document type has no active template under Tools → Report Templates in the web app. Everything except the preview still works.
Dues: Share downloaded the PDF instead of sharing itThe device cannot hand files to a share sheet. The PDF is in the downloads folder — attach it by hand.
The scanner shows "Camera permission was denied"Allow camera access for the site in the browser's settings, or type the job number instead.
The scanner never reads the codeMore light, hold steadier, fill more of the frame with the code. On plain HTTP the camera is unavailable altogether — use manual entry and tell your administrator.
"Take at least one photo…" when confirmingWorking as intended — a delivery needs photographic evidence. See section 7.
A photo will not uploadWeak signal. Stay on the delivery and tap again; nothing is lost. Very large images are already shrunk automatically.
The push switch is greyed outInstall the app to the home screen (iPhone), or the browser does not support push. The inbox is unaffected.
"AI is not configured" on a CRM AI buttonThe server has no AI key. Everything except the AI features works; the at-risk scan still runs on rules.
Ask Ritzy: "Ask Ritzy needs an Anthropic API key"The server has no AI key, so only the question box is unavailable. Position and Alerts carry the same figures without it.
Ask Ritzy: the microphone does nothingThe browser cannot listen — Firefox has no support at all — or microphone access was blocked. Allow it for the site, or type the question. Chrome, Edge and recent Safari all listen.
Ask Ritzy: "I could not answer that…"The question is outside what it reads. It covers sales, cash and bank, profit and costs, debtors and creditors, and — where you run them — job volumes and the sales pipeline. Ask it more plainly, or use a suggested question.
Ask Ritzy: a figure disagrees with a reportCheck the period. Balances are as at today; trading figures cover the open financial year unless you asked for another period, which the answer states.
A change you made is not showingPull down or use the refresh button. If the app looks stale after an upgrade, close it fully and reopen it so the new version loads.