# Reference

Definitions of all components in the Twisp Accounting Core and GraphQL API.

Source: https://www.twisp.com/docs/reference

## Reference Sections

- [Ledger](/docs/reference/ledger): Ledger resources in the Twisp accounting core.
- [ACH](/docs/reference/ach): ACH resources in the Twisp accounting core.
- [GraphQL](/docs/reference/graphql): Type definitions for the full GraphQL schema.
- [API](/docs/reference/api): Key components and concepts for interacting with the API.
- [CEL](/docs/reference/cel): Packages and functions available in the common expression language runtime.

## Type Diagrams

Use these diagrams for a high-level overview of the type system within the Twisp ledger.

### Basic Relationships

Simplified type relationship diagram showing basic connections between types.

- [Journals](/docs/reference/graphql/types/object#journal) have many [Transactions](/docs/reference/graphql/types/object#transaction) and [Entries](/docs/reference/graphql/types/object#entry)
- [Transactions](/docs/reference/graphql/types/object#transaction) are defined by their [TranCode](/docs/reference/graphql/types/object#tran-code) and write multiple [Entries](/docs/reference/graphql/types/object#entry) to the ledger.
- [Transactions](/docs/reference/graphql/types/object#transaction) can be linked to other correlated [Transactions](/docs/reference/graphql/types/object#transaction)
- [Entries](/docs/reference/graphql/types/object#entry) are written to a specific [Account](/docs/reference/graphql/types/object#account) and [Journal](/docs/reference/graphql/types/object#journal)
- [Accounts](/docs/reference/graphql/types/object#account) roll up a [Balance](/docs/reference/graphql/types/object#balance) of all [Entries](/docs/reference/graphql/types/object#entry) for each [Journal](/docs/reference/graphql/types/object#journal)
- [Account Sets](/docs/reference/graphql/types/object#account-set) are groupings of [Accounts](/docs/reference/graphql/types/object#account) and/or other [Account Sets](/docs/reference/graphql/types/object#account-set) which also roll up [Balances](/docs/reference/graphql/types/object#balance)

![Simplified entity relationship diagram for Twisp core](/docs/images/diagrams/core_erd_minimal.svg)

### Entity Relationship Diagram

Although the Twisp core is not a relational database, it does enforce referential integrity between related records and thus we can model it with an RDB-style ERD.

Only select fields for each type have been shown in this diagram to aid readability. For the full reference of each type, see the [GraphQL reference](/docs/reference/graphql).

![RDB-style entity relationship diagram for Twisp core](/docs/images/diagrams/core_erd.svg)
