Focused Tool · Apache 2.0 · Single Binary · Finance & Business

Self-hosted expense tracker

Submit expenses, attach receipts, approve or reject, export to CSV. Expensify charges $5/user/mo for this. One binary, your data.

Install Steward Free Complete — all 150 tools $29/mo

Full REST API

Every operation in Steward is available through a JSON REST API. No SDK required — use curl, fetch, or any HTTP client.

The problem

The moment you store expenses in someone else's cloud, you have accepted their terms, their pricing changes, and their uptime. Steward puts that decision back in your hands with a standalone binary that runs anywhere you can run a Linux process.

Architecture

Each expense record carries fields for description, amount, category, vendor, date. The API accepts partial updates, so you can PATCH individual fields without resubmitting the entire record. Listing endpoints support ?q= for keyword search and ?status= for filtering through the lifecycle. Backups are a file copy of the SQLite database in the data directory.

A non-profit with no DevOps budget downloads the Steward binary, sets two environment variables, and runs it on the same Linux box that handles their email. It has been running for three months without intervention. When they need to update, they download the new binary and restart the process.

Endpoints

Expensify at $5/user/mo.

Self-hosted expense tracker. Self-hosted on your infrastructure. Your data never leaves your server.

Quickstart

Running in under a minute.

Download
curl -fsSL https://stockyard.dev/install.sh | sh -s -- --tool steward
Run
PORT=9840 ./steward
Open
http://localhost:9840

Single binary. Embedded SQLite. No Docker. No database. No dependencies.

Pricing

Free to start. Pro when you need it.

Free
$0
forever
  • 20 expenses/mo
  • Single binary, embedded SQLite
  • Apache 2.0 — modify freely
Pro
$0.99
per month
  • Unlimited expenses, receipt OCR, approval workflows, accounting export
  • License key, no cloud dependency
  • Email support

License key by email. One env var.

Your license key arrives by email within 5 minutes of checkout. Set it as an environment variable and restart the binary.

export STEWARD_LICENSE_KEY=stockyard_xxxxxxxxxxxxxxxxxxxx
./steward

No cloud connectivity required. The binary validates the key offline with Ed25519 signatures.

Part of the Stockyard family — 150 focused self-hosted tools · Complete bundle $29/mo · stockyard.dev