Landing template
BlockA whole product page from the Free blocks, in the order buyers decide, with a header that keeps the action in reach.
pnpm dlx shadcn@latest add https://caliperui.site/r/landing-template.jsonMonth-end close for finance teams
Close the books in a morning
Halden matches every bank line to the ledger as it lands, so the close is a review, not a hunt.
14 days free · no card
Closing the books at 1,200 finance teams, including
- Ostra Freight
- Lumen Labs
- Kestrel Bio
- Northwind
- Tide Physio
9→1days to close the books at Ostra Freight
“The first month we trusted it, our auditors asked for the audit trail export instead of our spreadsheets.”
The product
One close, three jobs
Halden does the matching, hands you what it could not decide, and keeps the record your auditors want.
Why teams switch
What changes at month end
Three things stop being a scramble the first month you run Halden.
- 01
Lines match as they land
Bank feeds reconcile against the ledger every four hours, with the rule that matched each line.
- 09:12Stripe payoutrule: payouts$18,240.00
- 09:12AWS · 0923vendor history$4,112.37
- 13:04Figma · Annualrule: SaaS$2,880.00
- 17:30Brex settlementstatement$9,377.80
97%matched without a touch
- 02
Exceptions come with context
Anything unmatched arrives with the three likeliest invoices and who approved them.
6lines left in October
- 03
An audit trail auditors ask for
Every match, edit and approval exports as one file your auditors can sample.
1 fileinstead of 40 spreadsheets
Why switch
Month end, before and after
Matching bank lines
Spreadsheets: VLOOKUPs across three exports, rerun after every correction.
With Halden: Matched as each line lands, with the rule that matched it.
Finding a mismatch
Spreadsheets: Scroll until the totals stop disagreeing.
With Halden: Six lines, each with the likeliest invoice and who approved it.
Audit evidence
Spreadsheets: Forty files, renamed by hand in October.
With Halden: One export auditors can sample.
Time to close
Spreadsheets: Nine working days.
With Halden: A morning.
How it works
From bank feed to closed books
Seven minutes of setup, then Halden works overnight. Choose a step to see what exists after it.
Pricing
Priced for your team
Move the slider to your headcount. The plan that fits is marked, with the reason.
- Starter
—Not available for 14 seats
Not available above 5 seats- 2 bank connections
- Monthly close
- Email support
- TeamFor you
/mo$448 per month
14 seats × $32- Unlimited connections
- Daily matching
- Audit trail export
- Scale
/mo$672 per month
14 seats × $48- Multi-entity
- SSO and SCIM
- Named accountant
14 seats is more than Starter allows, so Team fits.
Prices in USD, before tax.
What controllers say
We closed September in three hours. The team spent the rest of the week on forecasting, which is the job we were hired for.
- 3h
- month-end close, down from 9 days
- −62%
- audit fieldwork hours
“Our auditors sampled the export.”
Lena BrandtCFO, Lumen Labs
FAQ
Questions finance teams ask
Straight answers, each linked to the page that explains it in full.
Not here? Ask us about it
- No. It prepares the close; your accountant reviews it and signs off, usually faster. How review works
- 11,000 banks through Plaid, plus Xero, QuickBooks and NetSuite in both directions. Connections
- Undo it in one click. Halden learns from the correction for that vendor. Corrections
- Never. Your data is processed in eu-central-1 and deleted 30 days after you leave. Data processing terms
Start today
Close October in a morning.
14 days free · no card · import your September close
When to use #
Use it for
- A product or launch page you want live this week.
- You want a starting point to rearrange, not a blank page.
Skip it when
- Content sites and blogs; use the docs template.
- Pages that need a bespoke story; compose the blocks yourself.
Installation #
pnpm dlx shadcn@latest add https://caliperui.site/r/landing-template.json
Adds its 19 files to components/ui/, each with its own stylesheet, and installs their packages. No account needed. The first part also adds Caliper UI’s tokens; import them once as in Installation.
Usage #
This is the code behind the preview above.
import { LandingTemplate } from "@/components/ui/landing-template" export function LandingDemo() { return ( <div className="h-[720px] w-full overflow-auto rounded-[14px] shadow-[0_0_0_1px_var(--border)]"> <LandingTemplate brand="Halden" nav={siteNav()} signIn={{ label: "Sign in", href: "#" }} primary={heroes.primary!} sections={{ hero: heroes, proof, showcase: showcases, features, comparison: comparisons, steps, pricing, testimonials: quotes, faq: faqs, cta: ctas, footer: footers }} /> </div> ); } const siteNav = (current?: string) => [ { label: "Product", href: "#product" }, { label: "Pricing", href: "#pricing", current: current === "pricing" }, { label: "Customers", href: "#customers" }, { label: "Changelog", href: "#changelog", current: current === "changelog" }, ];
API reference #
LandingTemplate
component
Accessibility #
It is built on native elements and keeps aria-hidden in step with state.
No custom key handling; Tab and the native activation keys do the work.
Motion #
It declares no animation in its component source. Any transition comes from its stylesheet, which uses the duration tokens that collapse to instant under prefers-reduced-motion.