Accounting Equation

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"
              }