AOY
TR EN
← All projects

Fatura Takip Sistemi

Web app

Stop technicians chasing addresses — the billing address comes straight from the customer, over SMS.

Invoice Collection System — overview page
01

What it does

A billing-details collection and tracking system for field technicians. When the technician finishes a job they enter the customer’s phone number; the system sends a consent-compliant SMS and the billing address is collected directly from the customer. The technician does not have to write down an address, verify it, or call back later.

Records can be listed and filtered, and pricing and job data analysed. Each technician gets their own account and tracks their own work.

The overview page and free trial sign-up live at one address; the member panel sits behind a login.

02

How it works

The interface is Next.js and TypeScript; the marketing site and the member panel live in one Turborepo monorepo. Data is in PostgreSQL and deployment runs on Docker.

Four steps

  • Create the record — the technician enters the job, the price and the customer’s phone number.
  • Send the SMS — the system sends the customer a consent-compliant billing address form, valid for seven days.
  • The customer fills it in — they follow the link in the SMS and enter their own details.
  • The address is ready — the record is in the system and whoever handles invoicing picks it up from the list.

Why the customer types the address

An address a technician types into a phone on site tends to be wrong: a missing apartment number, a misspelled tax office, an unreadable note. Taking the address from its source — the person who actually knows it — removes that entire class of error, and puts the consent record inside the same flow.

Decision · consent

Consent lives inside the flow, not as a step bolted on afterwards. The link that collects the customer’s data carries the notice itself, and the form does not open before consent is given.

Making consent a separate task means in practice that it never gets collected — nobody in the field goes back for an extra step.

03

Architecture

Interface
Next.js · TypeScript
Monorepo
Turborepo
Data
PostgreSQL
Deployment
Docker
Users
Field service technicians and whoever handles invoicing
Data collection
A consent-based SMS link with a form valid for seven days
Accounts
A separate account per technician
Addresses
Overview and trial sign-up on one address; the member panel behind a login
04

Frequently asked

Who enters the customer’s details?

The customer does. The technician only enters a phone number; the system sends the SMS and the customer fills in the billing address form themselves.

How does it handle consent?

The SMS and the form it links to carry the data protection notice, and the form cannot be filled in before consent is given. Consent is part of the flow rather than a step added afterwards.

How many technicians can use it?

A separate account can be opened for each technician; everyone sees their own records, and an authorised user can list and filter all of them.

What do I need to try it?

You can open a free trial from the overview page at fatura.pehlivan-tsh.com.

05

Other projects

built by the same hand
06

Contact

Got something similar?

I build products from idea to store release. Reach me by e-mail.