Entity-Relationship Diagram Created using Mermaid
erDiagram %%{init: {'theme':'forest'}}%% FINANCIAL-STATEMENT ||--o{ BALANCE-SHEET : has-part FINANCIAL-STATEMENT { iso1477 reportingCurrency "ISO Currency Code" iso639 reportingLanguage "ISO Language Code" enumeration reportingScheme "What financial reporting scheme was used to create the report? (value from enumarated list)" string reportingStyle "Reporting style of financial reporting scheme used to create the financial report." string industrySector "Need a standard list of industry scectors!" boolean isAmmendment() boolean isValidXBRL() boolean isValidMathematically() boolean isValidReportModelStructure() boolean isValidTypesAndSubtypes() boolean isValidDisclosureMechanics() boolean isValidDisclosureChecklist() boolean isValidContinuityCrosschecks() string thirdPartyAssuranceType "None, Compilation, Review, Audit" } ASSETS }o--|| BALANCE-SHEET : has-part ASSETS { string balanceType "Debit" collection hasTypes() "Has a valid set of types organized in a specific hierarchy." } LIABILITIES }o--|| BALANCE-SHEET : has-part LIABILITIES { string balanceType "Credit" collection hasTypes() "Has a valid set of types organized in a specific hierarchy." } EQUITY }o--|| BALANCE-SHEET : has-part EQUITY { string balanceType "Credit" collection hasTypes() "Has a valid set of types organized in a specific hierarchy." } BALANCE-SHEET { structure assetsRollup structure liabilitiesAndEquityRollup boolean classified "Is the balance sheet classifed between current and noncurrent assets and liabilities?" boolean balances "Does the balance sheet balance; assetsRollup = liabilitiesAndEquityRollUp" boolean isValid() } BALANCE-SHEET ||--|| RULE-BALANCES : has-rule RULE-BALANCES { xpath rule "ASSETS = LIABILITIES + EQUITY" } ECONOMIC-ENTITY only one to zero or more FINANCIAL-STATEMENT : creates ECONOMIC-ENTITY { string legalName enumeration legalEntityType "Corporation, LLC, Partnership, Proprietorship, etc." uri identifier PK "LEI issued by GLEIF" iso3166 domicile "ISO Country Code" }