The product · complete surface area

Everything in the box.

Four surfaces, one keyboard, and a written contract about what is allowed to change. This page is the whole product — including the parts that aren't built yet, and the parts we refuse to build.

30 capabilities built and running. Every one of them listed below, with its real status.

SpecificationRev. 2026.08
LedgerQuickBooks Online
Books per firmUnlimited
SeatsUnlimited, all tiers
Close cycleNightly
Keystroke commit< 100 ms
Undo window5.5 s
POS formatsToast · Square · Clover
Payroll formatsGusto · ADP · Paychex
Bank credentials heldNone
Every writeReversible
Receipt retention7 years

Nine client books. The exceptions lift out and collect into one queue — which is the entire product, in one object.

§ 01The four surfaces

The product is four things.

Not a suite. One queue, one engine that fills it, one way the files get in, and one way to ask a question you can't answer from a spreadsheet.

01 / 04

The inbox

Every exception in every client's books, stacked in one list — uncategorized charges, cash shortages, tip drift, unmatched deposits. Not one tab per client. One list, worked top to bottom.

The same vendor landing uncategorized in seven restaurant books is one row, not seven. Confirm it once and it posts to all seven.

Inbox · 7 restaurant books37 / 200 cleared
7 booksSYSCO FOOD WESTCOGS · Food · 97%$2,473.26B
The WharfCash short · Fri Mar 14drawer vs deposit · reg 2−$47.00E
Lupe Taq…Tip liability varianceFebruary close−$212.00A
BoccaBIZINSURE LLCG&A · Insurance · 94%$143.97A
Golden Ho…DoorDash payout unmatchedpayout vs POS · $88 gap−$88.40E
A accept · B batch across books · E ask the manager
02 / 04

The reconciliation engine

The money that never touches the bank feed: tips owed versus tips paid, and the drawer versus the deposit slip. Computed nightly, per location, per business day.

No finding arrives without its evidence and its arithmetic. If the engine isn't confident it says “needs review” — it never states a number as a fact.

A post the fix · E ask the manager
Cash short · register 2Fri Mar 14
drawer count$486.00
bank deposit$533.00
over / (short)− $47.00
EVIDENCE ATTACHEDaudit #4471
03 / 04

The report inbox

Every location gets its own private email address. Point the POS's existing scheduled report at it and ingestion is zero-touch — forever. Nothing is installed at the restaurant.

No API approvals to chase, no logins to collect, no scraping. A format we don't recognise is refused out loud, naming the offending lines — never parsed halfway and posted.

Toast · Square · Clover · Gusto · ADP · Paychex · bank CSV
Ingestzero-touch
the-wharf@in.ledgerinbox.com
Mar 14Toast · daily summaryauto-detected · sha256 dedupedOK
Mar 14Gusto · payroll journaltips by accountOK
Mar 14unknown_export.xlsrefused — column 4 is not a dateREFUSED
04 / 04

Ask the manager

Some answers only exist in someone's head at the restaurant. Press E and the manager gets a mobile page with no login and an expiry: “What was this $212 paid-out on March 14?”

Their answer and receipt photo land back on the finding. Unanswered ones chase themselves, so the question doesn't die in your sent folder.

No login · expiring link · answer attaches to the finding
Manager link · expires in 72hThe Wharf
What was this $212.00 paid-out on Mar 14?asked 09:12 · Rosa
ReplyProduce delivery, cash. Photo attached.11:40 · Marco (GM)
ResultPosted → COGS · Producejournal entry #1184POSTED

Illustrations from demo data — the surfaces are real, the vendors, amounts and reference numbers are not. We're pre-launch; there are no customer books to screenshot.

§ 02Capability ledger

Every capability, and its real status.

Status reflects what is built and running on main, as of 12 Aug 2026. Nothing here is aspirational; nothing here claims a customer count. We are pre-launch, and this table is how you can tell we'll say so.

The product as an assembly — 30 parts in place, 3 still hollow. It builds itself as you read the table.

CapabilityStatusVersion
The inbox
Keyboard-first exception inboxJ/K navigation, single-key dispositionBUILTV1
Multi-book batch applyone vendor across every book at onceBUILTV1
Command palette (⌘K)BUILTV1
Policy memoryyour firm's rules, visible and editableBUILTV1
Reviewer modea second pair of eyes before the closeBUILTV2
Reconciliation
Cash over/short, dailyexpected deposit vs actual, per locationBUILTV1
Tip-liability rollforwardaccrued vs paid via payroll vs paid from drawerBUILTV1
Deposit matchingBUILTV1
Cash-short pattern attributionwhich register, which shiftBUILTV2
Payroll clearing account reconciliationBUILTV2
Delivery-payout reconciliationDoorDash · Uber Eats · GrubhubBUILTV3
Processor fee auditBUILTV3
Sales-tax-collected reconciliationBUILTV3
Gift-card liability driftBUILTV3
Intercompany due-to / due-fromrestaurant groupsBUILTV3
Getting the files in
Per-location private ingest address{location}@in.ledgerinbox.comBUILTV1
POS report parsingToast · Square · CloverBUILTV1–V2
Payroll journal parsingGusto · ADP · PaychexBUILTV1–V2
Refusal-first parsingunrecognised format rejected by name, never half-parsedBUILTV1
Evidence & write-back
Findings carry evidence and shown mathBUILTV1
Two-way QuickBooks write-backBUILTV1
Idempotent, reversible postingclosed-period guarded; one-key batch reversalBUILTV1
Ask-the-manager linksno login, expiring, self-chasingBUILTV1–V2
Close certificateper client, per period, signableBUILTV1
Post-close drift detectionBUILTV2
Branded monthly firm report (PDF)BUILTV2
Firm & security
Per-firm database isolationrow-level security, deny-all by defaultBUILTV1
Append-only audit logenforced in the database, not the appBUILTV1
Firm activity consolewho did what, whenBUILTV4
Rolesowner · admin · memberBUILTV1
SSOOkta · Google · MicrosoftNEXT
SOC 2 Type IINEXT
Support SLANEXT
30 built·3 next

SSO, SOC 2 Type II and the SLA are deliberately not started. They are gated on a firm with 25+ locations actually asking for them — building them before that is theatre, and we'd rather tell you than pad this table.

§ 03Where the data goes

In, through, out.

Three inputs, one engine, one destination. Anything not on this diagram does not happen.

In

  • QuickBooks Online · OAuth
  • POS daily report · email
  • Payroll journal · email
  • Bank export · CSV or Plaid, optional

Through

  • Cross-check · nightly
  • Findings · evidence + math
  • Your inbox · one queue
  • Your keystroke · required

Out

  • QuickBooks journal entry
  • Audit row · append-only
  • Close certificate
  • Manager question · if escalated

What we never receive

  • Bank login credentials
  • Card or account numbers
  • Guest or customer PII
  • Employee social security numbers
  • Anything from inside the restaurant's POS terminal
  • Balances or account totals, for the categorization model
01

Nothing posts without a human keystroke. The engine proposes; a person confirms. There is no autonomous mode and there is no plan for one.

02

Every write is idempotent, logged and reversible, and is blocked outright if the period is closed in QuickBooks.

03

The model sees one line at a time — description, amount, date, and your firm's policy memory. Never balances, never client PII.

§ 04The keyboard contract

These keys are a published API.

The complaint that built this company was never “it's missing a feature.” It was “it moved.” So the keymap is versioned like an interface, not tuned like a preference.

JKNext / previousInbox
AAccept the suggestionInbox
RRecategorizeInbox
BBatch across booksInbox
EEscalate to the managerInbox
SSkipInbox
XToggle selectionInbox
⇧AAccept all ≥ 90% confidenceInbox
⌘ZUndo · 5.5 second windowInbox
⌘KCommand paletteGlobal
1–9Jump to a clientGlobal
⇧IGo to inbox · ⇧W ⇧P ⇧V ⇧L ⇧U for the restGlobal
?Keyboard cheatsheetGlobal
TLight / darkGlobal
[Collapse the sidebarGlobal
EscClose anything. Always.Global
30days' notice

Changing what a key does is a major version bump: a written rationale, a public changelog entry, thirty days of in-app notice, and the old key keeps working for all thirty. We've done it twice — both times to fix a binding the browser was silently swallowing, both written up in full. Read the keystroke changelog →

§ 05Boundaries

What we will never build.

This list is as load-bearing as the one above it. A tool that does everything is a tool that does none of it before the dinner rush.

We don't do thisBecause this already does it well
Daily sales journal entriesShogo · Bookkeep. They post the entry; we reconcile what they post. Keep them — most firms run both.
Inventory, COGS, recipe costingMarginEdge · Restaurant365. We stop at the ledger.
Practice managementDouble · Karbon. We're the queue inside your close, not the system around it.
Financial reporting and dashboardsQuickBooks. It already does this, and you already know where it is.
1099 filing · engagement letters · e-signNot our close. Adding them would make everything above slower.
White-label client portalA portal your client never logs into is a feature you maintain for nobody.
Xero and other ledgersQuickBooks Online only. Depth in one beats a shallow adapter in four.
Autonomous bookkeepingNothing posts without your keystroke. That's a boundary, not a roadmap item.

Send one month. We'll show you the findings.

One client, one month of POS, payroll and bank files. We run the whole engine and send back what we found — the shortages, the tip variance, the unmatched deposits — with the math attached. Free, and yours whether or not you sign up.

Built on the QuickBooks App Partner API·Bank connections via Plaid·Every write audit-logged·SecurityStatusPrivacyTerms