关于 OpenLMNP
OpenLMNP 是面向法国 LMNP 家具出租房业主的开源会计软件,适合自托管。它处理实际税制下的折旧和会计记录,并生成税表及 FEC;其 MCP API 提供 45 个工具,可通过 AI 助手操作账务。
主要功能
- 01计算分项折旧
- 02管理贷款、定期费用和多处房产
- 03生成 2031/2033 税表及合规 FEC
- 04导入 Airbnb 和 Booking CSV 文件
- 05通过 45 个 MCP 工具操作账务
适用场景
- 01记录家具出租房产的账目
- 02比较 micro-BIC 与实际税制
- 03准备 LMNP 年度税务申报
- 04从平台 CSV 导入租金收入
MCP 相关
提供包含 45 个 MCP 工具的 API,可通过 AI 助手操作会计事务。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://app.openlmnp.fr/mcp?demo_token=openlmnp_demo_ro_ebd891f45e8a771ca1a718f239b733b438a31d48claude mcp add --transport http manganate006-openlmnp https://app.openlmnp.fr/mcp?demo_token=openlmnp_demo_ro_ebd891f45e8a771ca1a718f239b733b438a31d48{"mcpServers":{"manganate006-openlmnp":{"type":"http","url":"https://app.openlmnp.fr/mcp?demo_token=openlmnp_demo_ro_ebd891f45e8a771ca1a718f239b733b438a31d48"}}}在 Cursor 中打开{"servers":{"manganate006-openlmnp":{"type":"http","url":"https://app.openlmnp.fr/mcp?demo_token=openlmnp_demo_ro_ebd891f45e8a771ca1a718f239b733b438a31d48"}}}在 VS Code 中打开{"mcpServers":{"manganate006-openlmnp":{"type":"http","url":"https://app.openlmnp.fr/mcp?demo_token=openlmnp_demo_ro_ebd891f45e8a771ca1a718f239b733b438a31d48"}}}{"mcpServers":{"manganate006-openlmnp":{"serverUrl":"https://app.openlmnp.fr/mcp?demo_token=openlmnp_demo_ro_ebd891f45e8a771ca1a718f239b733b438a31d48"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://app.openlmnp.fr/mcp?demo_token=openlmnp_demo_ro_ebd891f45e8a771ca1a718f239b733b438a31d48需要授权工具
45此工具无需参数。
详细介绍
OpenLMNP
开源 LMNP(非职业带家具出租)会计软件
管理您的带家具出租房产、计算折旧, 并按实际税制生成税务申报表,无需订阅,在您自己的设备上运行。
🚀 在线演示 · 📦 安装 · 📚 文档 · 🇬🇧 English

🎯 无需安装即可试用:在线演示会为每位访客创建一个临时隔离的沙盒, 并预先填入多个虚构的会计年度数据(自 2022 年起)。 登录:
[email protected]/demo2026。
目录
为什么选择 OpenLMNP?
对于带家具出租,LMNP 实际税制几乎总是比 micro-BIC 更有利, 但需要按组成部分计提折旧、填写税务申报表(2031、2033),并提供符合要求的 FEC。 常见方案各有不足:
| OpenLMNP | 自制电子表格 | 会计 SaaS | 注册会计师 | |
|---|---|---|---|---|
| 成本 | 免费(AGPLv3) | 免费 | 年度订阅 | 年度费用 |
| 您的数据 | 存在您自己的设备上(自托管) | 存在您自己的设备上 | 第三方云端 | 存在第三方处 |
| 按组成部分计提折旧 | ✅ 自动 | ⚠️ 公式需要维护 | ✅ | ✅ |
| 税务申报表 + FEC | ✅ 自动生成 | ❌ | ✅ | ✅ |
| 精确到分的计算(bcmath) | ✅ | ⚠️ 浮点数舍入 | ✅ | ✅ |
OpenLMNP 将实际税制的流程自动化到底,但仍然只是一个辅助工具:对于复杂情况(共有产权、准酒店式增值税、转为 LMP 等),仍建议咨询注册会计师。
功能
🏠 会计与折旧
- 分项折旧:主体结构、屋顶、管道、装修(标准年限),按百分比或金额分摊
- 工程与家具:单独折旧或按比例折旧,管理全新/二手物品
- 贷款:自动生成摊销表,利息可抵扣
- 经常性费用:生成每月或每季度的到期记录,复制费用
- 会计分录:根据 LMNP 会计科目表自动生成
- 多处房产:地址、面积、主要住所份额、根据本市实际交易数据(DVF)估算的市场价值
- 接手现有档案:根据会计师事务所提供的最新报税资料,通过 5 个步骤的助手导入,并逐项核对数字
📋 税务与申报
- 连续年度核算:结转 N-1、递延折旧、限额管理、可结转亏损跟踪
- 微型 BIC 与实际税制模拟器:提供量化结论
- 多年期预测:提供 5 至 20 年的表格,显示税制转换年份
- 交互式在线申报:Cerfa 2031、2033-A/B/C/D、2042-C-PRO 表格行,提供“复制”按钮,并记录日期和申报编号
- PDF 税务申报资料:2031-SD 和 2033-A 至 D,附“损益明细”和“固定资产明细”,并检查各表格间的数据一致性
- 符合规范的 FEC:符合 LPF 第 A.47 A-1 条,包含 18 列,采用法定格式
- 增值税申报:适用于需缴纳增值税的房产
🔌 导入与集成
- 导入 Airbnb / Booking CSV:支持 FR/EN 格式,检测重复项;也可通用导入收入、费用、家具和工程的 CSV
- 导出 CSV:收入、费用、在线申报
- MCP API(45 个工具):通过 AI 助手(Claude 等)管理您的会计
- 新版本提醒:在应用中根据 GitHub releases 提醒(通过
docker pull更新 Docker 实例)
🛡️ 便捷性与安全性
- 多用户:每位业主只能查看自己的数据
- 引导式助手:入门引导、房产创建、税务结算、贷款、年度导入
- 凭证:为费用、工程和家具添加附件,并导出 ZIP
- 内置指南与进度徽章:快速上手、定期跟进、年度申报
- 诊断报告:以一段文字列出生成折旧和申报资料的所有内容,方便报告计算问题
- 深色模式:Filament 原生支持
- 自动化测试:每次 push 时重新运行 Pest PHP 测试套件(详情)
截图
| 模拟器 | 预测 | 在线申报 |
|---|---|---|
![]() | ![]() | ![]() |
文档
| 文档 | 内容 |
|---|---|
| 安装 | 通过 Docker 自托管:构建、运行、持久化卷、环境变量、更新和备份 |
| 功能 | 按组件计算折旧、FEC、2031/2033 税务申报表、导入 CSV、模拟器、多套房产、贷款、凭证 |
| 演示模式 | 启用并使用多用户演示模式(按访客隔离的临时沙盒) |
| 常见问题 | 常见问题:是否免费、数据隐私、实际税制与 micro-BIC、备份…… |
| LMNP / Airbnb 税务指南 | 实际税制的规则:折旧、减免、上限、2026 年改革 |
| 测试覆盖 | 自动化测试详情,按测试套件逐一介绍 |
| UI 设计指南 | Filament 界面的设计选择 |
| 版本日志 | 逐版本列出的新增功能和修复 |
| 安全 | 私下报告漏洞 |
如需为项目做出贡献,请参阅 CONTRIBUTING.md。
技术栈
| 组件 | 技术 |
|---|---|
| 框架 | Laravel 13 |
| 管理界面 | Filament 5 |
| 交互功能 | Livewire 4 |
| 数据库 | SQLite(可选 PostgreSQL) |
| DomPDF | |
| 财务计算 | PHP bcmath(十进制精度) |
| 测试 | Pest PHP |
| 部署 | Docker |
快速安装(Docker)
使用官方镜像 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
或者使用提供的 docker-compose.yml 从源代码构建镜像:
git clone https://github.com/manganate006/openlmnp.git
cd openlmnp
docker compose up -d
访问地址:http://localhost:8090
首次登录:在 /register 创建账号:第一个账号将成为管理员,之后注册入口会自动关闭。
部署到 PaaS(Coolify、Dokploy、Easypanel)
在自托管 PaaS 上,文件 docker-compose.coolify.yml
提供了开箱即用的部署配置:平台会自动配置域名、TLS 证书和反向代理。在 Coolify 上:New Resource → Docker Compose (Empty),粘贴文件,
然后点击 Deploy。详情和注意事项请参阅
docs/INSTALLATION.md。
Proxmox LXC 安装(社区脚本)
在 Proxmox VE 主机上,只需一条命令即可创建开箱即用的 LXC 容器:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/manganate006/openlmnp/main/community-scripts/ct/openlmnp.sh)"
Debian 13 · nginx + PHP 8.4-FPM · SQLite。安装时会生成一个随机管理员密码,并将其保存到
/opt/openlmnp/admin_credentials.txt。
开发环境安装
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
配置
首次访问时,请在 /register 创建账户:该账户将成为
管理员,随后注册页面会自动关闭
(默认使用个人实例,可通过 ALLOW_REGISTRATION 调整)。
接着在个人资料中添加您的 SIREN,以便生成税务文件。
| 变量 | 描述 | 默认值 |
|---|---|---|
DB_CONNECTION | 数据库 | sqlite |
DB_DATABASE | SQLite 路径 | database/database.sqlite |
APP_URL | 实例的公开地址,包含协议(https://lmnp.exemple.fr) | http://localhost |
TRUSTED_HOSTS | 当 APP_URL 使用域名时允许的其他主机名(IP、别名),以逗号分隔(否则会出现 400 错误) | 空 |
APP_LOCALE | 语言 | fr |
ALLOW_REGISTRATION | 注册:auto(直到创建首个账户)、true(始终允许)、false(始终禁止) | auto |
FEEDBACK_ENABLED | 邀请用户偶尔反馈软件意见(见下文) | true |
TELEMETRY_ENABLED | 每日发送匿名信号(随机标识符 + 版本),用于统计已安装的实例;不包含任何会计或个人数据 | true |
DVF_ENABLED | 显示市场价值估算按钮;仅在点击时,才会使用房产所在市镇查询 data.gouv.fr | true |
反馈意见(以及如何关闭)
在实际使用一段时间后,应用会一次性邀请您分享对软件的看法:点个赞或踩,如果愿意,也可以留下一句话。这是一个由业余时间开发的项目唯一能收到的反馈。
**任何信息都不会离开您的实例。**如果未设置 FEEDBACK_FORWARD_EMAIL,您的反馈只会记录在您自己的数据库中;确认页面会提示您在愿意的情况下,通过自己的邮件客户端手动发送。不会自动发送,也不会发起任何外部请求。
若要彻底关闭:
FEEDBACK_ENABLED=false
无需修改代码即可调整相关阈值:FEEDBACK_MIN_SECONDS(240)、
FEEDBACK_MIN_ACTIONS(1)、FEEDBACK_COOLDOWN_DAYS(30)、FEEDBACK_AUDIENCES。
邮件(可选)
默认不会发送邮件(MAIL_MAILER=log),应用无需邮件也能正常运行。
若要启用“忘记密码”链接,请通过 MAIL_* 变量配置您选择的 SMTP 服务
(发件人是您自己的地址;SPF/DKIM 由您的服务提供商处理)。如果忘记密码且未配置 SMTP,可在服务器上执行:
php artisan openlmnp:reset-password [email protected]
📖 完整参考:所有变量、持久化卷、账户、SMTP 配置步骤、备份:docs/INSTALLATION.md
备份
所有数据都存放在两个卷中:database(SQLite 数据库)和 storage(您的凭证文件)。
数据库采用 WAL 模式:实例运行时请勿复制 database.sqlite,
否则复制件会丢失最新写入,而且不会显示任何提示。请使用
sqlite3 database.sqlite ".backup 'instantane.sqlite'" 创建一致的快照,或先停止容器再复制。
完整操作流程和恢复说明:
docs/INSTALLATION.md。
测试
每次推送都会重新运行 Pest PHP 测试套件:计算服务、税务报表和 FEC、Filament 页面、 多用户隔离、演示模式。各测试套件的详情: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"
贡献
欢迎贡献!提交 PR 前,请先创建 issue, 并阅读 CONTRIBUTING.md。安全漏洞请私下报告, 切勿发布在公开 issue 中:请参阅 SECURITY.md。
# 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
💛 如何支持我们?
OpenLMNP 是我利用业余时间开发的。如果这个工具对您有帮助,以下是您可以继续支持我的方式:
- ⭐ 为仓库点亮星标,帮助其他带家具出租房屋的房东发现这个项目
- 💛 通过 GitHub Sponsors 成为赞助者:每月几欧元即可支持开发工作
- 🐛 通过 issues 报告错误或提出功能建议
- 🔧 贡献代码:请参阅 CONTRIBUTING.md
感谢所有支持这个项目的人!
致谢
OpenLMNP 非常感谢那些安装了它、结合自己的实际情况进行测试,并告诉我们问题所在的人:@cocool97、@ptitzgeg-on-git、@ovrtn 和 @DamienFr。他们的贡献详情(修复、问题报告、安全)请见致谢页面。
许可证
AGPLv3,自由软件。您可以使用、修改和再分发,但必须以相同许可证分享修改内容。
致谢
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。


