Case study

    Stamp Duty Calculator

    BSD, ABSD and SSD in one calculation, on rate tables we can update in minutes

    Stamp Duty Calculator running live at stampduty.sg

    Duties covered

    BSD + ABSD + SSD

    Rate tables

    Versioned by effective date

    Breakdown

    Tier by tier

    The problem

    Stamp duty is three separate taxes with different tables, and the amount changes with residency, how many properties you already own and how long you have held the place. Buyers were guessing, agents were re-doing sums in spreadsheets, and every IRAS revision meant somebody had to trust a number they could not check.

    What we built

    • One calculation covering Buyer's Stamp Duty, Additional Buyer's Stamp Duty and Seller's Stamp Duty
    • Inputs for residency status, property count and holding period, with a full tier-by-tier breakdown
    • Rate tables held in a single versioned source rather than scattered through the code
    • Server rendering so each calculator page is indexable and loads with content already on screen

    The part worth knowing

    Tax rules change, so the rules are data, not code. Each rate table carries an effective date, which means an IRAS revision is one reviewed change with the old table still on file — and a calculation from last year can be reproduced exactly. That is the same pattern we use for client pricing engines and commission rules.