In my mind's eye, I see the PBooks model as a set of traditional bookkeeping tools:

  • A chart of accounts
  • A general journal where journal entries are recorded, tracking the flow of money to and from accounts
  • A general ledger which stores each individual transaction within each account, and the running balance for each account

In my usage of PBooks, I usually import transactions into an account ledger, then match each transaction with another account or accounts, thus creating a new journal entry and transactions in another accout of accounts.

In this way, it is useful to imagine the PBooks Data Model as a series of interrelated spreadsheets. Each one specific to a certain account and containing all the transactions for that account. Furthermore, each transaction is connected to one or more other transactions in another spreadsheet or spreadsheets, and it is that connection that forms the "journal entry".

Since transactional data is fairly easy to come by in this age of online banking and credit card mania, it made sense to leverage that factor in designing PBooks.