dmsforall

功能

dmsforall 能为您的车行做什么

一个供车间和前台使用的浏览器应用。它仍处于 Alpha 阶段:最后一节列出了它不能做的事。

车间

  • 客户与车辆

    客户档案、联系人、带有车主历史的车辆,以及全局搜索。

  • 维修工单

    工时、零件和费用明细行,从已计划到已关闭的状态,以及客户可逐行接受或拒绝的追加报价。

  • 预约与代步车

    预约,以及代步车清单。

  • 工时打卡

    技师在受 PIN 保护的共用车间终端上,或用自己的账户,为维修工单打卡计时。

开票与付款

  • 四种单据

    报价单、订单、发票和贷项通知单,以及预付款发票。编号按年度连续排列。

  • 瑞士 QR 账单

    发票带有 QR 参考号或债权人参考号,可输出 PDF。增值税逐行计算,金额以整数分存储。

  • 开具后即锁定

    已开具的发票不会被修改,只能用贷项通知单更正。前台人员只能在管理层设定的限额内开具贷项通知单。

  • 付款

    现金、银行卡、银行转账、QR 账单、TWINT、抵销和租赁,按发票记录,支持部分付款。

  • 提醒与导出

    逾期发票的自动电子邮件提醒,以及发票和付款的 WinBIZ 导出。

零件、轮胎与整车

  • 零件与库存

    商品、按网点划分的库存、记录操作人和时间的库存变动、维修工单上的预留,以及供应商订单和供应商发票。

  • 新车与二手车销售

    车辆库存、销售档案、折价收车,以及贷款或租赁的确认。

  • 轮胎寄存

    存放中的季节性轮胎组,长时间未动时会被标记提醒客户。

  • 从现有系统导入

    导入 Microsoft Access 或 dBase/FoxPro 归档,写入任何数据之前先审阅导入计划。已用从 Auto-i 导出的归档测试。

运行维护

  • 九种角色

    管理层、会计、前台、销售、车间主管、技师、配件库、车间终端和技术管理员。统一的权限矩阵,由 API 在每次请求时检查。

  • 各车行数据相互隔离

    一次安装可服务多个车行。PostgreSQL 的行级安全将各自的数据隔离开。

  • 开放的 API

    API 用 OpenAPI 描述其接口,网页界面调用的正是这套 API。

  • 一套 Docker 栈

    Caddy、Web、API、worker、PostgreSQL 和 Redis,一条命令即可启动。可选配置会在每晚生成加密备份。

它不做什么

  • 此版本不包含

    银行对账单核对(camt.054)、短信提醒、WinBIZ 以外的会计导出,以及可靠的单件毛利:按 FIFO 的库存计价已决定,但尚未实现。

  • 车行员工暂无双重验证

    车行账户暂不支持双重验证。静态数据加密、异地备份以及服务器本身由运维人员负责。

  • 仅部分验证

    完整安装尚未在带真实域名的干净机器上端到端运行过,备份的完整恢复也尚未得到验证。

  • Alpha 阶段

    数据模型、配置变量和界面在版本之间仍可能变化。

  • 仅支持法语、德语和意大利语

    界面提供这三种语言,文档为英文。

  • 为瑞士设计

    并非为其他国家设计。

  • 不提供税务或法律保证

    请受托会计机构(fiduciary)核对发票、增值税数据和会计导出。

  • 第三方连接器

    连接外部服务需要各自的许可或账户。

运行 dmsforall

第一个车行账户通过一条仍在交付中的命令创建。请参阅设置第一个车行。

$ git clone https://github.com/selfhostr/dmsforall.git && cd dmsforall
$ cp .env.example .env  # optional for a first try
$ docker compose up -d  # then open http://localhost:8080