Back to Projects

Northbound - B2B Order Management Platform

Full-stack UBL 2.1 e-procurement platform with invoicing, tax, and reporting

TypeScriptNode.jsExpressReactSupabaseJWTSwagger / OpenAPI

Overview

Northbound is a full-stack B2B e-procurement platform built around the UBL 2.1 Order standard. It supports authenticated order CRUD, UBL XML generation, invoice generation with country-based tax calculation, recurring order templates, despatch advice (DevEx) integration, and aggregated party reports for buyer spend and seller revenue. The React frontend ships with multi-language support (EN/ES/FR/DE/ZH) and multi-currency handling via live exchange rates. As Scrum Master, I drove sprint planning, backlog refinement, and Jira issue tracking across the full project lifecycle while contributing directly to the codebase.

Architecture

The backend is an Express + TypeScript API backed by Supabase (PostgreSQL), with JWT authentication and a standard JSON response envelope for consistent success/error handling. Endpoints are dual-versioned (`/orders` and `/v1/orders`) for backward compatibility and documented end-to-end with Swagger UI at `/docs`. Invoice generation integrates an external exchange-rate API for live FX conversion. The React frontend consumes the API and is deployed to Vercel; the backend runs on Render.

Key Challenges

  • •Implementing the UBL 2.1 XML schema correctly for B2B procurement compliance
  • •Designing the invoice/tax module to handle country-specific rates and live FX conversion
  • •Coordinating a 5-person team across sprints while maintaining individual engineering contributions
  • •Keeping two API versions consistent while evolving the response envelope
  • •Modelling recurring order templates so they generate consistent UBL output over time

What I Learned

  • •Deep understanding of enterprise document standards (UBL 2.1) and B2B procurement workflows
  • •Practical Agile/Scrum leadership - running standups, sprint retros, and backlog grooming
  • •OpenAPI 3.0 / Swagger design-first API development with versioned routes
  • •Building i18n and multi-currency support into a real product surface
  • •Splitting a full-stack app across Vercel (frontend) and Render (backend) deployments

Future Improvements

  • •Add support for UBL 2.1 Credit Note and additional document types
  • •Expand the party reporting dashboard with charts and exports
  • •Implement webhook delivery for order and invoice status events
  • •Add multi-tenant authentication and rate limiting