Series and columns
A named series with a stated type, one value to a row, held in the order you entered them. The series is the unit the whole tool is built around, because most records that went wrong started life as a pile of loose figures.
Records and tables
A recording tool for people who keep long series of figures: somewhere to enter them, a table that adds them up, a check that catches the row you typed twice, and an export that outlives the program. Built and maintained since {{ANO_FUNDACAO}} from {{CIDADE_UF_PAIS}}, with a preference for something simple that still opens in ten years over something impressive that does not.
One tool covers the whole life of a figure: the entry, the check on the entry, the table it feeds, and the export that takes it back out again. The parts below are normally used together; they are listed separately because few sheets need all of them.
A named series with a stated type, one value to a row, held in the order you entered them. The series is the unit the whole tool is built around, because most records that went wrong started life as a pile of loose figures.
Totals, counts, frequencies and cross-tabulations built from the series you already keep, defined once and refreshed the moment you add a row, so a table is never a stale copy pasted into a second file.
Each entry passes the rules you set before it lands: type, range, a duplicate of the row above, a hole in the sequence, and a running total you can hold against the sheet you were typing from.
A spreadsheet, a comma-separated export, or a text file with one value to a line. The importer shows you what it read, row by row, and refuses a file rather than guessing at a column it cannot map.
Comma-separated data, a spreadsheet file and a printable sheet, produced from the same rows on demand. A record you cannot get out of a program is a record you do not really hold.
Operating system updates, format changes and dependency upgrades handled on a schedule, plus a written commitment that a file written today still opens in the version that ships in five years.
One sitting to decide what a row means, which columns are required, and which rules an entry has to pass. Almost everything else can be changed later; those three decisions are the ones worth making slowly.
Entries go in on the day, in one place, from whichever device is nearest. A series kept in three places is three series, and at least two of them are wrong by the end of the quarter.
Duplicates, gaps and values outside the stated range surface while you type rather than at the end of the month, and the running total gives you a second opinion on the batch you have just entered.
A clean export whenever you want one, and a scheduled copy that lands where you keep your own archive. The archive is yours, and it is readable without the tool that produced it.
Every sheet starts from the same set of parts, already written and already tested, so the effort you spend goes into deciding what a row means rather than into rebuilding a total column for the hundredth time.
A tool for keeping figures justifies itself by never losing one and never altering one quietly. The tables, the counts and the export are built on top of that and give way to it.
The checks that run on an entry are the ones you wrote down when the sheet was set up, and each of them can be read, changed or switched off by you without asking anybody.
An export carries the values, the column definitions and the history. There is no part of your record that exists only inside our format, because that is how a format becomes a lock.
What a column means and why a rule exists is written next to it, the same day. It settles the argument about what was agreed and it lets somebody reading the sheet in a year follow the reasoning.
You do. The series, the column definitions, the table definitions and the revision history are yours, and every one of them comes out in a full export that another program can read without asking us for anything.
Yes, from one shared build, with entry laid out for a small screen and the wider tables kept for the larger one. A figure written down on the spot is worth more than a figure remembered until you reach a desk.
Usually, yes. The importer takes a spreadsheet file, a comma-separated export or a plain list, proposes a mapping and shows you what it read before anything is stored. Where a file is too irregular to map, it says so instead of guessing.
No, and that is deliberate. It records, checks, counts, sorts and exports. What the figures mean is your reading of your own material, and a program that hands you a conclusion tends to be believed long after it stopped being right.
You take a full export and carry on elsewhere. Nothing about your record depends on us continuing to exist, which is the only version of that promise worth making.
By a correction, not an overwrite. The new value goes in, the old one stays in the history with the time and the reason, and any table built on that column recalculates. Nothing is edited in a way that leaves no trace.
Long. Hundreds of thousands of rows in a series behave normally on ordinary hardware, and the tables are recalculated rather than held as a growing pile of cached copies. Where a sheet does start to feel slow, the shape of the sheet is usually the cause and we will say which part of it.
On a fixed schedule, with a short written note of what changed in each release. The file format is versioned and readable backwards, so an update never asks you to choose between a new version and the record you already have.
Send a short description of the series you keep and how you keep them today to [email protected], and we will come back with how the sheet would be set up, which checks are worth switching on from the first row, and which of them you can safely leave alone.