What is ledger history?

Normally a Kitetag holds one current value per field. Tap it, change the quantity, and the old quantity is gone — like editing a single cell in a spreadsheet.

With ledger history on, each tag keeps a growing list of rows. Every completed tap adds one row holding a snapshot of all the tag’s fields at that moment. Nothing is overwritten, so you can look back at how a tag’s values changed over time.

Normal structure Ledger history (list mode)
What a tag stores One value per field A list of rows, one per tap
On tap Values are replaced A new row is appended
History None — only the current value The full list of past rows
Groups table Values are editable inline Shows the latest row, read-only
Plan Any plan Professional

When should you use it?

Ledger history suits anything you count, read, or check more than once:

  • Inventory counts — a tag on a shelf or bin, tapped each time stock is counted
  • Meter and sensor readings — record a reading on each visit and keep the trend
  • Inspections and maintenance — one row per check, with who and what
  • Route or delivery checkpoints — a row each time the tag is scanned along the way

If your tags only ever hold current facts — a person’s contact details, a product URL — you do not need ledger history. A normal structure is simpler.

What you need

How to turn on ledger history

  1. Go to Data Structures in the dashboard.
  2. Create a new structure, or open an existing one to edit it.
  3. In the Fields section, turn on Store as a list (ledger history).
  4. Add or adjust the fields you want recorded in each row.
  5. Click Save.

Every Kitetag Group using that structure now keeps ledger history for its tags.

How a row gets added

A row is appended when a Tapper completes a tap — that is, when the interaction reaches the end of its steps. One completed tap adds exactly one row.

The row is a snapshot of all the fields in the structure after that tap’s changes are applied, not only the fields the Tapper edited. So a row always shows the tag’s full state at that point in time.

graph LR
    A[Tapper taps tag] --> B[Form Input opens<br/>prefilled with latest row]
    B --> C[Tapper edits what changed]
    C --> D[Tap completes]
    D --> E[New row appended<br/>to the ledger]

Taps that are abandoned partway through do not add a row.

How to view and edit a tag’s history

  1. Open the group that holds the tag.
  2. In the tags table, click the tag’s Callsign.
  3. The Ledger history page opens, listing every row with a row number and one column per field.

On this page you can:

  • Add row — insert a row by hand, for a count taken away from the tag
  • Edit any cell directly in the table
  • Remove a row that was recorded in error
  • Save history — write your changes back to the tag

If a tag has never been tapped and has no manual rows, you will see: “No rows yet. Add a row or tap the tag to append one.”

How to prefill a form with the last row

Counting work is usually “what was it last time, and what is it now?” The Form Input step handles this with Start from last saved values, which is on by default.

When the Tapper opens the form, any field whose name matches a field in the structure opens already filled with the value from the tag’s most recent row. The Tapper adjusts what changed and submits, and a new row is appended — the previous row is untouched.

To make prefill work:

  • The tag’s structure must have list mode on and have at least one row
  • Form Input field variable names must match the data structure field names

Turn the toggle off if you want the form to open blank on every tap.

Counting up and down on the tag

Set a Form Input field’s type to Number and the Tapper gets + and buttons beside the field, along with a numeric keypad on phones. Combined with prefill, this is the fastest way to count: the field opens at the last saved number, and the Tapper taps + or the right number of times.

Number fields start at 0 and step by 1, and cannot go below 0.

Plans

Ledger history is part of the Professional plan.

Plan Ledger history
Free
Basic
Plus
Professional Yes

On any other plan the Store as a list switch is disabled, and opening a tag’s Ledger history page shows an upgrade prompt instead of the table. See account and billing for the full plan comparison.

Limits to know about

  • One row per completed tap. There is no way to append several rows in a single tap.
  • Rows have no individual timestamp. The page shows one “Updated” time for the whole ledger, not a per-row date. If you need a date on each row, add a date field to the structure and set it during the tap.
  • No pagination or filtering. Every row is listed on one page, so very long histories get long.
  • No ledger export. CSV export covers the latest values that are mirrored onto the tag’s normal fields, not the full row history.

Troubleshooting

The “Store as a list” switch is greyed out

Your plan does not include ledger history. It requires Professional — see account and billing.

A tap did not add a row

Check that the Tapper reached the end of the interaction. A tap that is abandoned partway through does not append a row. Also confirm the group’s structure actually has list mode on.

The form opens blank instead of prefilled

Three things to check:

  1. The structure has list mode on and the tag already has at least one row (there is nothing to prefill from on the very first tap).
  2. Start from last saved values is on in the Form Input step.
  3. The Form Input field’s variable name matches the data structure field name. Mismatched names are the most common cause.

I cannot edit values in the groups table

That is expected in list mode. Open the tag’s Ledger history page and edit the rows there.

The structure editor sends me back to the list on my phone

Creating and editing structures needs a larger screen. Use a desktop or laptop browser.

Next steps

Last updated 14 Sep 2026, 15:30 -0700 . history