Packing Slip Generator

Upload an order export or enter orders directly. Rows with the same order_id are grouped into one slip with multiple line items.

Store & return address (optional)
Printed at the bottom of each slip. Use {date} for today's date. Leave blank for no comment at the bottom.
Order file
Download CSV template

Recognized headers (case-insensitive): order_id, date, name, address1, address2, city, state, zip, country, sku, title, quantity, price, custom1, custom2, custom3, custom4. Custom label columns can also use your label names (e.g. po_number) instead of custom1custom4. After upload, rows appear in Enter manually for editing.

Orders
Order ID Date Name Address 1 Address 2 City State ZIP Country SKU Product Qty Price

Use the same order ID on multiple rows for multi-item orders. Address line 2 is optional. Add up to 4 custom columns for fields like PO Number or gift messages.

Preview
Page 0 / 0

Also create shipping labels from the same file via Bulk Labels.

How it works

  1. Optional store & return address. Add your store name and return address to print on every slip.
  2. Upload or enter orders. Import a CSV/XLSX file (download the template) — rows load into the editable table — or type orders directly under Enter manually.
  3. One slip per order. Rows with the same order_id are grouped into a single packing slip with multiple line items.
  4. Add custom columns (optional). Use + Add column for extra fields such as PO number or gift message — up to 4 per order.
  5. Preview slips. The preview updates as you edit. Use Back / Next to review each order page.
  6. Download. Save one combined PDF or download individual PDFs as a ZIP.

FAQ

At minimum, include enough data to identify the order and items — typically order_id, recipient name, address1, city, state, zip, sku, and quantity. Optional columns include date, address2, title, price, country, and custom1custom4. Download the CSV template for the full header list with sample rows.

Put each SKU on its own row and use the same order_id on every row for that order. Cheat Label groups them into one packing slip with a line item per row. Address and order-level fields (like date) are taken from the first row of each group.

Yes. CSV and XLSX are supported. Keep First row is header checked if your first row contains column names. Data is read from the first worksheet in an Excel file.

Custom columns let you add order-level fields printed on each slip — for example PO number, order notes, or a gift message. In manual entry, click + Add column, name the column, and fill in values per row. In a file upload, use matching header names or custom1 through custom4.

Yes. Use the address2 column (or the Address 2 field in manual entry) for apartment, suite, unit, or other secondary address lines. It prints on the slip between address line 1 and the city/state/ZIP line.

Date is order-level and appears in the header next to the order number. Price is per line item and appears in the items table when at least one row includes a price value.