Example data model

Typical demo data model for fintech

We propose the following basic data model, which should be sufficient for a first implementation of fraud and AML rules for a fintech.

You can reuse it as it is, or modify it and extend it to best suit your usecase.

transactions

Field nametypedescription
object_idstringrequired base field
updated_attimestamprequired base field
account_idstringid of the parent account
amountnumberamount in minor currency unit
labelstringfree text label of the transaction
created_attimestampinitiation timestamp
settled_attimestampeffective settlement timestamp (if present)
payment_methodstringenumerated field, identifier of the payment type
currencystring
statusstringenumerated field, status of the transaction (pending, canceled...)

link transactions.account_id=accounts.object_id

accounts

Field nametypedescription
object_idstringrequired base field
updated_attimestamprequired base field
company_idstringid of the parent company
balancenumberbalance in minor currency unit
statusstringenumerated field, status of the account (active, closed...)
balance_attimestamptimestamp of last balance computation
typestringtype of the wallet (e-money, crypto, bank account...)

link accounts.company_id=companies.object_id

companies

Field nametypedescription
object_idstringrequired base field
updated_attimestamprequired base field
legal_namestringname of the company
kyc_levelnumberlevel of KYC validation
trade_namestring
registration_numberstringcompany legal identification number
corporate_tax_idstring
country_of_registrationstringISO3 country of registration

events

Field nametypedescription
object_idstringrequired base field
updated_attimestamprequired base field
typestring
company_idstringid of the related company
event_attimestamptimestamp where the event happened

link events.company_id=companies.object_id

users

Field nametypedescription
object_idstringrequired base field
updated_attimestamprequired base field
full_namestring
company_idstringid of the parent company
residence_countrystringISO3 residence country
emailstringemail address
birthdatetimestamptimestamp corresponding to the birth date
phone_numberstringphone number

link users.company_id=companies.object_id