{
  "slug": "dunnage-packaging-cost",
  "title": "Dunnage & Packaging Cost Per Order Calculator",
  "heading": "Dunnage & Packaging Cost Per Order Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/dunnage-packaging-cost",
  "summary": "Blend carton, void fill, tape, and label cost into a true per-order packaging cost.",
  "description": "Packaging materials are a per-order variable cost that's easy to underestimate because each component looks cheap individually — a carton, some void fill, a strip of tape, a label — but multiplied across tens of thousands of monthly orders it becomes a real margin driver. This calculator sums carton cost, void fill/dunnage cost, tape and closure cost, and label/insert cost per order, then applies a damage-in-transit reserve percentage to account for the cost of items that arrive damaged and require replacement packaging and reshipment. Right-sizing cartons is usually the biggest lever here: an oversized box needs more void fill to prevent shifting and often triggers dimensional weight freight charges on top of the wasted material cost, so packaging cost and freight cost should be reviewed together, not in isolation.",
  "formula": "Cost per order = Carton + void fill + tape/closure + label/insert, grossed up by damage reserve %.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=dunnage-packaging-cost",
  "inputs": [
    {
      "id": "carton",
      "label": "Carton cost",
      "kind": "number",
      "hint": null,
      "default": 0.85,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "voidFill",
      "label": "Void fill / dunnage cost",
      "kind": "number",
      "hint": null,
      "default": 0.35,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "tape",
      "label": "Tape / closure cost",
      "kind": "number",
      "hint": null,
      "default": 0.12,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "labelInsert",
      "label": "Label + inserts cost",
      "kind": "number",
      "hint": null,
      "default": 0.18,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "damageReserve",
      "label": "Damage-in-transit reserve",
      "kind": "number",
      "hint": null,
      "default": 3,
      "unit": "%",
      "min": 0,
      "max": 20
    },
    {
      "id": "monthlyOrders",
      "label": "Monthly order volume",
      "kind": "number",
      "hint": null,
      "default": 40000,
      "unit": null,
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "perOrder",
      "label": "Total packaging cost per order",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "base",
      "label": "Base material cost (before reserve)",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "monthlyCost",
      "label": "Monthly packaging spend",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "annualCost",
      "label": "Annual packaging spend",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Carton cost: 0.85 $",
      "Void fill / dunnage cost: 0.35 $",
      "Tape / closure cost: 0.12 $",
      "Label + inserts cost: 0.18 $",
      "Damage-in-transit reserve: 3 %",
      "Monthly order volume: 40000"
    ],
    "outputs": [
      "Total packaging cost per order: $1.545",
      "Base material cost (before reserve): $1.50",
      "Monthly packaging spend: $61,800",
      "Annual packaging spend: $741,600"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter carton cost ($).",
      "Enter void fill / dunnage cost ($).",
      "Enter tape / closure cost ($).",
      "Enter label + inserts cost ($).",
      "Enter damage-in-transit reserve (%).",
      "Enter monthly order volume.",
      "Read your total packaging cost per order on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "carton": 0.51,
        "voidFill": 0.21,
        "tape": 0.072,
        "labelInsert": 0.108,
        "damageReserve": 1.7999999999999998,
        "monthlyOrders": 24000
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "carton": 0.85,
        "voidFill": 0.35,
        "tape": 0.12,
        "labelInsert": 0.18,
        "damageReserve": 3,
        "monthlyOrders": 40000
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "carton": 1.36,
        "voidFill": 0.5599999999999999,
        "tape": 0.192,
        "labelInsert": 0.288,
        "damageReserve": 4.800000000000001,
        "monthlyOrders": 64000
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "Why does carton size matter beyond the box cost itself?",
      "a": "An oversized carton needs more void fill to stop the item shifting in transit, weighs more once filled, and can trigger dimensional weight pricing from parcel carriers that charges by cubic size rather than actual weight. A right-sizing program that matches carton to order size can cut both packaging spend and outbound freight spend simultaneously, often by 10-20% of freight cost on affected orders."
    },
    {
      "q": "What's a reasonable damage reserve percentage?",
      "a": "For durable, well-packaged goods shipped parcel, 1-3% is typical. Fragile items, glass, or freight-class LTL shipments with more handling touches often run 4-8%. Track actual damage claims and returns coded as 'arrived damaged' over a quarter to set this input from real data instead of a guess."
    },
    {
      "q": "Should packaging cost be billed separately in a 3PL quote?",
      "a": "Most 3PLs pass through packaging materials as a separate line item, either at cost-plus or a flat per-order packaging fee, rather than bundling it into the pick-and-pack labor rate. Keeping it separate makes it easier for the client to see the impact of their own packaging spec choices, like requiring branded boxes or extra protective packaging."
    },
    {
      "q": "How much can bulk purchasing reduce these costs?",
      "a": "Carton and void fill costs typically drop 15-25% when moving from small-quantity purchasing to full-truckload corrugate orders or annual supply contracts. For a 40,000-order-per-month operation, that's often a five-figure annual savings, so revisit packaging supplier contracts at least annually as volume grows."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/3pl-pricing-quote",
    "https://www.revenuelab.fyi/toolbox/freight-class-density",
    "https://www.revenuelab.fyi/toolbox/pick-rate-labor-cost"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Dunnage & Packaging Cost Per Order Calculator (https://www.revenuelab.fyi/toolbox/dunnage-packaging-cost)"
}