Skip to main content

FP&A Platform — Data Dictionary

Version: 1.0
Last Updated: 2026-02-03
Document ID: DATA-001
Classification: Internal


1. Overview

This data dictionary documents all data entities, fields, relationships, and constraints in the FP&A Platform. It serves as the authoritative reference for developers, data engineers, and analysts.

Conventions:

  • Field names use snake_case
  • Primary keys are named id with format {entity_prefix}_{uuid}
  • Foreign keys are named {referenced_entity}_id
  • Timestamps use ISO 8601 with timezone (UTC)
  • Money fields use DECIMAL(19,4) for precision

2. Core Accounting Domain

2.1 tenants

Description: Root entity for multi-tenant isolation. All data belongs to exactly one tenant.

FieldTypeConstraintsDescriptionExampleSensitivityCompliance
idVARCHAR(50)PK, NOT NULLUnique tenant identifiertenant_acme123Internal-
nameVARCHAR(255)NOT NULLTenant display nameACME CorporationInternal-
slugVARCHAR(100)UNIQUE, NOT NULLURL-safe identifieracme-corpPublic-
statusVARCHAR(20)NOT NULLAccount statusactiveInternal-
plan_tierVARCHAR(50)NOT NULLSubscription tierenterpriseConfidential-
settingsJSONBDEFAULT '{}'Tenant-specific settings{"currency": "USD"}Internal-
created_atTIMESTAMPTZNOT NULLCreation timestamp2026-01-15T10:30:00ZInternal-
updated_atTIMESTAMPTZNOT NULLLast update timestamp2026-01-20T14:22:00ZInternal-

Indexes: idx_tenants_slug (slug), idx_tenants_status (status)

RLS Policy: All queries filtered by tenant_id from session context.


Description: Subsidiaries, business units, or companies within a tenant. Supports hierarchical structures.

FieldTypeConstraintsDescriptionExampleSensitivityCompliance
idVARCHAR(50)PK, NOT NULLUnique entity identifierent_us_hq_001Internal-
tenant_idVARCHAR(50)FK, NOT NULLParent tenanttenant_acme123Internal-
parent_idVARCHAR(50)FKParent entity (for hierarchy)ent_global_001Internal-
codeVARCHAR(20)NOT NULLShort codeUS-HQInternal-
nameVARCHAR(255)NOT NULLFull legal nameACME USA Holdings Inc.InternalSOX
entity_typeVARCHAR(50)NOT NULLType classificationsubsidiaryInternal-
currency_codeCHAR(3)NOT NULLFunctional currencyUSDInternalGAAP
country_codeCHAR(2)NOT NULLCountry of incorporationUSInternalTax
tax_idVARCHAR(50)Tax identification number12-3456789RestrictedTax, PII
fiscal_year_endVARCHAR(5)NOT NULLFiscal year end (MM-DD)12-31Internal-
consolidation_methodVARCHAR(20)NOT NULLConsolidation treatmentfullInternalGAAP
ownership_pctDECIMAL(5,2)Ownership percentage100.00InternalGAAP
statusVARCHAR(20)NOT NULLEntity statusactiveInternal-
pathLTREENOT NULLHierarchy pathacme.us.hqInternal-
created_atTIMESTAMPTZNOT NULLCreation timestamp2026-01-15T10:30:00ZInternal-
updated_atTIMESTAMPTZNOT NULLLast update timestamp2026-01-20T14:22:00ZInternal-

Indexes:

  • idx_entities_tenant (tenant_id)
  • idx_entities_parent (parent_id)
  • idx_entities_path USING GIST (path)
  • idx_entities_code (tenant_id, code) UNIQUE

Entity Types: holding, subsidiary, branch, joint_venture, associate, cost_center

Consolidation Methods: full, proportional, equity, excluded


2.3 chart_of_accounts

Description: Defines the account structure for each entity. Supports multiple account hierarchies.

FieldTypeConstraintsDescriptionExampleSensitivityCompliance
idVARCHAR(50)PK, NOT NULLUnique COA identifiercoa_acme_us_gaapInternal-
tenant_idVARCHAR(50)FK, NOT NULLParent tenanttenant_acme123Internal-
entity_idVARCHAR(50)FKOwning entity (null = shared)ent_us_hq_001Internal-
nameVARCHAR(255)NOT NULLCOA nameUS GAAP Chart of AccountsInternal-
versionINTEGERNOT NULLVersion number3InternalSOX
base_currencyCHAR(3)NOT NULLBase currencyUSDInternal-
effective_dateDATENOT NULLEffective from date2026-01-01InternalSOX
statusVARCHAR(20)NOT NULLCOA statusactiveInternal-
created_atTIMESTAMPTZNOT NULLCreation timestamp2026-01-15T10:30:00ZInternal-
updated_atTIMESTAMPTZNOT NULLLast update timestamp2026-01-20T14:22:00ZInternal-

2.4 accounts

Description: Individual GL accounts within a chart of accounts.

FieldTypeConstraintsDescriptionExampleSensitivityCompliance
idVARCHAR(50)PK, NOT NULLUnique account identifieracct_1000_cashInternal-
coa_idVARCHAR(50)FK, NOT NULLParent chart of accountscoa_acme_us_gaapInternal-
tenant_idVARCHAR(50)FK, NOT NULLParent tenanttenant_acme123Internal-
account_numberVARCHAR(20)NOT NULLAccount number1000InternalSOX
nameVARCHAR(255)NOT NULLAccount nameCash and Cash EquivalentsInternal-
descriptionTEXTDetailed descriptionOperating cash accountsInternal-
account_typeVARCHAR(20)NOT NULLAccount classificationassetInternalGAAP
account_subtypeVARCHAR(50)Subtype classificationcurrent_assetInternalGAAP
normal_balanceCHAR(1)NOT NULLNormal balance (D/C)DInternal-
is_headerBOOLEANDEFAULT falseIs header/summary accountfalseInternal-
is_postingBOOLEANDEFAULT trueAllows direct postingtrueInternal-
parent_account_idVARCHAR(50)FKParent account (hierarchy)acct_1xxx_assetsInternal-
pathLTREENOT NULLHierarchy path1.10.1000Internal-
levelINTEGERNOT NULLHierarchy level (1-10)3Internal-
fs_line_itemVARCHAR(100)Financial statement mappingcash_and_equivalentsInternalSEC
tax_codeVARCHAR(50)Tax reporting codeCASHInternalTax
intercompanyBOOLEANDEFAULT falseIs intercompany accountfalseInternal-
currency_codeCHAR(3)Account currency (null=func)USDInternal-
statusVARCHAR(20)NOT NULLAccount statusactiveInternal-
created_atTIMESTAMPTZNOT NULLCreation timestamp2026-01-15T10:30:00ZInternal-
updated_atTIMESTAMPTZNOT NULLLast update timestamp2026-01-20T14:22:00ZInternal-

Account Types: asset, liability, equity, revenue, expense, statistical

Account Subtypes:

  • Assets: current_asset, fixed_asset, intangible_asset, other_asset
  • Liabilities: current_liability, long_term_liability
  • Equity: contributed_capital, retained_earnings, other_equity
  • Revenue: operating_revenue, other_income
  • Expense: cost_of_goods, operating_expense, other_expense

2.5 journal_entries

Description: Header record for accounting journal entries.

FieldTypeConstraintsDescriptionExampleSensitivityCompliance
idVARCHAR(50)PK, NOT NULLUnique entry identifierje_2026010001InternalSOX
tenant_idVARCHAR(50)FK, NOT NULLParent tenanttenant_acme123Internal-
entity_idVARCHAR(50)FK, NOT NULLOwning entityent_us_hq_001Internal-
entry_numberVARCHAR(30)NOT NULLSequential entry numberJE-2026-000001InternalSOX
entry_typeVARCHAR(30)NOT NULLType of entrystandardInternal-
entry_dateDATENOT NULLTransaction date2026-01-31InternalSOX
period_idVARCHAR(50)FK, NOT NULLAccounting periodperiod_2026_01Internal-
descriptionTEXTNOT NULLEntry descriptionJanuary revenue accrualInternalSOX
referenceVARCHAR(100)External referenceINV-2026-1234Internal-
source_systemVARCHAR(50)Originating systemsalesforceInternal-
source_idVARCHAR(100)Source system IDopp_abc123Internal-
currency_codeCHAR(3)NOT NULLTransaction currencyUSDInternal-
exchange_rateDECIMAL(15,8)DEFAULT 1Exchange rate to func currency1.00000000Internal-
total_debitDECIMAL(19,4)NOT NULLSum of debit lines10000.0000ConfidentialSOX
total_creditDECIMAL(19,4)NOT NULLSum of credit lines10000.0000ConfidentialSOX
statusVARCHAR(20)NOT NULLEntry statuspostedInternalSOX
created_byVARCHAR(50)FK, NOT NULLCreator user IDuser_john_doeInternalSOX
approved_byVARCHAR(50)FKApprover user IDuser_jane_smithInternalSOX
posted_byVARCHAR(50)FKPoster user IDuser_jane_smithInternalSOX
reversed_by_idVARCHAR(50)FKReversing entry IDje_2026010050Internal-
reverses_idVARCHAR(50)FKEntry being reversedje_2025120099Internal-
created_atTIMESTAMPTZNOT NULLCreation timestamp2026-01-31T14:30:00ZInternalSOX
approved_atTIMESTAMPTZApproval timestamp2026-01-31T15:00:00ZInternalSOX
posted_atTIMESTAMPTZPosting timestamp2026-01-31T15:05:00ZInternalSOX
updated_atTIMESTAMPTZNOT NULLLast update timestamp2026-01-31T15:05:00ZInternal-

Entry Types: standard, adjusting, closing, reversing, recurring, statistical, eliminating, reclass

Status Values: draft, pending_approval, approved, posted, reversed, rejected

Business Rules:

  • total_debit MUST equal total_credit (balanced entry)
  • approved_by MUST differ from created_by (segregation of duties)
  • posted_at MUST be within period date range
  • Cannot modify posted entries

2.6 journal_lines

Description: Individual debit/credit lines within a journal entry.

FieldTypeConstraintsDescriptionExampleSensitivityCompliance
idVARCHAR(50)PK, NOT NULLUnique line identifierjel_2026010001_01Internal-
journal_entry_idVARCHAR(50)FK, NOT NULLParent entryje_2026010001Internal-
tenant_idVARCHAR(50)FK, NOT NULLParent tenanttenant_acme123Internal-
line_numberINTEGERNOT NULLLine sequence1Internal-
account_idVARCHAR(50)FK, NOT NULLGL accountacct_1000_cashInternalSOX
descriptionTEXTLine descriptionCash receipt from customerInternal-
debitDECIMAL(19,4)DEFAULT 0Debit amount (func currency)10000.0000ConfidentialSOX
creditDECIMAL(19,4)DEFAULT 0Credit amount (func currency)0.0000ConfidentialSOX
debit_fcDECIMAL(19,4)Debit (transaction currency)10000.0000Confidential-
credit_fcDECIMAL(19,4)Credit (transaction currency)0.0000Confidential-
quantityDECIMAL(15,4)Statistical quantity100.0000Internal-
unitVARCHAR(20)Unit of measureunitsInternal-
dimension_1VARCHAR(50)Custom dimension 1 (dept)SALESInternal-
dimension_2VARCHAR(50)Custom dimension 2 (project)PRJ-001Internal-
dimension_3VARCHAR(50)Custom dimension 3 (product)WIDGET-AInternal-
dimension_4VARCHAR(50)Custom dimension 4Internal-
intercompany_entity_idVARCHAR(50)FKIntercompany counterpartyent_uk_sub_001Internal-
tax_codeVARCHAR(20)Tax codeVAT-STDInternalTax
tax_amountDECIMAL(19,4)Tax amount0.0000InternalTax
memoTEXTAdditional notesInternal-
created_atTIMESTAMPTZNOT NULLCreation timestamp2026-01-31T14:30:00ZInternal-

Business Rules:

  • Either debit OR credit must be non-zero (not both)
  • debit and credit must be >= 0
  • Sum of debit across all lines must equal sum of credit

2.7 periods

Description: Accounting periods (months) with open/closed status.

FieldTypeConstraintsDescriptionExampleSensitivityCompliance
idVARCHAR(50)PK, NOT NULLUnique period identifierperiod_2026_01Internal-
tenant_idVARCHAR(50)FK, NOT NULLParent tenanttenant_acme123Internal-
entity_idVARCHAR(50)FK, NOT NULLOwning entityent_us_hq_001Internal-
yearINTEGERNOT NULLFiscal year2026Internal-
periodINTEGERNOT NULLPeriod number (1-13)1Internal-
nameVARCHAR(50)NOT NULLPeriod nameJanuary 2026Internal-
start_dateDATENOT NULLPeriod start date2026-01-01Internal-
end_dateDATENOT NULLPeriod end date2026-01-31Internal-
statusVARCHAR(20)NOT NULLPeriod statusopenInternalSOX
closed_byVARCHAR(50)FKUser who closed perioduser_jane_smithInternalSOX
closed_atTIMESTAMPTZClose timestamp2026-02-05T18:00:00ZInternalSOX
reopened_byVARCHAR(50)FKUser who reopenedInternalSOX
reopened_atTIMESTAMPTZReopen timestampInternalSOX
created_atTIMESTAMPTZNOT NULLCreation timestamp2025-12-01T10:00:00ZInternal-
updated_atTIMESTAMPTZNOT NULLLast update timestamp2026-02-05T18:00:00ZInternal-

Status Values: future, open, closing, closed, locked


3. Reconciliation Domain

3.1 bank_accounts

Description: Bank account master data linked to GL accounts.

FieldTypeConstraintsDescriptionExampleSensitivityCompliance
idVARCHAR(50)PK, NOT NULLUnique bank account IDba_chase_001Internal-
tenant_idVARCHAR(50)FK, NOT NULLParent tenanttenant_acme123Internal-
entity_idVARCHAR(50)FK, NOT NULLOwning entityent_us_hq_001Internal-
gl_account_idVARCHAR(50)FK, NOT NULLLinked GL accountacct_1010_checkingInternalSOX
bank_nameVARCHAR(255)NOT NULLBank nameJPMorgan ChaseInternal-
account_nameVARCHAR(255)NOT NULLAccount nameOperating AccountInternal-
account_numberVARCHAR(50)NOT NULLAccount number (masked)****4567RestrictedPCI
account_number_hashVARCHAR(64)Hashed account numbersha256:abc...Restricted-
routing_numberVARCHAR(20)Routing/sort code021000021Confidential-
swift_codeVARCHAR(11)SWIFT/BIC codeCHASUS33Internal-
currency_codeCHAR(3)NOT NULLAccount currencyUSDInternal-
connection_idVARCHAR(50)FKIntegration connectionconn_plaid_001Internal-
plaid_account_idVARCHAR(100)Plaid account identifierplaid_acct_xyzConfidential-
statusVARCHAR(20)NOT NULLAccount statusactiveInternal-
last_sync_atTIMESTAMPTZLast successful sync2026-02-03T06:00:00ZInternal-
created_atTIMESTAMPTZNOT NULLCreation timestamp2026-01-15T10:30:00ZInternal-
updated_atTIMESTAMPTZNOT NULLLast update timestamp2026-02-03T06:00:00ZInternal-

3.2 bank_transactions

Description: Transactions imported from bank feeds.

FieldTypeConstraintsDescriptionExampleSensitivityCompliance
idVARCHAR(50)PK, NOT NULLUnique transaction IDbtx_20260201_001Internal-
tenant_idVARCHAR(50)FK, NOT NULLParent tenanttenant_acme123Internal-
bank_account_idVARCHAR(50)FK, NOT NULLBank accountba_chase_001Internal-
external_idVARCHAR(100)NOT NULLBank's transaction IDCHASE_TXN_12345Internal-
transaction_dateDATENOT NULLTransaction date2026-02-01Internal-
posted_dateDATEBank posted date2026-02-01Internal-
amountDECIMAL(19,4)NOT NULLTransaction amount-1500.0000Confidential-
currency_codeCHAR(3)NOT NULLCurrencyUSDInternal-
descriptionTEXTNOT NULLBank descriptionPAYROLL DIRECT DEPOSITInternal-
payeeVARCHAR(255)Payee/payer nameACME Payroll ServicesInternal-
categoryVARCHAR(100)Bank categorypayrollInternal-
check_numberVARCHAR(20)Check number if applicable1234Internal-
referenceVARCHAR(100)Reference numberPAY-202602Internal-
transaction_typeVARCHAR(30)NOT NULLType classificationdebitInternal-
is_pendingBOOLEANDEFAULT falsePending transaction flagfalseInternal-
reconciliation_statusVARCHAR(20)NOT NULLRecon statusmatchedInternalSOX
matched_atTIMESTAMPTZMatch timestamp2026-02-02T10:00:00ZInternal-
created_atTIMESTAMPTZNOT NULLImport timestamp2026-02-01T07:00:00ZInternal-
updated_atTIMESTAMPTZNOT NULLLast update timestamp2026-02-02T10:00:00ZInternal-

Reconciliation Status: unmatched, suggested, matched, exception, excluded


3.3 reconciliation_matches

Description: Matches between bank transactions and GL entries.

FieldTypeConstraintsDescriptionExampleSensitivityCompliance
idVARCHAR(50)PK, NOT NULLUnique match IDmatch_202602_001Internal-
tenant_idVARCHAR(50)FK, NOT NULLParent tenanttenant_acme123Internal-
session_idVARCHAR(50)FK, NOT NULLReconciliation sessionrecon_202602_001Internal-
bank_transaction_idVARCHAR(50)FK, NOT NULLBank transactionbtx_20260201_001Internal-
journal_line_idVARCHAR(50)FKMatched GL linejel_2026010001_01InternalSOX
match_typeVARCHAR(30)NOT NULLHow match was madeauto_exactInternal-
match_rule_idVARCHAR(50)Rule that matchedrule_exact_amt_dateInternal-
confidence_scoreDECIMAL(5,4)ML confidence (0-1)0.9850Internal-
amount_differenceDECIMAL(19,4)Amount variance0.0000Internal-
date_differenceINTEGERDate variance (days)0Internal-
statusVARCHAR(20)NOT NULLMatch statusconfirmedInternalSOX
confirmed_byVARCHAR(50)FKUser who confirmeduser_john_doeInternalSOX
confirmed_atTIMESTAMPTZConfirmation timestamp2026-02-02T10:05:00ZInternalSOX
notesTEXTMatch notesInternal-
created_atTIMESTAMPTZNOT NULLCreation timestamp2026-02-02T10:00:00ZInternal-
updated_atTIMESTAMPTZNOT NULLLast update timestamp2026-02-02T10:05:00ZInternal-

Match Types: auto_exact, auto_fuzzy, manual, rule_based, ml_suggested


4. Planning Domain

4.1 budgets

Description: Budget headers with version control.

FieldTypeConstraintsDescriptionExampleSensitivityCompliance
idVARCHAR(50)PK, NOT NULLUnique budget IDbudget_2026_v1Internal-
tenant_idVARCHAR(50)FK, NOT NULLParent tenanttenant_acme123Internal-
entity_idVARCHAR(50)FK, NOT NULLOwning entityent_us_hq_001Internal-
nameVARCHAR(255)NOT NULLBudget nameFY2026 Operating BudgetInternal-
fiscal_yearINTEGERNOT NULLBudget year2026Internal-
versionINTEGERNOT NULLVersion number1Internal-
budget_typeVARCHAR(30)NOT NULLType of budgetoperatingInternal-
statusVARCHAR(20)NOT NULLBudget statusapprovedInternalSOX
start_dateDATENOT NULLBudget start date2026-01-01Internal-
end_dateDATENOT NULLBudget end date2026-12-31Internal-
currency_codeCHAR(3)NOT NULLBudget currencyUSDInternal-
total_revenueDECIMAL(19,4)Total budgeted revenue50000000.0000Confidential-
total_expenseDECIMAL(19,4)Total budgeted expense45000000.0000Confidential-
approved_byVARCHAR(50)FKApproveruser_cfoInternalSOX
approved_atTIMESTAMPTZApproval timestamp2025-12-15T09:00:00ZInternalSOX
created_byVARCHAR(50)FK, NOT NULLCreatoruser_fpa_mgrInternal-
created_atTIMESTAMPTZNOT NULLCreation timestamp2025-11-01T10:00:00ZInternal-
updated_atTIMESTAMPTZNOT NULLLast update timestamp2025-12-15T09:00:00ZInternal-

Budget Types: operating, capital, cash, headcount, project

Status Values: draft, submitted, under_review, approved, superseded


4.2 budget_lines

Description: Individual budget line items by account and period.

FieldTypeConstraintsDescriptionExampleSensitivityCompliance
idVARCHAR(50)PK, NOT NULLUnique line IDbl_2026_001_revInternal-
budget_idVARCHAR(50)FK, NOT NULLParent budgetbudget_2026_v1Internal-
tenant_idVARCHAR(50)FK, NOT NULLParent tenanttenant_acme123Internal-
account_idVARCHAR(50)FK, NOT NULLGL accountacct_4000_revenueInternal-
period_idVARCHAR(50)FK, NOT NULLBudget periodperiod_2026_01Internal-
amountDECIMAL(19,4)NOT NULLBudgeted amount4000000.0000Confidential-
quantityDECIMAL(15,4)Budgeted quantity100.0000Internal-
unit_priceDECIMAL(19,4)Unit price assumption40000.0000Confidential-
dimension_1VARCHAR(50)Custom dimension 1SALESInternal-
dimension_2VARCHAR(50)Custom dimension 2ENTERPRISEInternal-
notesTEXTLine notesBased on 10% growthInternal-
driver_idVARCHAR(50)FKDriver assumption linkdriver_revenue_growthInternal-
created_atTIMESTAMPTZNOT NULLCreation timestamp2025-11-01T10:00:00ZInternal-
updated_atTIMESTAMPTZNOT NULLLast update timestamp2025-11-15T14:00:00ZInternal-

5. AI/Agent Domain

5.1 agent_sessions

Description: AI agent conversation/task sessions.

FieldTypeConstraintsDescriptionExampleSensitivityCompliance
idVARCHAR(50)PK, NOT NULLUnique session IDsession_20260203_001Internal-
tenant_idVARCHAR(50)FK, NOT NULLParent tenanttenant_acme123Internal-
user_idVARCHAR(50)FK, NOT NULLUser who initiateduser_john_doeInternal-
agent_typeVARCHAR(50)NOT NULLType of agentreconciliationInternal-
statusVARCHAR(20)NOT NULLSession statuscompletedInternal-
input_summaryTEXTSummary of user requestReconcile January bankInternal-
output_summaryTEXTSummary of result98 matched, 2 exceptionsInternal-
model_idVARCHAR(100)Model useddeepseek-r1-32bInternal-
total_tokensINTEGERTokens consumed15432Internal-
total_tool_callsINTEGERNumber of tool calls12Internal-
duration_msINTEGERProcessing time45000Internal-
error_messageTEXTError if failedInternal-
started_atTIMESTAMPTZNOT NULLSession start2026-02-03T10:00:00ZInternal-
completed_atTIMESTAMPTZSession end2026-02-03T10:00:45ZInternal-
created_atTIMESTAMPTZNOT NULLCreation timestamp2026-02-03T10:00:00ZInternal-

Agent Types: orchestrator, reconciliation, variance, forecast, compliance, data_quality


5.2 agent_checkpoints

Description: LangGraph state checkpoints for resumability.

FieldTypeConstraintsDescriptionExampleSensitivityCompliance
idVARCHAR(50)PK, NOT NULLUnique checkpoint IDckpt_session_001_005Internal-
session_idVARCHAR(50)FK, NOT NULLParent sessionsession_20260203_001Internal-
tenant_idVARCHAR(50)FK, NOT NULLParent tenanttenant_acme123Internal-
step_numberINTEGERNOT NULLStep in workflow5Internal-
node_idVARCHAR(100)NOT NULLGraph node IDvalidate_matchesInternal-
stateJSONBNOT NULLSerialized state{"matches": [...]}Confidential-
requires_approvalBOOLEANDEFAULT falseNeeds human approvaltrueInternalFDA
approval_typeVARCHAR(50)Type of approval neededmatch_confirmationInternal-
approved_byVARCHAR(50)FKApproveruser_jane_smithInternalFDA
approved_atTIMESTAMPTZApproval timestamp2026-02-03T10:01:00ZInternalFDA
created_atTIMESTAMPTZNOT NULLCreation timestamp2026-02-03T10:00:30ZInternal-

6. Compliance Domain

6.1 compliance_controls

Description: Control definitions mapped to regulatory frameworks.

FieldTypeConstraintsDescriptionExampleSensitivityCompliance
idVARCHAR(50)PK, NOT NULLUnique control IDctrl_sox_itgc_01Internal-
tenant_idVARCHAR(50)FKTenant (null = global)Internal-
control_idVARCHAR(50)NOT NULLControl identifierITGC-01Internal-
frameworkVARCHAR(30)NOT NULLRegulatory frameworkSOXInternal-
nameVARCHAR(255)NOT NULLControl nameUser Access ManagementInternal-
descriptionTEXTControl descriptionAccess provisioned...Internal-
categoryVARCHAR(50)Control categoryaccess_controlInternal-
control_typeVARCHAR(30)NOT NULLType of controlpreventiveInternal-
frequencyVARCHAR(30)NOT NULLTesting frequencyquarterlyInternal-
owner_roleVARCHAR(50)Responsible roleIT SecurityInternal-
automatedBOOLEANDEFAULT falseCan be automatedtrueInternal-
test_procedureTEXTHow to testReview access logs...Internal-
evidence_requiredTEXT[]Required evidence["access_review.pdf"]Internal-
statusVARCHAR(20)NOT NULLControl statusactiveInternal-
created_atTIMESTAMPTZNOT NULLCreation timestamp2026-01-01T00:00:00ZInternal-
updated_atTIMESTAMPTZNOT NULLLast update timestamp2026-01-15T10:00:00ZInternal-

Frameworks: SOX, SOC2, HIPAA, FDA_21CFR11, LGPD, BACEN, CVM, GDPR

Control Types: preventive, detective, corrective, compensating


7. Users & Access Domain

7.1 users

Description: User accounts with profile information.

FieldTypeConstraintsDescriptionExampleSensitivityCompliance
idVARCHAR(50)PK, NOT NULLUnique user IDuser_john_doeInternal-
tenant_idVARCHAR(50)FK, NOT NULLParent tenanttenant_acme123Internal-
emailVARCHAR(255)NOT NULLEmail addressjohn.doe@acme.comRestrictedPII
email_verifiedBOOLEANDEFAULT falseEmail verifiedtrueInternal-
first_nameVARCHAR(100)First nameJohnRestrictedPII
last_nameVARCHAR(100)Last nameDoeRestrictedPII
display_nameVARCHAR(200)Display nameJohn DoeInternal-
avatar_urlVARCHAR(500)Profile picture URLhttps://...Internal-
phoneVARCHAR(30)Phone number+1-555-123-4567RestrictedPII
timezoneVARCHAR(50)DEFAULT 'UTC'User timezoneAmerica/New_YorkInternal-
localeVARCHAR(10)DEFAULT 'en-US'Preferred localeen-USInternal-
statusVARCHAR(20)NOT NULLAccount statusactiveInternal-
mfa_enabledBOOLEANDEFAULT falseMFA enabledtrueInternalSOX
last_login_atTIMESTAMPTZLast login timestamp2026-02-03T08:00:00ZInternal-
password_changed_atTIMESTAMPTZPassword last changed2026-01-15T10:00:00ZInternalSOX
created_atTIMESTAMPTZNOT NULLCreation timestamp2025-06-01T10:00:00ZInternal-
updated_atTIMESTAMPTZNOT NULLLast update timestamp2026-02-03T08:00:00ZInternal-

8. Integration Domain

8.1 connections

Description: External system connection configurations.

FieldTypeConstraintsDescriptionExampleSensitivityCompliance
idVARCHAR(50)PK, NOT NULLUnique connection IDconn_qbo_001Internal-
tenant_idVARCHAR(50)FK, NOT NULLParent tenanttenant_acme123Internal-
entity_idVARCHAR(50)FKLinked entityent_us_hq_001Internal-
connector_typeVARCHAR(50)NOT NULLConnector typequickbooks_onlineInternal-
nameVARCHAR(255)NOT NULLConnection nameQuickBooks - MainInternal-
statusVARCHAR(20)NOT NULLConnection statusactiveInternal-
configJSONBNon-sensitive config{"realm_id": "123"}Internal-
credentials_idVARCHAR(50)FKReference to secretssecret_qbo_001Restricted-
last_sync_atTIMESTAMPTZLast successful sync2026-02-03T06:00:00ZInternal-
last_errorTEXTLast error messageInternal-
sync_frequencyVARCHAR(30)Sync scheduleevery_15_minutesInternal-
created_atTIMESTAMPTZNOT NULLCreation timestamp2026-01-15T10:00:00ZInternal-
updated_atTIMESTAMPTZNOT NULLLast update timestamp2026-02-03T06:00:00ZInternal-

9. Data Sensitivity Legend

LevelDescriptionHandling Requirements
PublicCan be freely sharedNo restrictions
InternalFor internal use onlyAuthentication required
ConfidentialSensitive business dataRole-based access, encryption at rest
RestrictedHighly sensitive/regulatedNeed-to-know, field-level encryption, audit logging

10. Compliance Tag Legend

TagRegulationDescription
PIIGDPR/CCPA/LGPDPersonally Identifiable Information
PHIHIPAAProtected Health Information
PCIPCI-DSSPayment Card Industry data
SOXSOXSarbanes-Oxley relevant data
FDA21 CFR Part 11FDA electronic records
GAAPUS GAAPAccounting standards relevant
TaxIRS/ReceitaTax reporting relevant
SECSECSecurities reporting relevant

Data Dictionary v1.0 — FP&A Platform Document ID: DATA-001