Built for a UK services business. Client and admin portal.

Sanco Services: a jobs, quotes and invoicing portal

A private admin portal and public website for a small owner-run business, replacing paper and messages for quotes, invoices, jobs and customers.

At a glance

Organisation
A small, owner-run services business in the UK
What was built
Website with lead capture, plus a private admin portal and no-login customer links
Built by
The studio’s founder, before Tibyan Labs was formed
Status
Built
Built with
Next.js, React, TypeScript, Tailwind CSS, Supabase (Postgres), Resend, Vercel
The Sanco Services services page: a grid of nine plumbing, heating and gas services, each with a short description and a link to its own page.
The public services page. The private portal holds customer records, so its screens below use demo data. Public page, captured 10 November 2026.

The situation and problem

Sanco Services is a small, owner-run business. Small firms like this often keep their paperwork in phone messages, notebooks and one-off documents: who the customers are, which jobs are booked, what has been quoted, what has been invoiced and what is still unpaid. The portal was built so the owner can answer simple questions quickly, such as who owes money and whether a customer has accepted a quote, and send professional paperwork from a phone.

What was built

  • A public website with a contact form that saves every enquiry, so a lead is never lost in a message thread.
  • A private admin portal for the owner, built to work well on a phone. It holds customers (including customers with more than one address), jobs with status and a work log, quotes, invoices, payments and enquiries.
  • Numbered quotes and invoices that are produced as PDF documents and can be sent by email or by a ready-made message link.
  • Customer links that need no account. A customer opens a private link to view or download an invoice, or read a quote and accept it with one tap. A quote turns into an invoice in one step.
  • A dashboard showing money owed, today’s jobs and recent activity.
  • Editable settings for business details, payment terms and reusable line items.

How it was built

The portal sits behind email sign-in restricted to an approved list of administrators. The database allows access only through the application, with row-level security switched on for its tables. Customer links use long random tokens that are stored only in scrambled form, and invalid links give no clue about whether a document exists. Public actions are rate limited, and the portal keeps an audit trail of important changes. Invoice numbers are allocated by the database, so a double tap cannot duplicate one. Entries are checked on the server before saving. The build log records rounds of browser testing and code review.

What it shows a prospective client

Sanco shows what a modest, focused business system looks like: affordable, clearly scoped and built around how the owner works. It is the studio’s example of replacing a spreadsheet and message threads with software for quotes, invoicing and customer records, alongside a public website and private back office.

Current status

The portal and website are built and deployed. The latest build record is dated May 2026 and lists set-up steps before full production use, such as verifying the email domain and enabling two-step sign-in. Day-to-day use is not confirmed, so none is claimed. The portal has no automated test suite yet.

Facts

  • The database has 19 migrations, with row-level security enabled on its tables.
  • Quotes and invoices each have their own number sequence, allocated by the database.
  • Customer links work without an account and are protected by random tokens and rate limiting.
  • The admin portal covers customers, jobs, quotes, invoices, payments and enquiries.
  • No customer, pricing or banking information appears in this case study.

Selected screens

Each caption says what the screen shows and when it was captured. An organisation or place shown on them does not endorse Tibyan Labs.

The Sanco Services boiler installation page: what the service covers, a list of what is included, and a panel offering WhatsApp or the contact form to book.
A service page, with what is included and a panel to book the service. Public page, captured 10 November 2026.
The boiler installation page on a phone, with the description and the list of what is included.
A service page on a phone. Public page, captured 10 November 2026.
The Sanco Services public services page on a phone.
The public services page on a phone. Public page, captured 9 November 2026.

Inside the system

These screens use invented demo data, not real customers, jobs or payments.

The Sanco admin dashboard: money outstanding across invoices, today’s job, this week’s jobs by stage, and a feed of recent activity such as quotes viewed by customers.
The office dashboard: money owed, today’s jobs, the week by stage, and when customers open a quote or invoice. Demo data.
The estimate editor: billing address, issue and valid-until dates, and line items with description, rate and quantity, some picked from saved items.
The estimate editor, with line items that can be picked from a saved list. Demo data.
One estimate as the office sees it, laid out as the customer receives it, with actions to edit, mark accepted or declined, and send by WhatsApp or email.
An estimate ready to send by WhatsApp or email, with its status updated when the customer views or accepts it. Demo data.
A part-paid invoice with its line items, a payments panel showing one card payment recorded, and actions to send, edit or record the remaining payment.
An invoice with a part payment recorded against it. Demo data.

What this means for your project

If you need something similar, see portals and internal systems for packages and prices.

Related: Tahawi Institute

Need something similar?

Tell us what it needs to do. Every genuine enquiry gets a reply by email within two working days.