Proposal summary
Bloom & Grow Group would like to automate their fulfillment process as per the following scope and plan.
Requirement
In the existing system, we have automated the process of consolidated fulfillment record creation and item fulfillment record creation from sales order when the ‘auto consolidate fulfill’ checkbox is checked
- Three processes is automated from sales order if ‘Auto consolidate fulfill’ checkbox is checked
- Two records is generated from sales order are
- Item fulfillment with the status as ‘Picked’
- Consolidated item fulfillment record
- After item fulfillment and custom record creation,a CSV file is generated and sent to the SFTP server at the same time.
- Two records is generated from sales order are
In phase II , the CSV sent to the SFTP server should be saved in different folders for each subsidiary. Each subsidiary has different templates for the folder.
Our Solution
Prerequisite
Folders for the following subsidiaries should be created in the SFTP server:
- Parent Company
- Parent Company : Baby Central Limited
- Parent Company : Bloom & Grow Holdings Limited
- Parent Company : Bloom & Grow Holdings Limited : B&G Baby And Maternity Distribution (M) Sdn Bhd
- Parent Company : Bloom & Grow Holdings Limited : Bloom & Grow China Distribution Limited
- Parent Company : Bloom & Grow Holdings Limited : Bloom & Grow Distribution (Guangzhou) Company Limited
- Parent Company : Bloom & Grow Holdings Limited : Bloom & Grow Elimination Subsidiary
- Parent Company : Bloom & Grow Holdings Limited : Bloom & Grow Limited
- Parent Company : Bloom & Grow Holdings Limited : Bloom & Grow New Zealand Limited
- Parent Company : Bloom & Grow Holdings Limited : Bloom & Grow Retail (Guangzhou) Company Limited
- Parent Company : Bloom & Grow Holdings Limited : Bloom & Grow Retail Limited
- Parent Company : Bloom & Grow Holdings Limited : Bloom & Grow Singapore Pte Limited
- Parent Company : Bloom & Grow Holdings Limited : PT Bloom & Grow Indonesia
- Parent Company : Bloom & Grow Holdings Limited : WOWMOM (Shanghai) Co Ltd
- Parent Company : Bloom & Grow Holdings Limited : WOWMOM (Shenzhen) Co. Ltd.
Development Plan
Update the existing Map reduce script to Send each subsidiary data to their respective folders in the SFTP server. Each file format will be different from each other.
Note:
- Header label will be replicated as same as in the tables shown below
- Date format differences in each subsidiaries
- For instance, by mentioning Australia, we are considering the subsidiary records with the country as Australia. This consideration is applicable to all seven countries you have shared in the document.
- For lot numbered items, we will be configuring the lot number in the inventory detail subrecord. While creating a fulfillment record, the lot number used for the item fulfillment creation will be the latest available lot number.
For Australia
| Header | Field Source from | Field_ID | Field Description |
| Outbound Ticket No | Consolidated Fulfillment | tranid | Fulfillment Ticket number |
| Order Number | Sales Order | tranid | Sale order |
| Fulfillment ID | Item Fulfillment | tranid | Fulfillment ID |
| Customer ID | Customer | entityid | Customer ID |
| Customer Name | Sales Order | entity | Customer Name |
| Customer | |||
| Date | Sales Order | trandate | Order’s Date (YYYY-MM-D) |
| Subsidiary | Sales Order | subsidiary | Subsidiary |
| Sub-Subsidiary | Sales Order | custbody28 | Department of Subsidiary |
| Warehouse | Sales Order | location | Warehouse Name |
| Delivery Information | Consolidated Fulfillment | custrecord_if_delivery_info | Delivery Information |
| AddressID | Sales Order | Address Field | Address ID |
| Address1 | Sales Order | Address 1st line | |
| Address2 | Sales Order | Address 2nd line | |
| City | Sales Order | City | |
| State | Sales Order | State | |
| Postal Code | Sales Order | Postal Code | |
| Country | Sales Order | Country | |
| Item Code | Sales Order | Line Item | Item Code |
| Item Name | Sales Order | Item Code | |
| Quantity | Sales Order | Quantity | |
| Units | Sales Order | Units | |
| Expected Delivery Date | Sales Order | custbody_expecteddate | Expected Delivery Date (YYYY-MM-DD) |
| Delivery Window | Sales Order | custbody3 | Delivery Note of clients |
| Contact Person | Sales Order | Address Field | Contact Person |
| Contact Tel | Sales Order | Contact Tel | |
| Order Memo | Consolidated Fulfillment | custrecord_if_remark | Remark of Order |
| Line Memo | Sales Order | Line Item | Remark of Line in the order |
| Order Changed Indicator | Sales Order | custbody_flagforresubmit | Order Changed Check Box (T or F) |
| Order Line Changed Indicator | Sales Order | Line Item | Order Line Changed Check Box (T or F)Default: F |
| Is Internal Transfer | Consolidated Fulfillment | custrecord_if_internalto | Internal Transfer Check Box (T or F)T: If transfer orderF: if sales orderDefault: F for sales order |
| Self PickUp | Consolidated Fulfillment | custrecord_if_selfpickup | Self Pickup from Warehouse Check Box (T or F)Default: F |
| To Location | Transfer Order (if applicable) | transferlocation | (Leave blank for future use) |
| Store ID | Sales Order | custbody_me_so_bb_storeid | SO BabyBunting StoreID field ID in SO |
For New Zealand
| Header | Field Source from | Field_ID | Field Description |
| Outbound Ticket No | Consolidated Fulfillment | tranid | Fulfillment Ticket number |
| Order No | Sales Order | tranid | Sales Order number |
| FulfillmentID | Item Fulfillment | tranid | Fulfillment ID |
| Customer ID | Customer | entityid | Customer ID |
| Customer Name | Sales Order | entity | Customer Name |
| Date | Sales Order | trandate | Order’s Date (YYYY-MM-DD) |
| Subsidiary | Sales Order | subsidiary | Subsidiary |
| Sub-Subsidiary | Sales Order | custbody28 | Department of Subsidiary |
| Location | Sales Order | location | Warehouse Name |
| Delivery Information | Consolidated Fulfillment | custrecord_if_delivery_info | Delivery Information |
| AddressID | Sales Order | Address Field | Address ID |
| Address1 | Sales Order | Address 1st line | |
| Address2 | Sales Order | Address 2nd line | |
| City | Sales Order | City | |
| State | Sales Order | State | |
| Postal Code | Sales Order | Postal Code | |
| Country | Sales Order | Country | |
| Item | Sales Order | Line Item | Item Code |
| Quantity | Sales Order | Quantity | |
| Units | Sales Order | Units | |
| Expected Delivery Date | Sales Order | custbody_expecteddate | Expected Delivery Date (YYYY-MM-DD) |
| Delivery Window | Sales Order | custbody3 | Delivery Note of clients |
| Contact Person | Sales Order | Address Field | Contact Person |
| Contact Tel | Sales Order | Contact Tel | |
| Order Memo | Consolidated Fulfillment | custrecord_if_remark | Remark of Order |
| Line Memo | Sales Order | Remark of Line in the order | |
| Order Changed Indicator | Sales Order | custbody_flagforresubmit | Order Changed Check Box (T or F) |
| Order Line Changed Indicator | Sales Order | Line Item | Order Line Changed Check Box (T or F) |
| Is Internal Transfer | Consolidated Fulfillment | custrecord_if_internalto | Internal Transfer Check Box (T or F)T: If transfer orderF: if sales orderDefault: F for sales order |
| Self PickUp | Consolidated Fulfillment | custrecord_if_selfpickup | Self Pickup from Warehouse Check Box (T or F)Default: F |
| To Location | Transfer Order (if applicable) | transferlocation | (Leave blank for future use) |
| Line | Sales Order | Line Item Number | Line Item number |
| B2C_NZ | Sales Order | custbody44 | B2C order indicator (T or F) |
For China
| Header | Field Source from | Field_ID | Field Description |
| Outbound Ticket No | Consolidated Fulfillment | tranid | Fulfillment Ticket number |
| Order Number | Sales Order | tranid | Sales Order number |
| Fulfillment ID | Item Fulfillment | tranid | Fulfillment ID |
| Customer ID | Customer | entityid | Customer ID |
| Customer Name | Sales Order | entity | Customer Name |
| Date | Sales Order | trandate | Order’s Date (YYYY-MM-DD) |
| Subsidiary | Sales Order | subsidiary | Subsidiary |
| Sub-Subsidiary | Sales Order | custbody28 | Department of Subsidiary |
| Warehouse | Sales Order | location | Warehouse Name |
| Delivery Information | Consolidated Fulfillment | custrecord_if_delivery_info | Delivery Information |
| AddressID | Sales Order | Address Field | Address ID |
| Address1 | Sales Order | Address 1st line | |
| Address2 | Sales Order | Address 2nd line | |
| City | Sales Order | City | |
| State | Sales Order | State | |
| Postal Code | Sales Order | Postal Code | |
| Country | Sales Order | Country | |
| Item Code | Sales Order | Line Item | Item Code |
| Item Name | Sales Order | Item Code | |
| Quantity | Sales Order | Quantity | |
| Units | Sales Order | Units | |
| Lot Number | Sales Order | Lot Number | |
| Expected Delivery Date | Sales Order | custbody_expecteddate | Expected Delivery Date (YYYY-MM-DD) |
| Delivery Window | Sales Order | custbody3 | Delivery Note of clients |
| Contact Person | Sales Order | Address Field | Contact Person |
| Contact Tel | Sales Order | Contact Tel | |
| Order Memo | Consolidated Fulfillment | custrecord_if_remark | Remark of Order |
| Line Memo | Sales Order | Line Item | Remark of Line in the order |
| Order Changed Indicator | Sales Order | custbody_flagforresubmit | Order Changed Checkbox (T or F) |
| Order Line Changed Indicator | Sales Order | Line Item | Order Line Changed Checkbox (T or F) |
| Is Internal Transfer | Consolidated Fulfillment | custrecord_if_internalto | Internal Transfer Check Box (T or F) |
| Self PickUp | Consolidated Fulfillment | custrecord_if_selfpickup | Self Pickup from Warehouse Check Box (T or F) |
| To Location | Transfer Order (if applicable) | transferlocation | (Leave blank for future use) |
For Hong Kong:
| Header | Field Source from | Field_ID | Field Description |
| Outbound Ticket No | Consolidated Fulfillment | tranid | Fulfillment Ticket number |
| Order Number | Sales Order | tranid | Sales Order |
| Fulfillment ID | Item Fulfillment | tranid | Fulfillment ID |
| Customer ID | Customer | entityid | Customer ID |
| Customer Name | Sales Order | entity | Customer Name |
| Date | Sales Order | trandate | Order’s Date (YYYY-MM-DD) |
| Subsidiary | Sales Order | subsidiary | Subsidiary |
| Sub-Subsidiary | Sales Order | custbody28 | Department of Subsidiary |
| Warehouse | Sales Order | location | Warehouse Name |
| Delivery Information | Consolidated Fulfillment | custrecord_if_delivery_info | Delivery Information |
| AddressID | Sales Order | Address Field | Address ID |
| Address1 | Sales Order | Address 1st line | |
| Address2 | Sales Order | Address 2nd line | |
| City | Sales Order | City | |
| State | Sales Order | State | |
| Postal Code | Sales Order | Postal Code | |
| Country | Sales Order | Country | |
| Item Code | Sales Order | Line Item | Item Code |
| Item Name | Sales Order | Item Code | |
| Quantity | Sales Order | Quantity | |
| Units | Sales Order | Units | |
| Expected Delivery Date | Sales Order | custbody_expecteddate | Expected Delivery Date (YYYY-MM-DD) |
| Delivery Window | Sales Order | custbody3 | Delivery Note of clients |
| Contact Person | Sales Order | Address Field | Contact Person |
| Contact Tel | Sales Order | Contact Tel | |
| Order Memo | Consolidated Fulfillment | custrecord_if_remark | Remark of Order |
| Line Memo | Sales Order | Line Item | Remark of Line in the order |
| Order Changed Indicator | Sales Order | custbody_flagforresubmit | Order Changed Check Box (T or F) |
| Order Line Changed Indicator | Sales Order | Line Item | Order Line Changed Check Box (T or F) |
| Is Internal Transfer | Consolidated Fulfillment | custrecord_if_internalto | Internal Transfer Check Box (T or F) |
| Self PickUp | Consolidated Fulfillment | custrecord_if_selfpickup | Self Pickup from Warehouse Check Box (T or F) |
| To Location | Transfer Order (if applicable) | transferlocation | (Leave blank for future use) |
For Indonesia:
| Header | Field Source from | Field_ID | Field Description |
| Outbound Ticket No | Consolidated Fulfillment | tranid | Fulfillment Ticket number |
| Order Number | Sales Order | tranid | Sales Order number |
| Fulfillment ID | Item Fulfillment | tranid | Fulfillment ID |
| Customer ID | Customer | entityid | Customer ID |
| Customer Name | Sales Order | entity | Customer Name |
| Date | Sales Order | trandate | Order’s Date (YYYY-MM-DD) |
| Subsidiary | Sales Order | subsidiary | Subsidiary |
| Sub-Subsidiary | Sales Order | custbody28 | Department of Subsidiary |
| Warehouse | Sales Order | location | Warehouse Name |
| Delivery Information | Consolidated Fulfillment | custrecord_if_delivery_info | Delivery Information |
| AddressID | Sales Order | Address Field | Address ID |
| Address1 | Sales Order | Address 1st line | |
| Address2 | Sales Order | Address 2nd line | |
| City | Sales Order | City | |
| State | Sales Order | State | |
| Postal Code | Sales Order | Postal Code | |
| Country | Sales Order | Country | |
| Item Code | Sales Order | Line Item | Item Code |
| Item Name | Sales Order | Item Code | |
| Quantity | Sales Order | Quantity | |
| Units | Sales Order | Units | |
| Lot Number | Sales Order | Lot Number | |
| Expected Delivery Date | Sales Order | custbody_expecteddate | Expected Delivery Date (YYYY-MM-DD) |
| Delivery Window | Sales Order | custbody3 | Delivery Note of clients |
| Contact Person | Sales Order | Address Field | Contact Person |
| Contact Tel | Sales Order | Contact Tel | |
| Order Memo | Consolidated Fulfillment | custrecord_if_remark | Remark of Order |
| Line Memo | Sales Order | Line Item | Remark of Line in the order |
| Order Changed Indicator | Sales Order | custbody_flagforresubmit | Order Changed Check Box (T or F) |
| Order Line Changed Indicator | Sales Order | Line Item | Order Line Changed Check Box (T or F) |
| Is Internal Transfer | Consolidated Fulfillment | custrecord_if_internalto | Internal Transfer Check Box (T or F) |
| Self PickUp | Consolidated Fulfillment | custrecord_if_selfpickup | Self Pickup from Warehouse Check Box (T or F) |
| To Location | Transfer Order (if applicable) | transferlocation | (Leave blank for future use) |
For Malaysia:
| Header | Field Source from | Field_ID | Field Description |
| Outbound Ticket No | Consolidated Fulfillment | tranid | Fulfillment Ticket number |
| Order No | Sales Order | tranid | Sales Order number |
| FulfillmentID | Item Fulfillment | tranid | Fulfillment ID |
| Customer ID | Customer | entityid | Customer ID |
| Customer Name | Sales Order | entity | Customer Name |
| Date | Sales Order | trandate | Order’s Date (YYYY-MM-DD) |
| Subsidiary | Sales Order | subsidiary | Subsidiary |
| Sub-Subsidiary | Sales Order | custbody28 | Department of Subsidiary |
| Location | Sales Order | location | Warehouse Name |
| Delivery Information | Consolidated Fulfillment | custrecord_if_delivery_info | Delivery Information |
| AddressID | Sales Order | Address Field | Address ID |
| Address1 | Sales Order | Address 1st line | |
| Address2 | Sales Order | Address 2nd line | |
| City | Sales Order | City | |
| State | Sales Order | State | |
| Postal Code | Sales Order | Postal Code | |
| Country | Sales Order | Country | |
| Item | Sales Order | Line Item | Item Code |
| Quantity | Sales Order | Quantity | |
| Units | Sales Order | Units | |
| Lot Number | Sales Order | Lot Number | |
| Expected Delivery Date | Sales Order | custbody_expecteddate | Expected Delivery Date (YYYY-MM-DD) |
| Delivery Window | Sales Order | custbody3 | Delivery Note of clients |
| Contact Person | Sales Order | Address Field | Contact Person |
| Contact Tel | Sales Order | Contact Tel | |
| Order Memo | Consolidated Fulfillment | custrecord_if_remark | Remark of Order |
| Line Memo | Sales Order | Line Item | Remark of Line in the order |
| Order Changed Indicator | Sales Order | custbody_flagforresubmit | Order Changed Check Box (T or F) |
| Order Line Changed Indicator | Sales Order | Line Item | Order Line Changed Check Box (T or F) |
| Is Internal Transfer | Consolidated Fulfillment | custrecord_if_internalto | Internal Transfer Check Box (T or F) |
| Self PickUp | Consolidated Fulfillment | custrecord_if_selfpickup | Self Pickup from Warehouse Check Box (T or F) |
| To Location | Transfer Order (if applicable) | transferlocation | (Leave blank for future use) |
For country:
| Header | Field Source from | Field_ID | Field Description |
| Outbound Ticket No | Consolidated Fulfillment | tranid | Fulfillment Ticket number |
| Order No | Sales Order | tranid | Sales Order number |
| FulfillmentID | Item Fulfillment | tranid | Fulfillment ID |
| Customer ID | Customer | entityid | Customer ID |
| Customer Name | Sales Order | entity | Customer Name |
| Date | Sales Order | trandate | Order’s Date (MM/DD/YYYY) |
| Subsidiary | Sales Order | subsidiary | Subsidiary |
| Sub-Subsidiary | Sales Order | custbody28 | Department of Subsidiary |
| Location | Sales Order | location | Warehouse Name |
| Delivery Information | Consolidated Fulfillment | custrecord_if_delivery_info | Delivery Information |
| AddressID | Sales Order | Address Field | Address ID |
| Address1 | Sales Order | Address 1st line | |
| Address2 | Sales Order | Address 2nd line | |
| City | Sales Order | City | |
| State | Sales Order | State | |
| Postal Code | Sales Order | Postal Code | |
| Country | Sales Order | Country | |
| Item | Sales Order | Line Item | Item Code |
| Quantity | Sales Order | Quantity | |
| Units | Sales Order | Units | |
| Expected Delivery Date | Sales Order | custbody_expecteddate | Expected Delivery Date (YYYY-MM-DD) |
| Delivery Window | Sales Order | custbody3 | Delivery Note of clients |
| Contact Person | Sales Order | Address Field | Contact Person |
| Contact Tel | Sales Order | Contact Tel | |
| Order Memo | Consolidated Fulfillment | custrecord_if_remark | Remark of Order |
| Line Memo | Sales Order | Line Item | Remark of Line in the order |
| Order Changed Indicator | Sales Order | custbody_flagforresubmit | Order Changed Check Box (T or F) |
| Order Line Changed Indicator | Sales Order | Line Item | Order Line Changed Check Box (T or F) |
| Is Internal Transfer | Consolidated Fulfillment | custrecord_if_internalto | Internal Transfer Check Box (T or F) |
| Self PickUp | Consolidated Fulfillment | custrecord_if_selfpickup | Self Pickup from Warehouse Check Box (T or F) |
| To Location | Transfer Order (if applicable) | transferlocation | (Leave blank for future use) |
Assumptions
- For lot numbers, we have to configure inventory details. We assume that the nearest expiring lot number will be used for item fulfillment creation
- Applicable only for inventory and lot numbered item
- The Sales Order can be created in UI or CSV uploaded. Consolidated fulfillment and item fulfillment record will be created for sales order
- Addresses used in consolidated fulfillment record is the shipping address in sales order
- The EDI STATUS field on the consolidated fulfillment custom record is unrelated to this scope.
- The WMS integration flow will be the same as current, no changes on the existing WMS integration
- The Sales Order will be fully fulfilled, no partial fulfilment allowed when it is auto-generated One Sales Order will have one Fulfilment only, no combinations
- Applicable only for those warehouse locations where there is no bin management
- Automatic fulfilment sends CSV files to SFTP for warehouse pickup
- Applicable only to AU, NZ, CN, HK, MY, SG , Indonesia Subsidiaries
- We will not be considering any consignment location
Time
Estimated Effort : 42h