Community · Help

Sheetward User Guide

Turn an Excel or OpenDocument workbook (or Google Sheet) into a multi-user web app — forms, validation, lookups, import/export and more.

Currency & unit conversionsReference

Let the app do the currency and unit math. A calc rule converts an amount into another currency, or a quantity into another unit, and stores the result — so a report in euros stays right even when orders arrive in dollars. Put the conversion in the Value column: the target field becomes read-only, updates live as you type, and recalculates every time the record is saved. Four functions are available — two that read conversion tables in your own workbook, and two that need no tables at all:

FunctionWhat it does
currency_conversion(amount, from, to)Converts the amount using the Exchange Rates table in your workbook.
unit_conversion(quantity, from, to)Converts the quantity using the Unit Conversions table in your workbook.
currency_conversion_api(amount, from, to, date)Converts with live exchange rates — no table needed. The date is optional (see below).
unit_conversion_api(quantity, from, to)Converts with Sheetward's built-in unit table — no table needed.

Reading the brackets. Each function takes the value to convert first — the money or quantity field — then the from and to codes; currency_conversion_api also accepts a fourth item, the date. A blank value stays blank (never 0), and the result always carries the target code — a fixed "EUR" keeps the field in euros, on screen and in exports.

Codes can be fixed or per-record. Write from and to as a code in quotes ("EUR"), or as a field name (currency) so each record converts from its own currency or unit — currency_conversion(total_amount, currency, "EUR") turns every order's total into euros, whatever it was billed in. You can add arithmetic around a conversion too (… * 1.02 for a 2% handling charge, say).

Table conversions keep the rate in your hands. They read two reserved lookup sheets: Exchange Rates with columns From · To · Rate, and Unit Conversions with From · To · Factor. Sheetward uses the exact pair, its reverse, or ×1 when the codes match; if a pair is missing it blocks the save and names the pair to add — so no total is ever computed on a made-up rate. Update the tables any time in Master Data; no re-upload needed.

API conversions need no tables at all. currency_conversion_api uses live European Central Bank reference rates from the free, keyless Frankfurter service (frankfurter.dev): give it a date (a date field, or a date like "2026-07-01") to convert at that day's published rate, or leave the date off to use today's. unit_conversion_api uses a built-in table covering common units of mass, length, area, volume, temperature and time — UNECE codes and everyday names like kg, lb, ft, °C. Both work in standalone apps whenever the computer running them has internet.

Not every currency is covered. The Frankfurter / ECB feed publishes only the world's major currencies — around 30 (USD, EUR, GBP, JPY and other actively-traded ones). currency_conversion_api can't convert a pair it doesn't list; it blocks the save with a message naming the pair. For any currency it doesn't cover, use the table-based currency_conversion and supply the rate yourself — add the From · To · Rate row to your Exchange Rates sheet, or keep it current in the app's Master Data.
A converted field always shows its target currency or unit — Total EUR is always €, whatever currency the order came in. If a live rate can't be fetched and none is cached, the save is blocked until the rate service is reachable — so a record never stores a stale guess. A missing table pair blocks the save the same way.
Use…Rates come fromBest when
currency_conversionYour Exchange Rates sheetYou set the rate yourself, or the currency isn't in the live feed
unit_conversionYour Unit Conversions sheetThe factor is your own — pieces per box, pallets per truck
currency_conversion_apiLive ECB reference rates (Frankfurter)Major currencies, today's or a past date's rate, zero upkeep
unit_conversion_apiSheetward's built-in unit tableCommon units (kg, lb, ft, °C…) with zero setup