Skip to content

jvm/imi-simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IMI Savings Simulator (Portugal)

A fully local, browser-only simulator for estimating IMI savings when submitting Modelo 1 do IMI, using a Caderneta Predial Urbana (PDF). No backend, no telemetry, and no external APIs.

Features

  • 100% client-side (HTML/CSS/Vanilla JS)
  • PDF parsing with a local PDF.js build (no CDN)
  • Best-effort extraction + manual overrides
  • Implements CIMI rules for VPT (round-up to next €10)
  • Scenarios for baseline vs. Modelo 1 in current/next year

Quick start

python -m http.server

Then open: http://localhost:8000

Upload your Caderneta Predial Urbana PDF and review the parsed values.

Legal model (CIMI)

  • VPT formula: Vt = Vc × A × Ca × Cl × Cq × Cv
  • VPT rounding: always round up to the next €10
  • Vc (2025/2026): valor médio de construção × 1.25
  • Cv: based on building age at submission year
  • Cq: 1 + majoratives − minoratives (Art. 43.º CIMI, Tabela I), clamped to [0.5, 1.7]
  • A: computed from Aa/Ab with Caj tiers per CIMI

Cl (localização)

Use SIGIMI to confirm Cl: https://zonamentopf.portaldasfinancas.gov.pt/simulador/default.jsp

Privacy

  • The PDF never leaves the browser
  • No network calls once loaded
  • No analytics or tracking
  • Do not commit personal PDFs to the repo

Structure

  • index.html
  • style.css
  • app.js
  • libs/pdf.min.mjs
  • libs/pdf.worker.min.mjs

Security notes

  • No backend, no data persistence
  • Runs fully offline after first load
  • All dependencies are bundled locally

License

MIT License (see LICENSE).

Third-party

  • PDF.js (Apache-2.0) — bundled locally in libs/

About

Offline, browser-only IMI (Portugal) savings simulator from Caderneta Predial PDF (Modelo 1)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages