TEST PRICE FILES NOT INCLUDED FOR CONFIDENTIALITY
- We get multiple price lists from vendors each month
- Prices are processed as a CSV into Enterprise Item Update
- We prefer one update to the database to note big changes
- The price lists have certain quirks that ruin the update
- Some items are duplicated, which really breaks the update
- The manual correction method takes three hours to explain
- and five different Excel files
- AngularJS app to process the price lists at once
- Detect format of file based on filename and column headers
- Apply row-by-row corrections to file
- Deduplicate
- Provide clean CSV output
- Drag and drop files onto window
- Sanity check - is the file an XLSX or CSV?
- Heuristics - does the file match a known schema?
- Convert to SheetJS array-of-arrays
- For each row of each imported file, run
priceFormats[].fix()
- Combine outputs of fixes
- Identify duplicated UPCs in combined list
- Filter - unique items, duplicated items
- For each duplicated UPC, find lowest price of highest priority
- If lowest absolute price is not highest priority, raise flag
- Combine back into unique items
- Output file
- AngularJS
- Bootstrap
- SheetJS