mirror of
https://github.com/bringout/oca-ocb-accounting.git
synced 2026-04-21 17:02:08 +02:00
Initial commit: Accounting packages
This commit is contained in:
commit
4ef34c2317
2661 changed files with 1709616 additions and 0 deletions
32
odoo-bringout-oca-ocb-account/doc/ARCHITECTURE.md
Normal file
32
odoo-bringout-oca-ocb-account/doc/ARCHITECTURE.md
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
# Architecture
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
U[Users] -->|HTTP| V[Views and QWeb Templates]
|
||||
V --> C[Controllers]
|
||||
V --> W[Wizards – Transient Models]
|
||||
C --> M[Models and ORM]
|
||||
W --> M
|
||||
M --> R[Reports]
|
||||
DX[Data XML] --> M
|
||||
S[Security – ACLs and Groups] -. enforces .-> M
|
||||
|
||||
subgraph Account Module - account
|
||||
direction LR
|
||||
M:::layer
|
||||
W:::layer
|
||||
C:::layer
|
||||
V:::layer
|
||||
R:::layer
|
||||
S:::layer
|
||||
DX:::layer
|
||||
end
|
||||
|
||||
classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px
|
||||
```
|
||||
|
||||
Notes
|
||||
- Views include tree/form/kanban templates and report templates.
|
||||
- Controllers provide website/portal routes when present.
|
||||
- Wizards are UI flows implemented with `models.TransientModel`.
|
||||
- Data XML loads data/demo records; Security defines groups and access.
|
||||
22
odoo-bringout-oca-ocb-account/doc/CONFIGURATION.md
Normal file
22
odoo-bringout-oca-ocb-account/doc/CONFIGURATION.md
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
# Configuration
|
||||
|
||||
## Company & Accounting
|
||||
|
||||
- Company currency, fiscal localization (chart of accounts)
|
||||
- Payment terms, journals, taxes, cash rounding
|
||||
|
||||
## Analytics
|
||||
|
||||
- Analytic accounts and plans
|
||||
- Distribution models for multi‑axis analytics
|
||||
|
||||
## Portals & Emails
|
||||
|
||||
- Customer portal access to invoices and payments
|
||||
- Email templates for invoice sending and reminders
|
||||
|
||||
## Reports
|
||||
|
||||
- Invoice PDFs, statements, integrity hash
|
||||
- Analytic and financial reports via Account Reports
|
||||
|
||||
17
odoo-bringout-oca-ocb-account/doc/CONTROLLERS.md
Normal file
17
odoo-bringout-oca-ocb-account/doc/CONTROLLERS.md
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
# Controllers
|
||||
|
||||
HTTP routes provided by this module.
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant U as User/Client
|
||||
participant C as Module Controllers
|
||||
participant O as ORM/Views
|
||||
|
||||
U->>C: HTTP GET/POST (routes)
|
||||
C->>O: ORM operations, render templates
|
||||
O-->>U: HTML/JSON/PDF
|
||||
```
|
||||
|
||||
Notes
|
||||
- See files in controllers/ for route definitions.
|
||||
9
odoo-bringout-oca-ocb-account/doc/DEPENDENCIES.md
Normal file
9
odoo-bringout-oca-ocb-account/doc/DEPENDENCIES.md
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
# Dependencies
|
||||
|
||||
This addon depends on:
|
||||
|
||||
- [base_setup](../../odoo-bringout-oca-ocb-base_setup)
|
||||
- [product](../../odoo-bringout-oca-ocb-product)
|
||||
- [analytic](../../odoo-bringout-oca-ocb-analytic)
|
||||
- [portal](../../odoo-bringout-oca-ocb-portal)
|
||||
- [digest](../../odoo-bringout-oca-ocb-digest)
|
||||
17
odoo-bringout-oca-ocb-account/doc/FAQ.md
Normal file
17
odoo-bringout-oca-ocb-account/doc/FAQ.md
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
# FAQ
|
||||
|
||||
## Which Odoo version is this?
|
||||
Odoo 16.0 (OCA/OCB) packaged as Python wheels.
|
||||
|
||||
## Do I need to install Odoo separately?
|
||||
No. The monorepo packages include the necessary Odoo pieces; use the provided runner script to start the server.
|
||||
|
||||
## How do I enable the module?
|
||||
Start the server with `--addon account` or install “Invoicing” from Apps in the UI.
|
||||
|
||||
## Can I use it outside this repo?
|
||||
Yes. Install the PyPI packages you need and run Odoo with your preferred tooling, making sure addons paths include installed packages.
|
||||
|
||||
## Is this production‑ready?
|
||||
Yes, but validate your localization, taxes, and accounting settings for your jurisdiction before going live.
|
||||
|
||||
32
odoo-bringout-oca-ocb-account/doc/INSTALL.md
Normal file
32
odoo-bringout-oca-ocb-account/doc/INSTALL.md
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
# Install
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Python 3.11–3.12
|
||||
- Odoo base packaged addons from this repo (installed automatically as deps)
|
||||
|
||||
## From PyPI (or local wheel)
|
||||
|
||||
```bash
|
||||
pip install odoo-bringout-oca-ocb-account
|
||||
# or
|
||||
uv pip install odoo-bringout-oca-ocb-account
|
||||
```
|
||||
|
||||
## From Source (editable)
|
||||
|
||||
```bash
|
||||
git clone <this-repo>
|
||||
cd <this-repo>
|
||||
pip install -e packages/odoo-bringout-oca-ocb-account
|
||||
# or
|
||||
uv pip install -e packages/odoo-bringout-oca-ocb-account
|
||||
```
|
||||
|
||||
This installs the `account` addon plus its Python‑packaged dependencies:
|
||||
- odoo-bringout-oca-ocb-base_setup
|
||||
- odoo-bringout-oca-ocb-product
|
||||
- odoo-bringout-oca-ocb-analytic
|
||||
- odoo-bringout-oca-ocb-portal
|
||||
- odoo-bringout-oca-ocb-digest
|
||||
|
||||
728
odoo-bringout-oca-ocb-account/doc/MODELS.md
Normal file
728
odoo-bringout-oca-ocb-account/doc/MODELS.md
Normal file
|
|
@ -0,0 +1,728 @@
|
|||
# Models
|
||||
|
||||
Detected core models and extensions in account.
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
class account_account
|
||||
class account_account_tag
|
||||
class account_account_template
|
||||
class account_bank_statement
|
||||
class account_bank_statement_line
|
||||
class account_cash_rounding
|
||||
class account_chart_template
|
||||
class account_fiscal_position
|
||||
class account_fiscal_position_account
|
||||
class account_fiscal_position_account_template
|
||||
class account_fiscal_position_tax
|
||||
class account_fiscal_position_tax_template
|
||||
class account_fiscal_position_template
|
||||
class account_full_reconcile
|
||||
class account_group
|
||||
class account_group_template
|
||||
class account_incoterms
|
||||
class account_journal
|
||||
class account_journal_group
|
||||
class account_move
|
||||
class account_move_line
|
||||
class account_partial_reconcile
|
||||
class account_payment
|
||||
class account_payment_method
|
||||
class account_payment_method_line
|
||||
class account_payment_term
|
||||
class account_payment_term_line
|
||||
class account_reconcile_model
|
||||
class account_reconcile_model_line
|
||||
class account_reconcile_model_line_template
|
||||
class account_reconcile_model_partner_mapping
|
||||
class account_reconcile_model_template
|
||||
class account_report
|
||||
class account_report_column
|
||||
class account_report_expression
|
||||
class account_report_external_value
|
||||
class account_report_line
|
||||
class account_root
|
||||
class account_tax
|
||||
class account_tax_group
|
||||
class account_tax_repartition_line
|
||||
class account_tax_repartition_line_template
|
||||
class account_tax_template
|
||||
class res_company
|
||||
class res_partner
|
||||
class res_partner_bank
|
||||
class sequence_mixin
|
||||
class account_analytic_account
|
||||
class account_analytic_applicability
|
||||
class account_analytic_distribution_model
|
||||
class account_analytic_line
|
||||
class account_journal
|
||||
class account_move_line
|
||||
class analytic_mixin
|
||||
class decimal_precision
|
||||
class digest_digest
|
||||
class ir_actions_report
|
||||
class ir_attachment
|
||||
class mail_thread
|
||||
class product_category
|
||||
class product_product
|
||||
class product_template
|
||||
class res_config_settings
|
||||
class res_currency
|
||||
class res_groups
|
||||
class res_partner
|
||||
class res_users
|
||||
class account_journal
|
||||
res_partner_bank --> account_journal : journal_id (One2many)
|
||||
class account_group_template
|
||||
account_group_template --> account_group_template : parent_id (Many2one)
|
||||
class account_chart_template
|
||||
account_group_template --> account_chart_template : chart_template_id (Many2one)
|
||||
class res_currency
|
||||
account_account_template --> res_currency : currency_id (Many2one)
|
||||
class account_tax_template
|
||||
account_account_template --> account_tax_template : tax_ids (Many2many)
|
||||
class account_chart_template
|
||||
account_account_template --> account_chart_template : chart_template_id (Many2one)
|
||||
class account_account_tag
|
||||
account_account_template --> account_account_tag : tag_ids (Many2many)
|
||||
class account_chart_template
|
||||
account_chart_template --> account_chart_template : parent_id (Many2one)
|
||||
class res_currency
|
||||
account_chart_template --> res_currency : currency_id (Many2one)
|
||||
class account_account_template
|
||||
account_chart_template --> account_account_template : account_ids (One2many)
|
||||
class account_tax_template
|
||||
account_chart_template --> account_tax_template : tax_template_ids (One2many)
|
||||
class account_account_template
|
||||
account_chart_template --> account_account_template : income_currency_exchange_account_id (Many2one)
|
||||
class account_account_template
|
||||
account_chart_template --> account_account_template : expense_currency_exchange_account_id (Many2one)
|
||||
class res_country
|
||||
account_chart_template --> res_country : country_id (Many2one)
|
||||
class account_account_template
|
||||
account_chart_template --> account_account_template : account_journal_suspense_account_id (Many2one)
|
||||
class account_account_template
|
||||
account_chart_template --> account_account_template : account_journal_payment_debit_account_id (Many2one)
|
||||
class account_account_template
|
||||
account_chart_template --> account_account_template : account_journal_payment_credit_account_id (Many2one)
|
||||
class account_account_template
|
||||
account_chart_template --> account_account_template : default_cash_difference_income_account_id (Many2one)
|
||||
class account_account_template
|
||||
account_chart_template --> account_account_template : default_cash_difference_expense_account_id (Many2one)
|
||||
class account_account_template
|
||||
account_chart_template --> account_account_template : default_pos_receivable_account_id (Many2one)
|
||||
class account_account_template
|
||||
account_chart_template --> account_account_template : account_journal_early_pay_discount_loss_account_id (Many2one)
|
||||
class account_account_template
|
||||
account_chart_template --> account_account_template : account_journal_early_pay_discount_gain_account_id (Many2one)
|
||||
class account_account_template
|
||||
account_chart_template --> account_account_template : property_account_receivable_id (Many2one)
|
||||
class account_account_template
|
||||
account_chart_template --> account_account_template : property_account_payable_id (Many2one)
|
||||
class account_account_template
|
||||
account_chart_template --> account_account_template : property_account_expense_categ_id (Many2one)
|
||||
class account_account_template
|
||||
account_chart_template --> account_account_template : property_account_income_categ_id (Many2one)
|
||||
class account_account_template
|
||||
account_chart_template --> account_account_template : property_account_expense_id (Many2one)
|
||||
class account_account_template
|
||||
account_chart_template --> account_account_template : property_account_income_id (Many2one)
|
||||
class account_account_template
|
||||
account_chart_template --> account_account_template : property_stock_account_input_categ_id (Many2one)
|
||||
class account_account_template
|
||||
account_chart_template --> account_account_template : property_stock_account_output_categ_id (Many2one)
|
||||
class account_account_template
|
||||
account_chart_template --> account_account_template : property_stock_valuation_account_id (Many2one)
|
||||
class account_account_template
|
||||
account_chart_template --> account_account_template : property_tax_payable_account_id (Many2one)
|
||||
class account_account_template
|
||||
account_chart_template --> account_account_template : property_tax_receivable_account_id (Many2one)
|
||||
class account_account_template
|
||||
account_chart_template --> account_account_template : property_advance_tax_payment_account_id (Many2one)
|
||||
class account_account_template
|
||||
account_chart_template --> account_account_template : property_cash_basis_base_account_id (Many2one)
|
||||
class account_chart_template
|
||||
account_tax_template --> account_chart_template : chart_template_id (Many2one)
|
||||
class account_tax_template
|
||||
account_tax_template --> account_tax_template : children_tax_ids (Many2many)
|
||||
class account_tax_repartition_line_template
|
||||
account_tax_template --> account_tax_repartition_line_template : invoice_repartition_line_ids (One2many)
|
||||
class account_tax_repartition_line_template
|
||||
account_tax_template --> account_tax_repartition_line_template : refund_repartition_line_ids (One2many)
|
||||
class account_tax_group
|
||||
account_tax_template --> account_tax_group : tax_group_id (Many2one)
|
||||
class account_account_template
|
||||
account_tax_template --> account_account_template : cash_basis_transition_account_id (Many2one)
|
||||
class account_account_template
|
||||
account_tax_repartition_line_template --> account_account_template : account_id (Many2one)
|
||||
class account_tax_template
|
||||
account_tax_repartition_line_template --> account_tax_template : invoice_tax_id (Many2one)
|
||||
class account_tax_template
|
||||
account_tax_repartition_line_template --> account_tax_template : refund_tax_id (Many2one)
|
||||
class account_account_tag
|
||||
account_tax_repartition_line_template --> account_account_tag : tag_ids (Many2many)
|
||||
class account_report_expression
|
||||
account_tax_repartition_line_template --> account_report_expression : plus_report_expression_ids (Many2many)
|
||||
class account_report_expression
|
||||
account_tax_repartition_line_template --> account_report_expression : minus_report_expression_ids (Many2many)
|
||||
class account_chart_template
|
||||
account_fiscal_position_template --> account_chart_template : chart_template_id (Many2one)
|
||||
class account_fiscal_position_account_template
|
||||
account_fiscal_position_template --> account_fiscal_position_account_template : account_ids (One2many)
|
||||
class account_fiscal_position_tax_template
|
||||
account_fiscal_position_template --> account_fiscal_position_tax_template : tax_ids (One2many)
|
||||
class res_country
|
||||
account_fiscal_position_template --> res_country : country_id (Many2one)
|
||||
class res_country_group
|
||||
account_fiscal_position_template --> res_country_group : country_group_id (Many2one)
|
||||
class res_country_state
|
||||
account_fiscal_position_template --> res_country_state : state_ids (Many2many)
|
||||
class account_fiscal_position_template
|
||||
account_fiscal_position_tax_template --> account_fiscal_position_template : position_id (Many2one)
|
||||
class account_tax_template
|
||||
account_fiscal_position_tax_template --> account_tax_template : tax_src_id (Many2one)
|
||||
class account_tax_template
|
||||
account_fiscal_position_tax_template --> account_tax_template : tax_dest_id (Many2one)
|
||||
class account_fiscal_position_template
|
||||
account_fiscal_position_account_template --> account_fiscal_position_template : position_id (Many2one)
|
||||
class account_account_template
|
||||
account_fiscal_position_account_template --> account_account_template : account_src_id (Many2one)
|
||||
class account_account_template
|
||||
account_fiscal_position_account_template --> account_account_template : account_dest_id (Many2one)
|
||||
class account_chart_template
|
||||
account_reconcile_model_template --> account_chart_template : chart_template_id (Many2one)
|
||||
class account_journal
|
||||
account_reconcile_model_template --> account_journal : match_journal_ids (Many2many)
|
||||
class res_partner
|
||||
account_reconcile_model_template --> res_partner : match_partner_ids (Many2many)
|
||||
class res_partner_category
|
||||
account_reconcile_model_template --> res_partner_category : match_partner_category_ids (Many2many)
|
||||
class account_reconcile_model_line_template
|
||||
account_reconcile_model_template --> account_reconcile_model_line_template : line_ids (One2many)
|
||||
class account_reconcile_model_template
|
||||
account_reconcile_model_line_template --> account_reconcile_model_template : model_id (Many2one)
|
||||
class account_account_template
|
||||
account_reconcile_model_line_template --> account_account_template : account_id (Many2one)
|
||||
class account_tax_template
|
||||
account_reconcile_model_line_template --> account_tax_template : tax_ids (Many2many)
|
||||
class account_reconcile_model
|
||||
account_reconcile_model_partner_mapping --> account_reconcile_model : model_id (Many2one)
|
||||
class res_partner
|
||||
account_reconcile_model_partner_mapping --> res_partner : partner_id (Many2one)
|
||||
class account_reconcile_model
|
||||
account_reconcile_model_line --> account_reconcile_model : model_id (Many2one)
|
||||
class account_account
|
||||
account_reconcile_model_line --> account_account : account_id (Many2one)
|
||||
class account_journal
|
||||
account_reconcile_model_line --> account_journal : journal_id (Many2one)
|
||||
class account_tax
|
||||
account_reconcile_model_line --> account_tax : tax_ids (Many2many)
|
||||
class res_company
|
||||
account_reconcile_model --> res_company : company_id (Many2one)
|
||||
class account_journal
|
||||
account_reconcile_model --> account_journal : match_journal_ids (Many2many)
|
||||
class res_partner
|
||||
account_reconcile_model --> res_partner : match_partner_ids (Many2many)
|
||||
class res_partner_category
|
||||
account_reconcile_model --> res_partner_category : match_partner_category_ids (Many2many)
|
||||
class account_reconcile_model_line
|
||||
account_reconcile_model --> account_reconcile_model_line : line_ids (One2many)
|
||||
class account_reconcile_model_partner_mapping
|
||||
account_reconcile_model --> account_reconcile_model_partner_mapping : partner_mapping_line_ids (One2many)
|
||||
class account_move
|
||||
account_payment --> account_move : move_id (Many2one)
|
||||
class res_partner_bank
|
||||
account_payment --> res_partner_bank : available_partner_bank_ids (Many2many)
|
||||
class res_partner_bank
|
||||
account_payment --> res_partner_bank : partner_bank_id (Many2one)
|
||||
class account_payment
|
||||
account_payment --> account_payment : paired_internal_transfer_payment_id (Many2one)
|
||||
class account_payment_method_line
|
||||
account_payment --> account_payment_method_line : payment_method_line_id (Many2one)
|
||||
class account_payment_method_line
|
||||
account_payment --> account_payment_method_line : available_payment_method_line_ids (Many2many)
|
||||
class account_journal
|
||||
account_payment --> account_journal : available_journal_ids (Many2many)
|
||||
class res_currency
|
||||
account_payment --> res_currency : currency_id (Many2one)
|
||||
class res_partner
|
||||
account_payment --> res_partner : partner_id (Many2one)
|
||||
class account_account
|
||||
account_payment --> account_account : outstanding_account_id (Many2one)
|
||||
class account_account
|
||||
account_payment --> account_account : destination_account_id (Many2one)
|
||||
class account_journal
|
||||
account_payment --> account_journal : destination_journal_id (Many2one)
|
||||
class account_move
|
||||
account_payment --> account_move : reconciled_invoice_ids (Many2many)
|
||||
class account_move
|
||||
account_payment --> account_move : reconciled_bill_ids (Many2many)
|
||||
class account_bank_statement_line
|
||||
account_payment --> account_bank_statement_line : reconciled_statement_line_ids (Many2many)
|
||||
class account_payment
|
||||
account_move --> account_payment : payment_ids (One2many)
|
||||
class res_country
|
||||
account_account_tag --> res_country : country_id (Many2one)
|
||||
class product_category
|
||||
account_analytic_applicability --> product_category : product_categ_id (Many2one)
|
||||
class product_product
|
||||
account_analytic_line --> product_product : product_id (Many2one)
|
||||
class account_account
|
||||
account_analytic_line --> account_account : general_account_id (Many2one)
|
||||
class account_journal
|
||||
account_analytic_line --> account_journal : journal_id (Many2one)
|
||||
class account_move_line
|
||||
account_analytic_line --> account_move_line : move_line_id (Many2one)
|
||||
class account_move
|
||||
account_bank_statement_line --> account_move : move_id (Many2one)
|
||||
class account_bank_statement
|
||||
account_bank_statement_line --> account_bank_statement : statement_id (Many2one)
|
||||
class account_payment
|
||||
account_bank_statement_line --> account_payment : payment_ids (Many2many)
|
||||
class res_partner
|
||||
account_bank_statement_line --> res_partner : partner_id (Many2one)
|
||||
class res_currency
|
||||
account_bank_statement_line --> res_currency : currency_id (Many2one)
|
||||
class res_currency
|
||||
account_bank_statement_line --> res_currency : foreign_currency_id (Many2one)
|
||||
class account_bank_statement_line
|
||||
account_move --> account_bank_statement_line : statement_line_ids (One2many)
|
||||
class res_currency
|
||||
account_account --> res_currency : currency_id (Many2one)
|
||||
class account_tax
|
||||
account_account --> account_tax : tax_ids (Many2many)
|
||||
class res_company
|
||||
account_account --> res_company : company_id (Many2one)
|
||||
class account_account_tag
|
||||
account_account --> account_account_tag : tag_ids (Many2many)
|
||||
class account_group
|
||||
account_account --> account_group : group_id (Many2one)
|
||||
class account_root
|
||||
account_account --> account_root : root_id (Many2one)
|
||||
class account_journal
|
||||
account_account --> account_journal : allowed_journal_ids (Many2many)
|
||||
class account_group
|
||||
account_group --> account_group : parent_id (Many2one)
|
||||
class res_company
|
||||
account_group --> res_company : company_id (Many2one)
|
||||
class account_root
|
||||
account_root --> account_root : parent_id (Many2one)
|
||||
class res_company
|
||||
account_root --> res_company : company_id (Many2one)
|
||||
class res_company
|
||||
account_fiscal_position --> res_company : company_id (Many2one)
|
||||
class account_fiscal_position_account
|
||||
account_fiscal_position --> account_fiscal_position_account : account_ids (One2many)
|
||||
class account_fiscal_position_tax
|
||||
account_fiscal_position --> account_fiscal_position_tax : tax_ids (One2many)
|
||||
class res_country
|
||||
account_fiscal_position --> res_country : country_id (Many2one)
|
||||
class res_country_group
|
||||
account_fiscal_position --> res_country_group : country_group_id (Many2one)
|
||||
class res_country_state
|
||||
account_fiscal_position --> res_country_state : state_ids (Many2many)
|
||||
class account_fiscal_position
|
||||
account_fiscal_position_tax --> account_fiscal_position : position_id (Many2one)
|
||||
class res_company
|
||||
account_fiscal_position_tax --> res_company : company_id (Many2one)
|
||||
class account_tax
|
||||
account_fiscal_position_tax --> account_tax : tax_src_id (Many2one)
|
||||
class account_tax
|
||||
account_fiscal_position_tax --> account_tax : tax_dest_id (Many2one)
|
||||
class account_fiscal_position
|
||||
account_fiscal_position_account --> account_fiscal_position : position_id (Many2one)
|
||||
class res_company
|
||||
account_fiscal_position_account --> res_company : company_id (Many2one)
|
||||
class account_account
|
||||
account_fiscal_position_account --> account_account : account_src_id (Many2one)
|
||||
class account_account
|
||||
account_fiscal_position_account --> account_account : account_dest_id (Many2one)
|
||||
class res_currency
|
||||
res_partner --> res_currency : currency_id (Many2one)
|
||||
class account_account
|
||||
res_partner --> account_account : property_account_payable_id (Many2one)
|
||||
class account_account
|
||||
res_partner --> account_account : property_account_receivable_id (Many2one)
|
||||
class account_fiscal_position
|
||||
res_partner --> account_fiscal_position : property_account_position_id (Many2one)
|
||||
class account_payment_term
|
||||
res_partner --> account_payment_term : property_payment_term_id (Many2one)
|
||||
class account_payment_term
|
||||
res_partner --> account_payment_term : property_supplier_payment_term_id (Many2one)
|
||||
class res_company
|
||||
res_partner --> res_company : ref_company_ids (One2many)
|
||||
class account_move
|
||||
res_partner --> account_move : invoice_ids (One2many)
|
||||
class account_analytic_account
|
||||
res_partner --> account_analytic_account : contract_ids (One2many)
|
||||
class res_company
|
||||
account_bank_statement --> res_company : company_id (Many2one)
|
||||
class res_currency
|
||||
account_bank_statement --> res_currency : currency_id (Many2one)
|
||||
class account_journal
|
||||
account_bank_statement --> account_journal : journal_id (Many2one)
|
||||
class account_bank_statement_line
|
||||
account_bank_statement --> account_bank_statement_line : line_ids (One2many)
|
||||
class ir_attachment
|
||||
account_bank_statement --> ir_attachment : attachment_ids (Many2many)
|
||||
class product_product
|
||||
account_analytic_distribution_model --> product_product : product_id (Many2one)
|
||||
class product_category
|
||||
account_analytic_distribution_model --> product_category : product_categ_id (Many2one)
|
||||
class account_account
|
||||
product_category --> account_account : property_account_income_categ_id (Many2one)
|
||||
class account_account
|
||||
product_category --> account_account : property_account_expense_categ_id (Many2one)
|
||||
class account_tax
|
||||
product_template --> account_tax : taxes_id (Many2many)
|
||||
class account_tax
|
||||
product_template --> account_tax : supplier_taxes_id (Many2many)
|
||||
class account_account
|
||||
product_template --> account_account : property_account_income_id (Many2one)
|
||||
class account_account
|
||||
product_template --> account_account : property_account_expense_id (Many2one)
|
||||
class account_account_tag
|
||||
product_template --> account_account_tag : account_tag_ids (Many2many)
|
||||
class account_payment_method
|
||||
account_payment_method_line --> account_payment_method : payment_method_id (Many2one)
|
||||
class account_account
|
||||
account_payment_method_line --> account_account : payment_account_id (Many2one)
|
||||
class account_journal
|
||||
account_payment_method_line --> account_journal : journal_id (Many2one)
|
||||
class account_report_line
|
||||
account_report --> account_report_line : line_ids (One2many)
|
||||
class account_report_column
|
||||
account_report --> account_report_column : column_ids (One2many)
|
||||
class account_report
|
||||
account_report --> account_report : root_report_id (Many2one)
|
||||
class account_report
|
||||
account_report --> account_report : variant_report_ids (One2many)
|
||||
class account_chart_template
|
||||
account_report --> account_chart_template : chart_template_id (Many2one)
|
||||
class res_country
|
||||
account_report --> res_country : country_id (Many2one)
|
||||
class account_report_expression
|
||||
account_report_line --> account_report_expression : expression_ids (One2many)
|
||||
class account_report
|
||||
account_report_line --> account_report : report_id (Many2one)
|
||||
class account_report_line
|
||||
account_report_line --> account_report_line : parent_id (Many2one)
|
||||
class account_report_line
|
||||
account_report_line --> account_report_line : children_ids (One2many)
|
||||
class ir_actions_actions
|
||||
account_report_line --> ir_actions_actions : action_id (Many2one)
|
||||
class account_report_line
|
||||
account_report_expression --> account_report_line : report_line_id (Many2one)
|
||||
class account_report
|
||||
account_report_column --> account_report : report_id (Many2one)
|
||||
class ir_actions_act_window
|
||||
account_report_column --> ir_actions_act_window : custom_audit_action_id (Many2one)
|
||||
class account_report_expression
|
||||
account_report_external_value --> account_report_expression : target_report_expression_id (Many2one)
|
||||
class res_company
|
||||
account_report_external_value --> res_company : company_id (Many2one)
|
||||
class account_fiscal_position
|
||||
account_report_external_value --> account_fiscal_position : foreign_vat_fiscal_position_id (Many2one)
|
||||
class account_report_line
|
||||
account_report_external_value --> account_report_line : carryover_origin_report_line_id (Many2one)
|
||||
class account_payment_term_line
|
||||
account_payment_term --> account_payment_term_line : line_ids (One2many)
|
||||
class res_company
|
||||
account_payment_term --> res_company : company_id (Many2one)
|
||||
class account_payment_term
|
||||
account_payment_term_line --> account_payment_term : payment_id (Many2one)
|
||||
class account_account
|
||||
account_cash_rounding --> account_account : profit_account_id (Many2one)
|
||||
class account_account
|
||||
account_cash_rounding --> account_account : loss_account_id (Many2one)
|
||||
class res_company
|
||||
account_cash_rounding --> res_company : company_id (Many2one)
|
||||
class account_move
|
||||
account_move_line --> account_move : move_id (Many2one)
|
||||
class account_account
|
||||
account_move_line --> account_account : account_id (Many2one)
|
||||
class res_currency
|
||||
account_move_line --> res_currency : currency_id (Many2one)
|
||||
class res_partner
|
||||
account_move_line --> res_partner : partner_id (Many2one)
|
||||
class account_reconcile_model
|
||||
account_move_line --> account_reconcile_model : reconcile_model_id (Many2one)
|
||||
class account_payment
|
||||
account_move_line --> account_payment : payment_id (Many2one)
|
||||
class account_bank_statement_line
|
||||
account_move_line --> account_bank_statement_line : statement_line_id (Many2one)
|
||||
class account_tax
|
||||
account_move_line --> account_tax : tax_ids (Many2many)
|
||||
class account_tax
|
||||
account_move_line --> account_tax : group_tax_id (Many2one)
|
||||
class account_tax
|
||||
account_move_line --> account_tax : tax_line_id (Many2one)
|
||||
class account_tax_repartition_line
|
||||
account_move_line --> account_tax_repartition_line : tax_repartition_line_id (Many2one)
|
||||
class account_account_tag
|
||||
account_move_line --> account_account_tag : tax_tag_ids (Many2many)
|
||||
class account_full_reconcile
|
||||
account_move_line --> account_full_reconcile : full_reconcile_id (Many2one)
|
||||
class account_partial_reconcile
|
||||
account_move_line --> account_partial_reconcile : matched_debit_ids (One2many)
|
||||
class account_partial_reconcile
|
||||
account_move_line --> account_partial_reconcile : matched_credit_ids (One2many)
|
||||
class product_product
|
||||
account_move_line --> product_product : product_id (Many2one)
|
||||
class uom_uom
|
||||
account_move_line --> uom_uom : product_uom_id (Many2one)
|
||||
class uom_category
|
||||
account_move_line --> uom_category : product_uom_category_id (Many2one)
|
||||
class account_analytic_line
|
||||
account_move_line --> account_analytic_line : analytic_line_ids (One2many)
|
||||
class account_account
|
||||
account_tax_group --> account_account : property_tax_payable_account_id (Many2one)
|
||||
class account_account
|
||||
account_tax_group --> account_account : property_tax_receivable_account_id (Many2one)
|
||||
class account_account
|
||||
account_tax_group --> account_account : property_advance_tax_payment_account_id (Many2one)
|
||||
class res_country
|
||||
account_tax_group --> res_country : country_id (Many2one)
|
||||
class res_company
|
||||
account_tax --> res_company : company_id (Many2one)
|
||||
class account_tax
|
||||
account_tax --> account_tax : children_tax_ids (Many2many)
|
||||
class account_tax_group
|
||||
account_tax --> account_tax_group : tax_group_id (Many2one)
|
||||
class account_account
|
||||
account_tax --> account_account : cash_basis_transition_account_id (Many2one)
|
||||
class account_tax_repartition_line
|
||||
account_tax --> account_tax_repartition_line : invoice_repartition_line_ids (One2many)
|
||||
class account_tax_repartition_line
|
||||
account_tax --> account_tax_repartition_line : refund_repartition_line_ids (One2many)
|
||||
class res_country
|
||||
account_tax --> res_country : country_id (Many2one)
|
||||
class account_account
|
||||
account_tax_repartition_line --> account_account : account_id (Many2one)
|
||||
class account_account_tag
|
||||
account_tax_repartition_line --> account_account_tag : tag_ids (Many2many)
|
||||
class account_tax
|
||||
account_tax_repartition_line --> account_tax : invoice_tax_id (Many2one)
|
||||
class account_tax
|
||||
account_tax_repartition_line --> account_tax : refund_tax_id (Many2one)
|
||||
class account_tax
|
||||
account_tax_repartition_line --> account_tax : tax_id (Many2one)
|
||||
class res_company
|
||||
account_tax_repartition_line --> res_company : company_id (Many2one)
|
||||
class account_account
|
||||
res_company --> account_account : transfer_account_id (Many2one)
|
||||
class account_chart_template
|
||||
res_company --> account_chart_template : chart_template_id (Many2one)
|
||||
class account_account
|
||||
res_company --> account_account : default_cash_difference_income_account_id (Many2one)
|
||||
class account_account
|
||||
res_company --> account_account : default_cash_difference_expense_account_id (Many2one)
|
||||
class account_account
|
||||
res_company --> account_account : account_journal_suspense_account_id (Many2one)
|
||||
class account_account
|
||||
res_company --> account_account : account_journal_payment_debit_account_id (Many2one)
|
||||
class account_account
|
||||
res_company --> account_account : account_journal_payment_credit_account_id (Many2one)
|
||||
class account_account
|
||||
res_company --> account_account : account_journal_early_pay_discount_gain_account_id (Many2one)
|
||||
class account_account
|
||||
res_company --> account_account : account_journal_early_pay_discount_loss_account_id (Many2one)
|
||||
class account_tax
|
||||
res_company --> account_tax : account_sale_tax_id (Many2one)
|
||||
class account_tax
|
||||
res_company --> account_tax : account_purchase_tax_id (Many2one)
|
||||
class account_journal
|
||||
res_company --> account_journal : currency_exchange_journal_id (Many2one)
|
||||
class account_account
|
||||
res_company --> account_account : income_currency_exchange_account_id (Many2one)
|
||||
class account_account
|
||||
res_company --> account_account : expense_currency_exchange_account_id (Many2one)
|
||||
class account_account
|
||||
res_company --> account_account : property_stock_account_input_categ_id (Many2one)
|
||||
class account_account
|
||||
res_company --> account_account : property_stock_account_output_categ_id (Many2one)
|
||||
class account_account
|
||||
res_company --> account_account : property_stock_valuation_account_id (Many2one)
|
||||
class account_journal
|
||||
res_company --> account_journal : bank_journal_ids (One2many)
|
||||
class account_incoterms
|
||||
res_company --> account_incoterms : incoterm_id (Many2one)
|
||||
class account_move
|
||||
res_company --> account_move : account_opening_move_id (Many2one)
|
||||
class account_journal
|
||||
res_company --> account_journal : account_opening_journal_id (Many2one)
|
||||
class account_account
|
||||
res_company --> account_account : account_default_pos_receivable_account_id (Many2one)
|
||||
class account_account
|
||||
res_company --> account_account : expense_accrual_account_id (Many2one)
|
||||
class account_account
|
||||
res_company --> account_account : revenue_accrual_account_id (Many2one)
|
||||
class account_journal
|
||||
res_company --> account_journal : automatic_entry_default_journal_id (Many2one)
|
||||
class res_country
|
||||
res_company --> res_country : account_fiscal_country_id (Many2one)
|
||||
class res_country
|
||||
res_company --> res_country : account_enabled_tax_country_ids (Many2many)
|
||||
class account_journal
|
||||
res_company --> account_journal : tax_cash_basis_journal_id (Many2one)
|
||||
class account_account
|
||||
res_company --> account_account : account_cash_basis_base_account_id (Many2one)
|
||||
class account_fiscal_position
|
||||
res_company --> account_fiscal_position : fiscal_position_ids (One2many)
|
||||
class res_country
|
||||
res_company --> res_country : multi_vat_foreign_country_ids (Many2many)
|
||||
class res_company
|
||||
account_journal_group --> res_company : company_id (Many2one)
|
||||
class account_journal
|
||||
account_journal_group --> account_journal : excluded_journal_ids (Many2many)
|
||||
class account_account
|
||||
account_journal --> account_account : account_control_ids (Many2many)
|
||||
class account_account
|
||||
account_journal --> account_account : default_account_id (Many2one)
|
||||
class account_account
|
||||
account_journal --> account_account : suspense_account_id (Many2one)
|
||||
class res_currency
|
||||
account_journal --> res_currency : currency_id (Many2one)
|
||||
class res_company
|
||||
account_journal --> res_company : company_id (Many2one)
|
||||
class account_payment_method_line
|
||||
account_journal --> account_payment_method_line : inbound_payment_method_line_ids (One2many)
|
||||
class account_payment_method_line
|
||||
account_journal --> account_payment_method_line : outbound_payment_method_line_ids (One2many)
|
||||
class account_account
|
||||
account_journal --> account_account : profit_account_id (Many2one)
|
||||
class account_account
|
||||
account_journal --> account_account : loss_account_id (Many2one)
|
||||
class res_partner
|
||||
account_journal --> res_partner : company_partner_id (Many2one)
|
||||
class res_partner_bank
|
||||
account_journal --> res_partner_bank : bank_account_id (Many2one)
|
||||
class res_bank
|
||||
account_journal --> res_bank : bank_id (Many2one)
|
||||
class mail_activity_type
|
||||
account_journal --> mail_activity_type : sale_activity_type_id (Many2one)
|
||||
class res_users
|
||||
account_journal --> res_users : sale_activity_user_id (Many2one)
|
||||
class mail_alias
|
||||
account_journal --> mail_alias : alias_id (Many2one)
|
||||
class account_journal_group
|
||||
account_journal --> account_journal_group : journal_group_ids (Many2many)
|
||||
class ir_sequence
|
||||
account_journal --> ir_sequence : secure_sequence_id (Many2one)
|
||||
class account_payment_method
|
||||
account_journal --> account_payment_method : available_payment_method_ids (Many2many)
|
||||
class res_currency
|
||||
res_config_settings --> res_currency : currency_id (Many2one)
|
||||
class account_journal
|
||||
res_config_settings --> account_journal : currency_exchange_journal_id (Many2one)
|
||||
class account_account
|
||||
res_config_settings --> account_account : income_currency_exchange_account_id (Many2one)
|
||||
class account_account
|
||||
res_config_settings --> account_account : expense_currency_exchange_account_id (Many2one)
|
||||
class account_chart_template
|
||||
res_config_settings --> account_chart_template : chart_template_id (Many2one)
|
||||
class account_tax
|
||||
res_config_settings --> account_tax : sale_tax_id (Many2one)
|
||||
class account_tax
|
||||
res_config_settings --> account_tax : purchase_tax_id (Many2one)
|
||||
class account_account
|
||||
res_config_settings --> account_account : account_journal_suspense_account_id (Many2one)
|
||||
class account_account
|
||||
res_config_settings --> account_account : account_journal_payment_debit_account_id (Many2one)
|
||||
class account_account
|
||||
res_config_settings --> account_account : account_journal_payment_credit_account_id (Many2one)
|
||||
class account_account
|
||||
res_config_settings --> account_account : transfer_account_id (Many2one)
|
||||
class account_journal
|
||||
res_config_settings --> account_journal : tax_cash_basis_journal_id (Many2one)
|
||||
class account_account
|
||||
res_config_settings --> account_account : account_cash_basis_base_account_id (Many2one)
|
||||
class account_incoterms
|
||||
res_config_settings --> account_incoterms : incoterm_id (Many2one)
|
||||
class account_account
|
||||
res_config_settings --> account_account : account_journal_early_pay_discount_loss_account_id (Many2one)
|
||||
class account_account
|
||||
res_config_settings --> account_account : account_journal_early_pay_discount_gain_account_id (Many2one)
|
||||
class account_partial_reconcile
|
||||
account_full_reconcile --> account_partial_reconcile : partial_reconcile_ids (One2many)
|
||||
class account_move_line
|
||||
account_full_reconcile --> account_move_line : reconciled_line_ids (One2many)
|
||||
class account_move
|
||||
account_full_reconcile --> account_move : exchange_move_id (Many2one)
|
||||
class account_move_line
|
||||
account_partial_reconcile --> account_move_line : debit_move_id (Many2one)
|
||||
class account_move_line
|
||||
account_partial_reconcile --> account_move_line : credit_move_id (Many2one)
|
||||
class account_full_reconcile
|
||||
account_partial_reconcile --> account_full_reconcile : full_reconcile_id (Many2one)
|
||||
class account_move
|
||||
account_partial_reconcile --> account_move : exchange_move_id (Many2one)
|
||||
class res_currency
|
||||
account_partial_reconcile --> res_currency : company_currency_id (Many2one)
|
||||
class res_currency
|
||||
account_partial_reconcile --> res_currency : debit_currency_id (Many2one)
|
||||
class res_currency
|
||||
account_partial_reconcile --> res_currency : credit_currency_id (Many2one)
|
||||
class res_company
|
||||
account_partial_reconcile --> res_company : company_id (Many2one)
|
||||
class account_journal
|
||||
account_move --> account_journal : journal_id (Many2one)
|
||||
class res_company
|
||||
account_move --> res_company : company_id (Many2one)
|
||||
class account_move_line
|
||||
account_move --> account_move_line : line_ids (One2many)
|
||||
class account_payment
|
||||
account_move --> account_payment : payment_id (Many2one)
|
||||
class account_bank_statement_line
|
||||
account_move --> account_bank_statement_line : statement_line_id (Many2one)
|
||||
class account_partial_reconcile
|
||||
account_move --> account_partial_reconcile : tax_cash_basis_rec_id (Many2one)
|
||||
class account_move
|
||||
account_move --> account_move : tax_cash_basis_origin_move_id (Many2one)
|
||||
class account_move
|
||||
account_move --> account_move : tax_cash_basis_created_move_ids (One2many)
|
||||
class account_move
|
||||
account_move --> account_move : auto_post_origin_id (Many2one)
|
||||
class account_journal
|
||||
account_move --> account_journal : suitable_journal_ids (Many2many)
|
||||
class ir_attachment
|
||||
account_move --> ir_attachment : attachment_ids (One2many)
|
||||
class account_move_line
|
||||
account_move --> account_move_line : invoice_line_ids (One2many)
|
||||
class account_payment_term
|
||||
account_move --> account_payment_term : invoice_payment_term_id (Many2one)
|
||||
class res_partner
|
||||
account_move --> res_partner : partner_id (Many2one)
|
||||
class res_partner
|
||||
account_move --> res_partner : commercial_partner_id (Many2one)
|
||||
class res_partner
|
||||
account_move --> res_partner : partner_shipping_id (Many2one)
|
||||
class res_partner_bank
|
||||
account_move --> res_partner_bank : partner_bank_id (Many2one)
|
||||
class account_fiscal_position
|
||||
account_move --> account_fiscal_position : fiscal_position_id (Many2one)
|
||||
class res_currency
|
||||
account_move --> res_currency : currency_id (Many2one)
|
||||
class account_move
|
||||
account_move --> account_move : reversed_entry_id (Many2one)
|
||||
class account_move
|
||||
account_move --> account_move : reversal_move_id (One2many)
|
||||
class account_move
|
||||
account_move --> account_move : invoice_vendor_bill_id (Many2one)
|
||||
class res_users
|
||||
account_move --> res_users : invoice_user_id (Many2one)
|
||||
class account_incoterms
|
||||
account_move --> account_incoterms : invoice_incoterm_id (Many2one)
|
||||
class account_cash_rounding
|
||||
account_move --> account_cash_rounding : invoice_cash_rounding_id (Many2one)
|
||||
class res_partner
|
||||
account_move --> res_partner : bank_partner_id (Many2one)
|
||||
class res_country
|
||||
account_move --> res_country : tax_country_id (Many2one)
|
||||
class account_move
|
||||
account_move --> account_move : duplicated_ref_ids (Many2many)
|
||||
```
|
||||
|
||||
Notes
|
||||
- Classes show model technical names; fields omitted for brevity.
|
||||
- Items listed under _inherit are extensions of existing models.
|
||||
23
odoo-bringout-oca-ocb-account/doc/OVERVIEW.md
Normal file
23
odoo-bringout-oca-ocb-account/doc/OVERVIEW.md
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
# Invoicing (Account) — Overview
|
||||
|
||||
This package delivers the Odoo 16 Invoicing module (`account`) as a standard Python package, suitable for modern tooling (pip/uv, wheels) and reproducible environments (Docker/Nix).
|
||||
|
||||
## What You Get
|
||||
|
||||
- Customer/vendor invoices, credit notes, payment registration
|
||||
- Journal entries, bank statements, reconciliation models
|
||||
- Taxes, cash rounding, payment terms, fiscal positions
|
||||
- Analytic accounts, distributions, and reports
|
||||
- Portal views, mail templates, PDF/HTML reports
|
||||
|
||||
## Why This Package
|
||||
|
||||
- Python packaging: install with `pip` or `uv` like any library
|
||||
- Easy composition: combine with other packaged Odoo addons
|
||||
- Reproducible setups: works in this repo’s Docker and Nix shells
|
||||
|
||||
## Upstream
|
||||
|
||||
- Source: OCA/OCB 16.0, addon `account`
|
||||
- License: LGPL‑3 (preserved)
|
||||
|
||||
35
odoo-bringout-oca-ocb-account/doc/REPORTS.md
Normal file
35
odoo-bringout-oca-ocb-account/doc/REPORTS.md
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
# Reports
|
||||
|
||||
Report definitions and templates in account.
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
class ReportAccountHashIntegrity
|
||||
AbstractModel <|-- ReportAccountHashIntegrity
|
||||
class AccountInvoiceReport
|
||||
Model <|-- AccountInvoiceReport
|
||||
class ReportInvoiceWithoutPayment
|
||||
AbstractModel <|-- ReportInvoiceWithoutPayment
|
||||
class ReportInvoiceWithPayment
|
||||
AbstractModel <|-- ReportInvoiceWithPayment
|
||||
```
|
||||
|
||||
## Available Reports
|
||||
|
||||
### Analytical/Dashboard Reports
|
||||
- **Invoices Analysis** (Analysis/Dashboard)
|
||||
|
||||
|
||||
## Report Files
|
||||
|
||||
- **account_hash_integrity_templates.py** (Python logic)
|
||||
- **account_hash_integrity_templates.xml** (XML template/definition)
|
||||
- **account_invoice_report.py** (Python logic)
|
||||
- **account_invoice_report_view.xml** (XML template/definition)
|
||||
- **__init__.py** (Python logic)
|
||||
|
||||
## Notes
|
||||
- Named reports above are accessible through Odoo's reporting menu
|
||||
- Python files define report logic and data processing
|
||||
- XML files contain report templates, definitions, and formatting
|
||||
- Reports are integrated with Odoo's printing and email systems
|
||||
42
odoo-bringout-oca-ocb-account/doc/SECURITY.md
Normal file
42
odoo-bringout-oca-ocb-account/doc/SECURITY.md
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
# Security
|
||||
|
||||
Access control and security definitions in account.
|
||||
|
||||
## Access Control Lists (ACLs)
|
||||
|
||||
Model access permissions defined in:
|
||||
- **[ir.model.access.csv](../account/security/ir.model.access.csv)**
|
||||
- 148 model access rules
|
||||
|
||||
## Record Rules
|
||||
|
||||
Row-level security rules defined in:
|
||||
|
||||
## Security Groups & Configuration
|
||||
|
||||
Security groups and permissions defined in:
|
||||
- **[account_security.xml](../account/security/account_security.xml)**
|
||||
- 14 security groups defined
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
subgraph "Security Layers"
|
||||
A[Users] --> B[Groups]
|
||||
B --> C[Access Control Lists]
|
||||
C --> D[Models]
|
||||
B --> E[Record Rules]
|
||||
E --> F[Individual Records]
|
||||
end
|
||||
```
|
||||
|
||||
Security files overview:
|
||||
- **[account_security.xml](../account/security/account_security.xml)**
|
||||
- Security groups, categories, and XML-based rules
|
||||
- **[ir.model.access.csv](../account/security/ir.model.access.csv)**
|
||||
- Model access permissions (CRUD rights)
|
||||
|
||||
Notes
|
||||
- Access Control Lists define which groups can access which models
|
||||
- Record Rules provide row-level security (filter records by user/group)
|
||||
- Security groups organize users and define permission sets
|
||||
- All security is enforced at the ORM level by Odoo
|
||||
36
odoo-bringout-oca-ocb-account/doc/TROUBLESHOOTING.md
Normal file
36
odoo-bringout-oca-ocb-account/doc/TROUBLESHOOTING.md
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
# Troubleshooting
|
||||
|
||||
## Payment Provider FileNotFoundError
|
||||
|
||||
Symptom:
|
||||
|
||||
```
|
||||
FileNotFoundError: File not found: payment_*/static/description/icon.png
|
||||
```
|
||||
|
||||
Cause: payment provider records referencing modules not included locally.
|
||||
|
||||
Fix: see `packages/odoo-bringout-oca-ocb-payment/doc/PATCH_REMOVE_PAYMENT_PROVIDERS.md` for the applied patch and rationale.
|
||||
|
||||
## Ports & Services
|
||||
|
||||
- Web: 8069 (default)
|
||||
- Docker Postgres: 5432, Nix Postgres: 54320
|
||||
|
||||
Check DB status:
|
||||
|
||||
```bash
|
||||
pg-status # Nix
|
||||
docker ps && docker logs <postgres-container> # Docker
|
||||
```
|
||||
|
||||
## Missing Dependencies
|
||||
|
||||
Re‑install within the intended environment:
|
||||
|
||||
```bash
|
||||
nix develop # Nix shell
|
||||
docker-compose build # Docker image refresh
|
||||
pip/uv install -e packages/odoo-bringout-oca-ocb-account
|
||||
```
|
||||
|
||||
29
odoo-bringout-oca-ocb-account/doc/USAGE.md
Normal file
29
odoo-bringout-oca-ocb-account/doc/USAGE.md
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
# Usage
|
||||
|
||||
You can use the helper in this repository to start Odoo with the `account` addon.
|
||||
|
||||
## Quick Start (Repo Helper)
|
||||
|
||||
From repo root:
|
||||
|
||||
```bash
|
||||
python3 scripts/odoo_web_server.py \
|
||||
--db-name mydb \
|
||||
--addon account
|
||||
```
|
||||
|
||||
Open `http://localhost:8069` and log in as `admin` with password `developer101`.
|
||||
|
||||
## Initial Setup in UI
|
||||
|
||||
1. Go to Apps → activate developer mode (optional but useful)
|
||||
2. Install “Invoicing” (Account) if not auto‑installed
|
||||
3. Set company currency and chart of accounts as needed
|
||||
4. Configure payment terms, taxes, and journals
|
||||
|
||||
## Typical Flows
|
||||
|
||||
- Create a customer invoice → Post → Register Payment
|
||||
- Import a bank statement → Reconcile entries
|
||||
- Configure analytic accounts → Assign to lines → Review analytic reports
|
||||
|
||||
21
odoo-bringout-oca-ocb-account/doc/WIZARDS.md
Normal file
21
odoo-bringout-oca-ocb-account/doc/WIZARDS.md
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# Wizards
|
||||
|
||||
Transient models exposed as UI wizards in account.
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
class AccountInvoiceSend
|
||||
class AccountMoveReversal
|
||||
class AccountPaymentRegister
|
||||
class AccountTourUploadBill
|
||||
class AccountTourUploadBillEmailConfirm
|
||||
class AccountUnreconcile
|
||||
class AccruedExpenseRevenue
|
||||
class AutomaticEntryWizard
|
||||
class BaseDocumentLayout
|
||||
class FinancialYearOpeningWizard
|
||||
class MergePartnerAutomatic
|
||||
class ReSequenceWizard
|
||||
class SetupBarBankConfigWizard
|
||||
class ValidateAccountMove
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue