Tax ID validation API for SaaS billing
The idea
Every SaaS selling into the EU or UK hits the same dull wall: validate the customer’s VAT or company number at signup, decide whether reverse charge applies, and keep evidence in case a tax authority asks. The official tool, VIES, is a flaky SOAP service that rate-limits, goes down per member state, and returns nothing you can store as proof without extra work. So billing teams either hand-check IDs or write and babysit their own wrapper — undifferentiated plumbing at its purest.
1Lookup showed that developers happily pay usage fees for validation endpoints that spare them an integration. Tax IDs are the same product shape with a stronger driver: getting reverse charge wrong is a compliance problem, not a data-quality problem. The wedge over any generic lookup vendor is the evidence log — an immutable, retrievable record of each check with the VIES consultation number — which turns a lookup API into an audit defense.
Who pays
Developers and billing engineers at SaaS companies with EU/UK customers pay $29-99/mo tiers with metered overage around half a cent per lookup; the buyer self-serves off documentation quality. Distribution: a free browser VAT-checker page built to rank for validate VAT number API and VIES down searches, plus answers in the Stripe Tax and Paddle ecosystems where this exact question recurs.
MVP scope
- POST /v1/validate covering EU VIES and UK Companies House with syntax and checksum pre-checks
- Retry, backoff, per-state circuit breakers, and stale-cache fallback around VIES
- Reverse-charge determination and immutable evidence records with retrieval endpoint
- API key dashboard with usage metering and Stripe billing
- Free public checker page as the SEO front door
- Skip for v1: non-EU/UK registries (Australia ABN, India GST), batch CSV validation, webhooks for periodic revalidation, Zapier integration
Build TaxCheck, a REST API that validates business tax IDs for SaaS billing. Stack: Node with Hono, upstream sources VIES (EU VAT SOAP service) and UK Companies House API plus per-country registries, Postgres, Stripe metered billing. Core endpoint: POST /v1/validate with a tax ID and optional country. The service normalizes the format (strip spaces, infer country prefix), syntax-checks against per-country regex and checksum rules, then queries the authoritative registry. Response: valid flag, registered name and address, match score against a supplied customer name, a reverse_charge boolean derived from seller and buyer countries, and an evidence_id. GET /v1/evidence/:id returns an immutable record (request, registry response, timestamp, consultation number) — the proof a tax authority asks for when a reverse-charge sale is challenged. Non-obvious details: VIES fails constantly (rate limits, member-state downtime, MS_UNAVAILABLE), so wrap it with retry plus exponential backoff, per-member-state circuit breakers, and a cached-result fallback that returns the last known state with a stale flag and cache age — never a bare 500. Store VIES consultation IDs when a requester VAT number is provided, since those are legally citable. Pages (Next-lite marketing site is fine): landing, docs, dashboard with API keys and usage graphs, and a free browser-based VAT checker page targeting validate VAT number searches, rate-limited by IP, with a signup nudge. Pricing: free 100 lookups/mo, $29/mo for 2,500, $99/mo for 15,000, then $0.005 per extra lookup via Stripe metered billing.
// More Dev tool ideas
-
Deprecation countdowns for the APIs you use
Stripe and Shopify deprecations hide in changelogs until things break; this scans your code for affected calls and gives you a countdown.
Dev tool 1 month -
App store reviews filed as GitHub issues
Bug reports buried in app store reviews never reach the tracker; this clusters new reviews and files deduped GitHub issues nightly.
Dev tool 1 week -
Nightly restore drills for database backups
A backup you've never restored is a guess; this restores your Postgres dump to a scratch instance nightly and proves the data is intact.
Dev tool 1 week -
Hosted monitoring and alerts for BullMQ queues
A stuck BullMQ queue can silently eat jobs for days; hosted dashboards, dead-letter alerts and retry controls without running Grafana.
Dev tool 1 week