← All work

Invoicing · Sep 2025 – Oct 2026

Invoices that match the money

Exporters need compliant invoices that line up with the foreign payments they receive. I built the invoicing product end to end, from the editor to matching invoices against incoming money.

Role
Lead frontend
When
Sep 2025 – Oct 2026
Where
PayGlocal
Stack
Next.jsTypeScriptreact-pdfZustand

The situation

Sellers were creating invoices elsewhere and then trying to match them by hand to payments arriving in different currencies, from different banks and names.

What I built

  • A multi-step editor with a live preview; click any part of the preview to edit that section.
  • Tax and discount maths (flat or percentage) with GSTIN, HSN and SAC validation.
  • Recurring invoices, logo and signature upload, PDF delivery by email with CC and BCC.
  • Uploading an existing invoice PDF, with the extracted fields shown for confirmation.
  • Linking invoices to payments (and back), with amount checks, plus a client ledger.
  • A product catalogue with Excel import, and sync with an accounting tool.
  • Batch invoice links for many recipients at once.
Try it

Decisions

Recommend, don’t force, the receiving account

The editor suggests the best account for the currency (local first, then settlement, then global) and labels it, but lets the seller choose.

Render real PDFs, not iframes

Switching to react-pdf made previews consistent across browsers and let uploaded and generated invoices share one viewer.

Outcome

WhatBeforeAfterChange
Invoice sourcesmanualcreate · upload · recurring3 ways
Payment matchingby handlinked + checkedin product
↑↓ move↵ openesc close