Skip to content

Delivery

Menu Location: Delivery (truck icon in the top navigation)

Last Updated: 2026-07-24


Overview

The Delivery page (internally kiv/print_labels.php) is where each week's orders turn into printed labels, driver sheets, and shipping labels, and where you connect an outside routing service to put stops in the best order. You pick a delivery week, then work day by day: every day that has orders shows its own set of download buttons.

Primary Functions:

  • Print packing labels for a day, per route or all routes at once
  • Download driver sheets (one per day, or per route)
  • Optionally print Avery address labels, receipts, and QR codes
  • Generate EasyPost carrier shipping labels (FedEx, UPS, USPS, etc.)
  • Upload a carrier tracking CSV to attach tracking numbers to orders
  • Connect a routing service (Routific, RouteSavvy, RoadWarrior, OptimoRoute, and others)
  • Download the warehouse Pack Order sheet (PDF or CSV)

Most optional pieces (Avery labels, receipts, QR codes, routing method, EasyPost) are turned on and configured under Delivery > Settings.


Page Layout

Choosing a Week

At the top you pick a delivery week and click Select Week. Everything below then refers to that week. The page defaults to the current week minus one, so double-check the week selector before printing.

Day-by-Day Sections

Orders are grouped by delivery day (Sunday through Saturday). Only days that actually have orders/routes appear. Within each day, routes are listed with their order counts (for example "Route Name - 55 orders"), and each route has its own download buttons.

What each day gives you

Depending on which features you have enabled, a day section can include:

  • Packing Labels per route, plus an All [Day] Packing Labels button
  • [Day] Driver Sheet (all routes for the day) and per-route driver sheets
  • EasyPost Shipping Labels per route (when EasyPost is enabled)
  • All [Day] Avery Labels / Avery 8463 Labels (when enabled)
  • All [Day] Receipts (when receipts are enabled)
  • [Day] Pack Order PDF and Pack Order CSV
  • Messages/Letters per route (when label messages, box messages, or a welcome letter are enabled)

You can drag and drop the routes in a day to set the order they print in when you download an all-routes PDF of labels, Avery labels, or driver sheets.


Printing Operations

Packing Labels

Purpose: The labels that go on each box, listing what belongs in it.

Steps:

  1. Select the week.
  2. Find the day.
  3. Click the packing-label button for a single route, or All [Day] Packing Labels for every route.
  4. A PDF generates. Download or print it.

Whether labels print in a standard sheet format or a 4x6 thermal format depends on your printer setting (see Thermal Printer under Special Label Types).

Driver Sheets

Purpose: The route manifest a driver carries, listing every stop in delivery order.

Steps:

  1. Select the week and day.
  2. Click [Day] Driver Sheet for all routes, or use a per-route driver-sheet button.
  3. A PDF generates.

Driver-sheet options set under Delivery > Settings include showing/hiding the estimated arrival (ETA) column, leaving blank note lines at the bottom for driver notes, and printing a Special Pack sheet alongside the driver sheets.

Receipts

Purpose: A printed customer receipt for each order (optional feature, enabled with the print_receipts setting).

Steps:

  1. Select the day.
  2. Click All [Day] Receipts.

Pack Order Sheet

Purpose: The warehouse pick/pack sheet that lists products in packing order (comes from the Packing Order page).

Steps:

  1. Select the day.
  2. Click [Day] Pack Order PDF or [Day] Pack Order CSV.

Route Management

Routing Method

Under Delivery > Settings > Routing Method you choose how orders get put in delivery order. The options include:

  • None
  • GPX download
  • Routific (Web App, or the newer Routific Integration)
  • WorkWave
  • MapPoint
  • RouteSavvy
  • RoadWarrior
  • OptimoRoute
  • Manual Drag & Drop
  • External FedEx shipping import/export
  • External Shipping Fulfillment
  • EasyPost labels only

Kiva Logic recommends Routific for automated routing. Your chosen method changes which download/upload steps appear in each day's section.

Routific Integration (newer keys)

With a newer Routific (Platform) key and a Workspace ID set, you can send a day's orders to Routific, build and optimize the routes in Routific, then update the stops from Routific to pull the optimized stop order back in. New Routific routes can be auto-created to match.

Uploading RouteSavvy / RoadWarrior Route Data Back In

Purpose: Import the optimized stop order after routing on RouteSavvy or RoadWarrior.

Steps:

  1. Select the day, then choose the CSV file exported from RouteSavvy or RoadWarrior.
  2. Choose the matching route from the "Select route..." dropdown (the system tries to auto-match it to the uploaded filename).
  3. Click to upload the route data.

Route dropdown: By default it only lists routes that already have orders assigned for that day. Check "Show all routes for the day (including ones with no orders yet)" to add empty routes to the list, labeled "(no orders yet)". Useful when uploading a new route before any orders have been assigned to it.

Setting stop numbers

When you download route/order CSV data, an Auto-set stop numbers checkbox (checked by default) writes the stop order back onto the orders. Stop numbers can also be adjusted on the routing page (Adjust Stop Numbers, admin_routing.php).

Dragging and dropping the routes in a day reorders how they appear in an all-routes PDF. This is about print order, not delivery optimization.

Update Stop Numbers and Splitting Routes

  • Update Stop Numbers renumbers a day's stops starting at 1, in the current route/stop order.
  • Split 'em up! breaks a route with more than about 100 stops into smaller batches. Large label runs (a few hundred at once) are slow and can time out, so split big routes before printing, then renumber stops before you print so the driver sheet order is correct.

Reprinting from Download History

Each day section keeps a download history of the label/PDF batches you've already generated, with delete / un-delete controls. To reprint a batch, re-download it from that history instead of regenerating it.


Importing Orders and Weights

The Upload panel at the top of the page opens the CSV upload used for routing return files and links to Order Import and Weights Import, so you can bring orders or product weights in from here.


Shipping Integrations

EasyPost

Purpose: Generate carrier shipping labels (FedEx, UPS, USPS, and others) for orders that ship rather than deliver locally.

Setup (Delivery > Settings > EasyPost):

  • Requires an EasyPost account and API keys
  • Warehouse ship-from address (street, city, state, ZIP, country) and a phone number
  • Carrier name and the service-level identifiers you want to allow
  • Optional box weights, dry-ice weight, and label-date options
  • Optional automatic customer tracking emails (in-transit and weather-delay notifications)

Generating labels:

  1. Select the week and day.
  2. Click the EasyPost Shipping Labels button for a route.
  3. EasyPost creates the shipments, tracking numbers are saved to the orders, and the label PDF is produced.

Upload Tracking Numbers CSV

Purpose: Attach tracking numbers to orders from a carrier's CSV (for example when labels are made in the carrier's own software instead of EasyPost).

Steps:

  1. Open the Upload Tracking CSV option.
  2. Choose the CSV file and submit.
  3. The system reads each row, matches an order ID to a tracking number, and saves the tracking number, tracking URL, and timestamp to that order. A message reports how many rows were updated.

How rows are matched: the importer scans each cell and recognizes:

  • Order ID: a plain 5 to 9 digit number
  • FedEx: 12, 15, or 20 digit numbers
  • UPS: starts with 1Z
  • OnTrac: starts with 1LSC
  • DHL eCommerce: starts with JD
  • GLS: a long code starting with the current year

Rows where no order ID and tracking number can be found are skipped. This upload attaches tracking; it does not itself email customers or change order status.


Special Label Types

Thermal Printer Labels

When thermal printing is enabled for your account, packing labels are produced in a 4x6 thermal format instead of a standard sheet layout. This is a printer/format setting, not a separate button.

Avery 5351 Labels

Purpose: Optional address labels included with your label download, printed on Avery 5351 sheets. Enable under Delivery > Settings.

Offset: If you already used some labels on a sheet, set an Avery offset so printing starts lower on the page and skips the used positions.

Avery 8463 Labels

Purpose: Optional larger address labels (2" x 4", 10 per sheet) on Avery 8463 stock, also included with the label download when enabled. Has its own offset setting.

QR Code

Purpose: An optional QR code on labels. It can be set to encode the Customer ID for scanning. Enabled and configured under Delivery > Settings.

Separate Bundle PDF Labels

Purpose: Controls how bundle contents are printed on packing labels. Set under Delivery > Settings.

  • Print bundle contents with the rest of the order (default) - bundle items print inline on the order's own label.
  • Print bundles as separate PDF labels (appended after the route) - bundle contents print as their own addendum pages, appended after the route's regular labels.

This applies to all packing-label downloads, including single-route, all-routes, and large/batch print runs.


Delivery Settings

Delivery > Settings (print_labels.php?settings=1) is where the optional features above are turned on and configured, including:

  • EasyPost account, warehouse address, carriers, weights, and tracking-email options
  • Avery 5351 and Avery 8463 labels and their offsets
  • QR code option
  • Routing method
  • Driver-sheet options (ETA column, note space, special pack sheet, box/bag/freezer/fridge notation)

Common Use Cases

Use Case 1: Daily Label Printing (Local Delivery)

Goal: Print all labels and driver sheets for a delivery day.

Steps:

  1. Open the Delivery page and Select Week.
  2. Find the day's section.
  3. Click All [Day] Packing Labels and print.
  4. Click [Day] Driver Sheet and print for the drivers.

Use Case 2: Shipping Orders via EasyPost

Goal: Generate carrier labels for a route that ships.

Steps:

  1. Select the week and day.
  2. Click EasyPost Shipping Labels for the route.
  3. EasyPost creates the shipments, saves tracking numbers to the orders, and produces the label PDF.
  4. Print and apply the labels.

Use Case 3: Optimizing Routes with Routific

Goal: Put stops in the best delivery order using Routific.

Steps:

  1. With a Routific Platform key and Workspace ID configured, send the day's orders to Routific.
  2. Build and optimize the routes in Routific.
  3. Back in Kiva Logic, update the stops from Routific to pull the optimized order in.

Use Case 4: Attaching Tracking from a Carrier CSV

Goal: Import tracking numbers from a carrier export.

Steps:

  1. Make labels in the carrier's software and export the CSV (it should contain order IDs and tracking numbers).
  2. On the Delivery page, use Upload Tracking CSV and choose the file.
  3. The importer matches each order ID to its tracking number and saves it. A message reports the number of rows updated.

Troubleshooting

A day or route is missing its buttons

Check:

  1. Did you Select Week for the right week?
  2. Does that day/route actually have orders? Routes with zero orders do not show download buttons.
  3. Is the feature enabled (Avery, receipts, QR, EasyPost) under Delivery > Settings?

EasyPost labels not generating

Check:

  1. EasyPost keys entered under Delivery > Settings?
  2. Warehouse ship-from address complete (street, city, state, ZIP, country) and phone set?
  3. Carrier and service-level identifiers configured?
  4. Addresses valid (check the EasyPost dashboard for errors)?

If a route reports orders with no shipping label, go to the Orders page, filter to that route, and create labels for the customers who are missing one.

Tracking CSV uploaded but nothing updated

Symptoms: "CSV processed but no valid rows found," or fewer rows updated than expected.

Check:

  1. Does each row contain both a recognizable order ID (5 to 9 digits) and a tracking number?
  2. Is the tracking number in a format the importer recognizes (FedEx digit lengths, 1Z, 1LSC, JD, or a year-prefixed GLS code)?
  3. Do the order IDs exist in the system?

Driver sheet order looks wrong

Check:

  1. Was the day routed (via your routing method) and were stop numbers set?
  2. If you use RouteSavvy/RoadWarrior, did you upload the optimized CSV back in?
  3. If you use Routific Integration, did you update stops from Routific after optimizing?
  4. Use Adjust Stop Numbers (admin_routing.php) to correct the order, then re-download the driver sheet.

  • Orders (cust_order.php) - view and edit individual orders, filter by route, create labels
  • Routes / Map Editor - configure delivery routes and zones
  • Drivers - manage driver profiles used with driver tips and tracking
  • Delivery > Settings (print_labels.php?settings=1) - configure labels, QR, routing method, and EasyPost
  • Packing Order - sets the product order used by the Pack Order sheet

Quick Reference Card

Task Action/Location
Print all packing labels for a day Select week, find day, click "All [Day] Packing Labels"
Print packing labels for one route Click that route's packing-label button
Download a driver sheet Click "[Day] Driver Sheet" (or a per-route button)
Generate carrier shipping labels Click "EasyPost Shipping Labels" for the route
Attach carrier tracking numbers Use "Upload Tracking CSV"
Print Avery labels Enable in Settings, then "All [Day] Avery Labels" / "Avery 8463 Labels"
Print receipts Enable in Settings, then "All [Day] Receipts"
Download the pack order Click "[Day] Pack Order PDF" or "Pack Order CSV"
Send a day to Routific Routific Integration: send day, then "update stops from Routific"
Import RouteSavvy/RoadWarrior order Upload the exported CSV and pick the matching route
Change routing service Delivery > Settings > Routing Method

FAQs

How are orders organized on this page?

By delivery week, then by day (Sunday through Saturday), then by route. Only days and routes that have orders show buttons.

What format do labels print in?

Standard sheet format, or a 4x6 thermal format if thermal printing is enabled for your account.

Which routing services can I use?

Routific (Web App or Integration), RouteSavvy, RoadWarrior, OptimoRoute, WorkWave, MapPoint, a GPX download, Manual Drag & Drop, and external FedEx/shipping-fulfillment formats. Set it under Delivery > Settings > Routing Method.

Does uploading a tracking CSV email my customers?

No. That upload only attaches tracking numbers to orders. Automatic customer tracking emails are a separate EasyPost setting.

Where do I turn on Avery labels, receipts, or QR codes?

Under Delivery > Settings. Once enabled, their buttons appear in each day's section.


Change Log

2026-08-03

  • Fixed large/batch packing-label print runs so they include the "separate PDF" bundle addendum pages when that setting is on (previously only single/all-routes downloads included them).

2026-07-24

  • Rewrote the doc to match the actual Delivery page: corrected Avery 5351 (not 5160), QR encodes Customer ID, tracking CSV carrier list and behavior, and the real routing-method list. Removed features the page does not have.

2026-07-20

  • RouteSavvy/RoadWarrior route dropdown gained a "Show all routes for the day" toggle to include routes with no orders yet, not just ones already in use.

For additional help, contact Kiva Logic support.