Small nonprofits lose money to sloppy process far more often than to villains — a vague entry nobody can explain, a missing receipt at audit time, a payment quietly backdated into last year. GoodBooks ships with a set of internal controls that are on by default on every plan. You can tune a few of them; the important ones you can't turn off at all.
Where: Settings → Internal Controls (System Administrators only). Turning any control off warns you first and emails every administrator — so controls can't be quietly relaxed.
Controls you can tune
| Control | What it does |
|---|---|
| Receipt Required Above Threshold (default $25) | Disbursements above the threshold without an attached document get a prompt. You can still post — "Post without a receipt" — but the entry lands in the Review Queue for follow-up. Attaching the receipt to the entry later clears the flag automatically. |
| Minimum Memo Length (default 20 characters over $50) | Blocks vague entries outright: transactions above the threshold must carry a real memo. This one is a hard stop, not a suggestion. |
| Book Close Date | Once you set a close date (Settings → Accounting), nothing can be dated into the closed period. Hard stop, no exceptions — set it after each year-end (or month-end) close. |
| Round Number Flag (default over $100) | Flags round amounts ($500.00, $1,200.00) for review — a classic estimate/fabrication tell; usually innocent, worth a glance. The entry still posts. |
| Off-Hours Transaction Flag (default 6 a.m.–10 p.m.) | Flags entries created outside your working hours — fraud is often entered nights and weekends. The entry still posts. |
| Individual Payee Flag | Flags disbursements whose payee looks like a person rather than a business, so a second set of eyes confirms them. |
| Duplicate Payee Detection (default 30 days) | Flags a payment when another payment to the same payee already exists within the window — catches double-entered bills. |
| Two-Person Disbursement Approval (Core and up) | The on/off switch for Two-Person Approval. On by default when your plan includes it; turning it off stops new disbursements from requiring a second approver. |
Controls that are always on
These show as "Always On" and have no off switch:
- Self-Approval Block — whoever creates a transaction can never approve it (see Two-Person Approval).
- Immutable Ledger — posted transactions can't be edited directly; corrections happen through adjusting and reversing entries.
- Approval Log — every approval action is recorded permanently with who, when, and IP address.
- The Shelf Access Log — every document view/download is logged.
The Review Queue
The Review Queue button on the Internal Controls page (with a count badge) lists every flagged transaction: when it was flagged, which control fired, and a link to the entry. For each item the reviewer — ideally someone other than the bookkeeper — picks a disposition:
- Acknowledge — reviewed, it's fine.
- Escalate — needs a harder look.
- Clear — resolved. (For a missing receipt you usually don't need this: attaching the document to the entry clears the flag automatically, and the queue records who attached it.)
Working the queue monthly is a genuinely good treasurer habit — it's ten minutes, and it's exactly the review an auditor hopes to find evidence of.
Where you'll meet the controls day to day
Hard stops appear right in the register as an "Internal Control" message when you try to post; the receipt prompt asks "Post without a receipt?" with the option to cancel and attach. The manual journal form runs the same checks. Everything the controls do — including any change to the controls themselves — is written to the Activity Feed.
Good to know
- Controls apply to everyone, including administrators.
- The defaults are sensible for most small organizations; raise the receipt threshold if your board sets a different documentation policy, and keep the memo rule — future-you at audit time will be glad.
- Two-Person Approval (Core and up) is the strongest control of all and has its own article.
Comments
0 comments
Please sign in to leave a comment.