Accounting

Grand livre et rapports

Place de marchéFinanceVersion 0.1.0manifest

À quoi elle sert ​

A chart of accounts, journals, tax rates, journal entries with debit and credit lines, fiscal periods and bank statement lines. Nothing is computed for you: balancing and tax amounts are the responsibility of whoever enters them. Posting and closing need approval.

Ce que fait et ne fait pas le paquet ​

Chart of accounts, journals, tax rates, journal entries with debit and credit lines, fiscal years and periods, and bank statement lines. Amounts are money fields in minor currency units and tax rates are numbers in basis points (2000 means 20.00 percent). Nothing is computed: balancing of debits and credits, tax amounts and entry numbers are the responsibility of whoever enters them. Posting an entry and closing a period or fiscal year need a human approval and the stricter accounting.approver group; agents may only propose them.

Modèles ​

accounting_account ​

An account of the chart of accounts

Groupe de lecture: accounting.user. Groupe d'écriture: accounting.manager.

ChampTypeClasse de donnéesDonnées personnellesGroupeVu par les agentsDescription
codetextnonenonaccounting.useren clairAccount code as used in the chart, for example 400000
nametextnonenonaccounting.useren clairAccount name, for example Trade receivables
account_typeselect (asset_receivable, asset_cash, asset_current, asset_fixed, liability_payable, liability_current, liability_non_current, equity, income, income_other, expense, expense_direct_cost)nonenonaccounting.useren clairType of account: asset_receivable, asset_cash, asset_current, asset_fixed, liability_payable, liability_current, liability_non_current, equity, income, income_other, expense, expense_direct_cost
reconcileboolnonenonaccounting.useren clairWhether open items on this account can be reconciled (receivable, payable, bank clearing)
deprecatedboolnonenonaccounting.useren clairWhether the account is closed to new postings
notelongtextnonenonaccounting.useren clairInternal remarks about how the account is used

accounting_journal ​

A journal that groups entries of one kind (sales, purchases, bank, cash, miscellaneous)

Groupe de lecture: accounting.user. Groupe d'écriture: accounting.manager.

ChampTypeClasse de donnéesDonnées personnellesGroupeVu par les agentsDescription
nametextnonenonaccounting.useren clairJournal name, for example Customer invoices
codetextnonenonaccounting.useren clairShort code used in entry numbers, for example INV
kindselect (sale, purchase, cash, bank, general)nonenonaccounting.useren clairWhat the journal records: sale, purchase, cash, bank, general
default_account_idref → accounting_accountnonenonaccounting.useren clairDefault account for entries of this journal (the bank account for a bank journal)
currencytextnonenonaccounting.useren clairISO 4217 currency code of the journal, for example EUR; empty means the company currency
activeboolnonenonaccounting.useren clairWhether the journal can still receive entries

accounting_tax ​

A tax rate that entry lines can refer to

Groupe de lecture: accounting.user. Groupe d'écriture: accounting.manager.

ChampTypeClasse de donnéesDonnées personnellesGroupeVu par les agentsDescription
nametextnonenonaccounting.useren clairTax name, for example VAT 20% sales
rate_bpnumbernonenonaccounting.useren clairRate in basis points: 2000 means 20.00 percent, 550 means 5.50 percent
scopeselect (sales, purchases, none)nonenonaccounting.useren clairWhere the tax applies: sales, purchases, none
price_includedboolnonenonaccounting.useren clairWhether prices already include this tax
tax_account_idref → accounting_accountnonenonaccounting.useren clairAccount the tax amount is booked on
activeboolnonenonaccounting.useren clairWhether the tax can still be chosen on new lines

accounting_fiscal_year ​

A fiscal year, opened and closed as a whole

Groupe de lecture: accounting.user. Groupe d'écriture: accounting.manager.

ChampTypeClasse de donnéesDonnées personnellesGroupeVu par les agentsDescription
nametextnonenonaccounting.useren clairFiscal year name, for example FY2026
start_ondatenonenonaccounting.useren clairFirst day of the fiscal year (YYYY-MM-DD)
end_ondatenonenonaccounting.useren clairLast day of the fiscal year (YYYY-MM-DD)
stateselect (open, closed)nonenonaccounting.useren clairFiscal year status: open, closed

accounting_period ​

An accounting period (normally a month) inside a fiscal year

Groupe de lecture: accounting.user. Groupe d'écriture: accounting.manager.

ChampTypeClasse de donnéesDonnées personnellesGroupeVu par les agentsDescription
fiscal_year_idref → accounting_fiscal_yearnonenonaccounting.useren clairThe fiscal year the period belongs to
nametextnonenonaccounting.useren clairPeriod name, for example 2026-03
start_ondatenonenonaccounting.useren clairFirst day of the period (YYYY-MM-DD)
end_ondatenonenonaccounting.useren clairLast day of the period (YYYY-MM-DD)
stateselect (open, closed)nonenonaccounting.useren clairPeriod status: open, closed

accounting_move ​

A journal entry: a dated set of debit and credit lines in one journal

Groupe de lecture: accounting.user. Groupe d'écriture: accounting.user.

ChampTypeClasse de donnéesDonnées personnellesGroupeVu par les agentsDescription
journal_idref → accounting_journalnonenonaccounting.useren clairThe journal the entry belongs to
datedatenonenonaccounting.useren clairAccounting date of the entry (YYYY-MM-DD)
numbertextnonenonaccounting.useren clairEntry number such as INV/2026/0001. Free text: packages cannot generate sequences, so whoever posts the entry assigns the next number by hand and keeps the series gapless
referencetextnonenonaccounting.useren clairExternal reference, for example the supplier's invoice number
partner_idref → partynonenonaccounting.useren clairThe contact the entry is about
narrationlongtextnonenonaccounting.useren clairFree-text note about the entry
stateselect (draft, posted, cancelled, reversed)nonenonaccounting.useren clairEntry status: draft, posted, cancelled, reversed

accounting_move_line ​

One debit or credit line of a journal entry

Groupe de lecture: accounting.user. Groupe d'écriture: accounting.user.

ChampTypeClasse de donnéesDonnées personnellesGroupeVu par les agentsDescription
move_idref → accounting_movenonenonaccounting.useren clairThe journal entry the line belongs to
account_idref → accounting_accountnonenonaccounting.useren clairThe account the line is booked on
partner_idref → partynonenonaccounting.useren clairThe contact the line is about
labeltextnonenonaccounting.useren clairLine description
debitmoneyfinancialnonaccounting.usernon communiquéDebit amount in minor currency units; 0 when the line is a credit
creditmoneyfinancialnonaccounting.usernon communiquéCredit amount in minor currency units; 0 when the line is a debit
tax_idref → accounting_taxnonenonaccounting.useren clairTax the line carries, if any
due_ondatenonenonaccounting.useren clairDue date for receivable and payable lines (YYYY-MM-DD)
reconciledboolnonenonaccounting.useren clairWhether the line has been matched against a payment

accounting_bank_statement_line ​

A line of a bank statement waiting to be matched to entries

Groupe de lecture: accounting.user. Groupe d'écriture: accounting.user.

ChampTypeClasse de donnéesDonnées personnellesGroupeVu par les agentsDescription
journal_idref → accounting_journalnonenonaccounting.useren clairThe bank journal the statement belongs to
datedatenonenonaccounting.useren clairBooking date at the bank (YYYY-MM-DD)
labeltextnonenonaccounting.useren clairPayment reference or description as the bank reports it
amountmoneyfinancialnonaccounting.usernon communiquéAmount in minor currency units; positive for money in, negative for money out
counterparty_nametextfinancialouiaccounting.usernon communiquéName of the payer or payee as the bank reports it
counterparty_ibantextfinancialouiaccounting.usernon communiquéBank account of the payer or payee
move_line_idref → accounting_move_linenonenonaccounting.useren clairThe entry line this statement line was matched to
stateselect (unmatched, matched, reconciled)nonenonaccounting.useren clairMatching status: unmatched, matched, reconciled

Flux de travail ​

accounting_fiscal_year ​

ActionTransitionQui peut l'exécuterApprobation
accounting_fiscal_year.closestate: open → closedaccounting.approveroui
accounting_fiscal_year.reopenstate: closed → openaccounting.approveroui

accounting_period ​

ActionTransitionQui peut l'exécuterApprobation
accounting_period.closestate: open → closedaccounting.approveroui
accounting_period.reopenstate: closed → openaccounting.approveroui

accounting_move ​

ActionTransitionQui peut l'exécuterApprobation
accounting_move.poststate: draft → postedaccounting.approveroui
accounting_move.cancelstate: draft → cancelledaccounting.usernon
accounting_move.reversestate: posted → reversedaccounting.approveroui

accounting_bank_statement_line ​

ActionTransitionQui peut l'exécuterApprobation
accounting_bank_statement_line.matchstate: unmatched → matchedaccounting.usernon
accounting_bank_statement_line.reconcilestate: matched → reconciledaccounting.managernon
accounting_bank_statement_line.unmatchstate: matched → unmatchedaccounting.usernon

Groupes de permissions ​

Groupes utilisés par cette application :

  • accounting.approver
  • accounting.manager
  • accounting.user

Étapes d'approbation ​

Étapes qu'un agent ne peut que proposer :

  • accounting_fiscal_year.close
  • accounting_fiscal_year.reopen
  • accounting_period.close
  • accounting_period.reopen
  • accounting_move.post
  • accounting_move.reverse

Ce que les agents peuvent et ne peuvent pas faire ​

Un agent peut lire, rechercher, créer et modifier les enregistrements de cette application, et exécuter les actions qui ne requièrent pas d'approbation, dans les limites des groupes de permissions de son jeton.

Il ne peut que proposer ces étapes, qu'une personne doit approuver : accounting_fiscal_year.close, accounting_fiscal_year.reopen, accounting_period.close, accounting_period.reopen, accounting_move.post, accounting_move.reverse, accounting_account.delete, accounting_journal.delete, accounting_tax.delete, accounting_fiscal_year.delete, accounting_period.delete, accounting_move.delete, accounting_move_line.delete, accounting_bank_statement_line.delete.

Ces champs ne sont pas communiqués aux agents : accounting_move_line.debit, accounting_move_line.credit, accounting_bank_statement_line.amount, accounting_bank_statement_line.counterparty_name, accounting_bank_statement_line.counterparty_iban.

Dépendances ​

  • base

Installation ​

Installez-la depuis l'application Customize (Place de marché), ou en ligne de commande :

bash
obop modules install-from accounting

Nécessite une base de données et des droits d'administrateur.

Créer la vôtre ​

Le guide des modules montre comment sont écrites les applications de ce type