Skip to content

Live · Launched Jul 2026

Delivery invoicing system

An invoicing app that drafts an invoice for every delivery, built for a Canadian business that supplies stores. Operators work in Spanish, English or Korean; every invoice prints in English on US Letter.

Client system · built and run by MOVA

Summary

What
An invoicing app that drafts an invoice for every delivery, for a Canadian business that supplies stores
We did
Invoices drafted automatically from the delivered quantities and saved to a cloud database; Spanish, English and Korean screens; save as draft, then issue; archive and customer copies in print; operations and maintenance since delivery
Result
A Canadian business used to write every delivery's invoice by hand in Excel. Now the operator enters the delivered quantities and the invoice is drafted and saved automatically, in Spanish, English or Korean, and printed in English on US Letter.
  1. Enter quantities
  2. Drafted and saved
  3. Print both copies
Usage flow diagram · screens not shown

Project facts

Client
Client not namedThe client is not named
Our role
Build · Multilingual screens · Save as draft, then issue · Printed invoices and statements · Automated tests · Operations and maintenance
Team
1 contract designer (planning and screen design) + the founder (all engineering and operations)The team on this project
Timeline
Jul 2026
Platforms
Web (desktop) · Spanish · English · Korean
After launch
Live · run and maintained by MOVA
Technologies
React · Tailwind CSS · Cloud database · Automated tests

Results

  • Delivered

    3

    Screen languages (Spanish, English, Korean)

    The operator picks a language; documents for the stores are always in English.

    Source: delivery record · 2026-10-311

  • Delivered

    2

    Printed document types

    A per-delivery invoice and a monthly statement, each printed as an archive copy and a customer copy on US Letter.

    Source: delivery record · 2026-10-311

  • Delivered

    234

    Automated tests at delivery

    Counted with the test runner's list command at the delivery commit.

    Source: delivery record · 2026-10-312

The client hasn't shared business figures.

Why it was needed

For every delivery to a store, the client wrote that delivery's invoice by hand in Excel.

The documents that go to the stores had to be in English on US Letter paper, and every delivery needed both an archive copy and a customer copy.

What we built

Invoices drafted and saved from the quantities

The operator enters only the delivered quantities. The rest of the invoice fills itself in, and the invoice is saved to a cloud database. It stays a draft, open to checks and changes, until the operator issues it.

Screens in the operator's language, documents in English

The screens come in 3 languages (Spanish, English and Korean), and the operator picks the one that is easiest for them. The printed documents come in 2 kinds, a per-delivery invoice and a monthly statement. Both print in English on US Letter, as an archive copy and a customer copy.1

Delivered with automated tests

The code as delivered carries 234 automated tests that check screen behaviour, calculations and printing.2 We still operate and maintain the system after delivery.3

How it's used

  1. Operator (Spanish, English, Korean) — Operators pick the screen language
  2. Enter delivered quantities — Operators enter only the quantities
  3. Drafted and saved — The invoice is drafted from the quantities and saved; editable until issued
  4. Issue
  5. US Letter printouts — Per-delivery invoice and monthly statement, archive and customer copies, in English
  6. Stores supplied

Decisions

  1. Invoices are kept in a cloud database

    Why
    Every device opens the same records, and past invoices stay put when a device is replaced.
    Trade-off
    The app needs an internet connection to work.
  2. The operator enters only the quantities

    Why
    The rest of the invoice fills itself in, so the same details are not typed again for every delivery.
    Trade-off
    Details that rarely change have to be set up in advance.
  3. Screen language and document language are separate

    Why
    The operator works in Spanish, English or Korean, and the documents that go to the stores are always in English.
    Trade-off
    The document wording exists in English only.
  4. Drafts are kept apart from issued invoices

    Why
    A draft can still be changed, and an invoice that has been issued cannot be issued again by mistake.
    Trade-off
    There is one more check before an invoice goes out.

Quality and operations

What we guaranteeHowEvidence
Automated tests at deliveryThe automated tests in the delivered code check screen behaviour, calculations and printing (as of the delivery commit)2342026-10-312

If we did it again

  • Get a sample of the Excel invoice earlier, and match the print layout to it first.
  • Run one real delivery from entry to print together with the operator before anything else.

Sources and methods

  1. 1Screen languages: checked in the language settings of the code as delivered (Jul 2026), on 2026-10-31. Printed document types: confirmed by the founder (2026-10-30).
  2. 2Automated tests: the number the test runner's list command gives at the delivery commit (Jul 2026), counted on 2026-10-31. The lockfile was out of date, so only the dependencies were installed fresh; the test files and runner settings are as delivered. Skipped tests are not counted. Counting only the test declarations written in test files gives a lower number, because it misses a shared suite kept outside the test files.
  3. 3Delivery and operations: the delivery month (Jul 2026) was confirmed by the founder on 2026-10-31, and the operations and maintenance since delivery on 2026-10-30.

Delivery invoicing system

The team on this project

Launched Jul 2026 · Live

  • Myeongsub Kim

    CEO · Programmer

    • Invoices drafted automatically from the delivered quantities and saved to a cloud database
    • Spanish, English and Korean screens; save as draft, then issue
    • Per-delivery invoices and monthly statements, printed as archive and customer copies on US Letter
    • Operations and maintenance since delivery
  • Designer (contractor)

    • Planning
    • Screen design

Next case

Young Signs website renewal

Signage · Canada · Website · 2026

Turned an English-only site into a three-language site built for quote requests, carried over 519 past projects, and still run it.

  1. EN·KO·JA pages
  2. projects & cities
  3. call or quote