Rightshold™ Sign up

Answers · bookkeeping

How do I keep a copy of my business's books that my bookkeeper or an employee can't edit?

Last updated

TL;DR: Your accounting software can't be that copy, because whoever has an admin role there can change it. An independent copy has three parts, each kept where the bookkeeper can't write. First, the bank's own statements, delivered to you directly. Second, the reports you export each month, saved to storage only you control. Third, a running record of each invoice, payment and adjustment, sealed as it happens to a ledger nobody can edit afterwards. In QuickBooks Online, keep the primary admin role yourself and give the bookkeeper a role that fits the work (the Bookkeeper role can't view the profit and loss or balance sheet, or add vendors), and read the audit log yourself. A Rightshold mirror ledger is one way to keep the third part. Each entry is hash-chained and has no edit or delete route, so a correction has to be a new entry. Hold the API key yourself. The copy doesn't stop anyone changing the books, but any later change shows when you compare the books against it.

What should I check, step by step?

1. Have the bank send statements to you: your own online banking login, a statement emailed to your own address, or paper mailed to you. The AICPA's examples of small-business controls list the owner receiving the bank statement at a personal address and reviewing it monthly.

  1. Keep the primary admin role in QuickBooks Online yourself. Only admins can add, edit or remove admins, and only the primary admin can change company info. Don't hand the bookkeeper your login.
  2. Give the bookkeeper the narrowest role that does the job. QuickBooks Online's Bookkeeper role can enter transactions and pay bills but can't view financial reports like the profit and loss or balance sheet, run payroll, or add, edit or delete vendors. Standard all access and In-house accountant can reconcile accounts and make journal entries, and In-house accountant can undo completed reconciliations.
  3. Don't use the View reports role as your own read-only seat. QuickBooks says it can't view the actual transactions or the audit log. Keep admin access so you can read the audit log yourself.
  4. Each month, after the books are reconciled, export the key reports (trial balance, general ledger detail, balance sheet, profit and loss, bank reconciliation reports) and save them to storage only you can write to. Hash them if you want to prove later that they're unchanged.
  5. Seal each invoice, payment and adjustment to a Rightshold mirror ledger as it happens, from a script or integration that uses an API key only you hold. Use your own invoice and customer references, not names or emails.
  6. Book corrections as new entries. The mirror has no edit or delete route, so a mistake is fixed with an adjustment or dispute_note entry that points at the original.
  7. Once a month, compare the three: the bank's statement, the mirror's entries for the month, and the books. Investigate anything in the books that isn't in the mirror or on the bank statement, or any mirrored entry that has changed in the books.
  8. Review payroll yourself. The AICPA's examples have the owner review each payroll report for phantom employees, unapproved overtime and unapproved raises, and approve every payroll change in writing.
  9. Keep the copy for as long as your tax records, not just two years. The QuickBooks Online audit log keeps events for two years.

Why can't my QuickBooks or Xero file be the copy of the books my bookkeeper can't edit?

Accounting software is built to be edited. QuickBooks Online's Standard all access and In-house accountant roles can reconcile accounts and make journal entries. The primary admin, In-house accountant users and accountants can undo a completed reconciliation, which permanently deletes its report. The audit log records who changed what and keeps events for two years.

What goes into an independent copy of a small business's books?

The bank's statements are the best outside record of money in and out, as long as they come to you directly and not through the person who keeps the books.

What does a Rightshold mirror ledger record, and who can change it?

A Rightshold mirror ledger is opened under a neutral label such as 'Service business #1', so the business isn't named publicly. Each entry records its type, your content (amounts in integer cents and your own references), the date you give (occurred_at) and Rightshold's seal time (sealed_at), and is hash-chained to the entry before it.

How do I ask Rightshold about this (free, no key)?

Add the MCP server https://www.rightshold.com/mcp to Claude, Cursor, ChatGPT, Grok or VS Code, then ask: “Is the Rightshold ledger block that holds my latest mirror-ledger entry anchored in Bitcoin yet?”

One-click setup

{
  "tool": "ledger_anchor",
  "arguments": {
    "height": "<anchor.block_height from GET /v1/mirror-entries/{id}>"
  }
}

Rightshold doesn't connect to QuickBooks, Xero or your bank, and it doesn't do bookkeeping or check your numbers. The mirror proves what was sealed and when. It doesn't stop anyone editing your accounting software, it can't see records nobody sealed, and it can't show a sealed record was accurate. Setting user roles, receiving statements and comparing the records are steps you run. Not legal, tax, audit or accounting advice.

What are the sources?

Related

Not legal advice. JSON · Markdown · All answers

Get a free API key in one call

No card and no email needed. 100 free credits; the license and policy checks stay free without a key.

curl -s -X POST https://www.rightshold.com/v1/accounts/signup -H "Content-Type: application/json" -d '{"accept_terms":true}'
export RIGHTSHOLD_API_KEY=rs_...   # the api_key from the reply (shown once)
curl -s https://www.rightshold.com/v1/licenses/check -H "Authorization: Bearer $RIGHTSHOLD_API_KEY" \
  -H "Content-Type: application/json" -d '{"license":"MIT","intended_use":{"commercial_use":true}}'