Jonathan Hipolito

← All projects

Invoicing and payments · Personal project

PaidUp invoicing

Invoicing for small online shops, shown with by.afterglow studio, a preserved flower studio in Bulacan (sample data, with the owner's permission). The shop sends an invoice link, the customer pays with GCash, Maya or card, and the payment shows up on the owner's screen as it happens.

PaidUp live demo with the shop owner's invoice view next to the customer's phone showing a Pay button
PaidUp overview with the amount still owed, an aging bar, who to chase today and a live activity feed

What I built

  • Live demo with the owner's screen and the customer's phone side by side. Payments are pushed to the owner over WebSockets, with no refresh or polling
  • Paste an order from Messenger in Taglish and get a priced draft invoice. Workers AI reads the message, prices come only from the shop's price list, and dates like "bukas" or "sa Sabado" are worked out in code
  • Pay links through PayMongo Checkout with signed webhooks. Each payment, its receipt number and the new balance are saved in one transaction, so nothing gets counted twice
  • Aging, who to chase today with a ready Taglish reminder, a collections forecast based on how late each customer usually pays, statements of account and printable receipts
  • A Messenger-style preview of the same flow in a chat: the order comes in, an invoice card goes out, and a receipt card comes back

Stack

Cloudflare Workers, Durable Objects, D1 (SQLite), Workers AI, PayMongo, TypeScript

Live

invoice-demo.jnathan.dev ↗