May 22, 2024

Python Batch Order Processing

Project Overview

This project aimed to help a friend running an Etsy store selling stickers to optimize his production process. The goal was to automate the order processing and sticker sheet generation to significantly reduce manual effort and time.

Project Screenshot
Example of sheet generated by script

Example of sheet generated by script

Problem Statement

The friend had to manually process orders by downloading an order list from Etsy and going through each order to place it in the vinyl cutting software for printing and cutting. This process was time-consuming and prone to errors.

Solution Approach

To address this, I developed two scripts:

  • Order Processing Script: This script automatically processes the downloaded order list from Etsy, organizing stickers by SKU, size, quantity, etc. This made it easy to determine what stickers needed to be printed and cut, reducing processing time by 81% (from 80 minutes to 15 minutes).
  • Sticker Sheet Generation Script: This script auto-generates sticker sheets from the CSV file, allowing all stickers to be printed at once and prepared for the cutting software. This further reduced processing time from 15 minutes to 5 minutes.

Technical Implementation

The project involved developing Python scripts to automate data extraction, organization, and sheet generation. The scripts utilized libraries such as pandas for data manipulation and pillow for sticker sheet generation.

Key Features

  • Automated order processing and organization
  • CSV-based workflow for easy integration with existing systems
  • JPEG generation for sticker sheets

Results & Impact

  • Time Efficiency: Achieved up to 81% reduction in order processing time, with the friend saving an average of 65 minutes per batch.
  • Improved Accuracy: Automated processing reduced errors and ensured consistent output.
  • Resource Optimization: The friend could focus more on strategic tasks and business growth.
  • Enhanced Workflow: The solution streamlined the entire process, making it more efficient and user-friendly.

Key Learnings

  • The Importance of Automation: Automating repetitive tasks can significantly improve efficiency and accuracy.
  • User-Centered Design: Tailoring solutions to the user's needs ensures better adoption and satisfaction.
  • Iterative Development: Continuous feedback and refinement are crucial for developing effective solutions.