Vol.22 SaaS产品架构设计之合同管理
当传统行业遇上SaaS,纸质合同管理成为不可回避的痛点。本文深度解析合同管理模块的四大核心需求:从电子化归档到回款追踪,从续约提醒到产品明细统计,揭示如何通过业务对象梳理构建高效管理系统。更包含侧面弹窗设计、附件优化等实战细节,为SaaS产品经理提供全流程解决方案。

很多我们看到的 SaaS 产品都是在线支付订阅的,这样通常在注册的时候提供一份服务协议即可。如果协议有更新,则是在平台通知中给出协议更新提醒。
然而,SaaS 产品很多的签约动作还是在线下完成的,尤其是面向传统行业的 SaaS,客户更希望有纸质的合同作为保障(虽然电子合同应用越来越广泛,但是整体覆盖率还不高)。
这个时候,我们平台就需要提供合同管理模块,来管理与客户的各类服务合同。
01 业务需求梳理
一般来说,合同管理的业务需求如下:
合同归档管理:在没有信息化系统之前,合同都是锁在文件柜里的,然后要找合同的时候非常费劲,而且纸质资料也会占据物理空间。通过合同管理模块,可以将纸质合同电子化管理,存储和查询都更加方便。
合同回款管理:签完合同不一定马上付款,有可能是约定多少个工作日,有可能是多次付款。这个时候,我们的合同管理需要明确合同每一笔回款的截止时间,以便在到期前跟进客户,提醒付款。
合同到期续约:对于 SaaS 产品,到期前需要和客户确定续约意向,因此在合同到期前需要提醒相应的市场销售人员跟进客户,完成续约,以提高整体的留存率。
合同产品明细:合同里面通常会约定客户采购的产品及服务明细,这种信息对我们做产品的销售情况统计非常有用,因此也需要进行管理。
这里说一下,后面我们还会有订单管理,实际上订单管理也会有销售的产品及服务明细,这两块会有一定的重叠。这种情况下,个人的建议是分开独立管理。从效率上可以做一些优化,比如可以基于合同创建订单直接同步合同的产品明细数据,或者是后台录入线下订单时可以选择关联的合同带出合同的产品明细数据。这样可以避免合同模块和订单模块相互依赖。
02 合同业务对象梳理
我们来看一下合同会和哪些业务对象发生关联。

业务关系说明如下:
- 合同的主体是客户,因此合同会归属于某个客户。这里需要注意,有时候客户可能是一个集团公司,而合同可能是和集团公司的分公司签订的,因此更合适的做法是合同归属于租户(对于平台来说即客户),然后签约单位允许填充客户名称,客户名称则可以按照合同的签约甲方单位名称填写。
- 合同与订单建议是单个订单只属于一份合同,如果订单与多份合同关联,会导致订单的明细无法和合同对应。
- 对于合同回款记录,其实不记录也不会影响业务,毕竟财务那边会有对应的账目。从精细化管理角度来说,记录会更好和财务进行对账。
- 合同附件主要是上传合同的扫描件,因为合同有多页,因此可能会有多个附件。不过,其实从管理角度来说,统一上传一份完整合同的 pdf 会更好。
- 合同产品明细来源于产品与服务模块,录入的时候逐条目添加即可。
- 关联订单用于基于合同创建订单(包括订单选择所属合同)时,将合同与订单进行关联,从而可以双向查询合同下有哪些订单,也可以知道订单归属于哪一份合同。
梳理完业务对象关系后,我们来看具体的产品设计。
03 合同管理
合同是整个模块的核心业务对象,通常来说合同会包含合同基本信息(合同名称、合同编号、签订日期等)、所属客户、签约主体信息、合同起止日期、合同总额、双方联系人及联系方式、发票开具要求、合同附件等信息。同时,合同中也会约定交付的产品及服务,考虑操作效率,可以分步骤将产品与服务在添加合同的时候一起完成。
下面是添加合同的原型,由于表单内容比较多,传统的交互方式会采用单独的添加页面来完成,但是这里使用的是侧面弹窗的交互形式,这种方式操作效率会更高些。


关于合同的状态,通常会有正常、作废和已过期三个状态。对于作废的合同,往往是双方协商后取消合同或者单方面取消合同,实际上存档资料应该存在,以便后续查询。
合同附件支持上传多个附件,通常对于附件上传需要限制文件格式和文件大小。限制文件格式是便于能够直接在系统中预览(图片和 pdf 格式在技术上最容易实现在线预览),限制文件大小则主要是节省服务器的存储空间,从而降低服务器的存储费用 —— 这一块,产品经理也需要有一定的成本意识。
对于合同产品明细,采用表格的方式操作,可以下拉从产品中心模块选择平台可以对外售卖的产品,产品单价默认使用定价,但是可以修改以满足折扣优惠的需求。数量填完之后,自动计算小计和合计。这里需要注意,在实际展示合同产品明细的时候,应该把原价和优惠后的价格同时展示,以让浏览合同内容的人了解具体的优惠情况。
在提醒上面,需要根据合同的到期时间提前通知公司内部的客户负责人跟进续签,以及在租户侧通知租户进行续签。
04 合同回款计划
合同回款计划包括制定回款计划和录入回款记录。回款计划主要是依据合同条款约定的付款方式,明确什么时间节点前支付多少费用,一个回款计划主要包括如下信息:所属合同:回款计划归属的合同;所属客户:可以冗余合同中的客户信息,以便按客户查询回款计划,跟进客户回款;回款金额:预计的回款金额;回款日期:预计的回款日期;联系人:可以冗余合同中的联系人信息,以便跟进客户回款;回款状态:当前回款计划是否已经完成回款,可以根据录入的回款记录自动更新回款状态,回款状态包括未回款、部分回款和已完成三个状态。
制定完回款计划后,一方面可以基于回款日期进行业务提醒,另一方面可以基于回款计划录入回款记录。回款记录主要包括的信息如下:所属合同;所属回款计划;回款日期;回款金额;回款凭证(上方图片附件)。
这块的原型并不复杂(实际上原型都差不多),就不再提供。之前在公众号有利用飞书搭建过一个合同管理模块,大家有兴趣也可以参考之前的那篇文章:飞书多维表格应用实例 —— 从零开始搭建合同管理模块。
05 总结
从之前的模块可以看到我的一个产品设计思路,主要的工作其实是在业务对象梳理上;当然,对于复杂的业务还会涉及到业务流程梳理。
大部分 SaaS 平台侧的业务相对租户侧的业务系统来说会简单一些。但是,不管是什么业务模块,推荐的产品设计步骤就是业务需求分析、业务对象梳理、业务流程梳理、原型设计、编写产品需求文档。
其中,前三个步骤才是关键。
本文由人人都是产品经理作者【产品海豚湾】,微信公众号:【产品海豚湾】,原创/授权 发布于人人都是产品经理,未经许可,禁止转载。
题图来自Unsplash,基于 CC0 协议。
- 目前还没评论,等你发挥!

起点课堂会员权益




