Cost of doing business calculator
Fixed costs of 12,000 and variable costs of 9,000 for 2,000 units make a total of 21,000, or 10.5 per unit: 6 fixed and 4.5 variable. Enter both cost pools and the units produced to cost any run. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Fixed costs
- 12,000
- Variable costs
- 9,000
- Total cost
- 21,000
- Cost per unit
- 10.5
- Fixed cost per unit
- 6
- Variable cost per unit
- 4.5
Cost of doing business is the full production bill for a chosen volume: every dollar that stays put when output changes, plus every dollar that moves with it. This calculator takes three numbers — fixed costs, variable costs, and units produced — and returns the period total and the average cost of one unit. The identity is the one taught in managerial accounting: total cost equals fixed costs plus variable costs, and cost per unit is that total divided by units produced.
Two cost pools that behave differently
The cost of doing business at a given volume is the sum of two pools. Fixed costs, such as rent, salaried staff, insurance, property tax, scheduled depreciation and software seats, do not move whether you make one unit or ten thousand in the period. Variable costs, such as direct materials, piece-rate labor, packaging, outbound freight and sales commissions tied to volume, are the outlays that belong to the units you actually made. Add the two and you have the total bill for that run: 12,000 fixed plus 9,000 variable is 21,000.
From the total to a cost per unit
Divide the total by the units produced to get the average cost of one unit. That average has two pieces. The fixed piece falls as volume rises, because the same rent is spread across more units; the variable piece is the run's true variable cost per unit. With 2,000 units, 6 plus 4.5 gives 10.5. That is the figure for a job card, a standard-cost sheet or a make-versus-buy comparison. Keep both pools in one currency and in the same period as the unit count, or the average will mislead you.
How total cost and cost per unit are computed from the two cost pools
A firm's cost of doing business at a stated volume is the sum of two pools that behave differently when output changes. Fixed costs — rent, salaried staff, insurance, property tax, scheduled depreciation, software seats — stay the same whether you produce one unit or ten thousand in the period you are costing. Variable costs — direct materials, piece-rate labor, packaging, outbound freight, sales commissions tied to volume — are the outlays that belong to the units you actually made.
Negative cost pools are rejected because a cost of doing business is an outlay, not a credit memo. The arithmetic is a handful of finite operations; there is no inflation index, no tax engine, and no currency conversion. Scale both pools into the same currency before you call, and keep the unit count in the same period as the ledger lines you summed.
FAQ
How is the cost of doing business calculated?
Cost per unit is that total divided by units produced.
What happens if units produced are zero?
Zero or negative units make cost per unit undefined, and those failures are not billed.
How is this different from a break-even calculator?
Break-even needs a selling price and solves for the quantity that covers the book. Cost of doing business takes the quantity as given and reports total cost and cost per unit. The two answers are not interchangeable.
Do I enter the variable cost per unit or the total?
The total. Enter the whole variable pool for the run, such as all materials and commissions for those units. The calculator works out the variable cost per unit for you, 4.5 in the example.
Which costs are fixed and which are variable?
Fixed costs stay the same whatever you produce: rent, salaried staff, insurance, property tax, depreciation and software seats. Variable costs belong to the units made: materials, piece-rate labor, packaging, outbound freight and volume-based commissions.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/fin/cost-of-doing-business \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"fixed_costs":12000,"variable_costs":9000,"units":2000}'const res = await fetch("https://api.kit.forhosting.com/fin/cost-of-doing-business", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"fixed_costs": 12000,
"variable_costs": 9000,
"units": 2000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/cost-of-doing-business",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"fixed_costs": 12000,
"variable_costs": 9000,
"units": 2000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/cost-of-doing-business", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"fixed_costs":12000,"variable_costs":9000,"units":2000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"fixed_costs":12000,"variable_costs":9000,"units":2000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/cost-of-doing-business", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"fixed_costs": 12000,
"variable_costs": 9000,
"units": 2000
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.cost_of_doing_business",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
Zero units make the average undefined, so the task fails with invalid_input and is not billed.
How total cost and cost per unit are computed from the two cost pools
This endpoint treats variable_costs as the total variable pool for the stated production volume, not a per-unit rate: you already know what the run cost in materials and commissions, or you have budgeted that total. The period total is then the textbook identity total_cost equals fixed_costs plus variable_costs. Average cost per unit is that total divided by units produced, which also splits into a fixed piece (fixed_costs divided by units) that falls as volume rises and a variable piece (variable_costs divided by units) that is the run's true variable cost per unit. The two pieces add back to cost_per_unit, which is the number that belongs on a job card, a standard-cost sheet, or a make-versus-buy comparison.
Input contract, response shape, and error behaviour
Money totals are rounded half-up to cents; per-unit figures are rounded half-up to six decimal places so a large volume still shows a stable average. Example: twelve thousand of fixed costs, nine thousand of variable costs, and two thousand units yield a total cost of twenty-one thousand, a cost per unit of ten point five, a fixed cost per unit of six, and a variable cost per unit of four point five. POST a JSON body with three required finite numbers. fixed_costs is the period's total fixed pool in one currency unit; aliases fixed, fc, and fixed_cost map to the same field. variable_costs is the total variable pool for the units you are costing, in that same currency; aliases variable_cost, variable, and vc are accepted so a ledger export can keep its column names. units (aliases units_produced, quantity, q) is the count of units produced in the same period. Each numeric field may arrive as a JSON number or a numeric string. Missing fields, empty strings, and non-finite values fail with invalid_input naming the field. If fixed_costs or variable_costs is negative the request fails. Those failures are not billed. On success the body echoes the three inputs, then reports total_cost, cost_per_unit, fixed_cost_per_unit, and variable_cost_per_unit. Pair the JSON with your own bill of materials if you need to derive variable_costs from SKUs; this endpoint costs a given pool and a given volume, it does not explode a recipe. Keep requests small, pin the rounded fields in tests, and treat aliases as transport names only.
Where a cost of doing business calculator earns its keep
Operations managers use a cost of doing business calculator when a production run closes and the ledger has a rent line, a materials line, and a unit count that must become one average for the job card. Failed validation does not consume balance. Keep units strictly positive, keep both cost pools non-negative, pin the rounded currency fields in tests, and you get a reproducible cost of doing business for job cards, LMS plugins, and edge workers without standing up a cost-accounting engine of your own. Job shops re-run the same three fields when a second shift is added or a materials invoice lands late, then pin the new cost_per_unit before quoting the next batch. Finance partners drop fixed_costs from the overhead budget, variable_costs from the AP subledger, and units from the production report, and they store total_cost and cost_per_unit in a costing sheet so every estimator shares one number. This is a different search and a different job from a break-even calculator: break-even needs a selling price and solves for the quantity that covers the book, while cost of doing business takes the quantity as given and reports what the book actually was. It is also distinct from a consumer cost-per-use tool, which divides a purchase price by expected uses of a durable good.
Integration use cases
Close a production run onto a job card
Turn the period's fixed pool, the run's variable pool, and the units produced into one total_cost and one cost_per_unit for the job card.
Refresh a job-shop quote after volume or materials change
Re-cost the batch when a second shift is added or a materials invoice lands: same calculator, new units or variable_costs, one shared average.
Pin standard-cost fixtures in ERP and CI
Drop fixed_costs, variable_costs, and units from the budget and the production report, then pin total_cost and cost_per_unit in estimators and tests.
Technical questions
Is variable_costs a per-unit rate or a total?
A total for the stated production volume. Enter the variable pool that belongs to those units (materials, piece-rate labor, freight, commissions). The per-unit variable cost is returned as variable_cost_per_unit.
What does the cost of doing business calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.