簡單的批量導入功能還可以如何優(yōu)化

9 評論 16900 瀏覽 165 收藏 25 分鐘

編輯導語:很多時候,我們都需要使用批量導入功能。這個功能看似很簡單,但其實設(shè)置起來并不容易。本文作者就為我們分析了批量導入功能還可以如何優(yōu)化,希望看后能夠?qū)δ阌兴鶐椭?/p>

在跨境出口電商業(yè)務(wù)中,我們知道當買家購買了某個店鋪的商品時,即創(chuàng)建了一個電商訂單,接下來賣家將為買家揀貨打包;并通過合作的國際出口物流公司獲取包裹的物流單號,回填到電商系統(tǒng)給買家查看——這樣就完成了訂單商品的出庫發(fā)貨。

那么賣家是如何獲取物流單號的呢?

賣家通過物流系統(tǒng)獲取物流單號其實是一個下單的過程,即賣家在第三方物流系統(tǒng)中,創(chuàng)建了一個物流訂單,下單成功后,物流系統(tǒng)會給出物流單號并打印面單。

創(chuàng)建一個出口國際物流訂單,如USPS、UPS快遞等,需要錄入的字段包括但不限于:

發(fā)件人姓名、電話、發(fā)件地址、收件人姓名、電話、收件地址、包裹重量、運輸方式、服務(wù)渠道、訂單號、商品中英文品名、數(shù)量、單價、海關(guān)編碼等多個商品或包裹屬性信息。

以上字段中的收發(fā)件信息,以及商品信息都來自于電商訂單,也就是說賣家需要將電商訂單的相關(guān)字段信息錄入到物流系統(tǒng),才能據(jù)此獲取到物流單號。

針對解決賣家將電商訂單信息錄入到物流系統(tǒng)中這一問題,目前市場上有以下一些方式:

  1. 較大的外貿(mào)電商企業(yè)會自研ERP系統(tǒng),或者企業(yè)自行采購行業(yè)流行的ERP系統(tǒng),都與主流的物流公司做了系統(tǒng)間的API對接,自動化程度較高;
  2. 但是還有一部分小賣家由于體量較小,沒有使用ERP做發(fā)貨管理,仍在使用物流公司提供的系統(tǒng);
  3. 另外,還存在一部分賣家的ERP系統(tǒng)沒有實現(xiàn)與物流公司API的對接:一方面由于市場上的物流公司比較繁雜,參差不齊,只與主流的物流公司做了API對接;另一方面原因是賣家只是想暫時性短期試用而已,也是在單獨使用物流公司提供的系統(tǒng)。

綜上所述,相對于第一種方式,后兩種方式的自動化程度較低,都需要獨立使用物流系統(tǒng)。

由于Amazon、eBay等跨境電商平臺要求賣家的發(fā)貨時效,而且發(fā)貨訂單量較多(上萬單比較常見),這種情況下賣家根本無法依靠在第三方物流系統(tǒng)中一個個錄入來完成。

因為表單需要提交的字段非常多,人工的方式帶來的是更高的錯誤率和更久的工作時間,一旦錄入錯誤,將嚴重影響包裹的投遞,可能會導致理賠的產(chǎn)生,造成經(jīng)濟損失。

因此,訂單逐個錄入的方式在降低賣家的工作效率的同時,也嚴重影響店鋪的時效性和買家滿意度,對物流提供商的好感度也隨之降低。

一、定位問題

通過上述場景我們發(fā)現(xiàn),客戶想尋求短時間內(nèi)快速將大量的訂單數(shù)據(jù)錄入到系統(tǒng)中的方式:一方面需要節(jié)省時間;另一方面要避免數(shù)據(jù)錄入錯誤。

所面臨的問題本質(zhì)上是提升效率的問題,這包括數(shù)據(jù)錄入的便捷性和準確性,減少操作時間和操作人員,滿足企業(yè)降本增效的訴求。

如果無法完成大量數(shù)據(jù)的快速錄入,企業(yè)將無法及時的獲取物流單號,為企業(yè)贏得市場競爭力,降低買家購物滿意度,同時這也會使得我們流失賣家客戶。

二、功能方案

當客戶需要提交大量且多條重復(fù)性的數(shù)據(jù)時,如果要一條條錄入,的確花費大量時間,錯誤率也會提升。

依據(jù)經(jīng)驗,我們知道針對數(shù)據(jù)的批量錄入,除了通過數(shù)據(jù)庫間的API自動傳輸方式,更高效的方式就是使用程序來讀取數(shù)據(jù)文件,實現(xiàn)線下數(shù)據(jù)到線上的批量導入,可以快速完成數(shù)據(jù)寫入。

需要導入的線下數(shù)據(jù)為賣家提供的外貿(mào)發(fā)貨訂單數(shù)據(jù),此數(shù)據(jù)需要從外貿(mào)平臺中導出Excel表格文件;同時由于Excel文件天生又具有數(shù)據(jù)存儲和維護的優(yōu)越性,與數(shù)據(jù)庫字段信息的存儲方式具有高度一致性,因此我們把Excel格式作為線下數(shù)據(jù)導入文件的格式是比較合適的。

但是,不是任何Excel文件都可以隨意導入,由于創(chuàng)建出口物流訂單需要指定的字段信息,這就對要導入的的Excel文件有一定的要求:一方面要包括這些指定字段信息的名稱,另一方面在導入時可以被程序正確的讀取,并寫入數(shù)據(jù)庫。

而需要導入的數(shù)據(jù)可能來自很多外貿(mào)電商平臺,字段信息的存儲方式五花八門,沒有統(tǒng)一規(guī)則,因此就必須要統(tǒng)一一份系統(tǒng)要求的模板,規(guī)定需要哪些字段、字段的名稱、字段的格式等。

作為系統(tǒng)之間的數(shù)據(jù)橋梁,來自任何平臺的訂單數(shù)據(jù)文件,都要依照模板文件,統(tǒng)一字段名稱和字段格式之后才能被程序正確識別。

而且后續(xù)功能迭代過程中,如果導入規(guī)則發(fā)生變化,涉及到模板文件需要更改,這時候只需要更新一份對外的模板文件即可。

有了批量導入功能,賣家就可以預(yù)先把發(fā)貨訂單數(shù)據(jù)從外貿(mào)電商系統(tǒng)中導出,再批量復(fù)制字段信息填入系統(tǒng)提供的標準Excel模板文件中;將此文件上傳后,就可以導入所有訂單數(shù)據(jù),批量獲取物流發(fā)貨單號了。

那么,簡單的批量導入功能,如何更好的設(shè)計使用體驗,才能在提升工作效率的同時,又能降低數(shù)據(jù)錄入的錯誤率呢?

回到功能的場景中,我們把批量導入功能分成三個環(huán)節(jié)來設(shè)計使用體驗。

1. 導入前:設(shè)計Excel模板

由于導入數(shù)據(jù)的模板需要客戶手動維護完整,確保各個字段的格式填寫正確。否則會導致第一步就出現(xiàn)導入失敗的結(jié)果,使用者卻很茫然,不知如何修改,反復(fù)導入錯誤,帶來工作煩惱。

例如:客戶在從源數(shù)據(jù)表格中復(fù)制“訂單號”這一列值,粘貼到目標模板文件“訂單編號”列的過程中,連同源數(shù)據(jù)表頭名稱一起復(fù)制,導致粘貼操作后,模板文件的表頭名稱“訂單編號”也被修改為“訂單號”;客戶沒有察覺,程序也無法正確識別。

再比如:客戶預(yù)報的包裹重量單位,有些平臺導出的是克、有些是千克。如果客戶沒有注意到模板文件的重量單位,模板也沒有對字段值做數(shù)據(jù)有效性校驗,也將會造成運費計算錯誤的嚴重后果。

因此,一份清晰易維護的模板,可以讓客戶在填寫表格階段加快維護數(shù)據(jù)的速度,降低后期導入錯誤的發(fā)生率。

設(shè)計模板時要依據(jù)業(yè)務(wù)要求梳理出所有相關(guān)字段以及業(yè)務(wù)字段的格式要求,將網(wǎng)頁表單輸入的要求映射到Excel單元格中,并著重考慮數(shù)據(jù)的完整性和規(guī)范性,需要注意以下幾點:

1)字段是否必須填寫

在創(chuàng)建一個物流訂單所需要提交的字段中,有些是必須要填寫,而有些可以選擇性填寫。目的僅僅是為了增加業(yè)務(wù)的準確度,但是不填寫并不會影響獲取物流單號。

因此,模板文件中可以使用標識,比如使用*號或者標記顏色,加快客戶完成模板文件的速度,例如收件人信息部分,紅色表頭為必填項:

2)選擇項字段的填寫

由于有些業(yè)務(wù)字段有多個規(guī)定值,需要在系統(tǒng)規(guī)定的類型值中選擇一個,無法讓客戶輸入自定義文本值,對于這些字段的錄入,單元格必須采用下拉選擇的方式。

如果采用輸入的方式,會發(fā)生填寫值與規(guī)定值不一致的問題,導入時系統(tǒng)無法正確匹配,就會發(fā)生錯誤。

例如:模板中“包裹商品是否帶電”這一字段,若讓客戶習慣性的填寫“是”或“否”,導入就會失敗,卻不易察覺。因此模板采用下拉列表的方式,要求填寫“Y”或”N”。

3)字段的長度與格式

為了確保寫入數(shù)據(jù)庫的字段值具備業(yè)務(wù)正確性,成功創(chuàng)建物流訂單,起初在模板中就要針對相關(guān)字段錄入做出要求與規(guī)定。

例如:美國境內(nèi)“收件人手機號”字段不能少于10位,字段“商品英文品名”,要求不能含中文字符,字段“申報價格”僅能填寫數(shù)值。

4)鎖定表頭字段

模板導入數(shù)據(jù)有兩種方式,分別為順序匹配和列名匹配,順序匹配即指定模板固定列字段與數(shù)據(jù)庫中指定字段映射匹配,寫入數(shù)據(jù)庫,而列名匹配是依據(jù)模板中列字段名稱與數(shù)據(jù)庫字段名稱相同則匹配為原理。

無論哪一種方式,隨意更改模板文件的表頭,都無法按照程序的規(guī)則讀取數(shù)據(jù)。

例如:前文所提到的案例,模板文件中的“訂單編號”誤被客戶改為“訂單號”,但程序讀取僅識別“訂單編號”。

表頭:即表格的字段所在行,在讀取數(shù)據(jù)過程中是重要的識別信息,模板中會提前預(yù)設(shè)。

為了避免客戶誤修改表格的表頭名稱、順序,需要使用Excel功能鎖定表頭,禁止修改,以免導致導入時字段名稱與數(shù)據(jù)庫字段名稱無法匹配或字段值與數(shù)據(jù)庫字段匹配錯誤的結(jié)果,這種錯誤發(fā)生后是很難被覺察的。

5)友好的輸入引導

對于一些業(yè)務(wù)特別要求或者其它事宜,需要在表格中給予明顯的文字提示,引導客戶正確錄入。例如輸入重量,要告知重量單位、輸入收件國家;要使用國家簡稱,如US,最好可以給予一些輸入案例。

6)易辨識的文件名稱

回到功能場景中,當客戶下載完模板文件后,并錄入數(shù)據(jù)后,需要重新從本地選擇該文件。

如果下載的模板文件名稱難以辨識,如”template.xls”、“RSVp8ApVpZUt.xls”等,選擇文件的時候會產(chǎn)生困擾,也會導致出錯的可能。

例如“CreateParcelTemplate0810”作為文件名稱,其中”CreateParcelTemplate”表示此模板的場景用途是用于創(chuàng)建物流包裹的;類似的有“ImportCustomerTemplate”,表示用途為導入客戶資料模板;“0810”是此模板的下載日期,表示是今天獲取的模板文件,避免和本地的歷史模板文件混淆。

依據(jù)場景用途和模板文件日期作為標識,相對來說就比較方便的從本地選擇,否則如果導入了錯誤的文件,會直接得到系統(tǒng)的報錯,客戶卻懷疑是模板數(shù)據(jù)維護錯誤還是文件選擇錯誤?

7)模板文件的版本

由于業(yè)務(wù)變動的原因,模板文件可能會隨之變化,如果客戶仍然使用本地下載的歷史模板錄入數(shù)據(jù),會導致導入失敗的情況。

因此模板文件需要支持后臺上傳新版本的模板文件,并在客戶的前端頁面相應(yīng)位置提醒客戶重新下載模板文件,模板中也要標明文件的版本號,以防用錯。

2. 導入中:讀取寫入

1)寫入前校驗

導入模板文件后,系統(tǒng)首先需要檢查文件格式是否正確,非Excel表格文件禁止讀取。

其次,校驗表格文件的表頭。

表格在導入的過程中,會將表頭字段名與數(shù)據(jù)庫字段表作校驗匹配,只有只有完全一致才可以成功寫入數(shù)據(jù)庫,否則程序會報告某個字段名無法匹配的錯誤結(jié)果。

另外還需要檢查表格記錄間是否有空行或空列,否則程序在讀取數(shù)據(jù)的過程中遇到空行記錄認為讀取完全;遇到空列認為字段已經(jīng)讀取完全,從而終止程序的進行,導致讀取不完整或讀取報錯。

2)忽略問題數(shù)據(jù)

當程序遇到字段值格式不合法時,直接跳過該行記錄的導入,繼續(xù)執(zhí)行下一行即可,不需要直接報錯。

否則,由于某一行的錯誤會導致其它所有數(shù)據(jù)都會無法導入,只有當人工找出錯誤行記錄并修正后,才能全部導入,客戶可能會沒有耐心。

更有效率的做法是,程序先寫入絕大部分正確的數(shù)據(jù),有問題的記錄在導入結(jié)束后統(tǒng)一將導入報告反饋給客戶,修改后重新導入。

3)處理重復(fù)導入

考慮到手動維護模板文件過程中難免存在失誤的情況,重復(fù)導入就可能會發(fā)生。那什么特征的數(shù)據(jù)下會被認為是重復(fù)導入的數(shù)據(jù)呢?

——這就需要先了解數(shù)據(jù)記錄的唯一性。

由于的數(shù)據(jù)庫中的數(shù)據(jù)表在存儲信息時,會把某個字段用來標識數(shù)據(jù)記錄行唯一性,其值不得重復(fù),也稱作主鍵字段或一級索引。

例如導入員工薪水,工號為主鍵字段,表示員工薪水的唯一性;導入外貿(mào)訂單,訂單號為主鍵字段表示訂單的唯一性。一旦多條數(shù)據(jù)記錄之間的主鍵字段值相同,就被程序認定為它們是重復(fù)記錄。

例如在導入訂單中中,存在兩行訂單號號均為“20062734325435345”的訂單記錄,第12行導入完成后,第15行條會被認為是重復(fù)記錄。

當程序讀取到重復(fù)記錄時,是直接覆蓋更新原先已導入的數(shù)據(jù),還是直接停止導入,或者交給用戶選擇呢?不同的方式就會導致不同的導入結(jié)果,因此我們需要給出相應(yīng)的處理方案,來確保導入結(jié)果的準確性。

回到客戶獲取物流單號的業(yè)務(wù)邏輯中,我們先分析一下為什么會導致重復(fù)導入的情況發(fā)生?有以下3種原因:

  1. 標識唯一性的訂單號是相同的,但其它字段值有不同:例如上圖的“運輸方式”,這種情況下由于系統(tǒng)無法判斷第15行的數(shù)據(jù)是否有效,就需要在導入完成后交給用戶自行選擇:不導入還是覆蓋第12行數(shù)據(jù);
  2. 由于獲取物流單號是需要從客戶賬戶扣除費用的,在第一次導入后由于余額不足,大量外貿(mào)訂單即使已經(jīng)導入物流系統(tǒng),生成了物流訂單;但扣費不成功,導致獲取物流單號的狀態(tài)都是——獲取失敗;充值后又需要再次導入一遍,重新批量獲取單號。因此對于物流單號獲取失敗的訂單記錄,可以允許再次導入重復(fù)的記錄;
  3. 操作失誤導致的,多條記錄行的各個字段值都完全相同。由于上述第二種情況的存在,這種情況可以禁止再次導入重復(fù)的記錄,但要求原導入的記錄已經(jīng)成功獲取物流單號。

綜上,是否重復(fù)導入由兩個因素決定:字段是否完全重復(fù)和獲取單號狀態(tài),處理方式如下圖所示。

4)導入進度反饋

更重要的是,當客戶在導入成千上萬甚至更大量的數(shù)據(jù)過程中,加上程序性能、網(wǎng)絡(luò)環(huán)境等影響,會花費更多的時間等待;而客戶的心理可能是焦急的,對于當前導入的進度,當前的導入程序是否在正常運行,接下來會不會導入失敗,是渴望知曉的。

因此友好的導入進度反饋必不可少,通過頁面的提示,客戶可以知道當前已導入數(shù)量,做到心里有數(shù)。

5)異步處理

從技術(shù)的角度說,針對較大數(shù)據(jù)量的導入場景,可以采用異步的處理方式,進一步降低客戶的焦急心理。

所謂異步,就是頁面導入模板后,后端接收請求并執(zhí)行讀取和寫入任務(wù);而此時客戶可以不用停留在原處等待,離開當前頁面去處理其它工作任務(wù),等待片刻后再打開導入頁面查看導入結(jié)果。

避免了因采用同步的處理方式導致長時間等待的結(jié)果,客戶體驗會更好,工作效率也會更高。

3. 導入后:反饋結(jié)果

辛辛苦苦維護數(shù)據(jù)并完成導入,現(xiàn)在到了查看導入結(jié)果的時候了。

導入結(jié)果中,主要關(guān)心以下幾點:

1)核對數(shù)量

由于手動維護的模板文件中,難免會出現(xiàn)字段值填寫不合法、重復(fù)數(shù)據(jù)記錄等錯誤情況發(fā)生,這就會導致無法正確的一次性順利導入所有模板數(shù)據(jù)。

為便于客戶知曉錯誤發(fā)生的具體情況,就有必要知道導入成功數(shù)量、導入失敗數(shù)量和導入重復(fù)數(shù)量,并確保:失敗+重復(fù)+成功=總數(shù)量。這樣的導入結(jié)果反饋才會讓客戶覺得比較清晰、直觀,不會出現(xiàn)漏數(shù)據(jù)的情況。

如果沒有導入數(shù)量的核對,直接告訴客訴”導入成功”或“導入失敗”的結(jié)果,會讓人很迷惑;對模板數(shù)據(jù)的導入結(jié)果不清不楚,客戶可能還需要去相關(guān)的頁面上通過查詢來判斷哪些數(shù)據(jù)已經(jīng)導入成功了,哪些數(shù)據(jù)沒有導入,容易核對混亂。

2)處理失敗記錄

核對完數(shù)量之后,由于數(shù)據(jù)未導入完全,接下來就需要給出未導入成功的具體原因了——方便客戶快速定位問題、查明原因,可以有目的性的去做相應(yīng)修改調(diào)整,再次導入。

同時,針對失敗原因,我們要給出操作引導:

  • 字段格式長度錯誤的數(shù)據(jù),提示客戶修改模板后,重新導入即可;
  • 扣費失敗的數(shù)據(jù),提示客戶重新充值后,再次導入即可;
  • 對于上文所說的第一種重復(fù)導入情況,需要客戶自行決定導入還是直接跳過;

需要再次導入的數(shù)據(jù),可以支持匯總導出為Excel文件,方便直接修改;在導出的文件中對于字段不合法導致的問題,直接標紅數(shù)據(jù)所在單元格,客戶查找修改也比較方便;

三、總結(jié)回顧

批量導入功能在B端產(chǎn)品設(shè)計中很常見,是企業(yè)降本增效的重要功能形式。例如:

  • 企業(yè)內(nèi)部系統(tǒng)上線,需要批量導入企業(yè)客戶資料,做數(shù)據(jù)初始化;
  • 企業(yè)財務(wù)做賬時,需要批量導入線下賬單,確保系統(tǒng)中財務(wù)數(shù)據(jù)完整性;
  • 批量導入外部數(shù)據(jù)源,對數(shù)據(jù)源做系統(tǒng)化加工處理,再導出使用;
  • ……

上述的解決方案從導入前、導入中和導入后三個階段,解釋了相應(yīng)設(shè)計是如何為客戶帶來效率提升的,要考慮的細節(jié)體驗還是挺多的,稍有疏忽,都可能會導致數(shù)據(jù)寫入失敗,或者導入結(jié)果反饋不夠,但客戶卻不知道問題發(fā)生的原因,如何解決。

無論是導入賬單、訂單、員工資料還是學生成績,處理的方式都大同小異,前提是要明確場景下客戶要解決的根本問題,為客戶提供更好的體驗設(shè)計。

 

本文由 @小樂的產(chǎn)品筆記 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自 Pexels,基于 CC0 協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 全面

    回復(fù)
  2. 我看你的導致重復(fù)導入,有3種原因,其實第二種失敗可以避免,只要excel文件格式處理沒問題??蛻粝到y(tǒng)金額不夠,也可以導入,單獨在訂單列表加個tab扣款失敗,客戶充值后,再進行批量扣款。雖然不了解你們物流系統(tǒng),只是個人建議哈。

    來自廣東 回復(fù)
  3. 學習了,真的很有用!幫助很大

    來自上海 回復(fù)
  4. 想請問下,選擇文件后立即執(zhí)行上傳操作和 選擇文件后點擊“確認”則執(zhí)行上傳操作,哪一種交互好點呢?各適用于什么場景呢?

    來自廣東 回復(fù)
    1. 個人覺得,如果你選擇附件是最后一步的話,選完附件就執(zhí)行導入沒有問題,如果這個頁面上還有其他操作的話,比如選擇重復(fù)時覆蓋,還是重復(fù)時跳過等等選項,那就最好有個確認的動作。

      來自廣東 回復(fù)
  5. 寫的好棒

    來自上海 回復(fù)
  6. 學習了

    來自江蘇 回復(fù)
  7. 馬一下

    來自上海 回復(fù)
  8. 學到很多

    來自廣東 回復(fù)