Whispr.Marketing
Next.jsTypeScriptSupabaseDrizzle

Bilanso

Multi-tenant marketplace reconciliation SaaS for e-commerce operators running Mirakl, Amazon, and Allegro channels - live at bilanso.io.

Live in productionsaasbilanso.io
Bilanso - Marketplace Reconciliation SaaS

// delivery facts

Multi-tenant SaaS

Architecture

RLS isolation per organisation, company_id scoped throughout

3

Channels

Mirakl, Amazon, Allegro - dedicated adapter per channel

Live - bilanso.io

Status

Running in production

Drizzle + Supabase

ORM

Type-safe schema with migration-based deployments

The challenge

E-commerce operators selling across multiple marketplaces (Mirakl, Amazon, Allegro) faced a reconciliation black hole: settlement files, commission invoices, and bank payouts came in different formats with no automated way to match them.

  • 1

    Settlement files from Mirakl, Amazon, and Allegro each use different schemas, currencies, and fee structures

  • 2

    Commission invoices and bank payouts had to be manually matched to settlement lines - a process taking hours per period

  • 3

    Multi-bank MT940 imports from different banks arrived in slightly incompatible dialects of the same format standard

  • 4

    No single export path to accounting systems - each operator maintained bespoke manual exports

How it was built

Multi-tenant SaaS on Next.js, Supabase, and Drizzle ORM with dedicated marketplace adapters, MT940 multi-bank parser, automated matching engine, and accounting-system export layer.

  • Supabase RLS with company_id-scoped policies on every table - tenant data is physically isolated, not just filtered at the application layer

  • Dedicated adapters for Mirakl, Amazon, and Allegro normalize channel-specific settlement schemas into a unified internal representation before matching

  • MT940 parser supports multiple bank dialects simultaneously; bank-specific quirks are handled per-bank without polluting the shared pipeline

  • Matching engine links settlement lines to commission invoices and bank payouts using order-reference exact matching with fuzzy fallback (name, amount, date proximity)

What shipped

Production multi-tenant SaaS live at bilanso.io - three-channel marketplace reconciliation, multi-bank MT940 import, and full RLS tenant isolation shipped.

// full stack

Next.jsTypeScriptSupabaseDrizzle

Want something built like this?

Free qualifying call - 20 minutes. Fixed price. Real code. You own it.

No contracts
Transparent pricing
You own the code