OpenLMNP
Software de contabilidade de código aberto (AGPLv3) para o regime fiscal LMNP francês, com um servidor MCP integrado para escrituração contábil e declarações fiscais orientadas por IA.
Documentação
OpenLMNP
Software de contabilidade LMNP (Aluguel Mobiliado Não Profissional) de código aberto
Gerencie seus imóveis de aluguel mobiliado, calcule suas depreciações e produza sua declaração fiscal no regime real — sem assinatura, na sua casa.
🚀 Demonstração ao vivo · 📦 Instalação · 📚 Documentação · 🇬🇧 English

🎯 Experimente sem instalar nada — a demonstração online cria um ambiente de testes efêmero e isolado para cada visitante, pré-preenchido com 4 anos de contabilidade fictícia. Conexão:
demo@openlmnp.fr/demo2026.
Sumário
- Por que OpenLMNP?
- Funcionalidades
- Capturas de tela
- Documentação
- Instalação rápida (Docker)
- Implantação em um PaaS
- Instalação LXC Proxmox
- Instalação para desenvolvimento
- Configuração
- Testes
- Contribuição
- Como nos apoiar?
- Agradecimentos
- Licença
Por que OpenLMNP?
O regime real LMNP é quase sempre mais vantajoso que o micro-BIC para um imóvel mobiliado, mas exige depreciações por componente, uma declaração fiscal (2031, 2033) e um FEC conforme. As opções habituais têm cada uma seu defeito:
| OpenLMNP | Planilha caseira | SaaS contábil | Contador | |
|---|---|---|---|---|
| Custo | Gratuito (AGPLv3) | Gratuito | Assinatura anual | Honorários anuais |
| Seus dados | Na sua casa (auto-hospedado) | Na sua casa | Nuvem de terceiros | Com terceiros |
| Depreciações por componente | ✅ Automáticas | ⚠️ Fórmulas para manter | ✅ | ✅ |
| Declaração fiscal + FEC | ✅ Gerados | ❌ | ✅ | ✅ |
| Cálculos ao centavo (bcmath) | ✅ | ⚠️ Arredondamentos flutuantes | ✅ | ✅ |
OpenLMNP automatiza o regime real de ponta a ponta e continua sendo uma ferramenta de apoio: para situações complexas (condomínio, TVA para-hoteleira, transição para LMP…), um contador continua sendo recomendado.
Funcionalidades
🏠 Contabilidade e depreciações
- Depreciação por componente — estrutura, telhado, encanamento, acabamentos (prazos padrão)
- Obras e mobiliário — depreciação dedicada ou proporcional, gestão de novo/usado
- Empréstimos — tabela de amortização automática, juros dedutíveis
- Lançamentos contábeis — geração automática conforme o plano de contas LMNP
- Multi-imóveis — endereço, áreas, cota-parte da residência principal, valor venal
📋 Fiscal e declarações
- Exercícios encadeados — saldos N−1, depreciações diferidas, teto
- Simulador micro-BIC vs regime real — com veredito numérico
- Projeção plurianual — tabela de 5 a 20 anos, ano de mudança de regime
- Declaração interativa — linhas Cerfa 2031, 2033-A/B/C/D, 2042-C-PRO com botões « Copiar »
- Declaração fiscal em PDF — geração completa
- FEC conforme — artigo A.47 A-1 do LPF, 18 colunas, formato legal
🔌 Importação e integrações
- Importação CSV Airbnb / Booking — formatos FR/EN, detecção de duplicatas
- Exportação CSV — receitas, despesas, declaração
- API MCP (45 ferramentas) — controle sua contabilidade por um assistente de IA (Claude, etc.)
- Atualizações automáticas — notificação e implantação a partir do GitHub
🛡️ Conforto e segurança
- Multi-usuários — cada proprietário vê apenas seus dados
- Assistentes guiados — onboarding, criação de imóvel, fechamento fiscal, empréstimo, importação anual
- Comprovantes — arquivos enviados para despesas, obras e mobiliário
- Guia integrado e selos de progresso — início, acompanhamento regular, declaração anual
- Modo escuro — nativo Filament
- 234 testes automatizados — Pest PHP, 629 asserções (detalhe)
Capturas de tela
| Simulador | Projeção | Declaração |
|---|---|---|
![]() | ![]() | ![]() |
Outras capturas: painel de controle · despesas
Documentação
| Documento | Conteúdo |
|---|---|
| Instalação | Auto-hospedagem via Docker: build, run, volumes de persistência, variáveis de ambiente, atualização e backup |
| Funcionalidades | Depreciação por componente, FEC, declaração fiscal 2031/2033, importação CSV, simulador, multi-imóveis, empréstimos, comprovantes |
| Modo demonstração | Ativar e usar o modo demo multi-usuários (sandbox efêmero isolado por visitante) |
| FAQ | Perguntas frequentes: gratuidade, privacidade dos dados, regime real vs micro-BIC, backups… |
| Guia fiscal LMNP / Airbnb | Regras fiscais do regime real: depreciações, abatimentos, tetos, reforma 2026 |
| Cobertura de testes | Detalhe dos 234 testes automatizados, suíte por suíte |
| Guia de design de UI | Escolhas de design da interface Filament |
Para contribuir com o projeto, veja CONTRIBUTING.md.
Stack técnica
| Componente | Tecnologia |
|---|---|
| Framework | Laravel 13 |
| Admin UI | Filament 5 |
| Interatividade | Livewire 4 |
| Banco de dados | SQLite (PostgreSQL opcional) |
| DomPDF | |
| Cálculos financeiros | PHP bcmath (precisão decimal) |
| Testes | Pest PHP |
| Implantação | Docker |
Instalação rápida (Docker)
Com a imagem oficial manganate06/openlmnp:
docker run -d --name openlmnp -p 8090:8000 \
-v openlmnp-database:/var/www/html/database \
-v openlmnp-storage:/var/www/html/storage \
--restart unless-stopped manganate06/openlmnp:latest
Ou construindo a imagem a partir das fontes:
git clone https://github.com/manganate006/openlmnp.git
cd openlmnp
docker build -t openlmnp .
docker run -d --name openlmnp -p 8090:8000 --restart unless-stopped openlmnp
Acesso: http://localhost:8090
Primeira conexão: crie sua conta em /register — a primeira conta vira
administrador, e o cadastro se fecha sozinho em seguida.
Implantação em um PaaS (Coolify, Dokploy, Easypanel)
Em um PaaS auto-hospedado, o arquivo docker-compose.coolify.yml
fornece uma implantação pronta para uso: domínio, certificado TLS e reverse proxy são configurados
pela plataforma. No Coolify: New Resource → Docker Compose (Empty), cole o arquivo,
Deploy. Detalhes e pontos de atenção em
docs/INSTALLATION.md.
Instalação LXC Proxmox (script comunitário)
Em um host Proxmox VE, cria um contêiner LXC pronto para uso em um único comando:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/manganate006/openlmnp/main/community-scripts/ct/openlmnp.sh)"
Debian 13 · nginx + PHP 8.4-FPM · SQLite. Uma senha de administrador aleatória é gerada na
instalação e salva em /opt/openlmnp/admin_credentials.txt.
ℹ️ Requer um repositório público com uma release publicada (o script busca a última release do GitHub).
Instalação para desenvolvimento
git clone https://github.com/manganate006/openlmnp.git
cd openlmnp
composer install
cp .env.docker .env
php artisan key:generate
touch database/database.sqlite
php artisan migrate:fresh --seed
php artisan serve
Configuração
Na primeira visita, crie sua conta em /register: ela vira
administrador, e a página de cadastro se fecha automaticamente
(instância pessoal por padrão — ajustável via ALLOW_REGISTRATION).
Adicione então seu SIREN no seu perfil para os documentos fiscais.
| Variável | Descrição | Padrão |
|---|---|---|
DB_CONNECTION | Banco de dados | sqlite |
DB_DATABASE | Caminho SQLite | database/database.sqlite |
APP_LOCALE | Idioma | fr |
ALLOW_REGISTRATION | Cadastro: auto (até a primeira conta), true (sempre), false (nunca) | auto |
FEEDBACK_ENABLED | Convite pontual para dar sua opinião sobre o software (veja abaixo) | true |
Dar sua opinião (e como desativar)
Após um tempo de uso real, o aplicativo propõe uma vez que você diga o que acha do software: um polegar e, se quiser, uma palavra. É o único retorno que recebe um projeto desenvolvido no tempo livre.
Nada sai da sua instância. Sem FEEDBACK_FORWARD_EMAIL, seu retorno é simplesmente
salvo no seu próprio banco; a tela de confirmação então propõe enviá-lo
você mesmo, pelo seu cliente de e-mail, se quiser. Nenhum envio automático, nenhuma chamada
de saída.
Para desativar completamente:
FEEDBACK_ENABLED=false
Os limites são ajustáveis sem tocar no código: FEEDBACK_MIN_SECONDS (240),
FEEDBACK_MIN_ACTIONS (1), FEEDBACK_COOLDOWN_DAYS (30), FEEDBACK_AUDIENCES.
E-mails (opcional)
Nenhum e-mail é enviado por padrão (MAIL_MAILER=log) — o aplicativo funciona muito
bem sem. Para ativar o link « Esqueci minha senha », conecte o SMTP de sua
escolha via as variáveis MAIL_* (o remetente é seu próprio endereço; SPF/DKIM
são gerenciados pelo seu provedor). E em caso de esquecimento sem SMTP, a partir do servidor:
php artisan openlmnp:reset-password vous@exemple.fr
📖 Referência completa — todas as variáveis, volumes de persistência, contas, SMTP passo a passo, backup: docs/INSTALLATION.md
Testes
234 testes Pest PHP, 629 asserções — serviços de cálculo, páginas Filament, isolamento multi-usuários, modo demo. Detalhe suíte por suíte: docs/TESTS.md.
# Lancer tous les tests
vendor/bin/pest
# Par catégorie
vendor/bin/pest --filter="Depreciation"
vendor/bin/pest --filter="FiscalYear"
vendor/bin/pest --filter="Filament"
Contribuição
Contribuições são bem-vindas! Por favor, abra uma issue antes de enviar um PR.
# Fork + clone
git checkout -b feature/ma-fonctionnalite
# ... modifier ...
vendor/bin/pest # vérifier que les tests passent
git commit -m "feat: description"
git push origin feature/ma-fonctionnalite
# Ouvrir une PR
💛 Como nos apoiar?
OpenLMNP é desenvolvido no meu tempo livre. Se a ferramenta é útil para você, veja como me ajudar a continuar:
- ⭐ Dê uma estrela no repositório — isso ajuda outros locadores mobiliados a descobrir o projeto
- 💛 Torne-se patrocinador via GitHub Sponsors — alguns euros por mês financiam o tempo de desenvolvimento
- 🐛 Reporte um bug ou proponha uma funcionalidade via as issues
- 🔧 Contribua com código — veja CONTRIBUTING.md
Obrigado a todos que apoiam o projeto!
Agradecimentos
OpenLMNP deve muito àqueles que o instalaram, confrontaram com seu próprio caso e nos disseram o que não estava certo: @cocool97, @ptitzgeg-on-git, @ovrtn e @DamienFr. O detalhe de suas contribuições (correções, relatos, segurança) está na página Agradecimentos.
Licença
AGPLv3 — Software livre. Você pode usá-lo, modificá-lo e redistribuí-lo desde que compartilhe as modificações sob a mesma licença.


