{
  "slug": "soap-making-cost",
  "title": "Soap Making Cost Calculator",
  "heading": "Soap Making Cost Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/soap-making-cost",
  "summary": "Cost per bar for a cold-process soap batch.",
  "description": "Oils, lye, fragrance, colorant, and packaging spread across bars cut from the batch, plus a suggested retail price.",
  "formula": null,
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=soap-making-cost",
  "inputs": [
    {
      "id": "batchOz",
      "label": "Batch oil weight",
      "kind": "number",
      "hint": null,
      "default": 48,
      "unit": "oz",
      "min": null,
      "max": null
    },
    {
      "id": "oilCost",
      "label": "Oil blend cost",
      "kind": "number",
      "hint": null,
      "default": 0.22,
      "unit": "$/oz",
      "min": null,
      "max": null
    },
    {
      "id": "lyeCost",
      "label": "Lye cost for batch",
      "kind": "number",
      "hint": null,
      "default": 1.4,
      "unit": "$",
      "min": null,
      "max": null
    },
    {
      "id": "fragrance",
      "label": "Fragrance cost for batch",
      "kind": "number",
      "hint": null,
      "default": 4.2,
      "unit": "$",
      "min": null,
      "max": null
    },
    {
      "id": "packaging",
      "label": "Packaging per bar",
      "kind": "number",
      "hint": null,
      "default": 0.55,
      "unit": "$",
      "min": null,
      "max": null
    },
    {
      "id": "barOz",
      "label": "Bar weight",
      "kind": "number",
      "hint": null,
      "default": 4.5,
      "unit": "oz",
      "min": 1,
      "max": null
    },
    {
      "id": "markup",
      "label": "Retail multiplier",
      "kind": "number",
      "hint": null,
      "default": 3,
      "unit": null,
      "min": null,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "retail",
      "label": "Retail price per bar",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "perBar",
      "label": "Cost per bar",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "bars",
      "label": "Bars from batch",
      "format": "number",
      "hint": null,
      "primary": false
    },
    {
      "id": "batch",
      "label": "Batch ingredient cost",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Batch oil weight: 48 oz",
      "Oil blend cost: 0.22 $/oz",
      "Lye cost for batch: 1.4 $",
      "Fragrance cost for batch: 4.2 $",
      "Packaging per bar: 0.55 $",
      "Bar weight: 4.5 oz",
      "Retail multiplier: 3"
    ],
    "outputs": [
      "Retail price per bar: $5.11",
      "Cost per bar: $1.70",
      "Bars from batch: 14",
      "Batch ingredient cost: $16.16"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter batch oil weight (oz).",
      "Enter oil blend cost ($/oz).",
      "Enter lye cost for batch ($).",
      "Enter fragrance cost for batch ($).",
      "Enter packaging per bar ($).",
      "Enter bar weight (oz).",
      "Enter retail multiplier.",
      "Read your retail price per bar 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": {
        "batchOz": 29,
        "oilCost": 0.132,
        "lyeCost": 0.84,
        "fragrance": 2.52,
        "packaging": 0.33,
        "barOz": 2.6999999999999997,
        "markup": 1.7999999999999998
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "batchOz": 48,
        "oilCost": 0.22,
        "lyeCost": 1.4,
        "fragrance": 4.2,
        "packaging": 0.55,
        "barOz": 4.5,
        "markup": 3
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "batchOz": 77,
        "oilCost": 0.35200000000000004,
        "lyeCost": 2.2399999999999998,
        "fragrance": 6.720000000000001,
        "packaging": 0.8800000000000001,
        "barOz": 7.2,
        "markup": 4.800000000000001
      }
    }
  ],
  "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": "How does the soap making cost calculator work?",
      "a": "Oils, lye, fragrance, colorant, and packaging spread across bars cut from the batch, plus a suggested retail price."
    },
    {
      "q": "What do I need to enter?",
      "a": "7 values: batch oil weight, oil blend cost, lye cost for batch, fragrance cost for batch, packaging per bar, bar weight, and retail multiplier. Each field starts with a sensible default, so you can change one number at a time and watch the result move."
    },
    {
      "q": "What does the retail price per bar result mean?",
      "a": "It is returned as a money amount in US dollars and updates live as you edit the inputs, so you can compare two or three versions of a scenario in a few seconds."
    },
    {
      "q": "Is this calculator free, and do I need an account?",
      "a": "Yes, it's free, and no account is required. Nothing you type is stored on our servers — the maths runs entirely in your browser."
    },
    {
      "q": "How accurate is the result?",
      "a": "It applies the standard formula exactly, so the arithmetic is precise. Results are estimates before tax, fees, and inflation unless an input explicitly covers them."
    },
    {
      "q": "Who is this tool for?",
      "a": "It's built for anyone comparing money scenarios before committing — budgeting a payment, sanity-checking a quote, or seeing what a change in rate or term actually costs."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/candle-making-cost",
    "https://www.revenuelab.fyi/toolbox/craft-pricing"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Soap Making Cost Calculator (https://www.revenuelab.fyi/toolbox/soap-making-cost)"
}