Astra Dynamix AcademyASTRA DYNAMIXACADEMY
EN

All news and guides

Calculate your project price.
On your phone or computer.

Enter your costs and target margin. Calculate the project price and save your figures for next time.

Petr Klimeš · Original guide tested 24 October 2026 · Web calculator

  1. 01 Enter costs
  2. 02 Calculate the price
  3. 03 Save your calculation

Build your own with Codex

Phone and computer

1. Use the calculator in your browser.

On an iPhone, open this page in Safari. Fill in all four fields or select “Load sample figures”. Results update immediately. This web version needs an internet connection. The website also loads technical services described in our privacy notice.

1. Enter your costs

Total for the project, excluding VAT.
Your internal cost, not the rate charged to your customer.
The amount above entered costs as a share of selling price. From 0 to less than 100%.

2. Check the price

Recommended selling price

—

EUR excluding VAT

Total entered costs
—
Amount above entered costs
—

The amount above costs is not net profit. It does not account for overheads, taxes or other costs you have not entered.

Enter all four values or load the sample.

Calculations are not saved automatically. Before closing, use “Save calculation as JSON”. Load that file next time. It contains your prices, so store it according to the sensitivity of the data.

How do we calculate, and what are the limits?

Costs = material + hours × internal hourly cost. Selling price = costs ÷ (1 − margin / 100). Amount above costs = price − costs. Margin is not markup on costs.

Money inputs allow up to 2 decimal places; hours and percentages allow 4. Both commas and decimal points work; do not use thousands separators. Labour cost is rounded to cents, material is added, then selling price is rounded to cents. An exact half-cent rounds up. The amount above costs uses the displayed figures. The achieved margin may therefore differ slightly for small amounts.

Limits: material €1 billion, hours 1 million, rate €1 million/hour and selling price €1 trillion. Zero costs produce a zero price; a percentage margin is undefined at a zero price. The calculator does not determine market prices or replace accounting advice.

Application version 1.0.1. JSON format: ad-zakazka, version 1. The standalone file runs without a server, account or network dependencies. It has no analytics or automatic local storage.

Author: Petr Klimeš · Astra Dynamix Academy · basic version 1.0.1

How do you save your figures?

JSON is a file containing your saved calculation. Select “Save calculation as JSON”. This creates kalkulace-zakazky.json; the browser may add a number if a file with that name already exists. You do not need to edit the file manually.

On your computer, look in Downloads. On an iPhone, open the download list in Safari; the Files app shows the download folder chosen in Safari settings. Next time, open this calculator, select “Load JSON” and choose your saved file. Your inputs and result will be restored.

Saving works in both the web and downloaded versions. Check that the file exists before closing the calculator. It contains your prices, so keep it somewhere secure.

Original calculator screenshot, Czech interface.
After saving, check the downloaded file. Original screenshot with Czech interface. Enlarge screenshot

Offline on your computer

2. Download it. Use it offline.

To calculate without internet access, download the package to your computer. The standalone calculator does not send your entered prices to a server. On an iPhone, use the web calculator; HTML files opened in the Files app may not run calculations.

Download ZIP for your computer

  1. Extract the downloaded ZIP.

    The package contains kalkulacka.html, a short guide and the Codex prompt. On a Mac, double-click the ZIP; on Windows, choose “Extract All”.

  2. Open kalkulacka.html in a browser.

    On a Mac, use Safari or Google Chrome. If double-clicking opens a text editor, right-click the file and choose Open With, then your browser. The address bar will show a local file. No account or AI is needed to use the calculator.

  3. Load the sample, then change the inputs.

    Select “Load sample figures”. Costs should be €700, price €1,000 and the amount above costs €300. Then enter your own four values. The hourly cost rate is your internal cost, not the rate charged to the customer.

  4. Save your calculation before closing.

    Select “Save calculation as JSON” and check the saved file. Next time, open the HTML and select “Load JSON”. Saving and loading works the same way as in the web version.

Optional · build your own

3. Build your own with Codex.

You can use the finished calculator above straight away. This section is for trying to build your own app. You need a desktop app with Codex, a login, internet access and an empty folder. Check availability and limits in the current OpenAI overview.

  1. Prepare an empty folder and open Codex.

    Create a folder named moja-kalkulacka. Open your desktop app and select Codex. If you do not have the app yet, start with the official OpenAI instructions and sign in with your own account.

    Start a new chat for this folder. Choose local work on your computer, labelled Local or This computer; when choosing a project or folder, open moja-kalkulacka. GitHub and a cloud environment are not needed. Controls may move between versions; see projects and chats and the local Codex environment.

  2. Copy the full prompt and send it in the chat.

    Use the button below, paste the text into a new chat and send it. If Codex requests folder access or permission to write a file, check that it is working in moja-kalkulacka. You can also download the prompt as TXT.

    Create a simple offline project-price calculator as a single kalkulacka.html file with embedded CSS and JavaScript. It must open by double-clicking in a browser using file://, without a server, account, API, CDN, external fonts, analytics or network requests. Using it must not require AI. Do not create a framework or extra features.
    
    Use an English interface, EUR and amounts excluding VAT. Use a readable light layout, system fonts, visible focus and keyboard controls. Inputs: material and other direct costs, hours of labour, internal hourly cost rate and target margin percentage. Explain that cost rate is not the selling rate and margin is not markup.
    
    Costs N = material + hours × cost rate. Recommended selling price P = N / (1 − margin / 100). Amount above entered costs R = P − N. Never call R net profit. Overheads, taxes and other costs not entered are not included.
    
    Include buttons to load made-up sample figures, clear inputs, export the calculation as JSON and import JSON. The JSON format must have its own identifier and version. Invalid imports and unsupported versions must leave existing inputs unchanged. Check structure, data types and file size. Never render imported data using innerHTML or use eval. Do not save calculations automatically. Clearly tell users to export before closing; do not rely on localStorage.
    
    Accept decimal commas and points. Money permits at most 2 decimal places, hours and percentages 4. Material: 0 to €1 billion; hours: 0 to 1 million; rate: 0 to €1 million/hour. Margin: 0 to less than 100%. Maximum result: €1 trillion. Reject blank inputs, negative numbers, non-numeric and excessive values with clear errors. Clear outdated results on error and restore them when corrected.
    
    Calculate accurately in cents. Round labour cost to cents first, add material, then round selling price to cents. Round an exact half-cent up. Derive R from the displayed figures. Explain that rounding may slightly change the achieved margin. With zero costs, price is €0; a percentage margin at a zero price is undefined. Keep calculation functions separately testable. No discount, VAT, currency selection or other additions.
    
    Test the resulting HTML, not just an isolated formula. Check: material €400, 10 hours × €30, margin 30% gives costs €700, price €1,000 and amount above costs €300. Also test zero margin, zero costs, decimal values, invalid inputs and correction, export → close → reopen → import, malformed JSON and an unsupported version. Check operation without network access in a separate browser context; do not disconnect the whole computer. State the browser actually tested and any unverified parts. Finally show the file and brief instructions for opening it and saving calculations.
    
  3. Find the generated file and open it in your browser.

    When finished, open the moja-kalkulacka folder and its kalkulacka.html file. Load the sample. With material costs of €400, labour of 10 × €30 and a 30% margin, the price should be €1,000. Then check saving and reloading the calculation. Your version may look different; the check figures should match.

    Original calculator screenshot, Czech interface.
    Actual result of our original Codex prompt test, 24 October 2026. Original Czech interface. Enlarge screenshot
  4. If something is wrong, continue in the same chat.

    For example: “With material costs of 400, labour of 10 × 30 and a 30% margin, I expect a price of €1,000. The app shows something else. Find the cause, fix it and repeat the check.” Use made-up figures. Do not send JSON containing real business prices to Codex.

4. Check the figures.

Sample without a discount. All amounts exclude VAT.
ItemValueMeaning
Material and other direct costs400 €Total for the project
Labour10 hours × €30Internal cost €300
Total entered costs700 €400 + 300
Target margin30 %700 ÷ (1 − 0,30)
Recommended selling price1 000 €Not 700 × 1.30
Amount above entered costs300 €Not net profit

Sample without a discount. All amounts exclude VAT.

Material and direct costs
400 €Total for the project.
Labour
10 × 30 €Internal cost €300.
Total entered costs
700 €400 + 300.
Target margin
30 %Price = 700 ÷ (1 − 0.30).
Recommended selling price
1 000 €Margin is calculated from the selling price.
Amount above costs
300 €This is not net profit.

Try your own safe example.

Start with made-up figures similar to your work. Consider which costs you have left out. Then check export, close the app, open it again and load the saved JSON.

What if the app shows an error?

Complete all inputs. Values must be non-negative and the margin less than 100%. Use a comma or decimal point, without spaces or the € symbol. Invalid inputs clear the result so you do not use an outdated value. An invalid JSON file must leave your existing inputs unchanged.

How does rounding work?

Enter money to at most 2 decimal places, hours and percentages to 4. Labour cost is rounded to cents, material costs are added, then the selling price is rounded to cents. An exact half-cent rounds up. The achieved margin may therefore differ slightly on small amounts. Input and result limits are also shown in the app.