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.

Rules referenceReference

This page is the fine print behind Rules: validation & keys — exactly how to write conditions, comparisons and default values. For the list of every rule type, see that page; for money and unit conversions, see Currency & unit conversions.

Conditional rules — rule type conditional (or its other name, validation) — apply a rule only when a condition holds: a receipt required only above 100, a reason required only when a claim is rejected. All three of these forms read the same:

  • required if <condition>
  • [if] <condition> [then] required
  • (<condition>) then required — e.g. (total > 100) then required
OperatorMeaning
is = ==Equals
is not != <>Not equal
> >=Greater than · greater-or-equal (date- and number-aware)
< <=Less than · less-or-equal

Combine conditions with AND, OR or XOR. AND binds tightest, then XOR, then OR. A quoted value containing one of those words is never split — "Research and Development" stays whole.

A value can beMeaning
123a number
"Active"text in quotes
2026-07-01a date, written year-month-day
start_dateanother field's value
emptytrue when the field is blank (unquoted; a quoted "empty" means the literal word)
system datethe save date — also current date, today, now
current yearthe current year (e.g. 2026) — also this year; for year fields
current monththe current month, YYYY-MM (e.g. 2026-07) — for month fields
<date>.yeara calendar part of another date field — also .month, .day, .quarter, .week
Reaching across the form. A field name can be qualified — HEADER.status or status from HEADER — so a line-item rule can read a value from the header. Field names are matched forgivingly — case, spaces and near-miss spellings still work.

Comparisons & ranges. On a required rule (or as a bare conditional value), the Value cell can hold a comparison — in words or symbols — checked against the field's own value:

Value cellMeans
greater or equal to start_datevalue ≥ start_date
less than 100value < 100
>= start_datethe symbolic form of the same
equal to X · not equal to Xmust match / must differ
between <low> and <high>an inclusive range (the between rule type)

You can spell the direction in plain words too — each optionally followed by or equal to. The thing you compare against can be a number, a date, text in quotes, another field, or the "today" words; current year, current month and a date part such as field.year also work:

WordsDirection
greater · more · later · afterHigher, or later in time
less · smaller · earlier · beforeLower, or earlier in time

Default values. Any rule's Value cell can pre-fill the field, so people type less and records start out consistent. Fixed text stays as written; a reference or a calculation is worked out when the form (or a new line row) opens:

Value cellFills with
default value "Created"the literal text "Created"
default = 0the number 0
default = HEADER.currency_codea value copied from another field
default = amount / 100a calculation
system date · today · nowthe record's creation date — pair with display to show it read-only