Tagihin: taking a quotation from line items to a branded invoice and payment link.
The problem
Manual document editing can create inconsistent totals and make it difficult to reuse client information or follow invoice status.
My solution
I built an invoicing workspace that connects saved clients, reusable products, document calculations, and PDF output.
Key features
• Quotations that can be converted into invoices
• Discounts, configurable tax, and shared calculation logic
• Branded PDF exports
• Public document links and payment status
• Multi-currency support on the Pro plan
Engineering notes
Client and server use the same calculation logic. Webhook processing is idempotent. Screenshots use seeded clients/documents, and payment demonstrations use Midtrans Sandbox.
Built with: Next.js · React · TypeScript · PostgreSQL · Prisma · React PDF · Midtrans · Tailwind CSS