Business Management System Development Example for a Plumbing and Water-Services Provider
* Actual cost, timeline, and scope vary by factors such as number of users, existing data conditions, and external system integrations.
This case began when a locally focused plumbing and water-services provider reviewed how information was shared from initial reception through on-site work. Office staff who also handled reception received repair requests by telephone and recorded the customer name, address, telephone number, preferred visit time, and fault description on paper dispatch slips. The owner or dispatcher wrote staff names and daily destinations on an office whiteboard, then notified available technicians by telephone or message. Customer information was retained in an Excel ledger, but it was not linked to daily schedules, work photos, or completion reports.
After on-site work was completed, field staff wrote the work performed, parts used, and estimated charges by hand on the dispatch slips. Before-and-after photos were stored on their individual smartphones. During busy periods, when seven to ten visits could overlap in a day, the office had to call staff to determine whether they had arrived, whether parts needed to be ordered, or whether the next visit could be rescheduled. When the same customer contacted the company again, the team had to search the Excel ledger, past slips, and individual photo folders separately, making it difficult to confirm the repair history while speaking with the customer.
Proposal and Estimation Highlights
Rather than replacing quotation creation, invoice issuance, and accounting integration all at once, the project was scoped around digitizing the flow from initial reception through site visits and completed-work reports. The system was designed for an operational volume that a small company could manage on a daily basis. For field staff, the core actions were limited to checking the destination, updating arrival or completion status, and registering photos. The initial release established a foundation for information sharing, while invoicing and a customer portal were reserved for a possible second phase based on actual usage.
At the office, staff registered a telephone request as a job, assigned a field technician, and set the planned visit time. Field staff used smartphones to check their jobs for the current and following day, then updated the job status to “En Route” and “In Progress.” Once work was complete, they entered before-and-after photos, the work performed, parts used, and any follow-up requirement, then reported the job as “Complete” to the office.
For the estimate, the functions required by customer-service and dispatch staff, field staff, and administrators were clearly defined as the initial scope. This made it possible to deliver the project for ¥1.58 million before tax over approximately eight weeks. Invoice issuance, inventory management, payment processing, accounting-software integration, and a customer portal were outside the initial scope and were positioned as possible second-phase functions after the initial operation became established.
To control costs, AI assistance was used for similar screens, standardized processing, and test preparation. However, the project team reviewed and adjusted the dispatch-slip field design, role definitions, handling of photos containing personal information, exception handling, code review, and user-acceptance testing to ensure that the system fit the actual business.
Deliverables and Feature Scope
The initial release was limited to the functions required to take a repair request through to a completed-work report for the office. Finalizing service charges, issuing invoices, inventory management, and customer email distribution were outside the initial scope; the client continued to use its existing accounting software and business processes for those functions.
Workflow and Screen Overview
| User | Main Actions | Practical Use Case |
|---|---|---|
| Customer-Service and Dispatch Staff | Register jobs, assign field staff, set preferred visit times, and check the status list | While receiving a call, staff entered customer information, address, request details, and a preferred time, then assigned the job to an available technician. |
| Field Staff | Check daily schedules, update job status, and register work photos and notes | Staff changed the job to “En Route” before arrival, “In Progress” at the start of work, and “Complete” after registering photos and notes. |
| Administrators | Search all jobs, view repair history by customer, aggregate job volumes, and export CSV data | When a customer called again, staff could quickly find prior repair details, photos, and assigned technicians using an address or telephone number. |
Main Data Managed by the System
| Category | Main Fields |
|---|---|
| Customer Information | Customer name, address, telephone number, building type, and contact notes |
| Job Information | Reception date and time, preferred visit date and time, request details, assigned field staff, job status, and planned follow-up |
| Work Reports | Start and completion date and time, work performed, parts used, estimated charge, before-and-after photos, and handover notes |
| Audit Trail | Created by, updated by, date and time updated, and status-change history |
Technical Architecture and Security Policy
The front end was built with TypeScript and a React-based framework as a responsive web application that works on both PCs and smartphones. Because field staff entered information while travelling or after completing work, the screens minimized text input and prioritized large status buttons and camera-launch buttons.
REST APIs were implemented for jobs, customers, staff, work reports, and attached photos. Input values were validated when jobs were created or updated, and field staff could update only the jobs assigned to them. Administrators could view and reassign all jobs, while authorization was enforced through the API as well as the interface.
| Technical Area | Implementation Approach |
|---|---|
| Front End | A responsive web application was built with TypeScript and a React-based framework. On smartphones, “Today’s Schedule,” “Job Details,” and “Completion Report” were prioritized.。 |
| Back End / API | REST APIs were implemented for customers, jobs, work reports, and attached photos. Job-status transitions and assigned-staff permissions were validated on the server side. |
| Database | A PostgreSQL-compatible managed database related customers, jobs, staff, work reports, attached photos, and audit trails. |
| File Storage | Before-and-after work photos were stored in restricted-access object storage. The database retained access-controlled references rather than the files themselves. |
| Authentication and Authorization | Three roles were configured: “Administrator,” “Customer Service and Dispatch,” and “Field Staff.” Each role was limited to the appropriate scope of job viewing and updating. |
| Quality Assurance | Human review at the pull-request level, automated testing, and user-acceptance confirmation in a test environment were carried out. |
Timeline and Delivery Process
During the first two weeks of the approximately eight-week project, the team reviewed the paper dispatch slips and the actual flow of telephone reception and dispatch. Defining input fields and operating rules early helped prevent rework caused by missing required fields or uncertainty about when a job should be marked complete.
| Phase | Timing | Work Completed and Client Participation |
|---|---|---|
| Step 1: Field Process Review | Week 1 | We reviewed existing dispatch slips, the information confirmed during telephone reception, and examples of field completion reports. One reception staff member and one or two field staff members participated in interviews. |
| Step 2: Screen Design and Specification Review | Week 2 | We created wireframes for the job list, job details, completion report, and administration screens. Job-status definitions, required input fields, and photo-handling rules were finalized with the client. |
| Step 3: Implementation and Internal Testing | Weeks 3–5 | We implemented authentication and authorization, job management, photo uploads, work reports, search, and CSV export. Human review and automated testing progressed in parallel. |
| Step 4: User Acceptance in the Test Environment | Weeks 6–7 | Customer-service and field staff tested the application with data based on actual dispatch slips. Field labels, button placement, and the completion-report flow were fine-tuned within the initial scope. |
| Step 5: Delivery, Go-Live, and Payment | Week 8 | The application was released to the production environment, and the operations manual and test-results list were delivered. After acceptance, typically within five business days of release, the full amount was invoiced. |
Payment Terms
As a general rule, no up-front payment was requested. There was no payment at contract signing; the full amount was invoiced only after all development work was complete and the client had completed acceptance.
Cost Breakdown
The following amount included implementation of the functions defined in the initial phase, testing, and production-release support. Invoice issuance, inventory management, payment processing, accounting-software integration, and a customer portal were not included in the initial scope.
| Item | Cost Before Tax | 内容 |
|---|---|---|
| Requirements Definition and Project Direction | ¥260,000 | Organizing dispatch slips and reception flows, defining operating rules and acceptance criteria, and project management |
| UI/UX Screen Design | ¥240,000 | Wireframes for office management screens and field-staff smartphone screens, plus usability review |
| Front-End Development | ¥380,000 | Job-list, job-detail, and completion-report screens; status display; and responsive behavior |
| Back-End and API Development | ¥470,000 | Database design, authentication and authorization, job/work-report/photo management, search, and CSV export |
| Testing and Implementation Support | ¥230,000 | Test planning, test-data creation, acceptance support, production release, and operations-manual creation |
| 合Total | ¥230,000 | ¥1,738,000 including tax |
Currency Options for Quotations and Invoicing
In addition to Japanese yen (JPY), quotations and invoices can be issued in U.S. dollars (USD) or other currencies upon request. The applicable exchange rate, conversion basis, and any bank or payment-provider fees will be confirmed in advance for each project.
Supplement: Estimated Third-Party Service and Maintenance Costs After Launch
The following figures assume an initial operation with approximately 12 employees, around a dozen regular users, several hundred jobs per month, and attached work photos. These expenses are separate from the initial development cost. Cloud services required to operate the web application in production, as well as any monitoring or notification services selected, incur third-party service charges paid directly to the respective providers.
| Category | Estimated Monthly Cost Before Tax | Nature of Cost and Main Inclusions |
|---|---|---|
| Third-Party Cloud Service Charges (at cost) | ¥8,000–¥15,000 | Web-application hosting, managed database, work-photo storage, scheduled backups, and domain/SSL maintenance. These are, in principle, pass-through service charges paid to cloud providers. |
| Minimum Maintenance and Operational Support | ¥10,000–¥20,000 | Monthly service, backup, and basic-log checks; review of vulnerability notices; initial contact for urgent issues; and approximately 30 minutes of configuration or operational consultation. Incident recovery work, specification changes, and feature additions are quoted separately. |
| Optional External-Service Charges (at cost) | ¥0–¥5,000 | Error monitoring, logs and alerts, and email notifications when used. Usage-based charges for SMS delivery and online payments are separate. |
| Estimated Monthly Total | ¥18,000–¥40,000 |
A low-cost operating assumption based on the items above. The amount varies with photo-storage volume, number of users, traffic, exchange rates, and added services. |
The third-party cloud-service figures are a model estimate informed by published pricing structures for managed database, authentication and file-storage services, web hosting, and object storage.
Staff Comment
For small businesses like this plumbing and water-services provider, where telephone reception, site visits, and photo-based completion reports occur daily, it is effective to begin by focusing on sharing each job’s status between the office and the field. Rather than abruptly replacing existing accounting software or invoicing procedures, the initial release moves only the dispatch-schedule and completion-report functions that had been distributed across paper dispatch slips, a whiteboard, and an Excel ledger into a web application. This approach helps the new workflow take hold without overburdening the field team.
Typical Scope for Common Add-Ons
After the initial release has become established, a customer portal may be added so customers can log in and view planned visit times, work history, photos, and quotations. Because the existing customer and job data can be reused, a typical estimate is an additional ¥600,000–¥900,000 before tax and approximately 4–6 weeks.
An online payment integration may also be added to issue a payment link after an on-site repair. This approach uses an external payment service and does not store credit-card information in the company’s own system. A typical estimate is ¥500,000–¥700,000 before tax and approximately 3–5 weeks.
Adding both the customer portal and online payment as a second phase is estimated at an additional ¥1.0 million–¥1.6 million before tax and approximately 7–9 weeks. Combined with the initial release, the total would be approximately ¥2.68 million–¥3.18 million before tax. Separate design and estimation would likely be required if the project also needed split billing, batch management of multiple properties, parts-inventory integration, manufacturer-warranty inquiries, or two-way integration with accounting or core business systems.
By first digitizing daily dispatch slips and completion reports reliably, then expanding in stages based on the functions actually needed in operation, the business can avoid unnecessary investment and grow the product into a better fit for its own workflow.
How It Started