
invoiceflow
Accounts payable/receivable and government e-invoice sync for Vietnamese companies.
InvoiceFlow is a React and NestJS app where companies sign in with their tax code, switch between entities in a company group, and track payables and receivables. I built the entity scoping, the payables and receivables pages, and a step-by-step workflow for drafting debtor reminders. I then prototyped a sync service that fetches invoice streams from the General Department of Taxation portal, normalises and deduplicates them, and exports CSVs; that design became the production invoice sync inside PCA ERP.
technologies
- nestjs
- prisma
- postgresql
- react
- vite
- bullmq
- redis
- minio
key highlights
- Server-enforced group scoping: every invoice read or write re-checks the caller is the seller or buyer
- Natural-key deduplication backed by PostgreSQL row-level security on tenant tables
- Portal tokens cached in Redis so same-day re-syncs skip login; passwords are never stored or logged
- Portal client behind a DI token, with a fake client for tests and the real one in production
- Step-by-step debtor reminder workflow with saved drafts and debounced recipient search
next project
action hub