Every client closed on time, every month.
The month-end close is the same twelve jobs, for every client, every month — and most small bookkeeping firms still run it from a spreadsheet. CloseKit generates each client's close from your template with business-day due dates, enforces reviewer sign-off, and chases client documents with a reminder queue. Flat-priced: no per-client or per-seat metering. From $19/month.
Sample — Harbor Books Co. · September close
Sample close only — not a customer result. One close per client per period, generated from the standard 12-task template. Every due date is a business-day rule: weekends and your firm’s holidays are skipped.
| Task | Owner | Due | Status |
|---|---|---|---|
| Collect bank & card statements Documents | Preparer | BD 1 | Done |
| Reconcile all bank accounts Reconciliations · review required | Reviewer | BD 3 | In review |
| Reconcile credit cards & loans Reconciliations · review required | Reviewer | BD 3 | Done |
| Clear uncategorized / for-review transactions to zero Cleanup · blocker: client answer | Preparer | BD 4 | Blocked |
| Record accruals, prepaids & depreciation Adjustments · review required | Preparer | BD 6 | To do |
| Review P&L vs prior month & prior year Review · explain variances · review required | Reviewer | BD 7 | To do |
Plus 6 more, same template: review AR & AP aging (BD 5), reconcile payroll (BD 6), review the balance sheet (BD 7), send financial statements and lock the period (BD 8).
Why CloseKit
The tools built for this job meter the two things a growing firm can't control: seats and client count. CloseKit does one job — the close — at one flat price.
Generated, not remembered
One close per client per period, built from your template: 12 standard tasks with due dates computed in business days — weekends and your holidays skipped. One open close per client, ever.
Sign-off that enforces itself
A close cannot be signed off with open tasks, unapproved reviews, or unanswered document requests. Blocked tasks require a reason. Reviewer rejections reopen the task automatically.
Document chasing, queued
Request the bank statement, the payroll register, the missing answer — CloseKit's reminder queue tracks what's owed and spaces reminders for you (at most 4, at least 2 days apart).
The close package
Every month ends with a package: every task, review, request, and the full audit trail of who did what, when. Export it as JSON or CSV — it's the record the close was done properly.
Flat plans from $19/mo
Solo covers 15 clients for $19 flat. A 3-person firm with 30 clients runs on Firm — $49 flat, not per seat, not per client.
CloseKit pricing
Straightforward plans — pick the tier that fits and check out securely. Every plan is described in full on the pricing page.
Solo
$19/mo
- 1 user, up to 15 active clients
- Unlimited close templates + built-in 12-task standard close
- Business-day due dates with custom holiday list
- Reviewer sign-off enforcement + blocker reasons
- Document requests + reminder queue
- Close package (JSON + CSV) with audit trail
Firm
$49/mo
- Up to 5 users, up to 50 active clients
- Everything in Solo
- Firm dashboard: every open close, progress, overdue counts
- Per-task team assignments
- Priority support
Practice
$99/mo
- Unlimited users, unlimited active clients
- Everything in Firm
- Template sets per service line
- Audit-trail export across closes
More of what CloseKit does
Features
The close, run like a system instead of a memory test.
The artifact that proves the month was closed properly.
Section, due date, owner and final state for all 12 template tasks. Approvals and rejections, by whom and when. Received or waived — sign-off is impossible while one is still open. The whole package, audit trail included, from one API call.
Close templates
Your close as an ordered task list: sections, business-day or calendar-day due offsets, reviewer-required flags, blocker types. The standard 12-task close — statements, reconciliations, cleanup, accruals, payroll, P&L and balance-sheet review, delivery, period lock — ships built in.
How it works
Business-day due dates
Offsets count from the month after the period being closed, skipping weekends and your firm's own holiday list. A task due on "business day 5" never lands on a Saturday.
Reviewer sign-off
Reconciliations and reviews can require a second pair of eyes. Done isn't final until a reviewer approves; a rejection reopens the task with the trail intact.
Document requests & reminders
Per-close requests to the client with received/waived resolution. The reminder queue surfaces what's due within 3 days or overdue, under a spacing policy — the dispatch list your mailbox or provider sends from.
What you get
Firm dashboard
Every open close on one screen: client, period, target close date, percent done, blocked count, overdue tasks and requests, reminders due. No asking around.
API-first, audit-trailed
Every state change is appended to an audit log and lands in the close package. The whole product is a documented REST API — bring your own automations.
How we compare
Competitor prices verified October 2026.
The details
Quickstart
From signup to your first generated close in minutes.
Pick your plan
Choose a tier above and check out securely with Stripe. Your firm workspace is provisioned and your API key delivered by email (operator step while we're in pre-launch).
Add your clients
curl -X POST localhost:8099/api/v1/clients \ -H "X-API-Key: ck_..." \ -d '{"name":"Acme Retail","contact_email":"owner@acme.example"}' Client caps follow your plan: 15 on Solo, 50 on Firm, unlimited on Practice.
Going further
Use the built-in close template
curl -X POST localhost:8099/api/v1/templates \ -H "X-API-Key: ck_..." \ -d '{"name":"Standard monthly close"}' Omitting the task list gives you the standard 12-task close — statements, reconciliations, cleanup, accruals, payroll reconciliation, P&L and balance-sheet review, delivery, period lock. Customize it anytime, or set your firm's holidays first so due dates skip them.
Generate the close
curl -X POST localhost:8099/api/v1/closes \ -H "X-API-Key: ck_..." \ -d '{"client_id":"client_...","template_id":"tmpl_...","period":"2026-09"}' Due dates are computed in business days from the start of the following month. One open close per client and period — duplicates are rejected.
Work it, then sign off
Work the close on the Close Board — every client, every close, progress and blockers on one screen — or straight from the API: move tasks to done; blocked tasks need a reason; review tasks need a reviewer's approval. Request documents from the client, watch GET /api/v1/reminders for the chase list, and sign off only when everything is complete — the API refuses otherwise. Your close package is at GET /api/v1/closes/<id>/package .