BudgetOrtha
Budget Ortha home screen on an iPhone: $487 net in November, money in and out, and the payments coming up in the next 30 days

A pocket ledger for your agency.

Track tools, retainers, contractor pay and profit per client, in any currency.

Every renewal, before it bills you

Each subscription keeps its next due date and its yearly cost. Turn on the calendar feed and renewals sit in your calendar beside your meetings.

Subscriptions screen on an iPhone: $89 a month in tools, a Notion trial ending Nov 18 and Figma due in 3 days

Six kinds of entry, one ledger

Each entry keeps its own currency.

KindExampleAmountWhat you see
SubscriptionHosting, monthly−$20.00Next renewal date and yearly cost
Lifetime dealIcon library, paid once−$299.00Months until it pays for itself
ContractorDeveloper, paid in euros−€1,200.00Converted to your base currency at a rate you can edit
One-timeConference ticket−$400.00Logged on the day, no schedule
ExpenseCoworking day pass−£25.00Counted against its category budget
IncomeRetainer from a client+$3,000.00Tagged to the client for profit

Which clients make you money

Tag income and costs with a client to see the margin on each. The forecast adds up renewals and retainers due in the next 30, 60 and 90 days.

A client's page on an iPhone: Acme Co with a $4,300 margin this year, its monthly retainer and its transactions
Reports screen on a desktop: cash flow for six months, spending by category, and income, costs and margin by client

Only you can read your rows

Postgres row-level security checks every query against your session. The app holds no admin key, so a bug in its code can’t reach another account.

supabase/schema.sql
create policy own_transactions on transactions
  for all to authenticated
  using (user_id = ((select auth.jwt()) ->> 'sub'));

Open source under MIT

The code is public on GitHub. Read how it works, run it on your own accounts, or send a fix.

Star on GitHub

A star helps other agencies find it.

License
MIT License

Use it, change it and ship it. Keep the copyright notice.

Source code
connectfazla/ortha-budget

Next.js, Supabase and Postgres row-level security.

Self-host
Read the self-host guide

Bring a Supabase project and a Vercel account, then follow the four steps in the README.

Made by
Ortha Studio

A design and engineering studio.

Developed by
fazla.dev

Start with one subscription.