1、立项背景和目标:公司应收账款长期依赖 Excel 手工台账管理,客户多、出库单据量大,回款核销与账龄统计效率低、易出错,逾期账款缺乏主动提醒,坏账风险难以及时发现。本项目旨在建设一套应收账款管理系统,实现从销售出库记录、回款冲销到逾期预警的全流程线上化,目标是做到账实一致、账龄清晰、逾期可追溯,将财务对账工作量降低 50% 以上。
2、软件功能与核心模块:系统包含五大核心模块。
(1)客户管理模块:维护客户编码、名称及信用天数等基础档案,支持新增、编辑、删除与 Excel 批量导入;
(2)销售账务记录模块:管理出库单号、存货编码、数量、含税单价与含税金额等销售出库明细,支持手工录入与 Excel 批量导入;
(3)回款冲销模块:录入回款记录并自动核销对应应收余额;
(4)应收总账模块:按客户汇总应收余额、回款金额与账龄分布,形成应收账款全景视图;(5)逾期提醒模块:依据客户信用天数自动计算到期日与逾期天数,输出逾期账款报表并分级预警。此外提供登录认证与用户管理模块,保障数据安全。
3、业务流程与功能路径:业务流程为“建立客户档案 → 录入/导入销售出库记录 → 系统按信用期自动计算应回款日 → 登记回款并冲销应收 → 生成应收总账与逾期报表”。用户登录后,通过“客户管理”路径维护档案;通过“销售记录管理”路径录入出库数据;出库后系统按月末节点加信用天数自动推算回款期限;回款发生后在“回款记录”中登记冲销;管理层通过“应收总账”与“逾期提醒”页面随时掌握整体应收状况与逾期风险。
1、整体架构与设计思路:系统采用经典 MVT 分层架构,整体分为表示层、业务逻辑层与数据访问层。后端基于 Python + Django 框架开发,使用 Django ORM 操作 SQL Server 数据库(通过 ODBC Driver 17 连接),前端采用 Django 模板引擎配合 Bootstrap、jQuery 实现页面渲染与交互,Excel 导入导出基于 openpyxl 实现。项目按 Django App 划分模块:accounts 应用负责认证与用户管理,finance 应用承载客户管理、销售账务记录、回款冲销、应收总账与逾期报表等核心业务,路由按功能前缀(customers、records、payment 等)组织,模型层通过 AccountRecord 与 PaymentRecord 表达账务与回款关系。
2、本人负责模块与结果:本人独立完成全部设计、开发与测试工作。包括数据库建模(客户、账务记录、回款记录等模型及信用期字段设计)、五大业务模块的视图与模板开发、Excel 批量导入导出功能、登录认证与用户管理。系统上线后支撑全部客户与账务数据线上化管理,销售记录由手工台账转为 Excel 批量导入,单次数百条数据秒级入库;回款自动冲销替代人工核销,对账时间由数小时缩短至几分钟;逾期报表实现自动计算逾期天数并分级提示,逾期账款跟进及时率显著提升,账务差错率大幅下降。
3、难点、坑与解决方案:一是回款期限的自动计算规则复杂(出库日 25 号前后适用不同月末节点,需叠加客户信用天数),最初在模型 save 中计算导致历史数据重算混乱,后改为集中封装日期工具函数并支持手动修正覆盖;二是 SQL Server 与 Django 的兼容性坑,如 decimal 字段精度、ODBC 驱动版本冲突,通过统一字段精度规范与固定驱动版本解决;三是 Excel 批量导入时脏数据频发,采用逐行校验、错误行汇总提示的方案,保证导入的原子性与可追溯性;四是大量数据列表页查询缓慢,通过按客户汇总查询与分页优化解决。