Skip to content

Enterprise

Burgundy and square corners — the register of things bought in a boardroom. Numbers in the hero, a comparison table that concedes rows, and published prices instead of a sales wall.

5 routes5 pages · 18 blocks34 files · 4,349 lineslucide-reactAdded 2 Sept 2026

What's included

  • app/globals.css
  • app/layout.tsx
  • app/login/page.tsx
  • app/not-found.tsx
  • app/page.tsx
  • app/pricing/page.tsx
  • and 9 more files
  • 5 pages it is built from, installed with it
  • Needs lucide-react

Works with

  • React
  • Next.js
  • Tailwind CSS
  • TypeScript

npx hoverlab init enterprise ./my-app

Or over MCP, from your editor's agent — no account needed.

License

Free to read, copy and install, for personal and non-commercial projects. Shipping it in client work or a paid product needs Pro ($79 once). The source lands in your repo and stops being ours — no attribution, nothing to upgrade.

Was this useful?

Every screen

Reconciliation for regulated finance teams

Close the month in four days, and prove how

Ledgerline reconciles every ledger, flags what does not match, and keeps an audit trail your regulator will accept without a follow-up request.

lower cost per close
31%
median month-end, from 11
4.2 days
finance teams
412
uptime, trailing 12 months
99.99%

Reconciling for regulated teams at

NorthwindContosoInitechGlobexUmbrellaSoylentVandelayLumon

What a finance team stops doing by hand

Four surfaces. Each of them is a spreadsheet somebody currently owns, maintains and worries about.

Matching that explains itself

Every automatic match records the rule that made it and the confidence it had, so a reviewer approves a decision rather than re-doing it. The 4% that cannot be matched arrive in a queue with the near-misses attached, not as an error log.

An audit trail nobody assembles

Immutable, timestamped, and exportable to the format your auditor asks for. It is generated as work happens rather than reconstructed in March.

Controls that map to the framework

SOX, ICFR and your own internal controls, mapped to the actual steps in the product, with evidence attached to each one.

Close the same way every month

A checklist with owners, dependencies and a real critical path, so the month-end that took eleven days does not take eleven days because two people were on holiday.

Against the two things you are probably using

Written by us, so read it accordingly — but the two rows we lose are real, and we would rather you found them here than in month three.

Against the two things you are probably using — features by plan
FeatureLedgerlinePopularLegacy ERP moduleSpreadsheets
Automatic match rate, out of the box96%71%n/a
Match reasoning recorded per transactionIncludedNot includedNot included
Immutable audit trailIncludedIncludedNot included
Close checklist with owners and critical pathIncludedNot includedManual
SOX / ICFR control mappingIncludedAdd-onNot included
SSO, SCIM and scoped rolesIncludedIncludedNot included
Median time to first close3 weeks9 monthsSame day
Works offline on a planeNot includedNot includedIncluded
Already integrated with your ERP14 connectorsIt is the ERPn/a
Data residency in the EU or UKIncludedVariesYour laptop
Cost of the first year£48k–£140k£300k+Salaries
Nobody has to be trained on itNot includedNot includedIncluded

Customers

Three finance leads, on the record

Filmed at their offices, unscripted, and each of them was told they could say what did not work. Two of them did.

  • Watch Marisol Herrera of Contoso, 4:12

    “We went from eleven days to four. The implementation was harder than they said it would be and I would still do it again tomorrow.”

    Marisol HerreraGroup Financial Controller, Contoso
  • Watch Peter Nkemelu of Northwind, 3:38

    “The audit trail is the thing. Our auditors used to send forty follow-up requests at year end. Last year they sent four.”

    Peter NkemeluVP Finance, Northwind
  • Watch Hana Ito of Lumon, 5:01

    “The match rate was 96% in the demo and about 80% on our data for the first two months, because our data was a mess. It is 95% now. Ask them what your number will really be.”

    Hana ItoHead of Financial Operations, Lumon

The vendor-risk question

Whether we will still be here when your contract renews

  1. 2019

    FoundedBy two people who had run month-end at a bank

    First customer that November; still a customer.

  2. 2022

    ProfitableAnd has been every quarter since

    We raised once, in 2020, and have not needed to again.

  3. 2024

    SOC 2 Type IIPlus ISO 27001 and UK/EU data residency

    Reports available under NDA before you sign anything.

  4. 2026

    412finance teams, 94% renewing at twelve months

    The 6% who left mostly got acquired onto a parent’s stack.

Real numbers, so you can start the budget conversation

Published because a champion who cannot name a figure cannot open a budget conversation, and a deal that never opens is not protected — it is lost.

MonthlyYearlySave 15%

Team

Up to 15 finance users and 3 entities. Self-serve onboarding.

£4000/month
  • Automatic matching with recorded reasoning
  • Close checklist with owners and dependencies
  • Immutable audit trail and exports
  • 4 ERP connectors included
  • Email support, next business day
Most popular

Business

Up to 60 users and 20 entities, with a named lead for the first close.

£9500/month
  • Everything in Team
  • SSO, SCIM and scoped roles
  • SOX / ICFR control mapping with evidence
  • All 14 ERP connectors
  • Named implementation lead through your first close
  • 99.9% SLA with automatic credits

Enterprise

From — unlimited entities, your choice of data residency, custom controls.

£14000/month
  • Everything in Business
  • Unlimited entities and users
  • UK, EU or your own region for data residency
  • Custom controls and bespoke connectors
  • 99.99% SLA, quarterly business reviews
  • Security pack and sub-processor list under NDA

Prices exclude VAT and are the same whether you find them here or ask a salesperson. Implementation is quoted separately and is typically £12k–£40k, depending on how many systems have to be connected.

See it against your own ledger

Forty-five minutes, with a solutions engineer rather than an account executive, using a sample of your data if you can share one.

  • A solutions engineer, not a discovery call
  • SOC 2 and ISO reports available under NDA first
  • We will tell you if your ERP is not one we do well

Live components in your current theme — switch routes, or the phone icon to check the mobile layout. Colours are this template’s Claret palette, which ships in app/globals.css. Burgundy on a barely-warm white, with square corners. The palette of institutions rather than products — banks, law firms, the kind of software bought in a boardroom.

Get it

34 files · .zip · nothing to configure · Pro

then

cd enterprise
npm install
npm run dev

The archive contains the whole project — routes, blocks, theme tokens, Tailwind and PostCSS config, tsconfig and a .gitignore. One runtime dependency, and no Hoverlab dependency at all: it is your code from the moment it unzips.

For AI

The component, its props, the design tokens it expects and the command that installs it — as one prompt. Paste it into Claude, Cursor, v0 or ChatGPT and what they build around it will match the rest of the catalog instead of inventing its own system.

See the prompt

Routes

PathPageFile
/Enterprise Landing Pageapp/page.tsx
/pricingPricing Pageapp/pricing/page.tsx
/loginSign-In Screenapp/login/page.tsx
/settingsAccount Settingsapp/settings/page.tsx
404404 Pageapp/not-found.tsx

What you get

project root(8 files)

  • GETTING-STARTED.md
  • gitignore
  • next.config.ts
  • package.json
  • postcss.config.mjs
  • README.md
  • tailwind.config.ts
  • tsconfig.json

app/(7 files)

  • globals.css
  • layout.tsx
  • login/page.tsx
  • not-found.tsx
  • page.tsx
  • pricing/page.tsx
  • settings/page.tsx

components/(19 files)

  • auth-login-card.tsx
  • bento-features.tsx
  • comparison-table.tsx
  • cta-split-panel.tsx
  • faq-accordion.tsx
  • footer-compliance.tsx
  • hero-metrics.tsx
  • logo-cloud.tsx
  • navbar-mega-menu.tsx
  • not-found-404.tsx
  • pricing-tiers.tsx
  • settings-api-keys.tsx
  • settings-danger-zone.tsx
  • settings-nav-layout.tsx
  • settings-profile-form.tsx
  • settings-team-members.tsx
  • stats-timeline.tsx
  • testimonial-video.tsx
  • theme-provider.tsx

Every file is listed. The 18 files in components/ are the blocks the pages import — each one has its own page if you want to read it on its own.

Project files

Everything except the blocks. Opens on app/globals.css — the file that makes the rest look right, since every block styles itself with bg-card and text-muted-foreground rather than literal colours.

app/globals.css
@tailwind base;
@tailwind components;
@tailwind utilities;

/**
 * Design tokens — the Claret palette.
 *
 * Burgundy on a barely-warm white, with square corners. The palette of institutions rather than products — banks, law firms, the kind of software bought in a boardroom.
 *
 * This file is the reason a pasted block looks right. Every block and page
 * styles itself with semantic classes — `bg-card`, `text-muted-foreground`,
 * `border-border` — rather than literal colours, so they inherit whatever
 * you define here instead of fighting it. Change a value below and every
 * section in the project moves with it. Change the hue on `--primary` and
 * `--ring` together and you have rebranded the site.
 *
 * Values are bare HSL channels, not `hsl(...)` calls. That is what lets
 * Tailwind compose them with an alpha suffix: `bg-primary/10` expands to
 * `hsl(var(--primary) / 0.1)`, which is impossible if the variable already
 * carries its own function wrapper.
 *
 * Every foreground/background pair below clears WCAG AA (4.5:1) in both
 * themes. If you retune one, check the pair rather than trusting the eye —
 * mid-lightness accents are the ones that fail.
 */

@layer base {
  :root {
    --background: 350 25% 99%;
    --foreground: 345 30% 10%;
    --card: 0 0% 100%;
    --card-foreground: 345 30% 10%;
    --popover: 0 0% 100%;
    --popover-foreground: 345 30% 10%;
    --primary: 348 75% 33%;
    --primary-foreground: 0 0% 100%;
    --secondary: 348 25% 95%;
    --secondary-foreground: 345 35% 18%;
    --muted: 348 18% 95%;
    --muted-foreground: 345 10% 40%;
    --accent: 330 40% 93%;
    --accent-foreground: 335 45% 20%;
    --destructive: 14 78% 40%;
    --destructive-foreground: 0 0% 100%;
    --border: 345 18% 89%;
    --input: 345 18% 89%;
    --ring: 348 75% 33%;

    --radius: 0.25rem;
  }

  .dark {
    --background: 345 30% 5%;
    --foreground: 350 15% 97%;
    --card: 345 24% 8%;
    --card-foreground: 350 15% 97%;
    --popover: 345 24% 8%;
    --popover-foreground: 350 15% 97%;
    --primary: 348 80% 68%;
    --primary-foreground: 345 40% 7%;
    --secondary: 345 18% 15%;
    --secondary-foreground: 350 15% 97%;
    --muted: 345 18% 15%;
    --muted-foreground: 348 10% 67%;
    --accent: 330 22% 18%;
    --accent-foreground: 330 40% 87%;
    --destructive: 14 75% 44%;
    --destructive-foreground: 0 0% 100%;
    --border: 345 16% 19%;
    --input: 345 16% 19%;
    --ring: 348 80% 68%;
  }
}

@layer base {
  * {
    @apply border-border;
  }

  body {
    @apply bg-background text-foreground antialiased;
  }

  /**
   * Global motion opt-out.
   *
   * Blocks guard their own animations with Tailwind's `motion-safe:`, but
   * third-party CSS and anything you add later will not. This is the
   * backstop: it neutralises every animation and transition on the page
   * for users who have asked the OS for reduced motion, rather than
   * relying on each author to remember.
   */
  @media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
      scroll-behavior: auto !important;
    }
  }
}

More Landing Pages

Open the full page for this template

Startup Waitlist

The waitlist hero with the count on it

A pre-launch site in violet: one email field, a blog to keep the list warm, and no pricing to be held to. The smallest honest thing to put in front of a product that does not exist yet.

4 routes4 pages13 blocksUltraviolet
Pro
Open the full page for this template

Developer Tool

The terminal hero, typing the install

Near-black buttons, square corners and a terminal-green accent. Install command above the fold, real code before any prose, docs and changelog behind it.

5 routes5 pages17 blocksGraphite
Pro
Open the full page for this template

Mobile App

The store-badge download hero

Emerald and 16px corners, built around one conversion: the store install. Badges and the App Store rating above the fold, a single price, and an account area for the subscription.

5 routes5 pages18 blocksSignal
Pro
Open the full page for this template

Agency Studio

Case studies that name the constraint

Terracotta on warm paper, with no blue in it anywhere. Full-bleed hero, client list, the actual team, a journal and a careers page — and no pricing, on purpose.

5 routes5 pages15 blocksSandstone
Pro
Open the full page for this template

Local Service

Hours, address and phone above the fold

Deep teal, for a business people let into their house. A booking widget above the fold, every price published, and a compliance footer with the registrations a regulated trade has to show.

4 routes4 pages14 blocksHarbour
Pro
Open the full page for this template

Marketplace

Both sides of the market on one page

Dark olive on warm off-white, built for two audiences at once: search and real listings for buyers, the seller economics below the fold, and a browse route behind it.

5 routes5 pages19 blocksMoss
Pro
Open the full page for this template

Integration Platform

The integration grid, sorted by depth

High-chroma blue. The connector names in the hero, a catalogue with honest live/beta/planned status, four SDK languages and a dated roadmap for everyone who is not on the list.

4 routes4 pages14 blocksCobalt
Pro
Open the full page for this template

Creator Course

The curriculum, module by module

Magenta-plum with the softest corners in the set, for one person selling one thing. A student testimonial as the hero, a long instructor section, one price and the refund policy on the page.

5 routes5 pages15 blocksPlum
Open the full page for this template

Newsletter

The archive, above the testimonials

One decision, made from the archive: a hero with the field in it, the back issues as the actual argument, and the three worries about handing over an address answered as content.

6 routes6 pages22 blocksTideline