An order rarely ships as one clean box the moment it's invoiced. Stock arrives late on one line item, a client asks for an early partial delivery, or a large order genuinely needs multiple shipments to move. A packing slip generator that assumes "one invoice, one box, done" breaks the first time reality doesn't match that assumption. Here's how BillRyt's actually handles it.
Generate a packing slip from an invoice in one click
Create the packing slip directly from the source invoice — line items, quantities, and the client's shipping details carry over automatically, so the warehouse sees exactly what to put in the box without anyone re-typing the order. The packing list stays linked back to its source invoice, so anyone checking later can trace a shipment to the exact order that generated it.
Partial shipments, tracked properly
Here's the part a simpler tool misses: an order doesn't have to ship all at once. BillRyt tracks packed quantities per line item across multiple packing lists against the same invoice, so if 8 of 20 units ship this week and the remaining 12 ship next week, each shipment is its own packing list, and the system knows exactly what's already gone out and what's still owed — without a redundant "fully shipped" status forcing an all-or-nothing shipment. Nothing gets double-shipped, and nothing gets forgotten because the first partial shipment "looked done."
A real status lifecycle — and a way to undo it
A packing list moves through shipped and delivered as distinct states, not one flat "sent" flag — useful when you want to track that goods left the warehouse separately from confirming they arrived. And because mistakes happen, a shipment can be voided, which reverses the stock deduction it caused — so marking something shipped by accident doesn't leave your inventory count permanently wrong.
Shipping internationally? The consignee is handled separately
For export shipments, the party receiving the goods isn't always the party being billed. BillRyt's packing list carries its own consignee details, separate from the invoice's bill-to party, so a shipment to a freight forwarder or a client's warehouse doesn't require the invoice itself to be addressed somewhere the goods aren't actually going.
A worked example
A furniture retailer takes a 20-unit order for a client renovating multiple locations. Ten units are in stock and ship immediately as one packing list; the remaining ten are on backorder and ship three weeks later as a second packing list against the same invoice. Each shipment deducts its own stock, logs its own movement-ledger entry, and the invoice's fulfillment status reflects exactly what's shipped and what's still owed — no manual spreadsheet tracking "shipped so far" separately from the order.
Where this fits the bigger picture
Packing lists are part of BillRyt's inventory pipeline: enable stock tracking on a product, and shipping a packing list is one of the two moments that deducts stock automatically (the other being an invoice sent without a packing list, for goods that leave as billed). Every deduction — full or partial — writes to a permanent, traceable stock movement ledger, so a warehouse team and an accounts team are always looking at the same numbers.
Every shipment is traceable, not just recorded
A packing list isn't a disconnected paper trail — every deduction it causes, full or partial, writes to the same permanent stock movement ledger the rest of your inventory uses, with each entry linked back to the specific packing list and invoice that caused it. When a stock count looks off weeks later, you don't have to guess whether it was a partial shipment, a full one, or a manual adjustment — the ledger names exactly which packing list moved which quantity, and when.
Fits into the same workflow as everything else you ship
A packing list isn't a separate tool bolted onto invoicing — it's generated from the same invoice, references the same product catalogue and client record, and (on the Merchant plan) feeds the same reporting used for inventory valuation and reordering. A warehouse team working from packing lists and an accounts team working from invoices are always looking at the same underlying data, not two systems someone has to keep in sync by hand.
A second worked example: an accidental duplicate shipment
A warehouse team marks the same packing list shipped twice by mistake, deducting stock for units that only physically left the building once. Because the second action can be voided — reversing exactly the stock movement it caused — the count corrects itself without a manual adjustment entry trying to guess how much to add back. The movement ledger shows both the mistaken deduction and its reversal, so the correction is visible rather than a silent edit to the number on screen.
Fitting export shipments into the same flow
International orders add one more wrinkle: the goods often need to clear customs before they reach the buyer, and the paperwork needs to name the right parties correctly. Because the packing list's consignee details are separate from the invoice's billing party, an export shipment routed through a freight forwarder or a client's receiving warehouse doesn't force you to choose between an accurate invoice and an accurate shipping document — each one names who it actually needs to — the invoice addressed to whoever is paying, the packing list addressed to wherever the goods are physically going, without one document forcing a compromise on the other.
In short
Real orders ship in pieces more often than tools built around "one invoice, one shipment" assume. Partial shipments tracked properly across multiple packing lists, a shipped-then-delivered status lifecycle with the ability to void a mistake, consignee details separate from billing, and every deduction traceable back to the exact shipment that caused it — that's what a packing slip generator built for how goods actually move looks like, not just a static PDF copy of an invoice with a different header on it.
Start free to explore the document pipeline, then move to Merchant ($39/month) for inventory and packing lists.