Accounting
Grand livre et rapports
À 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.
| Champ | Type | Classe de données | Données personnelles | Groupe | Vu par les agents | Description |
|---|---|---|---|---|---|---|
code | text | none | non | accounting.user | en clair | Account code as used in the chart, for example 400000 |
name | text | none | non | accounting.user | en clair | Account name, for example Trade receivables |
account_type | select (asset_receivable, asset_cash, asset_current, asset_fixed, liability_payable, liability_current, liability_non_current, equity, income, income_other, expense, expense_direct_cost) | none | non | accounting.user | en clair | Type 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 |
reconcile | bool | none | non | accounting.user | en clair | Whether open items on this account can be reconciled (receivable, payable, bank clearing) |
deprecated | bool | none | non | accounting.user | en clair | Whether the account is closed to new postings |
note | longtext | none | non | accounting.user | en clair | Internal 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.
| Champ | Type | Classe de données | Données personnelles | Groupe | Vu par les agents | Description |
|---|---|---|---|---|---|---|
name | text | none | non | accounting.user | en clair | Journal name, for example Customer invoices |
code | text | none | non | accounting.user | en clair | Short code used in entry numbers, for example INV |
kind | select (sale, purchase, cash, bank, general) | none | non | accounting.user | en clair | What the journal records: sale, purchase, cash, bank, general |
default_account_id | ref → accounting_account | none | non | accounting.user | en clair | Default account for entries of this journal (the bank account for a bank journal) |
currency | text | none | non | accounting.user | en clair | ISO 4217 currency code of the journal, for example EUR; empty means the company currency |
active | bool | none | non | accounting.user | en clair | Whether 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.
| Champ | Type | Classe de données | Données personnelles | Groupe | Vu par les agents | Description |
|---|---|---|---|---|---|---|
name | text | none | non | accounting.user | en clair | Tax name, for example VAT 20% sales |
rate_bp | number | none | non | accounting.user | en clair | Rate in basis points: 2000 means 20.00 percent, 550 means 5.50 percent |
scope | select (sales, purchases, none) | none | non | accounting.user | en clair | Where the tax applies: sales, purchases, none |
price_included | bool | none | non | accounting.user | en clair | Whether prices already include this tax |
tax_account_id | ref → accounting_account | none | non | accounting.user | en clair | Account the tax amount is booked on |
active | bool | none | non | accounting.user | en clair | Whether 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.
| Champ | Type | Classe de données | Données personnelles | Groupe | Vu par les agents | Description |
|---|---|---|---|---|---|---|
name | text | none | non | accounting.user | en clair | Fiscal year name, for example FY2026 |
start_on | date | none | non | accounting.user | en clair | First day of the fiscal year (YYYY-MM-DD) |
end_on | date | none | non | accounting.user | en clair | Last day of the fiscal year (YYYY-MM-DD) |
state | select (open, closed) | none | non | accounting.user | en clair | Fiscal 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.
| Champ | Type | Classe de données | Données personnelles | Groupe | Vu par les agents | Description |
|---|---|---|---|---|---|---|
fiscal_year_id | ref → accounting_fiscal_year | none | non | accounting.user | en clair | The fiscal year the period belongs to |
name | text | none | non | accounting.user | en clair | Period name, for example 2026-03 |
start_on | date | none | non | accounting.user | en clair | First day of the period (YYYY-MM-DD) |
end_on | date | none | non | accounting.user | en clair | Last day of the period (YYYY-MM-DD) |
state | select (open, closed) | none | non | accounting.user | en clair | Period 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.
| Champ | Type | Classe de données | Données personnelles | Groupe | Vu par les agents | Description |
|---|---|---|---|---|---|---|
journal_id | ref → accounting_journal | none | non | accounting.user | en clair | The journal the entry belongs to |
date | date | none | non | accounting.user | en clair | Accounting date of the entry (YYYY-MM-DD) |
number | text | none | non | accounting.user | en clair | Entry 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 |
reference | text | none | non | accounting.user | en clair | External reference, for example the supplier's invoice number |
partner_id | ref → party | none | non | accounting.user | en clair | The contact the entry is about |
narration | longtext | none | non | accounting.user | en clair | Free-text note about the entry |
state | select (draft, posted, cancelled, reversed) | none | non | accounting.user | en clair | Entry 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.
| Champ | Type | Classe de données | Données personnelles | Groupe | Vu par les agents | Description |
|---|---|---|---|---|---|---|
move_id | ref → accounting_move | none | non | accounting.user | en clair | The journal entry the line belongs to |
account_id | ref → accounting_account | none | non | accounting.user | en clair | The account the line is booked on |
partner_id | ref → party | none | non | accounting.user | en clair | The contact the line is about |
label | text | none | non | accounting.user | en clair | Line description |
debit | money | financial | non | accounting.user | non communiqué | Debit amount in minor currency units; 0 when the line is a credit |
credit | money | financial | non | accounting.user | non communiqué | Credit amount in minor currency units; 0 when the line is a debit |
tax_id | ref → accounting_tax | none | non | accounting.user | en clair | Tax the line carries, if any |
due_on | date | none | non | accounting.user | en clair | Due date for receivable and payable lines (YYYY-MM-DD) |
reconciled | bool | none | non | accounting.user | en clair | Whether 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.
| Champ | Type | Classe de données | Données personnelles | Groupe | Vu par les agents | Description |
|---|---|---|---|---|---|---|
journal_id | ref → accounting_journal | none | non | accounting.user | en clair | The bank journal the statement belongs to |
date | date | none | non | accounting.user | en clair | Booking date at the bank (YYYY-MM-DD) |
label | text | none | non | accounting.user | en clair | Payment reference or description as the bank reports it |
amount | money | financial | non | accounting.user | non communiqué | Amount in minor currency units; positive for money in, negative for money out |
counterparty_name | text | financial | oui | accounting.user | non communiqué | Name of the payer or payee as the bank reports it |
counterparty_iban | text | financial | oui | accounting.user | non communiqué | Bank account of the payer or payee |
move_line_id | ref → accounting_move_line | none | non | accounting.user | en clair | The entry line this statement line was matched to |
state | select (unmatched, matched, reconciled) | none | non | accounting.user | en clair | Matching status: unmatched, matched, reconciled |
Flux de travail
accounting_fiscal_year
| Action | Transition | Qui peut l'exécuter | Approbation |
|---|---|---|---|
accounting_fiscal_year.close | state: open → closed | accounting.approver | oui |
accounting_fiscal_year.reopen | state: closed → open | accounting.approver | oui |
accounting_period
| Action | Transition | Qui peut l'exécuter | Approbation |
|---|---|---|---|
accounting_period.close | state: open → closed | accounting.approver | oui |
accounting_period.reopen | state: closed → open | accounting.approver | oui |
accounting_move
| Action | Transition | Qui peut l'exécuter | Approbation |
|---|---|---|---|
accounting_move.post | state: draft → posted | accounting.approver | oui |
accounting_move.cancel | state: draft → cancelled | accounting.user | non |
accounting_move.reverse | state: posted → reversed | accounting.approver | oui |
accounting_bank_statement_line
| Action | Transition | Qui peut l'exécuter | Approbation |
|---|---|---|---|
accounting_bank_statement_line.match | state: unmatched → matched | accounting.user | non |
accounting_bank_statement_line.reconcile | state: matched → reconciled | accounting.manager | non |
accounting_bank_statement_line.unmatch | state: matched → unmatched | accounting.user | non |
Groupes de permissions
Groupes utilisés par cette application :
accounting.approveraccounting.manageraccounting.user
Étapes d'approbation
Étapes qu'un agent ne peut que proposer :
accounting_fiscal_year.closeaccounting_fiscal_year.reopenaccounting_period.closeaccounting_period.reopenaccounting_move.postaccounting_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 :
obop modules install-from accountingNé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