Fushi

All projects

Ordering app for a field sales team

Internal order-taking app for the field sales team of a distributor. The office approves orders and exports them as XML.

Type:
Client work
Status:
Beta
Year:
2026

The problem

Sales agents lacked quick access to prices, a customer's price history and stock, and they typed orders by hand. The app must never expose the accounting system or write to it.

What I built

  • Product search by name, code or barcode, and a per-customer price history (the last 1 to 20 invoiced prices).
  • A price calculator with a warning when the margin falls under the minimum.
  • An order workflow with a picking board, office approval and delivery routes for one to three drivers. The order board groups orders by delivery day. Each order has a delivery date, and the office can flag a wrong order and reopen it.
  • A dashboard, an audit log and an accounts page, including a warehouse account.
  • Prices and stock refresh every morning at 06:00. Approved orders leave as an XML file that the office imports by hand.

Stack

  • TypeScript
  • Node.js
  • Fastify
  • SQLite
  • Nunjucks
  • Argon2id
  • Playwright
  • Vitest
  • Kotlin (Android WebView)
  • Python
  • PowerShell

Results

  • The source data is read only. Every read runs in a read-only transaction and an SQL guard blocks writes.
  • Passwords use Argon2id and the app has CSRF protection.
  • Automated checks: 16 test files with 73 passing tests, plus lint and format checks.