{
  "name": "Weekly offering count sheet, reconciled three ways",
  "page": "https://otherworldlabs.com/offering-count-designation-log/",
  "endpoint": "https://otherworldlabs.com/offering-count-designation-log/api.json",
  "question": "Does this week's offering count foot? Notes and coin by denomination, cheques listed amount-only, designations allocated by fund, and does the sheet close to the funds allocated, to the deposit slip, and to the adding-machine tape?",
  "answers": "One counted total and three signed variances, each against a figure from a different source. It is bookkeeping arithmetic on figures the counters enter. It is not an audit, it does not say whether a count is right, and it holds no giver's name, no envelope number and no giving history.",
  "version": "2026-10-11",
  "licence": "Use the figures freely; no warranty. Questions about tax, restricted-fund obligations or a denomination's requirements go to that denomination's finance office.",
  "method": "This is the engine the page runs, in one function. There is no server: the JSON is a description of the same code the HTML carries in its `core` script, and the page's `apiOutputs(state)` returns exactly the output names below, which is what lets the page, this file and the workbook be compared with each other rather than with three separate opinions.",
  "currency": "Figures are plain numbers in the currency the church counts in. The denomination faces below are US notes and coin, which is what the page's grid offers; a church counting in another currency can use the typed cash total instead, and the three closures are currency-agnostic.",
  "rounding": {
    "counts": "whole and never negative; a typed fraction is rounded to the nearest whole, a negative is clamped to zero, and the page prints both the figure typed and the figure it counts",
    "money": "two decimals by round2(x) = Math.round(x * 100) / 100 on the double, which puts a half toward positive infinity rather than away from zero: -0.125 comes out as -0.12 and not as -0.13. Negative money is reachable here, because every one of the three variances is a signed difference and a short count has to print as a negative figure. round2 is applied at the point each figure is defined (every line value, every entered amount) and again to every subtotal, total and difference built out of figures already rounded, so no figure is worked from a longer number than the one shown. A typed money figure is also CLAMPED at zero before it is rounded: a number field with min=\"0\" still accepts a typed minus sign, so round2(Math.max(0, x)) is what the engine applies, -5 is read as 0.00, and the page prints both the figure typed and the figure it uses in an entry note that names the clamp. Negative money is therefore reachable only in a figure the engine computes - the three signed variances - and never in a figure a reader types.",
    "percentages": "none. This sheet prints no percentage at all: it foots in dollars and cents, and a share-of-offering percentage would be an interpretation of a week's giving that this sheet does not make."
  },
  "blank_and_zero": "A field is blank or it holds a figure, and the difference decides what prints. A blank deposit slip is a leg with nothing to close to and its variance prints `not entered` (null here). A slip written for nothing is the figure zero and its variance is computed. A DENOMINATION and a FUND are fixed categories, so a blank line among lines that carry figures is read as none of that denomination or fund and returns 0, while a block with nothing in it at all returns null for every line and both subtotals, because a blank block does not assert there were no notes. A CHEQUE line is an item rather than a category, so a blank cheque line is no cheque at all and is not read as zero: that is what lets the sheet tell the tape's count of cheques from the lines written down.",
  "inputs": [
    { "name": "n100", "type": "integer", "unit": "pieces", "required": false, "range": "0 to 999, step 1", "note": "$100 notes counted. Blank is allowed and is not zero: see blank_and_zero." },
    { "name": "n50", "type": "integer", "unit": "pieces", "required": false, "range": "0 to 999, step 1", "note": "$50 notes counted." },
    { "name": "n20", "type": "integer", "unit": "pieces", "required": false, "range": "0 to 999, step 1", "note": "$20 notes counted." },
    { "name": "n10", "type": "integer", "unit": "pieces", "required": false, "range": "0 to 999, step 1", "note": "$10 notes counted." },
    { "name": "n5", "type": "integer", "unit": "pieces", "required": false, "range": "0 to 999, step 1", "note": "$5 notes counted." },
    { "name": "n2", "type": "integer", "unit": "pieces", "required": false, "range": "0 to 999, step 1", "note": "$2 notes counted." },
    { "name": "n1", "type": "integer", "unit": "pieces", "required": false, "range": "0 to 999, step 1", "note": "$1 notes counted." },
    { "name": "c100", "type": "integer", "unit": "pieces", "required": false, "range": "0 to 999, step 1", "note": "$1.00 coins counted." },
    { "name": "c50", "type": "integer", "unit": "pieces", "required": false, "range": "0 to 999, step 1", "note": "$0.50 coins counted." },
    { "name": "c25", "type": "integer", "unit": "pieces", "required": false, "range": "0 to 999, step 1", "note": "$0.25 coins counted." },
    { "name": "c10", "type": "integer", "unit": "pieces", "required": false, "range": "0 to 999, step 1", "note": "$0.10 coins counted." },
    { "name": "c5", "type": "integer", "unit": "pieces", "required": false, "range": "0 to 999, step 1", "note": "$0.05 coins counted." },
    { "name": "c1", "type": "integer", "unit": "pieces", "required": false, "range": "0 to 999, step 1", "note": "$0.01 coins counted." },
    { "name": "cashTotalTyped", "type": "number", "unit": "money", "required": false, "range": "0.00 to 100000.00, step 0.01",
      "note": "The cash total typed straight in, for a counter who kept the week's total and not the piece counts. It is the primitive cash figure ONLY while all thirteen piece counts are blank. Enter any piece count and the grid becomes the record: this figure is then set aside rather than compared, so no fourth closure appears and the sheet still foots three ways." },
    { "name": "chequeRowsShown", "type": "integer", "unit": "lines", "required": false, "range": "0 to 30, step 1",
      "note": "How many cheque lines the sheet shows, and therefore how many entries of cheques[] are read. A value outside the range is clamped, a fraction is rounded, and entries beyond this count are not read into chequesListed, chequesListedTotal or any total or variance built on them. ROUND 3 (B1): they are NOT silently dropped. Every entry beyond this count whose amount is not blank is counted in chequesSetAside and summed in chequesSetAsideTotal, the page prints both figures in its entry notes, and the page withholds its all-clear while either is standing. So every 'sum over the cheque lines' below is a sum over the first chequeRowsShown lines, and what the other lines carry is returned rather than hidden. Blank reads as 0." },
    { "name": "cheques[].amount", "type": "number", "unit": "money", "required": false, "range": "0.00 to 25000.00, step 0.01",
      "note": "One cheque, amount only. There is no name field in a cheque line, by construction, here or in the workbook. A line is `listed` when its amount is not blank and its index is below chequeRowsShown; an amount of zero is a listed line, because somebody wrote it down. An amount on a line at or beyond chequeRowsShown is SET ASIDE: it is clamped at zero and rounded to the cent the same way, and it is counted and summed into chequesSetAside and chequesSetAsideTotal, but no coercion note is printed for it, because a sentence about a fraction of a cent on a line the sheet does not show would name a line the reader cannot see." },
    { "name": "chequesDeclared", "type": "integer", "unit": "cheques", "required": false, "range": "0 to 30, step 1",
      "note": "How many cheques the adding-machine tape says were run. Blank reads as 0. Where this is greater than the lines carrying an amount and at least one line carries one, every figure the sheet prints in the reconciliation is built from part of a split, and the page marks each of them `not yet final`." },
    { "name": "chequeTapeTotal", "type": "number", "unit": "money", "required": false, "range": "0.00 to 100000.00, step 0.01",
      "note": "What the tape totalled. Blank is allowed. It does two jobs: it is the second figure of the cheque listing leg, and where no cheque line carries an amount it is the cheque component of the counted total, so a sheet with the tape total in and nothing listed still foots its other two legs." },
    { "name": "fundRowsShown", "type": "integer", "unit": "lines", "required": false, "range": "4 to 6, step 1",
      "note": "How many fund lines the sheet shows, and therefore how many entries of funds[] are read into designatedTotal and the per-fund amounts. Four are fixed (General, Building, Missions, Memorial); lines five and six are restricted funds the church names itself. Clamped into 4 to 6. Blank reads as the number of fund lines the request carries, never fewer than the four fixed funds, so a record that sends six amounts and no count of them has six read. ROUND 3 (B2): an amount on a line this count excludes is not dropped in silence. Every entry at or beyond this count whose amount is not blank is counted in fundsSetAside and summed in fundsSetAsideTotal, the page prints both figures in its entry notes, it stops reading a funds-leg variance as loose cash while either stands, and it withholds its all-clear. The note on this input used to say only how many lines the sheet showed, which told a reimplementation nothing about the exclusion; the cheque note said it and this one did not." },
    { "name": "funds[]", "type": "object or number", "unit": "a fund line", "required": false,
      "note": "A fund line arrives either as an object with its own fields, {\"name\": ..., \"amount\": ...}, which is what the form sends, or as a bare amount, which is the shape one row of a per-week record has. A bare number is read as that line's amount and the line takes its fixed or fallback name. cheques[] is read the same way. Where fundRowsShown is blank, the number of fund lines the request carries is the number read, never fewer than the four fixed funds: six amounts and no count of them means six." },
    { "name": "funds[].name", "type": "string", "unit": "text", "required": false, "range": "up to 40 characters",
      "note": "A FUND's name, read only for lines five and six; lines one to four carry their fixed names whatever a request sends. Never a giver's name: no column anywhere in the page or the workbook holds one. A blank or whitespace-only name on a line that carries an amount is reported as a fault, and the line is labelled `First restricted fund` or `Second restricted fund`." },
    { "name": "funds[].amount", "type": "number", "unit": "money", "required": false, "range": "0.00 to 100000.00, step 0.01",
      "note": "What the envelope lines and cheque memos allocated to that fund. An amount on a line at or beyond fundRowsShown is SET ASIDE on the same rule as a cheque line: clamped at zero, rounded to the cent, counted and summed into fundsSetAside and fundsSetAsideTotal, in neither designatedTotal nor any variance, and carrying no coercion note of its own." },
    { "name": "designatedTotalTyped", "type": "number", "unit": "money", "required": false, "range": "0.00 to 100000.00, step 0.01",
      "note": "The designated total typed straight in, for a counter who kept the total and not the allocation. The primitive designated figure ONLY while all six fund amounts are blank; enter any fund amount and the lines become the record and this figure is set aside rather than compared." },
    { "name": "depositSlipTotal", "type": "number", "unit": "money", "required": false, "range": "0.00 to 100000.00, step 0.01",
      "note": "The one figure written on the bank's deposit slip, cash and cheques together. Blank until the slip is written, and the deposit leg then prints `not entered` rather than a variance built from a blank." }
  ],
  "outputs": [
    { "name": "hundredsValue", "unit": "money", "formula": "n100 x 100, or null where the whole grid is blank" },
    { "name": "fiftiesValue", "unit": "money", "formula": "n50 x 50, or null where the whole grid is blank" },
    { "name": "twentiesValue", "unit": "money", "formula": "n20 x 20, or null where the whole grid is blank" },
    { "name": "tensValue", "unit": "money", "formula": "n10 x 10, or null where the whole grid is blank" },
    { "name": "fivesValue", "unit": "money", "formula": "n5 x 5, or null where the whole grid is blank" },
    { "name": "twosValue", "unit": "money", "formula": "n2 x 2, or null where the whole grid is blank" },
    { "name": "onesValue", "unit": "money", "formula": "n1 x 1, or null where the whole grid is blank" },
    { "name": "dollarCoinsValue", "unit": "money", "formula": "c100 x 1, or null where the whole grid is blank" },
    { "name": "halfDollarsValue", "unit": "money", "formula": "c50 x 0.5, or null where the whole grid is blank" },
    { "name": "quartersValue", "unit": "money", "formula": "c25 x 0.25, or null where the whole grid is blank" },
    { "name": "dimesValue", "unit": "money", "formula": "c10 x 0.1, or null where the whole grid is blank" },
    { "name": "nickelsValue", "unit": "money", "formula": "c5 x 0.05, or null where the whole grid is blank" },
    { "name": "penniesValue", "unit": "money", "formula": "c1 x 0.01, or null where the whole grid is blank" },
    { "name": "notesSubtotal", "unit": "money", "formula": "hundredsValue + fiftiesValue + twentiesValue + tensValue + fivesValue + twosValue + onesValue, or null where the whole grid is blank" },
    { "name": "coinSubtotal", "unit": "money", "formula": "dollarCoinsValue + halfDollarsValue + quartersValue + dimesValue + nickelsValue + penniesValue, or null where the whole grid is blank" },
    { "name": "cashTotal", "unit": "money", "formula": "notesSubtotal + coinSubtotal where any piece count is entered; otherwise cashTotalTyped; null where neither is entered" },
    { "name": "chequesListed", "unit": "lines", "formula": "the count of the first chequeRowsShown entries of cheques[] whose amount is not blank" },
    { "name": "chequesListedTotal", "unit": "money", "formula": "the sum of those listed amounts, or null where no line carries an amount" },
    { "name": "chequesSetAside", "unit": "lines", "formula": "the count of the entries of cheques[] from index chequeRowsShown to the end of the array whose amount is not blank: the cheque amounts this sheet holds and does not read. 0 where there are none" },
    { "name": "chequesSetAsideTotal", "unit": "money", "formula": "round2 of the running sum of those amounts, each one clamped at zero and rounded to the cent first; null where chequesSetAside is 0. It is in no other figure this endpoint returns, and chequesListedTotal + chequesSetAsideTotal is every cheque amount the request carries" },
    { "name": "fundsSetAside", "unit": "lines", "formula": "the count of the entries of funds[] from index fundRowsShown to the end of the array whose amount is not blank: the fund amounts this sheet holds and does not read. 0 where there are none" },
    { "name": "fundsSetAsideTotal", "unit": "money", "formula": "round2 of the running sum of those amounts, each one clamped at zero and rounded to the cent first; null where fundsSetAside is 0. It is in neither designatedTotal nor any variance, and designatedTotal + fundsSetAsideTotal is every fund amount the request carries wherever designatedTotal came from the lines" },
    { "name": "countedTotal", "unit": "money", "formula": "cashTotal + chequeComponent, where chequeComponent is chequesListedTotal when any line carries an amount and chequeTapeTotal when none does; null unless BOTH the cash figure and the cheque figure are present, because half a bag is not a count" },
    { "name": "designatedTotal", "unit": "money", "formula": "the sum of the amounts on the fund lines read, counting a blank line among figures as nothing, where any fund amount is entered; otherwise designatedTotalTyped; null where neither is entered" },
    { "name": "generalAmount", "unit": "money", "formula": "funds[0].amount; 0 where that line is blank among fund lines that carry figures, null where every fund line is blank" },
    { "name": "buildingAmount", "unit": "money", "formula": "funds[1].amount; 0 where that line is blank among fund lines that carry figures, null where every fund line is blank" },
    { "name": "missionsAmount", "unit": "money", "formula": "funds[2].amount; 0 where that line is blank among fund lines that carry figures, null where every fund line is blank" },
    { "name": "memorialAmount", "unit": "money", "formula": "funds[3].amount; 0 where that line is blank among fund lines that carry figures, null where every fund line is blank" },
    { "name": "restrictedOneAmount", "unit": "money", "formula": "funds[4].amount where five fund lines or more are read, by the same blank rule as the four above; null otherwise" },
    { "name": "restrictedTwoAmount", "unit": "money", "formula": "funds[5].amount where six fund lines are read, by the same blank rule as the four above; null otherwise" },
    { "name": "fundsVariance", "unit": "money", "formula": "designatedTotal - countedTotal, or null where either is null. Signed: negative is money counted and designated to no fund, which is usually loose cash; positive is money designated that nobody counted" },
    { "name": "depositVariance", "unit": "money", "formula": "depositSlipTotal - countedTotal, or null where either is null. Signed: negative is a slip written for less than the bag holds" },
    { "name": "chequeVariance", "unit": "money", "formula": "chequeTapeTotal - chequesListedTotal, or null unless at least one line carries an amount AND chequeTapeTotal is entered. This leg says nothing about the cash" }
  ],
  "formula": [
    "lineValue(d) = round2(pieces(d) x face(d)) for each of the thirteen denominations, where a blank line inside a grid that has figures in it counts 0 pieces, and every lineValue is null where the whole grid is blank",
    "notesSubtotal = round2 of the running sum of the seven note lines; coinSubtotal = round2 of the running sum of the six coin lines",
    "cashTotal = round2(notesSubtotal + coinSubtotal) if the grid has any figure in it, else cashTotalTyped, else null",
    "chequesListedTotal = round2 of the running sum of the listed cheque amounts, over the first chequeRowsShown lines only",
    "chequeComponent = chequesListedTotal if any line carries an amount, else chequeTapeTotal, else null",
    "countedTotal = round2(cashTotal + chequeComponent), and null if either side is null",
    "designatedTotal = round2 of the running sum of the fund amounts over the first fundRowsShown lines if any is entered, else designatedTotalTyped, else null",
    "fundsVariance = round2(designatedTotal - countedTotal); depositVariance = round2(depositSlipTotal - countedTotal); chequeVariance = round2(chequeTapeTotal - chequesListedTotal)",
    "each variance is null when the leg's second figure is not entered, and the page prints the words `not entered` in its place rather than a figure",
    "ROUND 2 (m2): a variance of null has two shapes and the page says which. A leg whose second figure somebody is still going to write prints `not entered` and is called PENDING; the cheque listing leg with chequeTapeTotal entered and no line carrying an amount prints `not entered` and is called ABSENT, because the sheet then holds one cheque figure and no listing on the sheet for it to close against. Only the cheque leg can be absent. Both sentences are prose, and no output field differs between them: legsPending and legsAbsent are returned by the engine for its own harness and are not fields of this endpoint.",
    "ROUND 2 (m1), amended at the closing round (m6): the two counts of cheques are compared in both directions, and both comparisons are written on figures this endpoint returns, so a reimplementation reproduces them. chequesListed > 0 AND chequesDeclared > chequesListed is the part-listed state (the one the marker rule and the waiting flag are about); the guard matters, because with chequesListed at 0 the cheque leg is ABSENT rather than part-listed (see legsAbsent above) and the engine marks nothing even though chequesDeclared may be above 0. chequesDeclared > 0 and chequesDeclared < chequesListed is the mirror: the lines carry more cheques than the tape declares, which marks no figure, because the money leg is what catches money. A BLANK count and a typed 0 are the same figure here, 0, and neither prints a count-disagreement sentence: the rule is written on the figure and not on the field, so nothing about which sentence prints is hidden from this endpoint.",
    "ROUND 3 (B1 and B2): a cheque amount or a fund amount on a line the two `lines to show` counts exclude is read into no total and no variance, and it is reported rather than dropped: chequesSetAside / chequesSetAsideTotal and fundsSetAside / fundsSetAsideTotal are the count and the sum of them. Each set-aside amount is clamped at zero and rounded to the cent exactly as a read amount is, and it carries no coercion note. The page prints the count and the figure in its entry notes, says so again in the glance warning, stops reading a funds variance as loose cash while a fund amount is set aside, and withholds `All three legs foot` while either count is above zero - so no state in which the sheet is not using money the reader typed prints the sheet's own all-clear.",
    "ROUND 2 (m4): the page also prints, in the reconciliation note and nowhere as a row, the difference between designatedTotal and depositSlipTotal, which is the plain reading of the one claim the page makes. It is derived, not a fourth closure: it is fundsVariance - depositVariance, which is the identity `fundsVariance - depositVariance = designatedTotal - depositSlipTotal` published below."
  ],
  "identities": [
    "cashTotal = notesSubtotal + coinSubtotal, wherever the grid is the cash source",
    "countedTotal = cashTotal + chequeComponent, always, wherever countedTotal is not null",
    "designatedTotal - countedTotal = fundsVariance, wherever fundsVariance is not null",
    "depositSlipTotal - countedTotal = depositVariance, wherever depositVariance is not null",
    "chequeTapeTotal - chequesListedTotal = chequeVariance, wherever chequeVariance is not null",
    "fundsVariance - depositVariance = designatedTotal - depositSlipTotal, wherever both are not null: the two legs that close to the same counted total differ by exactly the gap between the two figures that close to it",
    "the three legs are three closures and not three names for one subtraction: chequeVariance is built from two figures neither of which is countedTotal, so deleting it deletes a leg"
  ],
  "example": {
    "note": "The worked count the page ships filled in: one Sunday with notes and coin sorted, six cheques listed and run through a tape, four funds allocated, and a slip written. The deposit leg and the cheque listing leg foot; the funds leg is out by $40.00 because that much of the count was designated to no fund, which is loose cash. These are the figures the page prints and the figures apiOutputs returns for the same state.",
    "inputs": {
      "n100": 2, "n50": 3, "n20": 14, "n10": 9, "n5": 21, "n2": 1, "n1": 37,
      "c100": 4, "c50": 6, "c25": 28, "c10": 41, "c5": 33, "c1": 86,
      "cashTotalTyped": null,
      "chequeRowsShown": 6,
      "cheques": [{ "amount": 250.00 }, { "amount": 100.00 }, { "amount": 75.00 },
                  { "amount": 500.00 }, { "amount": 40.00 }, { "amount": 125.00 }],
      "chequesDeclared": 6,
      "chequeTapeTotal": 1090.00,
      "fundRowsShown": 4,
      "funds": [{ "name": "General", "amount": 1269.61 }, { "name": "Building", "amount": 500.00 },
                { "name": "Missions", "amount": 125.00 }, { "name": "Memorial", "amount": 40.00 }],
      "designatedTotalTyped": null,
      "depositSlipTotal": 1974.61
    },
    "outputs": {
      "hundredsValue": 200, "fiftiesValue": 150, "twentiesValue": 280, "tensValue": 90,
      "fivesValue": 105, "twosValue": 2, "onesValue": 37,
      "dollarCoinsValue": 4, "halfDollarsValue": 3, "quartersValue": 7,
      "dimesValue": 4.1, "nickelsValue": 1.65, "penniesValue": 0.86,
      "notesSubtotal": 864, "coinSubtotal": 20.61, "cashTotal": 884.61,
      "chequesListed": 6, "chequesListedTotal": 1090,
      "chequesSetAside": 0, "chequesSetAsideTotal": null,
      "fundsSetAside": 0, "fundsSetAsideTotal": null,
      "countedTotal": 1974.61, "designatedTotal": 1934.61,
      "generalAmount": 1269.61, "buildingAmount": 500, "missionsAmount": 125, "memorialAmount": 40,
      "restrictedOneAmount": null, "restrictedTwoAmount": null,
      "fundsVariance": -40, "depositVariance": 0, "chequeVariance": 0
    }
  },
  "second_example": {
    "note": "The same sheet for a counter who kept only the week's totals: the cash total and the designated total typed straight in, the grid and the fund lines blank, the tape total in and no cheque line listed. Two legs foot and the third prints nothing, because one tape total cannot be checked against itself. Every state this endpoint advertises is reachable from the page's own controls, and this one is reachable by typing two figures and leaving two blocks blank.",
    "inputs": {
      "cashTotalTyped": 658.00,
      "chequeRowsShown": 0,
      "cheques": [],
      "chequesDeclared": 7,
      "chequeTapeTotal": 1240.00,
      "fundRowsShown": 4,
      "funds": [{ "name": "General", "amount": null }, { "name": "Building", "amount": null },
                { "name": "Missions", "amount": null }, { "name": "Memorial", "amount": null }],
      "designatedTotalTyped": 1898.00,
      "depositSlipTotal": 1898.00
    },
    "outputs": {
      "hundredsValue": null, "fiftiesValue": null, "twentiesValue": null, "tensValue": null,
      "fivesValue": null, "twosValue": null, "onesValue": null,
      "dollarCoinsValue": null, "halfDollarsValue": null, "quartersValue": null,
      "dimesValue": null, "nickelsValue": null, "penniesValue": null,
      "notesSubtotal": null, "coinSubtotal": null, "cashTotal": 658,
      "chequesListed": 0, "chequesListedTotal": null,
      "chequesSetAside": 0, "chequesSetAsideTotal": null,
      "fundsSetAside": 0, "fundsSetAsideTotal": null,
      "countedTotal": 1898, "designatedTotal": 1898,
      "generalAmount": null, "buildingAmount": null, "missionsAmount": null, "memorialAmount": null,
      "restrictedOneAmount": null, "restrictedTwoAmount": null,
      "fundsVariance": 0, "depositVariance": 0, "chequeVariance": null
    }
  },
  "third_example": {
    "note": "ROUND 3, the state B1 and B2 were found in, which is reachable from the page's own controls and was the one state in which the sheet printed `All three legs foot` over money it was not using. A counter re-counted, found three cheques, and lowered `Cheque lines to show` to 3 rather than blanking the three amounts; a treasurer decided two restricted funds were not needed this week and took their lines off the sheet rather than blanking their amounts. The sheet reads the lines it shows, so the three legs foot on $1,309.61 - and $665.00 of cheques and $450.00 of designations are in the request and in none of those figures. chequesSetAside, chequesSetAsideTotal, fundsSetAside and fundsSetAsideTotal are what this endpoint returns about them, the page prints the count and the figure in its entry notes and its glance warning, and the all-clear is withheld.",
    "inputs": {
      "n100": 2, "n50": 3, "n20": 14, "n10": 9, "n5": 21, "n2": 1, "n1": 37,
      "c100": 4, "c50": 6, "c25": 28, "c10": 41, "c5": 33, "c1": 86,
      "cashTotalTyped": null,
      "chequeRowsShown": 3,
      "cheques": [{ "amount": 250.00 }, { "amount": 100.00 }, { "amount": 75.00 },
                  { "amount": 500.00 }, { "amount": 40.00 }, { "amount": 125.00 }],
      "chequesDeclared": 3,
      "chequeTapeTotal": 425.00,
      "fundRowsShown": 4,
      "funds": [{ "name": "General", "amount": 604.61 }, { "name": "Building", "amount": 500.00 },
                { "name": "Missions", "amount": 125.00 }, { "name": "Memorial", "amount": 80.00 },
                { "name": "Roof fund", "amount": 300.00 }, { "name": "Youth camp", "amount": 150.00 }],
      "designatedTotalTyped": null,
      "depositSlipTotal": 1309.61
    },
    "outputs": {
      "hundredsValue": 200, "fiftiesValue": 150, "twentiesValue": 280, "tensValue": 90,
      "fivesValue": 105, "twosValue": 2, "onesValue": 37,
      "dollarCoinsValue": 4, "halfDollarsValue": 3, "quartersValue": 7,
      "dimesValue": 4.1, "nickelsValue": 1.65, "penniesValue": 0.86,
      "notesSubtotal": 864, "coinSubtotal": 20.61, "cashTotal": 884.61,
      "chequesListed": 3, "chequesListedTotal": 425,
      "chequesSetAside": 3, "chequesSetAsideTotal": 665,
      "fundsSetAside": 2, "fundsSetAsideTotal": 450,
      "countedTotal": 1309.61, "designatedTotal": 1309.61,
      "generalAmount": 604.61, "buildingAmount": 500, "missionsAmount": 125, "memorialAmount": 80,
      "restrictedOneAmount": null, "restrictedTwoAmount": null,
      "fundsVariance": 0, "depositVariance": 0, "chequeVariance": 0
    }
  },
  "not_covered": [
    "whether the bag reached the bank, whether a cheque cleared, and whether the slip the bank stamped matches the slip that was written",
    "any giver: no name, no envelope number, no giving history, no donor statement, and no column for one anywhere in the page or the workbook",
    "any running fund balance: this is one week. The fifty-two-week workbook the page offers carries a running balance for every fund along each Sunday's own line",
    "whether a restricted fund may be spent on a particular thing, and what a designated gift obliges a church to do",
    "a share-of-offering percentage, a comparison with another week, or any figure about giving rather than about this count"
  ],
  "no_advice": "This is bookkeeping arithmetic on figures the counters enter. It is not an audit, not accounting advice, not tax advice and not legal advice. It makes no claim about internal controls and prevents nothing: a sheet records, and the controls that matter are two unrelated counters and a sealed bag, which happen at the table. Tax, restricted-fund obligations and denominational requirements go to the denomination's finance office."
}
