245 bookings in the refund queue and no one could open it
A hire business asked for a sign-off step before refunds. The refund screen had never completed one. Our first diagnosis was wrong, and the owner corrected it.
Topic
Running the systems, the data and the teams that keep a business moving.
51 articles
Operational software is judged on the days it is inconvenient. This topic collects the writing about that: data that has to reconcile, evidence captured on a phone with no signal, batches that get re-run, and the reports somebody has to sign at the end of a month.
A theme runs through most of it. The failure that hurts is rarely the one that throws an error — it is the one that quietly counts something twice, or drops a status update, and is discovered weeks later in a reconciliation. Most of the mechanisms described here exist to make that class of failure impossible rather than to make the happy path faster.
A hire business asked for a sign-off step before refunds. The refund screen had never completed one. Our first diagnosis was wrong, and the owner corrected it.
Creating a task failed on every submit. Once fixed, a task assigned to a field user reported success and then vanished from the supervisor's board.
Field staff were invited to take night proof of boards with no lighting, and no report counted it. For LED screens a photo cannot show if the ad is playing.
The monthly farmer-meeting programme was at 9.2 per cent with its window closing, against 54 to 66 per cent before. No screen showed it until we built one.
A third party covered a client's board with their own material. The software had no way to record it or say whether the advertiser was owed display days.
Half of recent car hire bookings showed documents missing in the driver app when the office had them. One rule lived in three places, and they disagreed.
A long campaign turned the phone's task list into a backlog nobody read, while boards with no live campaign got no task at all. How we made it short.
A booking said collect 9,797 rupees, fully settled and archived all at once. The cause was a nightly job closing rentals that had not ended.
Proof photos that waited in the offline queue were dated by days late, and the rule that a photo must be taken at the board was not running from the main screen.
We checked what a car hire customer is actually told. Three events reached nobody, and switching the alerts on blindly would have sent a wrong one.
7,277 of 17,312 field shifts in thirty days never ended, so the attendance export showed blank hours. The job that closed them had been off for nine months.
Bookings cancelled or deleted on the booking site stayed on the office board and drivers' phones. When the office swapped a car, the driver still saw the old one.
The app was unreachable from 2 a.m. to 10:25. The cloud console said the server was running and healthy. The bill was unpaid and the notice went to one inbox.
A request to hide the invoice module read as a menu change. Partner shares, agent commissions and project profit were all worked out from invoices.
A dealer at one depot could order a product and a dealer at the next could not. 1,416 pack-rows were hidden across 26 depots; one stock upload had delisted 185.
The office changed a booking's pickup place on the booking site. The portal quietly overwrote its copy, logged nothing, and the driver drove to the old address.
A manager could see five pending orders and approve none. The rep who took them had left in July, and 143 of 1,170 pending orders were stuck the same way.
A server-wide security hardening removed one rule a fabricator's quotation system depended on. Every request failed, no alert fired, and it was found by accident.
An inbox of identical emails from the website, so nobody read them. About ten real enquiries a day were arriving, and one form had rejected every genuine one.
A June clean-up was meant to cut the cloud bill. It stayed at about $198 a month: the saving was $4, not $52, and server backups had quietly stopped 27 days earlier.
Reps could not start their day and attendance data was unusable. Nothing was down — a Google API sat inside the one request that had to succeed.
92% of all form submissions were job applications and 87% of search clicks were the company name. A framework change does not create commercial demand.
Your quotation already knows what the job consumes. Turning that into a bill of materials and a nested cutting list without rebuilding it by hand.
Where transport and installation sit relative to GST on a fabrication quotation, CGST and SGST versus IGST, and the ordering that changes the total.
Cost a six-foot stainless work table step by step — sheet weight, tube, hardware, labour and margin — with every figure shown so you can check it against yours.
Margin on selling and markup on cost are not the same twenty per cent. The arithmetic, the conversion table, and what the confusion costs over a year.
SS 202 against 304 against 316 for fabricators — what differs in the metal, where each grade belongs, and the price spread on one identical table.
Quoting software for manufacturers mostly assumes a catalogue. Made-to-order work needs something else, and here are six tests to run on any vendor demo.
Estimating spreadsheets fail in predictable ways — copied files, stale rates, hidden assumptions. Where quoting in Excel breaks, and what fixes it.
Indian hoardings are built at 20×10, 30×10, 40×20 and 60×20 feet among others. What a unipole, gantry and pole kiosk are, and why no size is standard.
The two kinds of outdoor advertising business, what each needs to start, the permissions involved, and the three numbers that decide if it works.
Card rate versus net rate, how agency commission is applied, what printing and mounting really cost, and how to quote so procurement cannot argue.
What separates a billboard management system from a design tool: site inventory, availability by date, contracts, mounting and printing jobs, invoices with tax.
Vacancy is the biggest cost in an out-of-home business and the one nobody counts. How to work out what your empty hoarding days actually cost.
Double-booking an advertising face is almost never carelessness — it is a hold nobody confirmed. How it happens, and how to make it impossible.
The proof-of-display photograph usually exists; finding it is the problem. What a client is really asking for, and how to answer in thirty seconds.
Out-of-home work is lost on turnaround and completeness, not on rate. What belongs in a proposal, and how to stop it taking a whole evening.
What hoardings, unipoles and gantries fetch across Indian markets, the five things that set the rate, and how to price your own inventory.
Payments freeze because the invoice and the purchase order describe different things. Where that mismatch comes from, and how to remove it.
The headline figure on a compliance dashboard came from a table nothing updated. Two careful scripts hid the gap. The job that should compute it is still not built.
We built a quoting tool for fabricators from a list that looked like research. Two rows described the wrong company, and the list taught us who really quotes.
A mobile release build went through a pager and the report carried the pager's exit code. The build had failed and the status report said it had succeeded.
A tunnel made the live database answer on localhost, so every migration run that afternoon went to production. Only a typo and a database property saved it.
How long to move a pricing spreadsheet into quoting software? For us, weeks of developer time. The self-service importer is not built.
End-to-end tests could only run on the live system, so a defect was found by demonstrating it on real quotations. One suite now gates the push and checks the deploy.
A project status list said the offline layer was not built, so two rounds of work were commissioned for it. It existed. The list was wrong six times.
For weeks a deploy on one of our own projects warned, printed Done and restarted nothing, so the old version kept serving. What we found and fixed.
An expired trial silently put a test environment read-only for four days. The same thing will happen to the first customer whose card fails.
A TRUNCATE CASCADE reset of tenant data emptied the roles table, deleting every system role and permission grant, because one nullable column made it a child.
A nightly database backup on our own server wrote nothing for four days, from four separate causes, with no alert. A dead certificate renewal hid the same way.
Why availability derived from live bookings prevents double-selling in asset businesses, and a spreadsheet inventory structurally cannot.