批量导入是B端后台产品中非常常见的功能,乍看简单,但实际做起来才发现里面的坑着实不少。笔者根据自己的工作经历,记录整理了当时从0到1的设计过程。内容较长,耐心看完,相信你一定会有所收获!
在开始任何B端产品的功能设计前,都需要先分析这个功能对应的业务场景以及想解决的业务问题。
批量导入也不例外,一般导入功能都出现在需要单次录入大批量数据的后台产品中。根据不同的场景会有不同的应用,需要结合用户特征来一起分析,它们共同决定了导入功能的软件功能流程和基本逻辑,例如:
这些都是在业务分析阶段就需要思考的事情!
导入功能大致可以分为3个环节
其中2是最麻烦最复杂的一环,因为除了常规的文件类型和数据格式校验外,部分B端产品可能还会有一些业务上的限制,需要考虑到导入的数据与现有的业务规则是否冲突,如果存在冲突,要以何种形式告知用户哪些数据异常、要如何处理。
3.1.1导入指引
如果导入过程并不复杂,只需要给出下载模板和上传文件的入口即可;如果流程比较长,需要给出一条明确的步骤指引。
3.1.2模板说明
对于一些重要的系统要求或者是不易察觉的设置,需要在表头上进行说明,引导用户正确的填写数据。
3.2.1导入进度
根据导入数据的规模和校验规则的复杂程度,需要考虑不同的上传进度提示。(这些最好提前与研发人员沟通好)
3.2.2文件解析和数据逐行校验
一般导入文件的校验分为两个过程:
1)文件格式校验
在写入数据前,首先会校验文件的基本格式是否符合规范,如果不符合则需提示用户检查上传的文件并重新上传。一般会有如下规则:
2)数据内容校验
文件校验通过后,就开始校验逐行表格中的数据内容,一般包括数据格式和业务规则的检验:
1)导入结果
反馈用户本次导入的结果状态。
2)错误数据修改
3)导入历史(非必须)
部分特殊情况还需要记录导入历史,方便后续查看。
一款面向小微企业&个体工商户的ERP进销存管理软件,帮助他们实现业务的数字化管理。(说人话就是,倒买倒卖的中间商每天向哪个供应商买了哪些商品?又向哪个客户卖了哪些商品?仓库里现在又还有哪些货、数量多少?······
我是一名批发商,上次向某个供应商订了一批货,这次供应商把货送了过来,还附了一张单据(可能是电子单据,也可能是纸质单据,不同供应商给的单据格式也不一样,如下图所示),你确认没问题后,把这批货搬进仓库,然后把这个单据录到系统中,一个个选择商品肯定太麻烦了,于是你希望有一个导入功能,帮你把这些数据批量处理掉。
这里提两个比较重要的概念,方便读者更好的理解下面的分析过程。
1)商品唯一性标识
商品条码一般是商品的唯一标识,由商品国际物品编码协会赋予,包含该物品的生产国、制造厂家、商品名称、生产日期、类别、日期等许多信息,在商品流通有广泛的应用。(简单来说就是你去便利店买东西结账,店员用扫码枪“嘀”的那块地方,如下图)
但是对于部分行业,流通的商品大多是非标品,例如茶叶、部分食品、五金件等,也没有条码的概念,只能通过一定的规则(通常是商品名称)去标识一个唯一的商品。
而我们软件定位是泛行业的软件,所以商品条码是商品最高级的唯一标识,却又不是一个必要信息。除此之外,商品名称&规格组合也是一个商品的唯一标识,不可重复。
2)单位
商品单位容易理解,计量商品的标准量,如个、件、箱、米等。值得注意的是,部分商品在实际业务中可能同时存在多个单位,例如300ml罐装的可乐,1“瓶”3元,论“箱”(1箱=24瓶)销售时,1“箱”70元,即同一商品不同单位之间存在换算关系,所以这些商品在商品管理上略微复杂,导入功能设计上也需要考虑到这种情况。
1)用户分析
在过往的用户调研中,我们发现用户大多是四十左右的中年人,文化水平普遍偏低,对于大篇幅的文字说明都不太敏感,可能导入出错的概率会比较高。因此除了功能框架层设计上要简单清晰,还要强化对异常情况的处理提示,让用户一眼就知道导入失败原因在哪以及如何处理。
2)业务场景分析
进货场景下,可能同时会进一些新商品和旧商品(即软件中没有/已有的商品资料),进新商品会新建商品资料,进旧商品会更新库存数量,综合考虑决定“商品名称”和“数量”为必填字段,其他为非必填字段;另外导入数据规模上,产品介绍有提到软件面向的是小微企业主,他们的进货规模根据调研结果,单次大多不超过100个sku,所以导入限制在200~1000行数据就足够了。
3)可能出错情况
由于新旧商品同时存在,因此要考虑的难点除了旧商品与已有商品资料的冲突,还有建立新商品资料的业务规则冲突。需要分别穷尽所有的出错情况,并根据出错场景,来决定哪些需要软件自动处理这些错误,哪些需要导出让用户确认修改这些错误。
分析到这里,差不多一个完整的导入功能流程就呼之欲出了。
这里就不贴原型了,网上资源多的是。主要讲讲其中的核心部分:数据内容的逐行校验与提示。
由于公司保密制度规定非常严格,无法把PRD全部贴上来,这里简单提几个可能的业务规则校验供大家参考:
值得注意的是,上面提到的业务规则校验,并不是所有都要当错误处理,有些可以让程序自动处理,提高用户的产品体验。
题图来自unsplash,基于CC0协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。