Case study · Web app

Machine Hisab

Machine hours, logbook and GST billing for JCB and earthmoving machine owners. Operators start and stop work on their phone, and the owner sees every machine live, with hours, invoices and payments worked out automatically.

Type

Web app · hours and billing

My role

Product, design and development

Built with

HTML, CSS, JavaScript, Supabase

Status

Live demo

// Owner: live machines, hours, earnings and unpaid bills
// Operator: one-tap start, break and end
2 appsAn owner dashboard and an operator phone app in one install
0typed times: start and end are recorded the moment the button is pressed
GSTTax invoices with CGST and SGST or IGST, and the amount in words
1 tapto print an invoice as PDF or send it on WhatsApp

Live demo

Try it right here.

aniruddhlakhnotra.com/machine-hisabOpen full screen ↗

The demo is made for phones. Open it full screen to try both the operator app and the owner dashboard.

Open the demo ↗
Scan to try it on your phone

Made with QR Studio.

Try this: sign in as an operator, press Start machine, add an hour with the demo link and end the job. Then switch to the owner, find it in the logbook and create a GST invoice. This is a demo with sample data, and it stays in your browser.

Features

From the first start to the final payment.

One-tap start and stop

Operators press one big button. The time, GPS location and hour-meter reading are recorded automatically.

Operator app

Automatic hours and billing

Working hours are end time minus start time minus breaks, with a minimum billing per machine. No calculator needed.

Billing

GST tax invoices

Bill one job or many: CGST and SGST or IGST, amount in words, then print to PDF or send on WhatsApp.

Invoices

Live owner dashboard

Which machines are working and who is running them, plus today’s hours, earnings and unpaid bills.

Dashboard

Digital logbook

Every job for every machine: customer, site, operator, breaks, diesel and location, reviewed by the owner.

Logbook

Service reminders

Maintenance is tracked by engine hours, with a warning before each service is due and a full history.

Maintenance

What it does

  • Two roles: the owner manages machines, operators, rates and customers; operators only see their own machine and jobs.
  • Rates per machine: hourly rate, overtime rate, minimum billing and operator pay.
  • Invoices and payments: numbered GST invoices, marked paid by cash, UPI, bank transfer or cheque.
  • Monthly reports: hours, revenue and diesel per machine, operator hours and pay, and top customers.
  • Customers: GSTIN, contact details, job history and outstanding amount for each one.
  • Installable: works in the phone browser and can be added to the home screen like an app.

Built to stop fake hours

  • Server time only. Start and end times are set when the button is pressed, never typed, so changing the phone clock does nothing.
  • Location and meter: GPS is saved at start and end, with the machine’s hour-meter reading and an optional photo.
  • One job at a time: a machine can’t run two jobs at once.
  • Owner review: the owner can correct customer, site and breaks, but not the times, and edited jobs are marked.
  • Locked once billed: invoiced jobs can’t be changed unless the invoice is cancelled.

The brief

A JCB owner needed a simple way to know how many hours each machine worked, where and for whom, and to bill customers without a paper logbook or manual calculation.

The challenge

Hours written by hand are easy to round up and hard to prove. Operators work on sites with weak networks and little time, and owners need GST-ready bills without accounting software. The app had to be simple enough for operators and trustworthy enough for both the owner and the customer.

How I built it

One installable web app with two roles. Start and end times are set by the database when the button is pressed, and operators can only change data through server functions, so hours can’t be typed or edited. Row-level security keeps each company’s data separate, the owner’s dashboard updates live, and invoice numbers and totals are calculated on the server.

Built with

HTML, CSS, vanilla JavaScript, Supabase (Postgres, Auth, Row Level Security, Realtime, Storage), progressive web app

Outcome

The interactive demo on this page runs with sample data in the browser. The full version, with logins and a shared database, is built and being prepared for its first owner.

Need an app like this for your business?

Booking, billing, tracking or small AI tools for your business. Tell me what you need and I usually reply within one business day.

Scroll to Top