ecommercefulfillmentdeveloper

Developer Guide: Integrating Batch Printing Workflow into Your E-commerce Stack

Build a more robust shipping workflow. A technical deep dive into implementing Batch Printing Workflow for high-performance logistics.

April 23, 20242 min read
Developer Guide: Integrating Batch Printing Workflow into Your E-commerce Stack

Batch Label Printing: From 50 Labels/Hour to 500

Manual label printing is the biggest bottleneck in small warehouse operations. A typical Shopify seller spends 3-4 hours per day printing labels one at a time. With a proper batch workflow, that drops to 20 minutes.

The Batch Pipeline

A good batch printing system has four stages:

  • Selection — Pick which orders need labels (filters: carrier, service, date range)
  • Generation — Create all labels via carrier API in parallel
  • Compilation — Merge individual label PDFs into a single multi-page document
  • Printing — Send to thermal printer (ZPL) or laser printer (PDF)
  • Parallel Label Generation

    The naive approach — generating labels sequentially — takes forever. Use a concurrency limiter (like p-limit) to generate 10 labels at a time in parallel. Collect results with Promise.allSettled so one failure doesn't kill the whole batch. Separate succeeded and failed results for reporting.

    PDF Compilation Options

    Individual 4x6 label PDFs need to be merged. The format depends on your printer:

    • Thermal (4x6): One label per page, ZPL format, direct USB print
    • Laser (Letter): Two 4x6 labels per 8.5x11 page, PDF format
    • Laser (A4): Two 4x6 labels per A4 page with margins

    Error Handling in Batches

    Some labels in a batch will fail (address issues, weight limits, service unavailable). Don't fail the entire batch — collect errors and present them separately. Build a report showing total orders, successfully printed count, and a list of failures with error messages and suggested fixes.

    Printer Integration Tips

    Thermal printers (Zebra, DYMO, Rollo): Use ZPL format when the carrier supports it (USPS and FedEx do). It's 10x faster than printing PDFs because the printer renders natively.

    Print queues: If you're printing 200+ labels, send them in groups of 50 to avoid printer buffer overflow. Add a 2-second delay between groups.

    Packing slips: Print packing slips in a separate batch AFTER labels. Match them by order number on the packing table.

    See Atoship's batch label system →

    Share this article:

    Compare USPS, UPS & FedEx rates instantly with atoship — 100% free.

    Try Free

    Save up to 89% on shipping labels

    Compare USPS, UPS, and FedEx rates side by side. Get commercial pricing with no monthly fees, no contracts, and no markup.

    Free forever No credit card 2-minute setup