
- 打开微信,搜索「软件教程管家」关注,或长按下方二维码关注
- 回复关键词 admin-portal
- 公众号自动回复网盘链接,点击即可保存下载
打开微信扫一扫关注或搜索【软件教程管家】
admin-portal 是 Invoice Ninja 官方的跨平台客户端,用 Flutter 一套代码覆盖桌面端与移动端。已经搭好 Invoice Ninja 后端、想在手机和电脑上随时开票、对账、跟进客户的团队,可以直接用它当日常管理入口;想基于 Invoice Ninja 做二次开发的开发者,也能把它当作现成的跨平台客户端代码参考。
| 项目 | 内容 |
|---|---|
| 仓库 | invoiceninja/admin-portal |
| 开发语言 | Dart(Flutter) |
| 许可证 | 未明确标注(GitHub 显示 NOASSERTION),使用或再分发前请先查看仓库内的许可文件 |
| Star 数 | 约 1758 |
| 支持平台 | Windows、macOS、Linux、iOS、Android、F-Droid |
| 定位 | Invoice Ninja 发票管理系统的桌面端与移动端客户端 |
GitHub 国内访问较慢,如打不开可多刷新几次
项目介绍
Invoice Ninja 是一套开源的发票与客户管理系统,admin-portal 是它的官方客户端。项目用 Flutter 和 Dart 开发,同一份代码编译出桌面端与移动端两个形态,状态管理采用 Redux 风格,功能模块按 ui 与 redux 目录成对组织,结构清晰,方便按功能定位代码。
作为客户端,admin-portal 本身不提供发票服务:完整使用需要配置或连接一个 Invoice Ninja 后端,客户端负责把开票、客户、收款等操作搬到手机和电脑上。仓库 README 给出了本地运行、测试和开发环境配置步骤,也列出了 Windows、macOS、Linux(Snap 与 Flatpak)、iOS、Android 和 F-Droid 的应用分发入口。
核心功能
- 跨平台客户端:Flutter 一套代码覆盖桌面端与移动端,手机上能处理的事,电脑上同样能处理。
- Redux 风格状态管理:ui 与 redux 目录按功能模块成对组织,状态流转集中管理,便于理解与维护。
- 代码生成维护模型:通过 build_runner 重新生成模型文件,改了模型定义后按流程跑一遍生成命令即可。
- 本地运行与测试:README 提供 Flutter 本地运行、测试和开发环境配置步骤,改动后能就地验证。
- 多渠道分发:Windows、macOS、Linux、iOS、Android 与 F-Droid 均有分发入口,按平台取对应安装包。
适用场景
- 自由职业者与小团队日常开票:已有 Invoice Ninja 后端,在手机上开票、查账、跟进客户,不必每次都开浏览器。
- 多设备协同办公:办公室用桌面端,外出用移动端,同一后端数据互通。
- 基于 Invoice Ninja 做定制开发:需要定制客户端界面或流程的团队,以 admin-portal 为起点改,比从零写一个跨平台客户端省事得多。
- 学习 Flutter 跨平台与 Redux 实践:想研究 Flutter 桌面端加移动端、Redux 状态管理的组合,这个仓库是现成的完整例子。
跨平台安装与上手步骤
分两种用法:只想用客户端管理发票,走第 1 条;想本地跑源码或二次开发,走第 2 至 5 条。
- 直接安装使用:到仓库 README 列出的分发入口,按自己的平台下载安装包(Windows、macOS、Linux、iOS、Android 或 F-Droid),安装后连接自己的 Invoice Ninja 后端地址登录。
- 先体验演示:没有现成后端时,可用 README 提供的 demo.invoiceninja.com 测试入口先看界面与流程,确认符合需求再部署自己的后端。
- 准备开发环境:本地安装 Flutter 与 Dart 开发环境,把仓库克隆到本地。
- 配置环境文件:把 lib/.env.dart.example 复制为 lib/.env.dart,按自己的后端地址填写配置;Android 开发场景还需按 README 配置开发用的 build.gradle.kts 文件。
- 运行与测试:执行 flutter run 启动应用,改了模型或相关定义后运行 build_runner 重新生成代码,再跑 Flutter 驱动测试验证。
注意事项
- 必须有后端才能完整使用:这个仓库只是客户端,发票、客户等业务数据都在 Invoice Ninja 后端,没有后端或连不上后端,客户端跑起来也没有实际业务可用。
- 许可证没有明确标注:仓库许可字段显示为 NOASSERTION,商用、二次开发或再分发前,务必先查看仓库内的许可文件确认法律条件,不要默认它可以任意使用。
- Android 构建配置有专门要求:Android 开发运行需要使用 README 指定的开发构建配置,平台签名与商店发布也要自行配置,照抄其他项目的配置容易在打包环节卡住。
- 生产部署细节要自己补齐:README 没有在摘要中给出完整的后端接口契约、环境变量清单和生产部署流程,正式上生产前要结合后端资料、平台构建与代码签名要求逐项确认。
- 开发配置与正式环境要分开:维护时保留 lib/.env.dart 等环境配置与各平台构建配置的边界,不要把开发凭据用到正式环境;升级 Flutter、Dart 或依赖包前,同时验证桌面端、移动端构建、代码签名与相关依赖文件生成流程。
同类对比
| 方案 | 使用方式 | 平台覆盖 | 适合谁 |
|---|---|---|---|
| admin-portal(本篇) | 安装客户端,连接自有 Invoice Ninja 后端 | Windows、macOS、Linux、iOS、Android | 已有 Invoice Ninja 后端,需要移动端加桌面端入口,或想二次开发客户端的团队 |
| Invoice Ninja 网页端 | 浏览器打开即用 | 任何有浏览器的设备 | 只偶尔处理发票、不想安装客户端的用户 |
| 其他开源发票系统(如 InvoicePlane) | 自托管 PHP 应用 | 以网页端为主 | 偏好 PHP 技术栈、已有 PHP 运维经验的团队 |
一句话取舍:已经在用 Invoice Ninja、又需要在手机和电脑上都方便操作,admin-portal 是最顺的一条路;只是偶尔开一两张发票,浏览器打开网页端就够了,不必专门装客户端。

关注「软件教程管家」
回复软件名即取即下:网盘下载链接 + 提取码,一步直达,不用再跳转。
本站资源仅供个人学习交流,请勿用于商业用途。软件与资料版权归原作者所有;如有侵权,请通过公众号「软件教程管家」联系我们,我们将在 24 小时内下架处理。查看免责声明 ›
文章推荐
标签推荐
这款软件怎么样?
平均 暂无评分(0 人评)
取链次数:0
评分与投票来自真实访客,从 0 开始累计;觉得有用就点一下,帮更多人判断这款软件值不值得下。






