Add an instant pricing calculator to your site with Excel
Let prospects self-serve an accurate quote on your website by publishing your existing Excel pricing model as a web service and calling /execute.
If your prices come out of a spreadsheet, your website can quote them too. Publish that Excel model as a Businesslogic web service, drop a small form on your page, and call /execute when someone clicks Calculate. Prospects get an accurate number in seconds, and the math is the same model your team already maintains. No rebuild, no second pricing logic to keep in sync.
Why a live calculator beats "contact us for a quote"
A quote form sends a lead into a queue and asks them to wait. Some convert; many leave to check a competitor who shows a price now. A live calculator answers the question on the spot, qualifies the visitor before sales spends a minute, and works at 2am on a weekend. You still capture the lead — but after they have seen a number they like.
- Instant answer instead of a callback, so fewer prospects bounce to find one elsewhere.
- Self-qualifying: the inputs they enter tell you what they actually need.
- Sales handles negotiation and edge cases, not routine "what would this cost" emails.
How it works
Three pieces, and only the first touches Businesslogic:
- Publish the workbook. Upload your pricing
.xlsx, mark the cells that are inputs (quantity, plan, region) and the cells that hold the result (total price). Businesslogic turns it into a web service with an/executeendpoint. - Build a small form. A few fields on your page matching those inputs, and a Calculate button.
- Call
/executeand render the result. On submit, send the inputs through your own backend, read the price back, and show it.
A realistic example
Say you run a print shop. Your quoting sheet already takes quantity, paper grade, and finish, applies your volume discounts, and returns a price. That sheet becomes the calculator. The visitor picks 500 brochures on premium stock with a matte finish; your page posts those three values and shows the exact figure your sales team would have quoted — because it is literally the same workbook.
Keep the service token on your server, never in the page. The browser posts the inputs to a tiny endpoint of your own, and that endpoint adds the token and calls Businesslogic. In the page:
// In the browser — no token here.
const res = await fetch('/api/quote', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
quantity: 500,
paper_grade: 'premium',
finish: 'matte'
})
});
const { total_price } = await res.json();
document.querySelector('#quote').textContent = `€${total_price}`;Your /api/quote function — a serverless handler or a route on your server — holds the token and forwards the call:
// On your server (token stays here, read from an env var).
export default async function handler(req, res) {
const r = await fetch('https://api.businesslogic.online/execute', {
method: 'POST',
headers: {
'X-Auth-Token': process.env.BUSINESSLOGIC_TOKEN,
'Content-Type': 'application/json'
},
body: JSON.stringify(req.body)
});
res.json(await r.json());
}That is the whole integration. If you would rather not write it by hand, the businesslogic-js library helps wire a form to your service, and /describe returns the input and output schema so you know exactly which fields to send.
Why the numbers stay trustworthy
The calculator does not own a copy of your pricing logic — it calls the one Excel file your team already keeps current. Change a rate or a discount tier in the workbook, republish, and the website quotes the new number immediately. There is one source of truth, so the price a visitor sees online is the price your back office would charge. No drift between a hard-coded web calculator and the real model, because there is no second model.
If your sales team trusts the spreadsheet, your website can quote from it — without copying the logic anywhere.
Have a pricing or quote model in Excel? Start your free 14-day trial (no card required), publish it, and add a self-serve calculator to your site this week.