Yang Yanginternal software

An invoicing and bookkeeping system for a travel agency in Indonesia.

Guideyuk sells tours to companies and groups. Its consultants used to write every quotation by hand and sort out the money afterwards. I built the internal system they now run the office on: quotations and invoices, printable A4 documents, payment tracking, and the bookkeeping behind it.

Areas of the business
8
Releases
13
In daily use since
2026
QUOTATIONQUO/0904/1132/01
Prepared for

PT Cakrawala Nusantara
Attn. Head of Corporate Affairs
Bandung, Jawa Barat

Trip
Travellers18 pax
Departs14 Oct 2026
Returns17 Oct 2026
Valid until24 Sep 2026
DateCityScheduleCost
14 OctYogyakarta Airport pickup, hotel check-in, welcome dinnerPrivate coach, 20 seats 14.400.000
15 OctMagelang Borobudur sunrise, Mendut, PawonIncludes guide and entrance 11.700.000
16 OctYogyakarta Prambanan, Kraton, Malioboro evening 9.850.000
17 OctYogyakarta Free morning, airport transfer 3.150.000
SubtotalRp 39.100.000
Group discount− Rp 1.600.000
TotalRp 37.500.000
Down payment dueRp 11.250.000
Terms
  1. 30% down payment confirms the booking.
  2. Balance settled 7 days before departure.
  3. Rates hold until the validity date above.
Travel Consultant
Guideyuk Travel & Tour

The A4 page the system produces. Numbering, pricing, layout and the signature are all filled in automatically.

Quotations and invoices

Consultants fill in a document rather than build one. The finished PDF matches what they saw on screen.

Payments

Each invoice carries its status, due date and proof of payment, so the office can see what is still owed at a glance.

Bookkeeping

Recording a payment writes the matching accounting entry at the same moment. Nothing is left for the end of the month.

Writing a quotation

The editor keeps the shape of the agency's own paperwork — the same sections in the same order, with a day-by-day itinerary table modelled on the sheets they were already drawing by hand.

Editing quotation QUO/0904/1132/01

Yogyakarta & Borobudur, 4 days

Draft Preview PDF Save
HEADER
BILLING FOR

PT Cakrawala Nusantara — 18 pax — departs 14 Oct 2026

ITINERARY
DateCityScheduleCost
14 OctYogyakartaPickup, check-in, welcome dinner14.400.000
15 OctMagelangBorobudur sunrise11.700.000
16 OctYogyakartaPrambanan, Kraton, Malioboro9.850.000
17 OctYogyakartaFree morning, transfer out3.150.000
TERMS

Keeping track of the money

Who owes what, what falls due this week, and what has actually arrived. Each row is colour-coded by status so the answer is visible without reading a column.

Dashboard

September 2026

New invoice
Invoiced this month
212,4 jt
Received
148,9 jt
Outstanding
63,5 jt
Due in 7 days
4
ReferenceClientDueStatusAmount
GDY/0821/0940/01PT Harmoni Cipta 2 SepOverdue Rp 24.750.000
GDY/0902/1415/01Koperasi Sinar Terang 12 SepSent Rp 38.750.000
QUO/0904/1132/01PT Cakrawala Nusantara Draft Rp 37.500.000
GDY/0828/1002/02Yayasan Bina Karya Paid 5 Sep Rp 61.200.000
GDY/0819/1650/01PT Anugerah Lestari Paid 1 Sep Rp 49.900.000

This is the owner's view. A travel consultant signing in sees no Accounting or Users section, and cost prices and margins never reach their screen — that restriction is applied in the database, not just hidden in the menu.

How it was built

The agency kept trading the whole time, which set the pace more than anything technical did.

  • Drawings before code. Every new screen was approved as a mockup first. Redrawing a picture is cheap.
  • One feature at a time. Thirteen releases, each signed off before the next started, so staff were never handed a half-finished job.
  • Checked as each kind of user. Owner, manager and consultant, every release.

Built with

Interface
React, TypeScript, Tailwind CSS
Editor
TipTap, with custom document sections
Backend
Supabase — Postgres, authentication, file storage
PDF
Gotenberg, headless Chromium

Available for internal tools work.

Quoting, invoicing, approvals, stock, bookkeeping — the kind of system a business runs on day to day. If you have a process held together by spreadsheets, I would like to hear about it.

Every client name, figure, reference number and document shown here is invented for this write-up. No real customer data, staff detail or financial record appears on this page. Published with the agency's permission.