Financial Plan
A financial plan is Ozzie's personalized roadmap for a user. It answers: "Given what I earn, what I spend, and who I am — how should I allocate my money?"
Inputs
The plan is computed from three sources:
| Input | How to provide | Required |
|---|---|---|
| Monthly income and expenses | POST /financial-intake (stored per user) | Yes |
| Financial goal type | financial_goal in intake | Yes |
| Personality type | personality_type field in request body | Yes |
Your application scores personality using POST /v1/personality/score, stores the result, and passes it explicitly when generating the plan.
What a plan contains
{
"plan_tier": "30/70",
"personality_type": "STOCKPILER",
"envelopes": {
"bills": { "allocated_pct": 40.0, "allocated_amount": 2000.00 },
"future": { "allocated_pct": 30.0, "allocated_amount": 1500.00 },
"daily_living": { "allocated_pct": 10.5, "allocated_amount": 525.00 },
"health_wellness": { "allocated_pct": 6.0, "allocated_amount": 300.00 },
"lifestyle": { "allocated_pct": 6.0, "allocated_amount": 300.00 },
"people": { "allocated_pct": 7.5, "allocated_amount": 375.00 }
},
"action_items": [
"Automate a $1,500 transfer to savings on payday.",
"Your STOCKPILER profile means building security before investing."
]
}
plan_tier
A label like "20/80" or "30/70" indicating the ratio of savings to spending. Derived from the user's disposable income and personality type. Pass this to POST /v1/money-moves/generate.
envelopes
Six budget buckets that divide the user's income. Two are calculated from fixed expense data (bills, future). Four are personality-weighted flexible envelopes. See Envelope System for the weight table.
action_items
Personalized recommendations generated by the AI, tuned to the user's personality type and actual numbers.
The plan and personality
The personality type fundamentally shapes the plan:
- STOCKPILER —
futureenvelope gets +5% before other flexible envelopes are distributed; action items emphasize security milestones - HOTSHOT —
lifestyleenvelope weighted higher; action items frame savings in terms of future returns - GIVER —
peopleenvelope weighted higher; action items acknowledge giving as a value - INDEPENDENT — all flexible envelopes equal; action items present options, not directives
When to regenerate
Regenerate the plan whenever:
- The user submits a new financial intake (income changed, major expense added)
- Significant time has passed (monthly refresh is a good default)
Call POST /v1/users/{user_id}/plan/generate with the user's current personality_type.
→ See Plan API Reference