odoo/addons/account
Olivier Dony caf333eb59 [FIX] account.invoice.report: performance problem in currency rate computation
The SQL view implementing the "Invoice Analysis" report
JOINs the res.currency.rate table in order to obtain the
correct currency rate to convert each invoice line amount
in the same currency.

The matching of the rate needs to be done on the date
of that rate (`name` column) - the last rate preceding
the invoice date is presumed to be the right one.
However there is no simple way to make a direct JOIN between
account.invoice.line and res.currency.rate with a single
match, without using an ORDER BY clause and LIMIT 1.
This requires a costly SUBSELECT query for each invoice
line, quickly becoming prohibitive.

Through the use of PostgreSQL's Common Table Expressions
(CTE) it is possible to construct a temporary table
with the rates' start and end date of application.
This temporary table can then be used in a direct
JOIN with account.invoice.line, delivering much better
performance (no SUBSELECT needed for each invoice line)

On a database with 50k invoice lines this makes invoice
analysis return results in less than 800 ms instead of
10+ seconds.
2015-04-30 00:20:12 +02:00
..
data [MERGE] merged with trunk 2013-12-30 11:28:02 +01:00
demo [FIX] account: several fixes on the new bank statement reconciliation widget 2014-09-04 11:32:16 +02:00
edi [FIX] Account, portal_sale, sale, website_quote: local paypal gif 2015-01-23 11:11:26 +01:00
i18n [I18N] Sync 8.0 translations from Launchpad 2015-04-28 09:45:53 +02:00
project [MERGE] forward port of branch saas-3 up to 6c13c8d 2014-11-20 11:37:23 +01:00
report [FIX] account.invoice.report: performance problem in currency rate computation 2015-04-30 00:20:12 +02:00
security [FIX] account: give "Invoice" users access to "Invoice Analysis" Report. 2014-11-12 19:25:50 +01:00
static [FIX] account: float issue in reconciliation wizard 2015-04-27 09:26:23 +02:00
test [FIX] account: fixed inconsistence in yaml test since some demo data was added 2014-05-30 22:25:52 +02:00
tests [FIX] account: choosing the right fiscal position 2015-03-24 13:00:39 +01:00
views [FIX] account: general ledger report 2015-04-20 15:53:38 +02:00
wizard [IMP] account: display currency in import invoice wizard 2015-04-09 16:32:31 +02:00
README.md [IMP] Maifest for Github README.md on main apps 2014-08-12 11:33:15 +02:00
__init__.py removed lot of stuff 2012-09-17 17:10:31 +02:00
__openerp__.py [DEL] Cleaning: key 'images' removed from all __openerp__.py 2015-01-06 14:20:38 +01:00
account.py [FIX] account: Display Taxes 2015-04-28 11:25:44 +02:00
account_analytic_line.py [MERGE] Foward-port saas-5 up to ee4df1e 2014-08-01 14:24:07 +02:00
account_assert_test.xml [IMP] Speedup test account_assert_test.xml in account 2014-11-13 17:00:42 +01:00
account_bank.py [FIX] account: restrict bank account post creation for account and journal 2013-06-10 13:04:01 +02:00
account_bank_statement.py [FIX] account: rounding error when the balanced operation done in bank statement reconciliation is converted to the company currency. 2015-02-23 15:08:49 +01:00
account_bank_view.xml [REF] OpenERP --> Odoo in various UI texts 2014-07-18 13:45:41 +02:00
account_cash_statement.py [FIX] account: use float_compare instead of just <> 2014-10-17 10:59:19 +02:00
account_end_fy.xml
account_financial_report.py [REM] Unnecessary `size` parameters on char fields 2014-06-25 17:13:43 +02:00
account_financial_report_data.xml [FIX]account_financial_report_data: fix profit and loss sign, sign should be reverse for P&L journal and children 2013-04-22 16:44:38 +02:00
account_installer.xml Removed version="7.0" from form views 2014-06-12 09:09:59 +02:00
account_invoice.py [FIX] account: lang used for invoice taxes 2015-04-13 17:12:45 +02:00
account_invoice_view.xml [FIX] account: Invoice's creation problem 2015-04-24 13:39:17 +02:00
account_invoice_workflow.xml [FIX] account: fix unexpected invalidation of field account_invoice.reconciled 2014-08-05 10:01:07 +02:00
account_menuitem.xml [IMP] Account : changed terms as suggested in account module 2012-12-19 12:26:45 +05:30
account_move_line.py [MERGE] forward port of branch saas-3 up to 50665b4 2015-04-16 19:25:53 +02:00
account_pre_install.yml [FIX] account: added check if country has a code 2015-03-16 10:35:01 +01:00
account_report.xml [MERGE] forward port of branch saas-3 up to 48ffbb6 2014-11-05 19:00:51 +01:00
account_unit_test.xml [IMP] account: bank statement reconciliation widget (part 2) 2014-05-30 18:47:50 +02:00
account_view.xml [FIX] account: Bank Statement Action View Sequence 2015-04-23 15:26:44 +02:00
company.py [REF] removed explicit model instanciations. 2013-04-15 12:23:49 +02:00
company_view.xml [IMP] account, account_voucher: moved some fields from res.company to accounting settings + removed duplicated fields (in company form view AND accounting settings) 2012-10-15 15:50:27 +02:00
installer.py [MERGE] forward port of branch 7.0 up to revid 9971 chs@openerp.com-20140410100027-5ug4801pfch9virt 2014-04-10 12:36:38 +02:00
ir_sequence.py [MERGE] new v8 api by rco 2014-07-06 17:05:41 +02:00
ir_sequence_view.xml
partner.py [FIX] account: ACLs contracts button in partner form 2015-04-09 17:23:42 +02:00
partner_view.xml [FIX] account: Invoiced doesn't take into account cancelled invoices 2015-03-26 16:27:27 +01:00
product.py [REF] *: change linked to server revision 4907. Removed deprecated 'view_load' attribute + removed duplicated first argument of property fields which is replaced with 'relation' argument in case where it is really needed (relational fields): indeed this first argument was totally useless for property of float type (for example). 2013-06-24 11:05:15 +02:00
product_view.xml [REM] account: Useless inherited product.template search view 2015-04-08 09:18:45 +02:00
res_config.py [MERGE] forward port of branch saas-3 up to 6b70b80 2015-03-25 18:00:08 +01:00
res_config_view.xml [IMP] account: help to configure fiscal year 2015-04-14 11:50:31 +02:00
res_currency.py Fixes 2014-07-02 18:18:29 +02:00

README.md

Odoo Accounting

The Odoo Open Source Accounting app allows a better way to collaborate with your accountants, your customers and control your suppliers.

Activate features on demand, from integrated analytic accounting to budget, assets and multiple companies consolidation.

A Smart User Interface

Record transactions in a few clicks and easily manage all financial activities in one place. Odoo's user interface is designed with productivity in mind.

A Better Way To Work Together

Share access to your latest business numbers with your team and your accountant so everyone is up to speed. From work, home or on the go.

Connect Your Bank Accounts

Import your bank statements and reconcile them in just a few clicks. Prepare payment orders based on your supplier invoices and payment terms.

Electronic invoicing and automated follow-ups

Create and send professional invoices & get paid online. Get rid of the stress of having to constantly remind your debtors. Simply set-up and automate follow-ups to get paid quickly.

Sales Integration

Automatically create invoices from sales orders, delivery orders or base them on time and material. Re-invoice expenses on projects to your customer in just a few clicks.

Purchase Integration

Control supplier invocies based on purchase orders. Get real-time inventory valuation reports automatically posted in your accounts.

Multi-Level Analytic Accounting

Integrate your analytic accounting operations with timesheets, projects, invoices, expenses, etc. No need to record transactions, all analytic entries are posted automatically following your business rules.

Everything you need to grow

Manage your assets, track expenses, control budgets, multi-level analytic accounting; Odoo has all the features you need to sustain all your business activities.

Scale With Your Organization

Odoo supports multiple currencies, multiple users with different access rights, multiple companies with real time consolidation and unlimited analytic plans.