Skip to content

Releases: GeiserX/DeclaRenta

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 16 Apr 09:55

What's Changed

Features

  • feat: wizard UI, expandable casillas, year comparator (#19)

Full Changelog: v0.7.0...v0.8.0

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 16 Apr 08:23

What's Changed

Features

  • feat: complete Phases 2-4 — crypto parsers, i18n, charts, PWA, WCAG (#18)

Full Changelog: v0.6.0...v0.7.0

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 15 Apr 22:37

What's Changed

Features

  • feat: Phase 4 web UI — interactive tables, multi-broker, dark mode, responsive design

Full Changelog: v0.5.0...v0.6.0

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 15 Apr 16:12

What's Changed

Features

  • feat: complete Phases 1-3 — multi-broker parsers, tax models, engine (#14)
  • feat: multi-broker architecture with Degiro CSV parser (#12)
  • feat: Phase 1 — reverse splits, scrip dividends, ECB detail, casilla docs (#10)
  • feat: transaction taxes, CSV export, verified tax brackets and legal refs (#8)
  • feat: cross-year FIFO with options, splits, and short sale resilience
  • feat: initial project structure with IBKR parser, FIFO engine, and tax report generator

Bug Fixes

  • fix: upgrade xlsx to 0.20.3 (CVE-2023-30533, CVE-2024-22363) (#16)
  • fix: release workflow semver-aware bumps and branch protection (#13)
  • fix: YYYYMMDD date parsing + Phase 1 tests (#6)

Other Changes

  • docs: clean up README wording, remove license section
  • docs: update README and package.json for v0.4.0 (#15)
  • ci: automated release pipeline with auto-tag and changelog (#11)
  • chore: bump version to 0.2.0
  • chore: bump version to 0.1.1
  • test: improve patch coverage — CSV tests + FIFO edge cases (#9)
  • test: dividend + double taxation coverage, strict ESLint (#7)
  • docs: comprehensive ROADMAP.md rewrite + fix Spanish accents
  • Add listed on awesome-spain badge
  • deps: bump fast-xml-parser in the minor-and-patch group (#5)

Full Changelog: v0.4.2...v0.5.0

v0.4.2

Choose a tag to compare

@github-actions github-actions released this 15 Apr 15:58

What's Changed

Other Changes

  • docs: update README and package.json for v0.4.0 (#15)

Full Changelog: v0.4.1...v0.4.2

v0.4.1

Choose a tag to compare

@github-actions github-actions released this 15 Apr 15:55

What's Changed

Bug Fixes


Full Changelog: v0.4.0...v0.4.1

v0.4.0 — Phases 1-3: Multi-broker, tax models, engine

Choose a tag to compare

@github-actions github-actions released this 15 Apr 15:17

v0.4.0 — Phases 1-3 Complete

New Broker Parsers

  • Scalable Capital (CSV, semicolon-delimited, EU number format)
  • eToro (XLSX binary with 6+ header version support)
  • Freedom24 (JSON report format)
  • Cross-broker FIFO: merge files from any combination of IBKR, Degiro, Scalable, eToro, Freedom24

Tax Models

  • Modelo D-6: AFORIX guide generator for Banco de España foreign investment declaration
  • Modelo 721 stub: Fixed-width generator for crypto assets (no crypto parsers yet)
  • Modelo 720 improvements: ISIN-derived country codes, first acquisition date from FIFO lots
  • Loss carryforward (Art. 49 LIRPF): 4-year window with 25% cross-compensation

Engine

  • Corporate actions: stock mergers (cost basis transfer) and spin-offs (proportional cost distribution)
  • Anti-churning (wash sale) rule: 2-month window loss blocking
  • PDF report generation via pdfkit

Web UI

  • Broker selector dropdown (auto-detect default)
  • Multi-format file upload (.xml, .csv, .json, .xlsx)
  • Full operations table with search and gain/loss filter
  • XSS-safe rendering, duplicate file guard

CLI

  • declarenta d6 command
  • --format pdf output option
  • --prior-losses <file> for loss carryforward
  • Binary file support for eToro XLSX

Fixes (PR review remediation)

  • D-6: filter short positions instead of .abs() masking
  • Modelo 720/721: numPad decimal scaling fix (10^decLen)
  • CSV export: formula injection prevention on all string fields
  • eToro dividends: emit gross amounts (net + WHT)
  • Withholding country propagation for all new parsers

Full Changelog: v0.3.0...v0.4.0

v0.3.0 — Multi-broker architecture + Degiro CSV parser

Choose a tag to compare

@github-actions github-actions released this 15 Apr 10:47

What's Changed

Features

  • feat: multi-broker architecture with Degiro CSV parser (#12)

Bug Fixes

  • fix: release workflow semver-aware bumps and branch protection (#13)

Other Changes

  • ci: automated release pipeline with auto-tag and changelog (#11)

Full Changelog: v0.2.0...v0.3.0

v0.2.0 — Phase 1: Precisión al céntimo

Choose a tag to compare

@GeiserX GeiserX released this 14 Apr 22:53

What's New

FIFO Engine Improvements

  • Chronological scrip dividend processing — SD lots now inserted into the FIFO timeline at their correct date
  • Reverse split support — forward and reverse splits with sub-share lot cleanup (cash-in-lieu)
  • Date normalization — consistent YYYYMMDD/YYYY-MM-DD handling across timeline comparisons
  • ECB rate detail — disposals now include currency, acquireEcbRate, and sellEcbRate fields

Tax Compliance

  • Transaction taxes (STT, FTT, SEC fees) included in FIFO cost basis and proceeds
  • Casilla documentation — comprehensive reference for all Modelo 100 casillas with legal citations
  • Verified tax brackets — 30% top bracket confirmed per Ley 7/2024, DF 7a

CSV Export

  • Formula injection protection — escapeCsv now prefixes dangerous chars to prevent spreadsheet exploits
  • New --format csv flag for the convert command

Testing and Quality

  • 75 tests across 9 test files (was 39 in v0.1.1)
  • 56.65% statement coverage (+10.14% from v0.1.1)
  • All CodeRabbit findings addressed (1 critical, 3 major, 3 nitpicks)

Full Changelog: v0.1.1...v0.2.0

v0.1.1 — Coverage + CSV module extraction

Choose a tag to compare

@GeiserX GeiserX released this 14 Apr 14:02

Mejoras de calidad tras feedback de Codecov en PR #8.

Cambios

  • CSV module extraction: formatCsv/escapeCsv extraídos de src/cli/index.ts a src/generators/csv.ts (testable)
  • 11 tests CSV: escape, secciones, filas, casillas, edge cases
  • 2 tests FIFO: impuestos de transacción en ventas cortas y lotes insuficientes
  • 54 tests totales (antes 41)
  • Patch coverage: 18% → 97%
  • Project coverage: 39.5% → 45.2% (+5.7%)