Specification · v1.0.0-draft

The Open Financial Standard. Your data. Your file.

OFS is an open JSON specification for portable Naira financial data — budgets, goals, expenses, inflows, and aspirations. Export from Owo Planner, hand-edit in your text editor, re-import anywhere. We don't hold your data hostage. We made the lock-pick the standard.

● Live in Owo Planner MIT-licensed schema UTF-8 JSON Currency-pluralist Versioned

Why this matters.

Every Nigerian money app — PiggyVest, Cowrywise, Risevest, Carbon, mypenny — holds your financial life inside a black box. You can look at your data through their app, but you can't move it. If they shut down, raise fees, or get acquired by a US fintech that doesn't care about Naija — your years of records become unreadable.

OFS fixes this. One open schema. Any tool that speaks OFS can read your budget. Build your own scripts. Move between apps. Audit your own data with your accountant. Even if Owo Planner stopped existing tomorrow, your OFS file would still open in any text editor.

The spec at a glance.

my-budget.ofs.json EXAMPLE
{
  "ofs_version": "1.0.0",
  "emitted_at": "2026-05-22T14:03:00+01:00",
  "emitted_by": "owoplanner.com",

  "profile": {
    "display_currency": "NGN",           // or "USD", "GBP", "CAD", "EUR"
    "locale":           "en-NG",
    "city":             "lagos_island",    // 12+ Nigerian cities supported
    "household_size":   2,
    "earning_type":     "salaried"          // salaried | freelance | hybrid | business
  },

  "period": { "month": "2026-05", "start": "2026-05-01", "end": "2026-05-31" },

  "inflows": [
    { "id": "in_01", "label": "Salary",    "amount": 450000, "currency": "NGN", "recurring": true },
    { "id": "in_02", "label": "UX freelance", "amount": 120000, "currency": "NGN", "recurring": false }
  ],

  "budget": {
    "rent":         { "planned": 120000, "actual": 120000 },
    "food":         { "planned":  80000, "actual":  74300 },
    "transport":    { "planned":  35000, "actual":  42100 },
    "data_airtime": { "planned":  12000, "actual":  12000 },
    "black_tax":    { "planned":  40000, "actual":  50000 }   // honest field
  },

  "goals": [
    { "id": "g_detty",  "template": "detty_december", "target": 500000, "saved": 185000, "deadline": "2026-12-01" },
    { "id": "g_japa",   "template": "japa_fund",      "target":   8000, "saved":   1840, "currency": "USD" },
    { "id": "g_rent",   "template": "rent_escape",    "target":1400000, "saved": 240000 }
  ],

  "health": {
    "score":        78,
    "rent_ratio":   0.213,
    "savings_rate": 0.18,
    "surplus":      38500
  },

  "signature": "sha256:b3f2a7..."             // optional content hash for integrity
}

What's in the spec.

🪪 Profile
Locale, currency, city, household, earning type. Just enough context for any tool to render your numbers correctly.
💰 Inflows
All money coming in. Salary, freelance, side-hustle, family. Recurring flag for repeating income.
📊 Budget
Plan vs Actual per category. Categories are open — Owo includes Naija-specific ones (black_tax, owambe, family_support).
🎯 Goals
Pots and their templates. Detty December, Japa Fund, Tokunbo, Black Tax buffer — all first-class types.
♥ Health
Computed score + ratios. Reproducible — same inputs always give same score.
🔐 Signature
Optional SHA-256 content hash. Detect tampering when budgets pass between tools.

Design principles.

1. Human-readable. Open it in TextEdit or VS Code. No proprietary binary format.

2. Currency-pluralist. Default Naira, first-class USD/GBP/CAD/EUR for diaspora. Goals can be in different currencies from the budget.

3. Forward-compatible. Unknown fields are preserved on round-trips. v1 readers won't break on v1.1 exports.

4. Naija-first. Field names like black_tax, owambe, data_airtime exist because Nigerian life requires them.

5. Audit-friendly. Drop the file into Excel, Python, R, or your accountant's inbox. Plain JSON.

Versions.

v1.0.0-draft · May 2026 — initial public spec
Current
v1.1 · Q3 2026 — multi-period exports, recurring goal contributions
Planned
v2.0 · 2027 — investment positions, debt schedules, FX timing
Sketched

For builders.

If you build a Naija money tool, OFS gives your users a way out — and a way in. Read or write OFS in your app, and overnight you're interoperable with every other OFS tool. We'll never charge for the spec. We'll never gate the schema. The standard is the moat — for everyone, not us.

Reference implementation, JSON Schema validator, and migration tools coming with v1.1. Want to be involved? Email [email protected].

Export your budget today.

Already a user? Hit Settings → Export and download your .ofs.json file. Your data, your machine.

Open Owo Planner →