Definition
A journal is a logical book that groups accounting transactions by type, in chronological order, before they reach the general ledger. The general ledger is the consolidated record of all accounts and their balances. In some European countries (e.g., France, Belgium, Spain), every transaction must be recorded in a journal (sales, purchases, bank, etc.). In other systems (e.g. Anglo-Saxon (UK/US-style) accounting), the concept is less explicit, but similar functionality exists under batch posting (grouped transaction processing), templates, or sub-ledgers (subsidiary record books).Purpose
- Ensures traceability and compliance in jurisdictions where journals are legally required.
- Simplifies reconciliation and reporting, with one journal per type of transaction.
Structure
Each journal has:- An identifier (
id) and a short code (code) - A name (
name) - A type (
journal_type):customer_invoice,customer_refund: sales journal, with customer invoices and credit notessupplier_invoice,supplier_refund: purchase journal, with supplier invoices and credit notesfinancial_operation: bank or cash journal. Each bank account has its own journal, usually with aniban. The valuesbankandcashexist only when you create a journalmiscellaneous_operation: general journal, with adjustments, opening balances and miscellaneous transactionsunknown: the type could not be determined
- A currency (
currency). Empty means the currency of the folder - For a bank or cash journal: the bank or cash account (
counterpart_account) and the IBAN (iban) - A blocked flag (
blocked): a blocked journal accepts no new entries
Relationships
- Journals are defined at the level of a folder (company/entity).
- Transactions recorded in a journal are tied to a book year through their dates.
- Journal entries and invoices reference their journal with
journal_id. Usejournal_idto filter journal entries andjournal_idsto filter invoices. When you create an invoice withoutjournal_id, Chift selects the journal automatically only if there is exactly one. Otherwise, it returns an error. - Journal entries posted in journals feed into the ledger accounts.
API endpoints
- Get journals: list all journals.
- Create journal: create a new journal.