Everything the close needs, in the ledger.

Sources, schedules, reconciliation, the checklist, reports, and an assistant that reads all of it.

No signup · your own copy of the books · deleted after two hours idle

Card & payroll imports

Map a vendor once. It stays mapped.

Ramp, Brex, Stripe, Justworks, Deel, Expensify, and bank CSVs come in as source transactions. Rules assign the account and vendor. Rerun them any time; post a month of spend as one reviewed batch.

  • Rules by merchant, cardholder, department, memo, or amount
  • Flag a purchase as a prepaid or fixed asset from the row
  • Grouping rules control how transactions batch into journal entries
  • Payroll field mappings for Justworks and Deel line items

Supported sources

RampBrexStripeJustworksDeelExpensifyBank CSV

Try this in the demo →

demo.granitebooks.io
Ramp transactions for July 2026: 15 rule-matched, 30 unmapped, each row with a GL account and vendor selector

Prepaid expenses

Schedules that post themselves

A prepaid is created from the payment that funded it. Each month's amortization is a line on the schedule, and the close posts the lines that are due. Edit a schedule and the posted entries void and repost correctly.

  • Straight-line, custom, or usage-based schedules
  • Due entries surface in the close and post as a batch
  • Waterfall report ties to the balance sheet
  • Edits void and repost — the audit trail stays intact

Try this in the demo →

demo.granitebooks.io
Editing a $15,000 SaaStr sponsorship amortization schedule; a warning notes that one posted period will be voided and reposted

Fixed assets

Depreciation from the purchase that funded it

Flag a laptop on the card feed as a fixed asset and it gets a depreciation schedule. Monthly entries are due in the close like everything else.

  • Created from a card row or bank line
  • Straight-line over a useful life you set
  • Fixed-asset report ties accumulated depreciation to the GL

Try this in the demo →

demo.granitebooks.io
Four depreciation entries due for July 2026, $881, ready to post

Deferred revenue

Annual contracts release monthly

Stripe invoices for annual plans book to deferred revenue. Each month the close recognizes one period per contract and shows you the batch before it posts.

  • One recognition entry per invoice per month
  • Deferred-revenue report ties to the liability balance
  • Monthly plans post straight to revenue

Try this in the demo →

demo.granitebooks.io
37 revenue recognition entries due for July 2026, $73,423, listed by Stripe invoice

Accruals

Accruals with reversal dates built in

An accrual carries its reversal period. Last month's reverse on the first; this month's are reviewed for staleness before the period can lock.

  • Reversal period set at creation
  • Open accruals reviewed during the close — keep or reverse
  • Full history: original, reversal, extensions

Try this in the demo →

demo.granitebooks.io
Accruals review for July 2026: two open accruals from June 30, Hosting & Infrastructure $3,200 and Professional Services $4,500

Bank reconciliation

Know where the difference is

Load the statement. Obvious pairs match themselves. Payments that settle an open balance are confirmed in one click; new payments get an account and become entries. The rec completes when the difference is zero.

  • Auto-match on amount and date
  • Card payments settle the card payable
  • Completed recs are part of the close record

Try this in the demo →

demo.granitebooks.io
Operating Checking reconciliation for July 2026: 6 items matched automatically, 1 settles an existing entry, 5 new payments need an account

Close checklist & period lock

The period locks when everything is done

Four phases on one page. Every step turns green from the books themselves. Finalize lists what's still due and refuses to lock until the list is empty.

  • Blockers computed from the ledger, not ticked by hand
  • Lock requires zero due entries and completed recs
  • Posting into a locked month needs a reason and leaves an audit row

Try this in the demo →

demo.granitebooks.io
Post & Lock phase for July 2026 listing the remaining blockers with Go to step links

Reports

Every number traces to an entry

P&L, balance sheet, cash flow, prepaid waterfall, deferred revenue, fixed assets, vendors. Monthly columns show the trend; every amount drills to the journal entries behind it.

  • Monthly columns across any range
  • Drill-down from any amount to entries
  • CSV and Excel export

Try this in the demo →

demo.granitebooks.io
Income statement for Tidewater Analytics with monthly columns January through July 2026
demo.granitebooks.io
Prepaid expense waterfall report: eight prepaids with opening balances and monthly amortization

Granite Assistant

It reads the books. It doesn't write without asking.

Ask what's blocking finalize, why a rec is off, or to draft an accrual. The assistant reads the ledger, proposes the entry, and waits. Nothing posts without your approval, and every post carries the same audit trail as one you typed yourself.

  • Runs on Claude, scoped to your organization
  • Every write goes through an approval card
  • In the demo: rate-limited, only answers about Tidewater

Try this in the demo →

demo.granitebooks.io
Granite Assistant proposing a $4,500 accrual for Wilson Sonsini, with Approve and Don't allow buttons

Try all of it on Tidewater's July close

Ten minutes, no signup. Or join the beta and we'll help with your own books.

No signup · your own copy of the books · deleted after two hours idle