Skip to contentVibraUI
5 pagesopens at /finance

Finance

Cash in and cash out: the ledger, invoices, payments, balances in four currencies and a treasury held in crypto.

Preview
/finance

Install

The whole dashboard — every page under one sidebar, the sample data they read — is one command. Or take a page at a time: each one brings the sidebar with it.

npx shadcn@latest add @vibra/finance
  • /financeFinance dashboard
    npx shadcn@latest add @vibra/finance-overview
  • /finance/invoicesBilling ledger
    npx shadcn@latest add @vibra/finance-invoices
  • /finance/paymentsPayments
    npx shadcn@latest add @vibra/finance-payments
  • /finance/balancesBalances
    npx shadcn@latest add @vibra/finance-balances
  • /finance/cryptoCrypto dashboard
    npx shadcn@latest add @vibra/finance-crypto

Widgets

Single cards cut from these pages, each installed on its own.

  • The Finance headline card
    npx shadcn@latest add @vibra/widget-finance-overview-finance-stats
    From Finance dashboard

    Finance headline

    Cash on hand, the month's net burn, the runway that burn leaves and the net margin on monthly revenue; reads financeStats().

  • The Profit and loss card
    npx shadcn@latest add @vibra/widget-finance-overview-profit-and-loss
    From Finance dashboard

    Profit and loss

    The closed month's revenue walked down through payroll, marketing, hosting and tooling to the net, as a waterfall with CSV, PNG and print exports; reads profitAndLoss().

  • The Expenses by category card
    npx shadcn@latest add @vibra/widget-finance-overview-expenses-by-category
    From Finance dashboard

    Expenses by category

    The month's spend as a treemap, payroll broken out by role and marketing by channel beside hosting and tooling; reads expensesByCategory().

  • The Invoices aging card
    npx shadcn@latest add @vibra/widget-finance-overview-invoice-aging
    From Finance dashboard

    Invoices aging

    Everything still owed, stacked as draft, open and overdue by how far past its due date it is, with the outstanding total; reads invoiceAging().

  • The Upcoming payouts card
    npx shadcn@latest add @vibra/widget-finance-overview-upcoming-payouts
    From Finance dashboard

    Upcoming payouts

    What leaves the account next, soonest first — the payroll run, hosting, tools and the live ad accounts — and what that adds up to; reads upcomingPayouts().

  • The Receivables by age card
    npx shadcn@latest add @vibra/widget-finance-invoices-aging-buckets
    From Billing ledger

    Receivables by age

    The whole receivable ledger by age — not yet due, one to thirty, thirty-one to sixty and over sixty days late — each with its sum and how many invoices; reads agingBuckets().

  • The Payments figures card
    npx shadcn@latest add @vibra/widget-finance-payments-payments-stats
    From Payments

    Payments figures

    The month so far in three figures — what was captured, what was refunded and what failed — each against the same days of the month before; reads paymentStats().

  • The Balances by currency card
    npx shadcn@latest add @vibra/widget-finance-balances-balance-cards
    From Balances

    Balances by currency

    A card per currency the store holds — the balance, what of it is available and what is pending, and its move on thirty days ago; reads balanceCards().

  • The Latest transactions card
    npx shadcn@latest add @vibra/widget-finance-balances-latest-transactions
    From Balances

    Latest transactions

    The last eight rows that settled or failed, newest first, each with who, how much in its own currency and which way, whether it went through, and when; reads latestTransactions().

  • The Exchange rates card
    npx shadcn@latest add @vibra/widget-finance-balances-exchange-rates
    From Balances

    Exchange rates

    One pair's closing rate over a week, a month, three months or a year, the latest rate ruled across the plot and the move over the period; reads rateSeries().

  • The Upcoming transactions card
    npx shadcn@latest add @vibra/widget-finance-balances-upcoming-transactions
    From Balances

    Upcoming transactions

    What is booked ahead, soonest first, each with who it is to or from, its kind and date, and how many days off it is; reads upcomingTransactions().

  • The Currency converter card
    npx shadcn@latest add @vibra/widget-finance-balances-currency-converter
    From Balances

    Currency converter

    An amount in one currency in another at the latest rates, crossed through the dollar and converted as it is typed, a bad amount marked on its field; reads dollarRates().

  • The Crypto overview card
    npx shadcn@latest add @vibra/widget-finance-crypto-crypto-overview
    From Crypto dashboard

    Crypto overview

    Every wallet added up — how many transactions and wallets, the current balance at today's prices and the day's move; reads overview().

  • The Wallets card
    npx shadcn@latest add @vibra/widget-finance-crypto-wallets-list
    From Crypto dashboard

    Wallets

    What each wallet is worth, how many assets it holds and which one leads it, the day's move, and the balance split between them as a bar; reads walletSummaries().

  • The Trade card
    npx shadcn@latest add @vibra/widget-finance-crypto-trade-form
    From Crypto dashboard

    Trade

    Buy or sell a coin by its amount or by dollars, each field rewriting the other from the coin's price, the order placed through the server; reads coins().

  • The Recent activity card
    npx shadcn@latest add @vibra/widget-finance-crypto-activity-list
    From Crypto dashboard

    Recent activity

    Every buy, sell, send and receipt across the wallets, newest first, six rows or all of them, each with its amount and dollar value; reads recentTrades().

  • The Balance summary card
    npx shadcn@latest add @vibra/widget-finance-crypto-balance-summary
    From Crypto dashboard

    Balance summary

    What came in, went out and was sold for cash as three tiles, over the same three flows month by month for the last seven; reads balanceSummary().

  • The Holdings card
    npx shadcn@latest add @vibra/widget-finance-crypto-holdings-table
    From Crypto dashboard

    Holdings

    Every asset in every wallet, largest first, with its wallet, amount, price, the day's move and its value at today's price; reads holdings().

Reads from db

Every figure on these pages is read from these repositories of the sample store. Swap one for your own API and each page that reads it follows.

  • db.customers
  • db.fxRates
  • db.holdings
  • db.invoices
  • db.members
  • db.notifications
  • db.orders
  • db.paymentMethods
  • db.trades
  • db.transactions