india-saas-cost
v0.2.0
Published
What SaaS really costs an Indian buyer: net (registered business, forex only) and gross (can't reclaim GST) — the honest India price past the sticker.
Maintainers
Readme
india-saas-cost
What SaaS really costs an Indian buyer, past the sticker — as two honest numbers, because the two hidden layers hit different buyers:
- Forex markup (~3.5%) on dollar-billed tools. Real and unavoidable — an Indian card converts above the mid-market rate, and this is not reclaimable.
- 18% GST — conditional. A GST-registered business reclaims it as input credit (foreign B2B is reverse-charged, so the vendor bills no GST), so its net cost excludes GST. Only an unregistered buyer bears the +18%. Some Indian vendors already include GST in the sticker.
So this returns net (registered business, forex only) and gross (can't
reclaim GST). Zero dependencies. Methodology matches
FindThatSoftware.
Install
npm install india-saas-costUsage
import { indiaAllInCost } from "india-saas-cost";
// A $20/mo tool, USD→INR mid-market rate 88
indiaAllInCost({ price: 20, currency: "USD", rate: 88 });
// {
// net: 1822, // ₹ for a registered business (forex only, GST reclaimed)
// gross: 2149, // ₹ if you can't reclaim GST (net + 18%)
// netAnnual: 21864,
// grossAnnual: 25788,
// naive: 1760, // mid-market, before markup and GST
// foreign: true,
// forexPremiumPct: 3.5,
// gstPct: 18
// }
// A rupee-billed tool: no forex. net = sticker (GST reclaimed), gross = +18%
indiaAllInCost({ price: 1000, currency: "INR" }); // { net: 1000, gross: 1180, ... }
// Per-seat pricing multiplies with team size
indiaAllInCost({ price: 12, currency: "USD", rate: 88, perSeat: true, seats: 5 });CLI
npx india-saas-cost 20 --usd --rate 88
# India cost (registered business): ₹1,822/mo (₹21,864/yr)
# ₹2,149/mo if you can't reclaim GST
# sticker converts to ₹1,760 mid-market, +3.5% forex (not reclaimable)API
indiaAllInCost({ price, currency?, rate?, forexMarkup?, gstRate?, perSeat?, seats? })
| Option | Default | Notes |
|--------|---------|-------|
| price | — | Sticker price (required) |
| currency | "INR" | e.g. "USD" |
| rate | — | INR per 1 unit of currency (required for non-INR) |
| forexMarkup | 0.035 | Card forex markup, as a fraction |
| gstRate | 0.18 | GST, as a fraction |
| perSeat | false | Price is per user |
| seats | 1 | Team size (with perSeat) |
Returns { net, gross, netAnnual, grossAnnual, naive, foreign, forexPremiumPct, gstPct }.
Notes
- Which number is "yours"? If you're GST-registered (most businesses),
net— you reclaim GST as input credit. If you can't reclaim it (unregistered, or the price is GST-exclusive and you're a consumer),gross. - Figures are indicative estimates, not billing figures. Your card's markup, plan and negotiated rate will vary.
- Need actual numbers for a specific tool? Look it up on FindThatSoftware.
License
MIT © FindThatSoftware
