Skip to content

About

📊 vn-finance 📊 Private, local-first virtual accountant for the Portuguese system. Focus on independent worker (PT-pt).

Topics

Resources

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

42 Commits

Folders and files

Repository files navigation

vn-finance

vn-finance

Um assistente fiscal local para quem trabalha por conta própria.

Licença: AGPL-3.0-only Rust 1.95+ Edição 2024 egui 0.37 Plataformas

Focado no trabalhador independente em Portugal. Serve para quem emite recibos verdes em Portugal: monta o calendário das obrigações do ano, calcula IVA, retenções e contribuições a partir do que faturavas, lê as faturas em PDF, e diz-te quanto deves ter de lado para o IRS.

Não substitui um contabilista certificado e nunca entrega nada por ti.

Instalação

Descarrega o ficheiro do teu sistema na página de releases, confirma o SHA-256 contra o SHA256SUMS.txt que vem com ele, e executa-o. Não há instalador nem configuração:

Sistema Ficheiro
Windows 10/11, 64 bits vn-finance-<versão>-windows-x86_64.zip
macOS 11+, Apple silicon vn-finance-<versão>-macos-aarch64.tar.gz
Linux, 64 bits (glibc 2.35+) vn-finance-<versão>-linux-x86_64.tar.gz

O cofre fica em ~/.vn-finance (%USERPROFILE%\.vn-finance no Windows) e é criado no primeiro arranque. O binário de Linux precisa das bibliotecas de janelas do sistema (X11 ou Wayland, e OpenGL), que qualquer distribuição de ambiente de trabalho já tem.

Não há binário para Mac com processador Intel: compila a partir do código, na secção seguinte, que dá exatamente o mesmo programa.

Construir

O espaço de trabalho usa um único conjunto de comandos:

cargo run --release              # compilar e abrir a janela
cargo build --release            # compilar sem abrir  ->  target/release/vnfin.exe

cargo xtask ci                   # formatação, lints e testes: exatamente o que a CI corre
cargo xtask fmt-fix              # aplicar a formatação
cargo xtask lint                 # clippy sobre todo o espaço de trabalho, avisos como erros
cargo xtask test                 # a bateria de testes

A aplicação é o membro por omissão do espaço de trabalho: os dois primeiros comandos constroem apps/vnfin e não o xtask, que é a ferramenta do portão e só corre quando é chamado por nome. Também podes construir a partir da pasta da própria aplicação — o target/ fica sempre na raiz do repositório, e não uma pasta de compilação por crate:

cd apps/vnfin
cargo build --release            #  ->  ../../target/release/vnfin.exe

Para testar a versão de distribuição no Windows, sem instalador nenhum:

cargo build --release
.\target\release\vnfin.exe

Segurança e licença

  • AGPL-3.0-only — ver LICENSE. O vn-finance é copyleft: podes executá-lo, estudá-lo, alterá-lo e partilhá-lo, e uma versão que distribuías ou serves por rede tem de levar o código-fonte com a mesma licença.
  • A promessa de "sem rede" é verificável em dois sítios: uma varredura ao código das crates que entram no binário, e uma varredura ao Cargo.lock às crates que lhe dariam uma ligação. Ambas correm em cargo xtask ci.
  • SECURITY.md: o modelo de ameaças, o que um atacante teria de fazer, o que fica deliberadamente por proteger, e como reportar uma vulnerabilidade em privado.
  • THIRD-PARTY-NOTICES.md é gerado a partir de cargo metadata e a CI falha se ficar desatualizado. Todas as crates são Rust puro: a única dependência em C que a versão JavaScript tinha (o zlib, para os fluxos dos PDFs) foi substituída por miniz_oxide.

About

📊 vn-finance 📊 Private, local-first virtual accountant for the Portuguese system. Focus on independent worker (PT-pt).

Topics

Resources

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages