Accounting

Libro mayor e informes

MarketplaceFinanzasVersión 0.1.0manifest

Para qué sirve ​

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.

Qué hace y qué no hace el paquete ​

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.

Modelos ​

accounting_account ​

An account of the chart of accounts

Grupo de lectura: accounting.user. Grupo de escritura: accounting.manager.

CampoTipoClase de datosDatos personalesGrupoLos agentes venDescripción
codetextnonenoaccounting.useren claroAccount code as used in the chart, for example 400000
nametextnonenoaccounting.useren claroAccount 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)nonenoaccounting.useren claroType 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
reconcileboolnonenoaccounting.useren claroWhether open items on this account can be reconciled (receivable, payable, bank clearing)
deprecatedboolnonenoaccounting.useren claroWhether the account is closed to new postings
notelongtextnonenoaccounting.useren claroInternal remarks about how the account is used

accounting_journal ​

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

Grupo de lectura: accounting.user. Grupo de escritura: accounting.manager.

CampoTipoClase de datosDatos personalesGrupoLos agentes venDescripción
nametextnonenoaccounting.useren claroJournal name, for example Customer invoices
codetextnonenoaccounting.useren claroShort code used in entry numbers, for example INV
kindselect (sale, purchase, cash, bank, general)nonenoaccounting.useren claroWhat the journal records: sale, purchase, cash, bank, general
default_account_idref → accounting_accountnonenoaccounting.useren claroDefault account for entries of this journal (the bank account for a bank journal)
currencytextnonenoaccounting.useren claroISO 4217 currency code of the journal, for example EUR; empty means the company currency
activeboolnonenoaccounting.useren claroWhether the journal can still receive entries

accounting_tax ​

A tax rate that entry lines can refer to

Grupo de lectura: accounting.user. Grupo de escritura: accounting.manager.

CampoTipoClase de datosDatos personalesGrupoLos agentes venDescripción
nametextnonenoaccounting.useren claroTax name, for example VAT 20% sales
rate_bpnumbernonenoaccounting.useren claroRate in basis points: 2000 means 20.00 percent, 550 means 5.50 percent
scopeselect (sales, purchases, none)nonenoaccounting.useren claroWhere the tax applies: sales, purchases, none
price_includedboolnonenoaccounting.useren claroWhether prices already include this tax
tax_account_idref → accounting_accountnonenoaccounting.useren claroAccount the tax amount is booked on
activeboolnonenoaccounting.useren claroWhether the tax can still be chosen on new lines

accounting_fiscal_year ​

A fiscal year, opened and closed as a whole

Grupo de lectura: accounting.user. Grupo de escritura: accounting.manager.

CampoTipoClase de datosDatos personalesGrupoLos agentes venDescripción
nametextnonenoaccounting.useren claroFiscal year name, for example FY2026
start_ondatenonenoaccounting.useren claroFirst day of the fiscal year (YYYY-MM-DD)
end_ondatenonenoaccounting.useren claroLast day of the fiscal year (YYYY-MM-DD)
stateselect (open, closed)nonenoaccounting.useren claroFiscal year status: open, closed

accounting_period ​

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

Grupo de lectura: accounting.user. Grupo de escritura: accounting.manager.

CampoTipoClase de datosDatos personalesGrupoLos agentes venDescripción
fiscal_year_idref → accounting_fiscal_yearnonenoaccounting.useren claroThe fiscal year the period belongs to
nametextnonenoaccounting.useren claroPeriod name, for example 2026-03
start_ondatenonenoaccounting.useren claroFirst day of the period (YYYY-MM-DD)
end_ondatenonenoaccounting.useren claroLast day of the period (YYYY-MM-DD)
stateselect (open, closed)nonenoaccounting.useren claroPeriod status: open, closed

accounting_move ​

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

Grupo de lectura: accounting.user. Grupo de escritura: accounting.user.

CampoTipoClase de datosDatos personalesGrupoLos agentes venDescripción
journal_idref → accounting_journalnonenoaccounting.useren claroThe journal the entry belongs to
datedatenonenoaccounting.useren claroAccounting date of the entry (YYYY-MM-DD)
numbertextnonenoaccounting.useren claroEntry 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
referencetextnonenoaccounting.useren claroExternal reference, for example the supplier's invoice number
partner_idref → partynonenoaccounting.useren claroThe contact the entry is about
narrationlongtextnonenoaccounting.useren claroFree-text note about the entry
stateselect (draft, posted, cancelled, reversed)nonenoaccounting.useren claroEntry status: draft, posted, cancelled, reversed

accounting_move_line ​

One debit or credit line of a journal entry

Grupo de lectura: accounting.user. Grupo de escritura: accounting.user.

CampoTipoClase de datosDatos personalesGrupoLos agentes venDescripción
move_idref → accounting_movenonenoaccounting.useren claroThe journal entry the line belongs to
account_idref → accounting_accountnonenoaccounting.useren claroThe account the line is booked on
partner_idref → partynonenoaccounting.useren claroThe contact the line is about
labeltextnonenoaccounting.useren claroLine description
debitmoneyfinancialnoaccounting.userretenidoDebit amount in minor currency units; 0 when the line is a credit
creditmoneyfinancialnoaccounting.userretenidoCredit amount in minor currency units; 0 when the line is a debit
tax_idref → accounting_taxnonenoaccounting.useren claroTax the line carries, if any
due_ondatenonenoaccounting.useren claroDue date for receivable and payable lines (YYYY-MM-DD)
reconciledboolnonenoaccounting.useren claroWhether the line has been matched against a payment

accounting_bank_statement_line ​

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

Grupo de lectura: accounting.user. Grupo de escritura: accounting.user.

CampoTipoClase de datosDatos personalesGrupoLos agentes venDescripción
journal_idref → accounting_journalnonenoaccounting.useren claroThe bank journal the statement belongs to
datedatenonenoaccounting.useren claroBooking date at the bank (YYYY-MM-DD)
labeltextnonenoaccounting.useren claroPayment reference or description as the bank reports it
amountmoneyfinancialnoaccounting.userretenidoAmount in minor currency units; positive for money in, negative for money out
counterparty_nametextfinancialsíaccounting.userretenidoName of the payer or payee as the bank reports it
counterparty_ibantextfinancialsíaccounting.userretenidoBank account of the payer or payee
move_line_idref → accounting_move_linenonenoaccounting.useren claroThe entry line this statement line was matched to
stateselect (unmatched, matched, reconciled)nonenoaccounting.useren claroMatching status: unmatched, matched, reconciled

Flujos de trabajo ​

accounting_fiscal_year ​

AcciónMueveQuién puede ejecutarlaAprobación
accounting_fiscal_year.closestate: open → closedaccounting.approversí
accounting_fiscal_year.reopenstate: closed → openaccounting.approversí

accounting_period ​

AcciónMueveQuién puede ejecutarlaAprobación
accounting_period.closestate: open → closedaccounting.approversí
accounting_period.reopenstate: closed → openaccounting.approversí

accounting_move ​

AcciónMueveQuién puede ejecutarlaAprobación
accounting_move.poststate: draft → postedaccounting.approversí
accounting_move.cancelstate: draft → cancelledaccounting.userno
accounting_move.reversestate: posted → reversedaccounting.approversí

accounting_bank_statement_line ​

AcciónMueveQuién puede ejecutarlaAprobación
accounting_bank_statement_line.matchstate: unmatched → matchedaccounting.userno
accounting_bank_statement_line.reconcilestate: matched → reconciledaccounting.managerno
accounting_bank_statement_line.unmatchstate: matched → unmatchedaccounting.userno

Grupos de permisos ​

Grupos que usa esta aplicación:

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

Pasos con aprobación ​

Pasos que un agente solo puede proponer:

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

Qué pueden y qué no pueden hacer los agentes ​

Un agente puede leer, buscar, crear y actualizar registros de esta aplicación, y ejecutar las acciones que no requieren aprobación, dentro de los grupos de permisos de su token.

Solo puede proponer estos pasos, y una persona debe aprobarlos: 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.

Estos campos se retienen por completo y los agentes no los ven: 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.

Dependencias ​

  • base

Instalación ​

Instálala desde la aplicación Customize (Marketplace) o desde la línea de comandos:

bash
obop modules install-from accounting

Requiere una base de datos y derechos de administrador.

Crea la tuya ​

La guía de módulos explica cómo se escriben aplicaciones como esta