Business System · 2024

Barcode Shipping Desk for Purchase Orders

Desktop app that loads purchase order spreadsheets and clears quantities by barcode scan

Replaced hand-ticked paper order sheets with barcode scanning, so each scan draws down the remaining quantity and records the time it shipped. Orders with the nearest delivery date are cleared first.

Client
Confidential client
Category
Business System
Main screen with search filters, the order list, and the selected item's details and shipping log

Overview

  • Windows desktop app for the warehouse staff of an online marketplace seller
  • Barcode-driven shipping of orders bound for fulfillment centers, tracked per purchase order
  • One screen from start to finish — upload, filter, scan, check what remains, export
  • Uploaded order sheets kept in one file under their own names, so past orders stay searchable
Main screen with search filters, the order list, and the selected item's details and shipping log
Main screen

Challenge

  • Printed order sheets ticked by hand → only the picker knew how far the job had got
  • One product spread across several orders → a judgment call on which order to fill first
  • Quantities copied back in one batch after picking → missed and duplicated lines
  • No record afterwards of when each item shipped, or how many

Solution

  • Order sheets uploaded as they are, with missing columns reported by name
  • Filters on customer, center, product, barcode, order number and delivery date range; any column header sorts the list
  • In shipping mode, a scanned barcode takes one off the remaining quantity and scrolls the list to that row
  • Large on-screen confirmation right after the scan, showing what is left — readable without leaning into the monitor
  • Color carries the outcome — green for a cleared unit, red for nothing left or already complete
  • Rows that reach zero change background, leaving only unfinished lines in view
  • Items that will not scan can be cleared by typing a quantity, with anything above the remainder refused
Green confirmation panel showing the remaining quantity right after a barcode scan
Scan confirmation

System architecture

Flow of work

  • Upload sheet → filter → switch to shipping mode → scan → quantity drawn down and logged → export
  • Scanner connected over a serial port, with port and baud rate set and verified by a connection test
  • The whole job lives in a single file — movable between PCs, or split by period for archiving
  • Work happens on a copy, leaving the original untouched until save; autosave optional
Settings window for the scanner port, baud rate, and connection test
Scanner settings

Implementation

  • One barcode across several orders → the nearest delivery date drawn down first, clearing the most urgent center deadline
  • Order numbers put on hold are refused at the scanner with a locked notice
  • Each draw-down logged with its time and quantity; a mis-scan removed by deleting that entry
  • Per-row notes keeping floor details such as split packing or replacement shipments with the order
  • Box prep totalling the filtered rows by order number, so box counts are known before picking starts
  • Files checked on open for every required field, with the missing one named
Box prep window totalling the searched items by purchase order number
Box prep
Window managing the list of purchase order numbers held from shipping
Order hold

Result

  • No paper sheets and no hand ticking — the scan itself draws down the quantity and leaves the record
  • Urgent delivery dates cleared first, without the picker deciding the order
  • A per-item history of when and how much shipped, to trace back when counts disagree
  • Held orders locked at the scanner, keeping stock that must not leave out of the shipment
  • Results exported back in order-sheet form for sharing with the customer

Technology

  • Python
  • wxPython
  • SQLite
  • openpyxl
  • pyserial

Screens

Have a problem that needs solving?

From software development to equipment integration and engineering, we can work out the approach that fits what your project needs.

Discuss a project