Postings Reports

The Basis API uses Reports to retrieve Postings on an Account. See the API Reference for details.

Postings

A Posting represents a single posted transaction in an Account. Details about the attributes of Postings can be found in the API Reference. There are several key elements worth highlighting.

Debits, Credits, and Effective Amounts

Postings from Basis follow Debit / Credit accounting conventions.

COA Major CategoryNormal Direction
AssetsDebit-normal (Debits increase account balance)
LiabilitiesCredit-normal (Credits increase account balance)
EquityCredit-normal (Credits increase account balance)
RevenueCredit-normal (Credits increase account balance)
ExpensesDebit-normal (Debits increase account balance)

For Asset accounts, such as bank accounts, Debits represent increases in the Account balance while Credits represent decreases in the Account balance.

We also report an effective_amount, which is simply a signed value where positives represent Debits and negatives represent Credits.

Counterparty and Cash Flow Category

Basis infers the Counterparty and Cash Flow Category of each posting. This is useful for doing financial analysis.

For example, a credit in a cash account may have a Counterparty of Tishman Speyer and a Cash Flow Category of Rent Expense. This will not only aid in creating a full cash flow statement for the business, but it allows for vendor-level insights into the business's operations - this business would have a notional account for Tishman Speyer which would be listed at /profiles/{profile_id}/accounts.

The Counterparty inference is also useful for customer-level or channel-level analysis: cash inflows may have individual customers or payment processors / platfoms as counterparties, allowing for a more advanced understanding of the composition of the business's revenue.

Attachments

Certain Postings will have Attachments with non-text metadata, such as check images. Attachments will be listed on a Posting with a type and URI for securely viewing or downloading the Attachment.

Specifying the Account for the Report

Reports provide aggregated lists of postings on any Account within the Chart of Accounts.

Typically, when working with bank data, transactions for each of the cash accounts owned by a business need to fetched separately and aggregated into a business-wide view of transactions across all accounts. Reports from Basis support aggregation by default.

Consider the task of generating a report of all transactions in a business's bank accounts. Traditionally, a developer would have to iterate through all of the business's bank accounts, pull lists of transactions, and aggregate them into a useful set for analysis. With Basis, this same task can be completed with a report generated against the cash and cash equivalents Account, since all bank accounts will be included in this parent Account. This also handles the scenario that new accounts are found or connected by the business.

Building reports any account (Connected or Notional) listed at /profiles/{profile_id}/accounts. It is even possible to generate a postings report against revenue or other primary Accounts, like expenses.

If a disaggregated Posting Report for an Account is desired, the report can also be generated using just that individual Account's identifier.