Skip to Content
Data model & databaseDatabase responsibilities

Developer reference

Database responsibilities

Map storage groups to money, plans, context, evidence and authorization.

The database stores several kinds of facts. A setup record, source row and completed movement have different effects even when all are persisted.

Responsibility map

GroupResponsibility
Accounts and institutionsWhere money is held or owed and which institution serves it.
Transactions and entriesBalanced actual financial movements.
Counterparties and loansPeople and agreements behind money.
Income sources, events and obligationsExpected plans and context.
Categories and tagsSpending vocabulary and independent labels.
IdentitiesPersistent real-world matters across movements.
GameyyasRotating savings arrangements and schedule context.
SettlementsMatching payment evidence to a planned matter.
Imports and stored SMSSource evidence, reviewed interpretation and durable processing.
Preferences and API tokensUser choices and integration authorization.

Follow the actual effect

A stored bank message does not automatically create a transaction. An income source does not record salary. A physical card identifies a payment instrument rather than another balance.

For a fictional EGP 150 purchase, entries determine the money, while category and matter links explain the same movement. Those links do not double the amount.

Authorization state

Private session and consistency tables support server behavior. Do not expose their whole rows to a browser or grant broad access as an integration shortcut.

Use concept relationships and controlled financial functions before implementing a service around these groups.