StickyBooks: 10-Day Product Plan¶
Decision date: August 26, 2026
Production target: September 5, 2026
Initial scope: eComHD US, Amazon.com, connected Hemani Holdings QBO company
Decision¶
Ship a complete eComHD monthly-close cockpit, not a broad clone of A2X or ConnectBooks.
Sticky already owns the difficult settlement-accounting path: source capture, reconciliation, mapping, balanced journals, duplicate protection, guarded QBO posting, and readback verification. StickyBooks should turn that engine into an operator product and add the missing inventory-close workflow.
The day-10 product has two independent lanes:
- Settlements run automatically when clean. Exceptions are held and shown with a cause, owner, evidence, and one safe next action.
- Monthly inventory close synchronizes available source data, accepts controlled inputs for remaining gaps, calculates the deterministic inventory roll-forward, generates the inventory journal, requires independent reviewer approval, posts and verifies it in QBO, signs off the period, and exports the close package in the brand managers' Financial Call Report format.
Sticky is the source of truth. The Financial Call Report becomes a versioned output generated from the signed close snapshot.
Ground-truth correction (issue #49, 2026-09-02): the close lane is anchored to the brand managers' Financial Call Report — reference example
Culinary_Couture_July_2026_Financial_Call_Report.html, generator = theamazon-financial-call-reportskill (tabs: Executive Summary, Top-Line Revenue, Missed Targets, Stock Analysis, Bottom-Line Metrics, Agenda Responses; per-ASIN $ from the Seller Board export, P&L totals from MRP). It is not the Google "Accounting Sheet Template"; that reference is dropped. The close's COGS, inventory, and margin numbers must tie to what the brand managers present on the monthly call.
Day-2 control gate
Inventory QBO posting is enabled only if one completed eComHD month reconciles at both units and dollars, product identity is unambiguous, the journal policy and accounts are approved, and operator/reviewer authorization is enforced server-side. If any gate fails, the cockpit still ships with a shadow journal and approved export while the failed control remains visible.
What is proven today¶
The following was checked against production on August 26, 2026:
| Capability or source | Current fact |
|---|---|
| Settlement journals | 193 stored batches through August 23; all 193 have posted status |
| QBO verification | 193 verified posting attempts; no non-verified attempt |
| Monthly Amazon inventory ledger | Loaded through July 2026; synchronized August 26 |
| Daily Amazon inventory ledger | Loaded through August 24; synchronized August 26 |
| AWD inventory | Current August 26 snapshot |
| HIEX warehouse inventory | Current August 26 snapshot |
| Purchase orders | Current August 26 snapshot |
| Settlement events | Latest source activity August 24; flagged by the generic 26-hour watchdog even though settlement finalization commonly lags |
This does not mean July accounting is closed in StickyBooks. Settlement posting is caught up and the inventory source is present, but the inventory valuation journal, review, close signoff, lock, and workbook export do not yet exist as a controlled product workflow.
What we learned from A2X¶
Research used the authenticated Keto Vitals workspace. Amazon.com was visible,
and the destination action said Post to QBO; the legal QBO company name was
not visible and is therefore not claimed.
Keep¶
- A settlement-first work queue.
- Separate settlement and COGS/inventory readiness.
- Missing-source visibility and connection health.
- Category aggregation with drill-down to source evidence.
- Automatic posting for clean work.
Improve¶
- Never show a primary
Postaction while a batch is blocked. - Replace unexplained
On Holdwith a specific cause and resolution path. - Do not make row-by-row manual posting the normal workflow.
- Do not couple settlement posting to inventory close unless an explicit policy requires it.
- Never retry an ambiguous QBO result without first reconciling by document number.
Observed reference: /private/tmp/current-companies.png.
What we learned from ConnectBooks¶
Research used the UFKF Fresh Series tenant and examined Culinary Couture / UF
Fund Asset 1 CC. CC and IV tied for the most recent export activity; CC was used
for detailed review because it also exposed Amazon US, CA, MX, and Walmart.
Keep¶
- Company, store, marketplace, and accounting destination as explicit context.
- Separate ingestion, fund-transfer, mapping, approval, posting, and readback states.
- Exception-first filters and one obvious next action.
- Mapping templates with overrides.
- Visible sync recency, FX, product mappings, product costs, and inventory configuration.
- A dedicated month-close control center.
Improve or defer¶
- Avoid wide tables that hide actions and statuses off-screen.
- Avoid truncated, near-identical store names and flat company pickers.
- Do not make manual
Exportthe normal path. - Do not duplicate the same configuration for every store.
- Do not encode status by color alone or hide sync health behind hover.
- Defer accountant marketplace, replenishment, broad landed-cost allocation, AP/bills, and custom report builders.
The research did not expose a journal debit/credit preview, reconciliation math, QBO readback control, immutable audit log, close signoff, or period lock. This plan does not attribute those features to ConnectBooks.
Observed references are in
/Users/hemaniserver/tmp/connectbooks-research-20260825/.
What the close reference anchors¶
Reference: brand managers' Financial Call Report
(Culinary_Couture_July_2026_Financial_Call_Report.html; generator = the
amazon-financial-call-report skill). Its inventory-facing numbers — units,
COGS$, in-stock/OOS impact, margin — are what the close must reconcile to.
The roll-forward/landed-cost treatments below remain the accounting spine
that produces those numbers.
| Area | Workbook fields or behavior | StickyBooks treatment |
|---|---|---|
| Product identity | ASIN and product name from the Amazon ledger | Resolve through a versioned ASIN/MSKU/warehouse-SKU identity map; block ambiguity |
| Cost | FOB + processing = landed cost | Effective-dated controlled cost inputs with evidence and approval |
| Amazon inventory | Starting warehouse balance × landed cost | Frozen monthly ledger source and calculated value |
| Warehouse inventory | Quantity × landed cost | Frozen warehouse snapshot with effective date and completeness control |
| China inventory | Quantity × FOB | Controlled input until an authoritative live source exists |
| In transit | Quantity × FOB | Prefer PO/shipment source; unresolved quantities remain controlled inputs |
| Movement | Customer shipments, returns, transfers, found/lost/damaged/disposed/other | Deterministic ledger roll-forward with every component visible |
| Output | Dashboard, POs, Shipments, AZ Inventory Ledger tabs | Generated workbook from the signed Sticky close snapshot |
Product boundary¶
Must ship by September 5¶
1. Close control header¶
- Company/legal entity.
- Store and marketplace.
- Accounting period and currency.
- QBO destination company.
- Close status and current owner.
- Last successful sync, last attempted sync, expected-through date, and source coverage.
2. Settlement work queue¶
- Ready, blocked, posting, ambiguous, and verified filters.
- Settlement date/range, payout, reconciliation, posting state, and QBO result.
- Blocking cause, owner, age, and next action.
- Automatic happy path; no manual row-by-row posting requirement.
3. Settlement detail¶
- Reconciliation strip: Amazon control, mapped source, clearing, carry, debit, credit, and difference.
- Exact journal preview and intended QBO destination.
- Source records and fingerprints.
- Mapping resolution for actual eComHD exceptions.
- QBO attempt/readback result.
- Append-only timeline.
4. Monthly close workspace¶
- Expected-source manifest and readiness.
- Frozen source versions for Amazon ledger, AWD, warehouse, POs/shipments, and settlement completion.
- Per-product quantities, costs, values, movements, and variances.
- Controlled month-specific inputs with evidence and revision history.
- Deterministic inventory roll-forward.
- Generated inventory journal and exact payload preview.
- Independent approval, QBO post/readback, signoff, lock, controlled reopen, and Financial Call Report package export.
5. Operational controls¶
- No missing value silently becomes zero.
- Any source or controlled-input change invalidates calculations and approval.
- No client-supplied actor identity is trusted.
- Stale or incomplete required sources block approval.
- Ambiguous QBO responses are held for reconciliation, never blindly retried.
- A watchdog identifies missing jobs, stale sources, stuck states, unowned or aging exceptions, and ambiguous posts.
Build only when needed to clear a real blocker¶
- Inline SKU/product mapping.
- Inline QBO account mapping.
- Cost override or evidence correction.
- Source refresh and exception reassignment.
Defer¶
- Multi-company self-service onboarding.
- Non-Amazon channels and general marketplace configuration.
- Autonomous inventory-journal posting.
- General landed-cost allocation and bills/AP automation.
- Replenishment and forecasting inside StickyBooks.
- Accountant marketplace and custom report builder.
- Broad historical restatements or backfills beyond the rehearsal and target periods.
- Decorative financial dashboards that do not answer readiness, exception, or proof questions.
Information architecture¶
StickyBooks
├── Overview exception queue + current close readiness
├── Settlements
│ ├── Queue ready / blocked / posting / ambiguous / verified
│ └── Settlement detail reconciliation / journal / source / mappings / audit
├── Monthly close
│ ├── Readiness source manifest + freshness + blockers
│ ├── Inventory roll-forward by product and location
│ ├── Inputs costs, China, in-transit + evidence/history
│ ├── Journal preview + approval + QBO result
│ └── Signoff checklist + export + lock/reopen
└── Settings connections and only the mappings needed by eComHD
The first implementation can expose Overview, Settlements, and Monthly close as
tabs within one Books route. This avoids expanding the global Sticky navigation
before the product earns that complexity.
Wireframes¶
These are structural wireframes, not a visual redesign. The production UI should use Sticky's current compact cards, quiet surfaces, semantic statuses, restrained indigo accent, and tabular-number typography.
StickyBooks overview¶
┌ StickyBooks ──────────────────────────────────────────────────────────────┐
│ eComHD US · Amazon.com · July 2026 · QBO: Hemani Holdings │
│ Close: IN REVIEW Owner: Reviewer Name 3 blockers │
├───────────────────────────────────────────────────────────────────────────┤
│ Source readiness │
│ Amazon ledger Complete through Jul 31 ✓ last attempt Aug 26 │
│ HIEX warehouse Snapshot Jul 31 ! evidence needed │
│ POs / in-transit Coverage partial ! 2 inputs awaiting review │
│ Settlements All period batches ✓ 0 exceptions │
├───────────────────────────────────────────────────────────────────────────┤
│ Needs attention View all → │
│ ! HIEX month-end snapshot Owner: Ops 2d Attach evidence → │
│ ! China qty · ASIN B0... Owner: Preparer 1d Review input → │
│ ! Inventory journal v3 Owner: Reviewer 3h Review journal → │
├───────────────────────────────────────────────────────────────────────────┤
│ Settlements Inventory close Signoff │
│ 16 verified · 0 blocked 97% sourced · $X variance 8/11 complete │
└───────────────────────────────────────────────────────────────────────────┘
Monthly inventory close¶
┌ July 2026 inventory close ────────────────────────────────────────────────┐
│ Readiness Inventory Inputs Journal Signoff │
├───────────────────────────────────────────────────────────────────────────┤
│ Filter: [Needs review] [Location ▾] [Brand ▾] Search ASIN / SKU │
│ │
│ Product Start Receipts Sold Other End Cost Value State │
│ MOM-... 420 120 (310) +4 234 $8.12 $1,900 Ready │
│ RAVE-... 210 80 (191) -2 97 $6.44 $625 Review │
│ └ Variance: warehouse SKU is not mapped Resolve mapping → │
├───────────────────────────────────────────────────────────────────────────┤
│ 96 products · opening $X · ending $Y · unexplained variance $0.00 │
│ Generate journal → │
└───────────────────────────────────────────────────────────────────────────┘
Journal review¶
┌ Inventory journal · July 2026 · Version 3 ────────────────────────────────┐
│ QBO: Hemani Holdings Txn date: Jul 31 Payload: 84c1… Balanced ✓ │
├──────────────────────────────────────────────┬────────────────────────────┤
│ Account Debit Credit│ Review │
│ Inventory — Amazon $... │ Sources complete ✓│
│ Inventory — Warehouse $... │ Unexplained variance $0 ✓│
│ Inventory — China $... │ Inputs reviewed ✓│
│ COGS $...│ Account mappings approved ✓│
│ Totals $X $X │ │
│ │ [Approve exact version] │
├──────────────────────────────────────────────┴────────────────────────────┤
│ Source Calculation Evidence Mapping Approval QBO result Audit │
└───────────────────────────────────────────────────────────────────────────┘
Workflow and state model¶
Settlement lane¶
ingested → reconciled → mapped → preview_ready → auto-claimed → QBO accepted
└────────────── any failed control → blocked │
ambiguous QBO outcome ←─────────────────────┘
QBO readback → verified
Blocked and ambiguous require a named resolution. They are not retry states.
Monthly-close lane¶
open
→ sources_pending
→ inputs_pending
→ calculating
→ review_ready
→ approved
→ posting
→ verified
→ signed_off
→ locked
Any material source, input, mapping, calculation-policy, or journal change after
review_ready creates a new version and invalidates the old approval. A locked
period can only move to reopened through an authorized, reasoned audit event.
Source-of-truth contract¶
| Close fact | Initial source | Treatment | Day-10 confidence |
|---|---|---|---|
| Amazon inventory movement | SP-API monthly/daily inventory ledger | Freeze exact rows and source timestamp | Existing live source |
| Amazon month-end quantity | Inventory ledger ending balance | Calculate by product/disposition/location | Existing live source |
| AWD quantity | AWD API snapshot | Freeze effective-date snapshot | Existing live source; historical cutoff must be proven |
| HIEX quantity and unit cost | HIEX Stock Details sheet |
Freeze snapshot and evidence effective date | Existing nightly source; historical cutoff must be proven |
| Purchase orders | SoStocked PO sheet snapshot | Use for expected in-transit coverage and evidence | Existing nightly source; not sufficient alone for accounting ownership |
| China quantity | No proven live accounting source | Controlled period input | Manual at launch |
| In-transit ownership/cutoff | PO/shipment data plus accounting evidence | Calculate where authoritative; otherwise controlled input | Hybrid at launch |
| FOB cost | No proven effective-dated accounting source | Controlled product-period input | Manual at launch |
| Processing cost | No proven effective-dated accounting source | Controlled product-period input | Manual at launch |
| Landed cost | FOB + processing | Deterministic calculation | Calculated |
| Settlement journal | Sticky settlement engine | Existing fail-closed auto-post/readback | Production |
| Inventory journal | New close calculation and policy | Approval required before QBO | Build in this slice |
| Financial Call Report package | Sticky signed close snapshot | Generate after signoff | Output only |
Domain model¶
The new workflow should be centered on one close_period aggregate rather than
scattered flags across source tables.
| Record | Purpose |
|---|---|
close_periods |
Entity, marketplace, period, QBO destination, state, owner, version, lock/reopen metadata |
close_source_snapshots |
Expected source, coverage, freshness, row/count controls, frozen query or artifact fingerprint |
close_input_versions |
Period/product/location value, evidence reference, reason, preparer, timestamps, supersession history |
close_rollforward_rows |
Deterministic quantities, costs, values, movements, and variance at the approved grain |
close_exceptions |
Blocking cause, severity, owner, age, next action, and resolution |
inventory_journal_artifacts |
Immutable journal version, policy version, payload, hash, totals, and mapping versions |
close_events |
Append-only calculation, approval, posting, signoff, lock, reopen, and export history |
close_exports |
Workbook version, hash, generation time, and relationship to the signed snapshot |
Reuse the settlement posting safety primitives—payload hashing, claim-before- write, duplicate lookup, ambiguous-result handling, and QBO readback—rather than creating a weaker second implementation.
Ten-day execution plan¶
Days 1–2: prove the accounting contract¶
- Select one approved completed month, initially July 2026 if the official UF workbook or approved totals are available.
- Freeze the expected-source manifest, entity/store scope, cutoff policy, reviewer, QBO destination, accounts, document convention, rounding, and reopen authority.
- Recreate the UF per-ASIN units, landed costs, values, and proposed journal from Sticky sources plus explicit controlled inputs.
- Produce a variance report and resolve every material variance.
- Audit ASIN, MSKU, FNSKU, and warehouse-SKU joins for ambiguity.
- Decide the day-2 gate: production inventory posting or shadow/export only.
Days 3–4: build the deterministic close core¶
- Add close-period, source snapshot, controlled input, exception, roll-forward, journal artifact, event, and export records.
- Implement source freezing, completeness controls, input versioning, and approval invalidation.
- Implement the workbook-equivalent roll-forward and golden-month fixtures.
- Generate and compare the Financial Call Report package output.
Days 5–6: add accounting safety¶
- Generate the immutable inventory journal and exact payload hash.
- Enforce authenticated operator/reviewer roles and separation of duties.
- Reuse QBO preflight, claim, duplicate prevention, ambiguous hold, and readback.
- Add signoff, period lock, and controlled reopen.
Days 7–8: build the operator experience¶
- Add the StickyBooks route and close header.
- Build exception-first overview, settlement queue/detail, and monthly-close tabs.
- Add inline remediation only for real eComHD blockers.
- Make blocked causes, owners, source dates, intended destination, and next actions visible without logs or developer help.
Days 9–10: prove the product¶
- Run the historical close end to end with the actual operator and reviewer.
- Inject or safely reproduce ingestion, mapping, approval, duplicate, ambiguous POST, and readback failures.
- Verify Sheet export against the approved workbook contract.
- If the day-2 gate passed, run one controlled QBO inventory-journal canary and read it back.
- Run production build, tests, migrations, CI, and browser verification.
- Record evidence for signoff and the known deferrals.
Definition of shipped¶
StickyBooks is shipped only when all applicable gates pass:
- The golden month reconciles to the approved workbook at units and dollars; every variance is explained and accepted.
- Company, store, marketplace, period, currency, and QBO destination are explicit everywhere an action can occur.
- Every amount traces to a frozen source record, deterministic calculation, or versioned controlled input with evidence, owner, time, and reason.
- Missing, partial, stale, or ambiguous source coverage blocks close. Missing values never silently become zero.
- Product identity has no silent many-to-one or unmapped joins.
- Journal debits equal credits, mappings are approved, and the preview exactly matches the immutable payload.
- The preparer cannot approve their own inventory journal. Approval records actor, time, evidence, input versions, mapping versions, and payload hash.
- Any material change creates a new journal version and forces reapproval.
- QBO posting is idempotent; duplicates are rejected; ambiguous results are held; the successful entry is read back from the intended company and exactly matches the approved payload.
- Every blocker has a cause, owner, age, next action, and immutable history.
- Signoff requires all required sources, exceptions, approvals, postings, readbacks, and export. Signoff locks the period.
- Reopen requires authorization, reason, timestamp, and audit event.
- The Financial Call Report export ties exactly to the signed Sticky snapshot and carries its version and generation time.
- A real operator and reviewer complete the representative month without a side spreadsheet, manual database edit, or developer intervention.
- The watchdog surfaces source SLA failures, jobs that did not run, stuck states, unowned exceptions, and ambiguous QBO activity on the same operating day.
- Production build and CI are green, migrations are applied, and the changed workflow is verified in the browser.
Advisor synthesis¶
The decision was independently pressure-tested through three lenses:
- Warren, finance: protect against a balanced but economically wrong journal; require source evidence, separation of duties, idempotency, readback, signoff, and lock.
- Woz, engineering: prove the golden-month calculation before building the shell; use one close-period aggregate and reuse the settlement safety engine.
- Walton, operations: prevent false green states; every screen must answer what is stale, blocked, owned, next, and successfully verified.
All three agreed on the eComHD-only boundary, historical rehearsal, controlled inputs, human approval for inventory journals, QBO readback, and aggressive deferral of broad platform features. The only conditional branch is inventory posting: it remains shadow/export-only if the day-2 accounting and authorization gates are not proven.
Immediate unresolved facts¶
These are day-1 discovery items, not reasons to broaden the product:
- Which completed month is the approved golden workbook and who signs its totals?
- What is the authoritative historical HIEX snapshot at month-end?
- Which source establishes accounting ownership/cutoff for China and in-transit inventory?
- What are the approved inventory and COGS accounts, journal date, memo, document-number, rounding, and aggregation policies?
- Who is the named preparer, independent reviewer, close signer, and reopen authority?
- What materiality threshold, if any, may be explicitly approved rather than forcing zero variance?
The first build artifact should be the golden-month variance report and signed source manifest. They determine the real schema and prevent a polished interface from hiding an unproven calculation.