A grocery list, totalled line by line, then footed twice: by the aisle on each row, and by the stop where that row will be bought
AThe list, at a glance
Type the items on your list, how many of each you need and the price you hold for one of them, and name the aisle and the stop for every row; this page totals each line, foots the list by the aisle label on each row, foots it again by the stop label on that row, and prints the one list total. It keeps six states apart: the empty list; the list as a plain list, with no price typed; the part-priced list; the fully priced list with an aisle and a stop on every row; the fully priced list with a label left blank; and the fully priced list carrying a typed zero.
No row carries an item or a quantity yet: the list is empty, so no line and no money figure prints.
Rows typed on this list: 0.
Rows still without a price: 0.
Turns the items, the quantities and the prices you type into a total for each line, a subtotal for every aisle you name and every stop you name, and one list total - and it shows that the two sets of subtotals come to the same figure.
Every item, every quantity, every price, every aisle label and every stop label on this page is typed by you. This page holds no item list, no starter list, no aisle list, no category list and no price of any kind: nothing typical, nothing average, nothing regional, nothing seasonal, nothing fetched and nothing cached. It names no shop, no chain, no market and no brand, and it compares none of them. It says nothing about nutrition, calories, allergens, diets, portions or food safety, nothing about what a household needs, and nothing about saving money. It divides nothing: there is no share, no percentage, no ratio and no cost per unit on this page or in its kit. Nothing you type leaves your browser; nothing is kept in this browser either, and the figures are gone when the tab closes.
Printed from otherworldlabs.com, the list that foots twice.
BYour list, row by row
Say how many rows you need, then type them. Every figure on this page is one you already hold: the item off your own list, the quantity you need, the price off your own list, your own shelf label, a receipt line or your own estimate, and the aisle and the stop in whatever words you use for them.
Type the price of one of the things on that line, from your own list, your own shelf label, a receipt line or your own estimate. This page foots your list from the price you type against each line, and it does not split one total across the rows. If the only figure you hold is what the whole trip came to, type the rows you can price and leave the rest blank: the list, its row count and each stop's row count still print, the glance says how many rows have no price yet, and no money figure prints until every typed row carries a quantity and a price.
The first row
The second row
The third row
The fourth row
The fifth row
The sixth row
The seventh row
The eighth row
The ninth row
The tenth row
The eleventh row
The twelfth row
The thirteenth row
The fourteenth row
The fifteenth row
The sixteenth row
The seventeenth row
The eighteenth row
The nineteenth row
The twentieth row
The twenty-first row
The twenty-second row
The twenty-third row
The twenty-fourth row
The twenty-fifth row
The twenty-sixth row
The twenty-seventh row
The twenty-eighth row
The twenty-ninth row
The thirtieth row
CEvery row of the list
One row an item, in the order you typed them. A whole quantity prints whole, a fraction of a quantity prints to a hundredth, and a price prints to the cent; the line is the quantity and the price the page read from your fields, multiplied before anything is printed, so re-multiplying the two cells as they stand need not give the figure this column shows. A row carrying no price keeps its place and says what it wants.
| The item you typed | How many | The price you hold | This line | The aisle you named | The stop you named |
|---|---|---|---|---|---|
| The first row, no item typed | nothing typed | nothing typed | - | nothing typed | nothing typed |
DThe aisle margin
One row for every aisle label you typed, grouped by the characters you typed after the spaces at each end are trimmed and the case is folded, so Dairy and dairy are one aisle and any other difference stands as its own row; the word Dairy here shows the rule and is not an aisle this page offers you. A row you left without an aisle label is footed into the row named No aisle named, so no row of the list is missing from this margin.
| The aisle you named | Rows in this aisle | What this aisle comes to |
|---|---|---|
| No row is typed yet | - | - |
EThe stop margin
One row for every stop label you typed, grouped by the characters you typed in the way the aisle labels are grouped, with the rows standing at that stop counted. The count is a count of rows and never a sum of quantities. A row you left without a stop label is footed into the row named No store named, so this margin holds every row the aisle margin holds.
| The stop you named | Rows at this stop | What this stop comes to |
|---|---|---|
| No row is typed yet | - | - |
FThe two columns, read against each other
The aisle column and the stop column are the one list added up two ways. No figure here is printed until the list carries a row and every row you have typed carries a quantity and a price.
GEvery figure, worked
Each line, then each margin row, then the two columns and the list total. The figures in these expressions are the unrounded ones the page carries, and the cent a line prints to is the printing and not the figure the page carried into the margins.
Each line
Each margin row
The two columns and the list total
HWhat this page is waiting for, and what it read
Every sentence here names a state this page keeps apart. None of them is an error and none of them is advice. Each one counts in words, so a state is named here and not scored.
Nothing is typed on the list, so this page supplies no item, no quantity, no price, no aisle and no stop of its own and prints no figure at all.
Every item, every quantity, every price, every aisle label and every stop label on this page was typed by you. This page supplies none of them, divides nothing, and says nothing about food.
IThe six states, and how the figures are read
- The empty list
- No item typed and no quantity typed on any row. Nothing is claimed: no row prints a figure, no aisle and no stop is named, and the glance says the list is empty. This is the state the page ships in.
- The list as a plain list, with no price typed
- Item names typed and no price typed against any of them. The rows print, the count of rows prints, each aisle and each stop prints with the rows standing in it, and no money figure prints anywhere. A list of items is what the words grocery list usually mean, so the list is usable as a list before a price is typed at all.
- The part-priced list
- One typed row or more carries a quantity and no price, or a price and no quantity. No money figure prints at all while that row stands: not a line, not an aisle subtotal, not a stop subtotal, not the list total. The glance names how many rows are still without a price and how many are still without a quantity, where those figures would otherwise print. A half-priced list cannot print a confident total.
- The fully priced list with an aisle and a stop on every row
- Every typed row carries a quantity and a price, an aisle label and a stop label. Every figure prints: each line, every aisle subtotal, every stop subtotal, the rows at each stop, the list total, and the two columns read against each other.
- The fully priced list with a label left blank
- Three cases and not one: a row with an aisle and no stop, a row with a stop and no aisle, and a row with no label of either kind. Every figure still prints, and that row is footed into the row named No aisle named, or the row named No store named, or into each of them. It still counts in the row count, and in the count of rows at its stop where it names one, and it is never left out of the list total, so the two margins still come to one figure.
- The fully priced list carrying a typed zero
- A quantity of zero, or a price of zero, is a figure you typed and not a blank. The line prints as the zero it is, the row is footed into every subtotal it belongs to, and it still counts as a row in the row count and in the count of rows at its stop.
- What is rounded, and what is not
- Nothing is rounded on the way in and nothing is rounded on the way through. A line is its quantity multiplied by its price, carried unrounded into every subtotal and into the list total; the cent you read is the printing. So a reader who re-adds the printed column of lines by hand can land a cent away from the printed total, and section G prints the unrounded figures the page is carrying. The two columns are the one list added in two orders, and two orders of one addition in double arithmetic part in the last bits of the figure: the two feet of a list of thirty rows at the top of every range stay inside a ten-thousandth of a dollar of each other, which is a hundredth of the cent they are both printed to. The claim recorded on the cross-foot holds them to that ten-thousandth.
- How a label is grouped
- By the characters you typed, after the spaces at each end are trimmed and the case is folded. Dairy and dairy are one aisle; Dairy and Diary are two, and that is the point: a mistyped label stands as its own row where you can see it, instead of being quietly merged into a label you did not type. The words Dairy and Diary here show the rule; this page offers no aisle and names none. The spelling printed in the margin is the first one typed on the list, cut to its first twenty-four characters. A label of spaces alone is read as no label at all.
- What the ranges are
- A list is one to thirty rows. An item name is up to forty characters, an aisle and a stop label up to twenty-four each. A quantity is read from zero to nine hundred and ninety-nine, and a typed fraction such as 2.5 is multiplied exactly as typed and never rounded away. A price is read from zero to 9,999.99 dollars, at the cent step its own control offers, and a price typed to finer places is multiplied exactly as typed and never rounded away. A figure past the top of its own range is read at the top, and a figure that does not reach the bottom of it is read as not typed at all. The ranges each figure is read inside are the ranges its own control offers.
JThe decisions this page does not make
Each of these is yours. None of them is decided here, and no option set out here is recommended.
Which aisle a thing belongs in
One shop's dairy is another's chilled, and a household that shops from a list written in rooms, not in aisles, is not wrong. This page holds no aisle list, so the labels are the ones you type: the margin prints the first spelling typed for a label, trimmed at each end and cut to its first twenty-four characters.
What the price on a line is
A shelf label, a receipt line from last time, the figure on your own list, or your own estimate. This page holds none of them and reaches for none of them. It multiplies the figure you type by the quantity you type, and it says so on every row.
Where to buy a thing
The stop label is yours. This page names no shop, no chain, no market and no brand, and it says nothing about which stop is cheaper, nearer, better or worse. It foots the rows you put at each stop.
Whether a list is one list or several
A week can be one list of thirty rows or three lists of ten. One list is one total; three lists say what each trip was for. The workbook beside this page is written for the second, because its record sheet carries a date column and a list column.
What to do when the only figure you hold is the trip total
Nothing on this page splits one total back across the rows. A set of per-line guesses that happen to add up to a real total would print a cross-foot that is true while every line, every aisle subtotal and every stop subtotal on the page is invented. Type the rows you can price, leave the rest blank, and take the list and the counts.
KWhat this page will not do
- It supplies no item, no starter list, no aisle, no category and no price, and it fetches none of them from anywhere.
- It makes no nutrition, calorie, macro, protein, sugar, allergen, dietary, intolerance, portion or health claim of any kind, and it never says a food is good, bad, healthy, unhealthy, fresh or suitable for anybody.
- It makes no food-safety, storage, refrigeration, shelf-life, use-by, best-before or spoilage claim.
- It names no shop, chain, market, brand, own-brand or product, recommends no substitution, and says nothing about which is cheaper, better or worse.
- It carries no coupon, deal, offer, loyalty, bulk or discount figure.
- It says nothing about household size, meal plans, recipes, serving counts or how much of anything anybody needs.
- It divides nothing. There is no per-person share, no second payer, no cost per unit, no price per pound or per ounce, no unit-price comparison, no percentage and no ratio on this page or in its kit.
- It holds no budget rule, target, tolerance or verdict on a total, and nothing it prints reads as approval or alarm about what a shop came to.
- It carries no tax of any kind, no delivery charge, no service fee and no affiliate link.
- It invents no shopper, household, shop, reviewer or testimonial, and it asks for no name of any kind: there is no list name field, no account, and this page stores nothing at all.
LThe list that foots twice
The page keeps nothing when the tab closes. The kit is this arithmetic written as a dated workbook, with the formulas left in and no cached figure anywhere. Labels: one row for every aisle you use and every stop you make, between one and eight of them, in your own words, with the kind beside it and the label the List sheet picks it by. List: one row an item, two hundred rows of them, where you type the date, the list, the item, how many, the price you hold, the aisle off your own labels and the stop off your own labels, and along that row the sheet works out the line, carries a tick column for what you actually picked up that changes no figure, and prints a Check column saying what the row is still waiting for. Summary: the rows on the list, the list total, the aisle column's foot and the stop column's foot, with the rows with no aisle label and the rows with no stop label footed on their own, beside one row for every label you named with what it comes to as an aisle, what it comes to as a stop and how many rows stand at it as a stop. Check: every figure on the Summary worked a second way by a route of its own, and the identities that have to hold, each line with the difference printed and a yes or a NO beside it. Read me: what the book is, which sheets are in it, and the fingerprint of the spec it was built from. The second file is a short PDF: the rules the arithmetic follows and the decisions it does not make for you. Nothing in either file supplies an item, an aisle, a category or a price, and nothing in either file says what to buy.
Take the list that foots twice - $19
The kit is two files, for one price, yours to keep. No account, no subscription.