The tool: a single self-contained HTML file — no install, no backend, no database connection of its own. Upload a spreadsheet, map its columns to Al-Mizan's schema, and download a ready-to-execute .sql script for SQL Server Management Studio.
The problem
Al-Mizan is SQL-Server-based accounting software built by Hadara Soft, and onboarding a new customer almost always means importing their existing data: a chart of accounts, a customer and supplier list, an inventory catalog, or a batch of historical journal entries — usually sitting in whatever spreadsheet format the client already had. Retyping that by hand doesn't scale and invites transcription errors in financial data, exactly where errors are least acceptable. Writing a bespoke import script for every customer isn't sustainable either. What was needed was a tool an implementation consultant could hand to a client directly, with no SQL knowledge required on either side.
The product
DataBridge is a three-step wizard. Step one: pick what's being imported — Customers & Suppliers (Chart of Accounts), Inventory Items, or Journal Entries — and drop in an .xlsx, .xls or .csv file; a sample dataset is one click away for anyone who wants to see the expected shape first. Step two: DataBridge previews the first rows of the file and auto-matches every Al-Mizan field to the most likely column in the source sheet by scoring word overlap between field labels and header text — a human just confirms or corrects the guesses from dropdowns, with required fields clearly flagged. Step three: generate.
The output isn't a raw dump — it's a complete script: a header comment block with the import type, timestamp and row count, wrapped in USE [Database]; BEGIN TRANSACTION; BEGIN TRY … END TRY BEGIN CATCH … ROLLBACK, so a bad row rolls the whole batch back instead of leaving the database half-migrated. Missing required fields are caught before generation, not after a failed run in production. The result is copyable or downloadable, plus a four-step "how to run this in SSMS" guide underneath it for anyone doing this for the first time.
An architecture decision, not a shortcut: nothing ever reaches a server
Financial data — customer lists, opening balances, journal entries — is exactly the kind of thing you don't want to upload anywhere. DataBridge runs entirely client-side: the spreadsheet is parsed in-browser with SheetJS, the field-matching logic runs in-browser, and the SQL is generated in-browser. Nothing is transmitted anywhere, which means the tool is also trivial to deploy — it's one HTML file that works from a USB stick, an internal file share, or any static web host, with no backend to provision, patch or take down.
Stack & scope
Vanilla HTML/CSS/JS in a single file, with SheetJS (xlsx.js) handling spreadsheet parsing for all three formats. The core of the tool is a small schema-driven engine: field definitions with types and required flags per data type, a fuzzy auto-matching algorithm for column detection, sample-data generation for demos, and a T-SQL generator that produces transaction-wrapped, ready-to-execute scripts with inline documentation. Product design, the matching algorithm, SQL generation and the SSMS walkthrough — end to end by one developer, built to be handed directly to non-technical implementation staff.
Building an internal tool that needs to just work, with no infrastructure to maintain? Let's talk.