Skip to content

Best Practices

Practical guidelines for structuring Books, Accounts, Groups, and Transactions in Bkper — keep it simple, avoid common pitfalls, and maintain clean records.

Less is better

This principle applies to Collections, Books, Groups, and Accounts, and is grounded in three key benefits:

Fewer choices to make for agents and users, which speeds up operations.

Less maintenance, especially for reports and integrations.

Leverage Bkper’s flexibility when more detail, granularity, or units are needed.

For example, you can start tracking your results with just two accounts: Revenues (Incoming type) and Expenses (Outgoing type). As your business grows, add more detail to your Chart of Accounts — a Revenue group with accounts like Services and Subscriptions, and an Expenses group with accounts like Rent, Salary, and Insurance.

Create Bkper components (Collections, Books, Groups, Accounts) referring to one unique entity — a business, an asset, a project.

Avoid periods or dates in names

Don’t create Bkper elements that refer to periods or dates (e.g., “Books for My Business 2024” or “My Business 2025”). This might seem practical at first, but over time your list of books will grow, and if applied to accounts will turn your Chart of Accounts into a mess, making reporting complicated.

Instead, create one Book for a specific entity — such as My Business — or one Account for a specific expense — such as Transport.

To retrieve balance values for a specific date or period, use the search conditions outlined in the Query Guide.

For example, instead of creating a separate receivable account for each customer per month (e.g., “Customer_A_0125”, “Customer_A_0225”), create one receivable account Customer_A. To search for its outstanding balance for a specific date or period:

  • Customer_A on:01/31/2025
  • Customer_A after:12/31/2024

Avoid units in names

If you track different units — such as currencies, or quantities and values — do not create separate accounts for quantity and value of the same asset in one Book (e.g., “Material_A_qt”, “Material_A_value”). Instead, keep one Book for the asset’s value and another Book for its quantities.

For a stock portfolio, for example, track the quantity of instruments in one Book and the value of each instrument in another.

Unusual transactions

Some direct flows between account types can be misleading because they skip the Asset or Liability account that represents the real position being created or settled. Prefer the flow that best reflects business reality.

For example, instead of recording:

Sales >> Transport

it is often clearer to record:

  • Sales >> Bank Account
  • Bank Account >> Transport

Likewise, instead of:

Sales >> Supplier

it is often clearer to record:

  • Sales >> Bank Account
  • Bank Account >> Supplier

Direct flows can still be valid when they reflect the real event — such as settlements, refunds, taxes, or accrual positions.