oca / bank-payment Goto Github PK
View Code? Open in Web Editor NEWOdoo Electronic Payment
Home Page: https://odoo-community.org/psc-teams/banking-10
License: GNU Affero General Public License v3.0
Odoo Electronic Payment
Home Page: https://odoo-community.org/psc-teams/banking-10
License: GNU Affero General Public License v3.0
@gurneyalex I have pushed the new 8.0 from the greenified 7.0. Can you please remove master branch and make 8.0 default one?
When making a payment order, I miss the possibility to combine payments.
For example: I so have 20 open invoice to pay to a vendor. I will prepare a payment for only the total amount. And send a detailed payment report with the 20 invoice a will pay.
Also to combine Credit Notes and combine the open invoices of a Vendor who is also a customer.
Do somebody knows how to solve this or do have a work around?
Thanks in advance.
Johan Bosma
I have a problem with the sepa credit identifier. When I'm putting the Sepa Creditor Identifier in the company settings and save it, it says:
ValidateError
Error while validating constraint
Fehler
Invalid SEPA Creditor Identifier.
Any Help? I tested it with a spanish sepa identifier and it works.:
After importing a dutch bank statements file from the ING, I got the following screen:
Many transactions are not processed because of not recognizing the correct bankaccount number.
The system is complaining about "Statements found for unknown account 68xxx" and "Statements found for account 06xxxxxx, but no default journal was defined.
This is a little strange, because I have setup "Default Import Settings for Bank Accounts"
in the settings of the accounting section.
I also put a default journal in there.
My information entered there is the IBAN number of my account, together with the national account (with leading zero). I also tried without the leading zero in the national account, but this doesn't make any difference at all.
Why is openerp mixing up the number of the bankaccount. (with/without zero) and not matching the national number.
Hello,
Just an issue to infom tha we il migrate ths module v8.
Hi,
After an update, this addons doesn't work
2014-07-09 12:44:50,278 23258 CRITICAL prod140709 openerp.modules.module: Couldn't load module account_payment_partner
2014-07-09 12:44:50,278 23258 CRITICAL prod140709 openerp.modules.module: init() takes exactly 1 argument (7 given)
2014-07-09 12:44:50,282 23258 INFO prod140709 werkzeug: 81.220.68.236 - - [09/Jul/2014 12:44:50] "GET / HTTP/1.1" 500 -
2014-07-09 12:44:50,286 23258 ERROR prod140709 werkzeug: Error on request:
Traceback (most recent call last):
File "/usr/share/pyshared/werkzeug/serving.py", line 159, in run_wsgi
execute(app)
File "/usr/share/pyshared/werkzeug/serving.py", line 146, in execute
application_iter = app(environ, start_response)
File "/opt/openerp/odoo/openerp/service/server.py", line 280, in app
return self.app(e, s)
File "/opt/openerp/odoo/openerp/service/wsgi_server.py", line 216, in application
return application_unproxied(environ, start_response)
File "/opt/openerp/odoo/openerp/service/wsgi_server.py", line 202, in application_unproxied
result = handler(environ, start_response)
File "/opt/openerp/odoo/openerp/http.py", line 1165, in call
return self.dispatch(environ, start_response)
File "/opt/openerp/odoo/openerp/http.py", line 1142, in call
return self.app(environ, start_wrapped)
File "/usr/share/pyshared/werkzeug/wsgi.py", line 411, in call
return self.app(environ, start_response)
File "/opt/openerp/odoo/openerp/http.py", line 1297, in dispatch
ir_http = request.registry['ir.http']
File "/opt/openerp/odoo/openerp/http.py", line 228, in registry
return openerp.modules.registry.RegistryManager.get(self.db) if self.db else None
File "/opt/openerp/odoo/openerp/modules/registry.py", line 291, in get
update_module)
File "/opt/openerp/odoo/openerp/modules/registry.py", line 322, in new
openerp.modules.load_modules(registry._db, force_demo, status, update_module)
File "/opt/openerp/odoo/openerp/modules/loading.py", line 361, in load_modules
force, status, report, loaded_modules, update_module)
File "/opt/openerp/odoo/openerp/modules/loading.py", line 268, in load_marked_modules
loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)
File "/opt/openerp/odoo/openerp/modules/loading.py", line 152, in load_module_graph
load_openerp_module(package.name)
File "/opt/openerp/odoo/openerp/modules/module.py", line 301, in load_openerp_module
import('openerp.addons.' + module_name)
File "/opt/openerp/odoo/openerp/modules/module.py", line 76, in load_module
mod = imp.load_module('openerp.addons.' + module_part, f, path, descr)
File "/opt/openerp/community/banking/account_payment_partner/init.py", line 23, in
from . import model
File "/opt/openerp/community/banking/account_payment_partner/model/init.py", line 23, in
from . import partner
File "/opt/openerp/community/banking/account_payment_partner/model/partner.py", line 26, in
class res_partner(orm.Model):
File "/opt/openerp/community/banking/account_payment_partner/model/partner.py", line 33, in res_partner
help="Select the default payment mode for this supplier."),
TypeError: init() takes exactly 1 argument (7 given)
Thanks
Steps to replicate error:
To solve I'm trying to set "company_dependent=True" on field mandate_ids in res.partner.bank.
I'm to print the mandate report but get an error:
QWebException: ""'account.banking.mandate' object has no attribute 'scheme'" while evaluating
"o.scheme != 'B2B'"" while evaluating
"translate_doc(doc_id, doc_model, 'partner_id.lang', 'account_banking_mandate.account_banking_mandate_document')"
Any suggestions?
Hello,
I have a question regarding the process of the payment order. Normally, it’s recommended to use waiting accounts to avoid paying two times the same invoice. However, I have some customers who work with cash discount.
Let’s take an exemple :
I have an invoice of 121 € with due date of 31/01/2015 but if I pay before 15/01/2015, I only pay 119€.
If they use waiting accounts, the amount on the waiting account will be the amount they paid in the payment order. The reconciliation will be partial as the paid amount is not the total amount of the invoice and the invoice will stay open. Moreover, as the invoice is still open, Odoo will propose to pay it a second time.
If they don’t use the waiting accounts, they can reconcile easily on the bank statement with the cash discount account but here also, Odoo will propose to pay the invoice a second time before the first bank statement and the reconciliation.
What do you suggest?
Thanks in advance for the answer,
Christelle
When you create an invoice from an incoming products on v7 with account_payment_purchase:
File "/home/erp_super/erp/prod/src/addons/stock/stock.py", line 1153, in action_invoice_create
invoice_vals = self._prepare_invoice(cr, uid, picking, partner, inv_type, journal_id, context=context)
File "/home/erp_super/erp/prod/src/banking/account_payment_sale_stock/model/stock.py", line 34, in _prepare_invoice
cr, uid, picking, partner, inv_type, journal_id, context=context)
File "/home/erp_super/erp/prod/src/banking/account_payment_purchase/model/stock.py", line 38, in _prepare_invoice
picking.purchase_id.supplier_partner_bank.id or False,
File "/home/erp_super/erp/prod/src/server/openerp/osv/orm.py", line 504, in getattr
raise AttributeError(e)
AttributeError: "Field 'supplier_partner_bank' does not exist in object 'browse_record(purchase.order, 774)'"
It seems that, when we decided to change to datamodel of the account_payment_* modules, the file account_payment_purchase/model/stock.py was not changed !!! I'll do a PR to fix this.
Hello Team,
I noticed a problem in manual invoice matching when invoices are of same as bank statement currency but different company currency. I am experiencing this issue on account_banking_uk_hsbc module but looking at the code it seems its effecting very banking import module.
[Pre requisites]
[Assumptions]
[Steps to reproduce bug]
The following is my recommendation.
diff --git a/account_banking/wizard/banking_transaction_wizard.py b/account_banking/wizard/banking_transaction_wizard.py
index 0941f88..fcad8d9 100644
--- a/account_banking/wizard/banking_transaction_wizard.py
+++ b/account_banking/wizard/banking_transaction_wizard.py
@@ -197,10 +197,12 @@ class banking_transaction_wizard(orm.TransientModel):
cr, uid, todo_entry[1], context)
transaction_id = wiz.import_transaction_id.id
statement_line_id = wiz.statement_line_id.id
-
if len(todo) > 0:
+ split_amount = move_line.debit or -move_line.credit
+ if move_line.currency_id and move_line.currency_id == wiz.statement_line_id.currency:
+ split_amount = move_line.amount_currency
statement_line_id = wiz.statement_line_id.split_off(
- move_line.debit or -move_line.credit)[0]
+ split_amount)[0]
transaction_id = statement_line_obj.browse(
cr,
uid,
Let me know if any more input is required.
Regards,
K
When account_banking_payment_transfer is installed, hr_expenses never reach the paid state.
This is beacuse the reconciliation in account_banking_payment_transfer is not done using the account_move_line.reconcile() method [1]
https://github.com/odoo/odoo/blob/8.0/addons/hr_expense/hr_expense.py#L454
Hi,
I have installed the module account_banking_payment_export and was testing it but I do not understand how to make the "payment order" done. The last state to which I managed to go is "Sent".
I have created a supplier invoice and a payment mode such as:
When I make the payment, the invoice associated to the payment order is set to "paid" which is good.
So, according to the module description I should be able to set the state of the payment order to "done" after doing a bank statement reconciliation for this invoice.
But when I go to select the invoices on the bank statement, I cannot find the invoice that I have paid.
Is there something that I am missing?
Else, I was proposing a simpler approach here: https://github.com/OCA/bank-payment/pull/132/files
But closed the PR to avoid duplicated work...
Hello,
We want to migrate module: account_banking_partner_journal_account. This is now in repo "bank-payment". We will remove the dependency of the old account_banking modules and integrate it with the new v8 reconciliation. I don't think the module should stay here, but better to move to "bank-statement-reconcile".
So wip. Please let me know where the module should be put?
Currently, in the PAIN export, if some data is not present (https://github.com/OCA/bank-payment/blob/8.0/account_banking_pain_base/models/banking_export_pain.py#L272), there is a part of the header that is not exported. This can be fine for other PAIN exports, but for SEPA direct debit, this data is mandatory, so we have to check that this data is filled.
Since some days/nghtlys it's not installable via webinterface under Odoo Apps. If i go back some nightly's (~10 days) it works again.
Odoo Server Error
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 526, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 563, in dispatch
result = self._call_function(**self.params)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 303, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/service/model.py", line 113, in wrapper
return f(dbname, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 300, in checked_call
return self.endpoint(*a, **kw)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 792, in __call__
return self.method(*args, **kw)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 396, in response_wrap
response = f(*args, **kw)
File "/usr/lib/python2.7/dist-packages/openerp/addons/web/controllers/main.py", line 953, in call_button
action = self._call_kw(model, method, args, {})
File "/usr/lib/python2.7/dist-packages/openerp/addons/web/controllers/main.py", line 941, in _call_kw
return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 241, in wrapper
return old_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/module/wizard/base_module_upgrade.py", line 105, in upgrade_module
openerp.modules.registry.RegistryManager.new(cr.dbname, update_module=True)
File "/usr/lib/python2.7/dist-packages/openerp/modules/registry.py", line 366, in new
openerp.modules.load_modules(registry._db, force_demo, status, update_module)
File "/usr/lib/python2.7/dist-packages/openerp/modules/loading.py", line 355, in load_modules
loaded_modules, update_module)
File "/usr/lib/python2.7/dist-packages/openerp/modules/loading.py", line 255, in load_marked_modules
loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)
File "/usr/lib/python2.7/dist-packages/openerp/modules/loading.py", line 152, in load_module_graph
models = registry.load(cr, package)
File "/usr/lib/python2.7/dist-packages/openerp/modules/registry.py", line 162, in load
model = cls._build_model(self, cr)
File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 651, in _build_model
model.__init__(pool, cr)
File "/var/lib/odoo/.local/share/Odoo/addons/8.0/account_direct_debit/models/account_invoice.py", line 140, in __init__
invoice_obj._columns['state'].selection.append(
KeyError: 'state'
Here is the scenario on v8:
2015-01-24 22:45:13,713 8553 ERROR o8_test2 openerp.http: Exception during JSON request handling.
Traceback (most recent call last):
File "/home/alexis/new_boite/dev/odoo/openerp/http.py", line 525, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/alexis/new_boite/dev/odoo/openerp/http.py", line 562, in dispatch
result = self._call_function(**self.params)
File "/home/alexis/new_boite/dev/odoo/openerp/http.py", line 302, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/home/alexis/new_boite/dev/odoo/openerp/service/model.py", line 113, in wrapper
return f(dbname, *args, **kwargs)
File "/home/alexis/new_boite/dev/odoo/openerp/http.py", line 299, in checked_call
return self.endpoint(*a, **kw)
File "/home/alexis/new_boite/dev/odoo/openerp/http.py", line 791, in __call__
return self.method(*args, **kw)
File "/home/alexis/new_boite/dev/odoo/openerp/http.py", line 395, in response_wrap
response = f(*args, **kw)
File "/home/alexis/new_boite/dev/odoo/addons/web/controllers/main.py", line 953, in call_button
action = self._call_kw(model, method, args, {})
File "/home/alexis/new_boite/dev/odoo/addons/web/controllers/main.py", line 941, in _call_kw
return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
File "/home/alexis/new_boite/dev/odoo/openerp/api.py", line 241, in wrapper
return old_api(self, *args, **kwargs)
File "/home/alexis/new_boite/dev/banking-80/account_banking_sepa_credit_transfer/wizard/export_sepa.py", line 153, in create_sepa
cr, uid, pain_root, gen_args, context=context)
File "/home/alexis/new_boite/dev/odoo/openerp/api.py", line 241, in wrapper
return old_api(self, *args, **kwargs)
File "/home/alexis/new_boite/dev/banking-80/account_banking_pain_base/models/banking_export_pain.py", line 196, in generate_group_header_block
context=context)
File "/home/alexis/new_boite/dev/odoo/openerp/api.py", line 241, in wrapper
return old_api(self, *args, **kwargs)
File "/home/alexis/new_boite/dev/banking-80/account_banking_pain_base/models/banking_export_pain.py", line 269, in generate_initiating_party_block
context=context)
File "/home/alexis/new_boite/dev/odoo/openerp/api.py", line 241, in wrapper
return old_api(self, *args, **kwargs)
File "/home/alexis/new_boite/dev/banking-80/account_banking_pain_base/models/res_company.py", line 47, in _get_initiating_party_identifier
party_identifier = company.sepa_creditor_identifier
AttributeError: 'res.company' object has no attribute 'sepa_creditor_identifier'
Code analysis:
In account_banking_pain_base line 47, we have:
party_identifier = company.sepa_creditor_identifier
but this field is declared in the module account_banking_sepa_direct_debit, which is not installed. The change was introduced by @pedrobaeza 24 days https://github.com/OCA/bank-payment/blame/8.0/account_banking_pain_base/models/res_company.py#L47
https://github.com/OCA/bank-payment/blob/8.0/account_banking_sepa_credit_transfer/models/account_banking_sepa.py import unidecode is not protected and will break server startup
SEPA Direct Debit Transfer should allow to export file in pain version 008.003.02 being used in Germany. In Sepa Direct Debit Transfer, this pain version is not supported.
Thanks in advance.
Issues found:
As the project has been renamed, coveralls need explicitely to enable the service for the new project name. This only can be done by OCA board members.
@jgrandguillaume, can you please do it?
According to the ING portal (Dutch):
Sinds 1 augustus 2014 kunt u transacties van uw rekening in nieuwe bestandsformaten met
IBAN downloaden. De huidige formaten (zonder IBAN) blijven tot 31 december 2014 beschikbaar.
Vanaf 1 januari 2015 zijn er drie formaten in Mijn ING Zakelijk: ‘MT940 IBAN’,
‘Kommagescheiden IBAN’ (JJJJMMDD) en ‘Tekst IBAN’.
It's listed among the supported formats:
https://www.ing.nl/zakelijk/betalen/sepa-europees-betalen/bestandsformaten/index.html
The format description itself:
https://www.ing.nl/media/ING_ming_mt940s_24_juli_tcm162-46356.pdf
The example at the end of the document should provide a nice testcase.
This time, the specs actually look remarkably like my actual transaction download.
It might solve any previous incompatibilities I encountered importing ING transaction dumps in older formats.
Is anyone already working on this or planning to?
Installing account_banking leads to errors when using Cash Management.
After installing account_banking, when clicking on a Cash register, the following error-window appears:
OpenERP Client Error
Error: Unknown field state in domain [["state","not in",["draft"]]]
http://localhost:10021/web/static/src/js/view_form.js:1688
I think this is due to added fields to account_bank_stament_line that have readonly conditioned on state directly added to model, instead of in in view.
It is a very unfortunate datamodel design to have cash transactions and bank transactions in the same table/model. However I will try to fix the error.
Traceback (most recent call last):
File "/opt/odoo/odoo-server/openerp/http.py", line 537, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/opt/odoo/odoo-server/openerp/http.py", line 574, in dispatch
result = self._call_function(*_self.params)
File "/opt/odoo/odoo-server/openerp/http.py", line 310, in _call_function
return checked_call(self.db, *args, *_kwargs)
File "/opt/odoo/odoo-server/openerp/service/model.py", line 113, in wrapper
return f(dbname, _args, *_kwargs)
File "/opt/odoo/odoo-server/openerp/http.py", line 307, in checked_call
return self.endpoint(_a, *_kw)
File "/opt/odoo/odoo-server/openerp/http.py", line 803, in call
return self.method(_args, *_kw)
File "/opt/odoo/odoo-server/openerp/http.py", line 403, in response_wrap
response = f(_args, *_kw)
File "/opt/odoo/odoo-server/addons/web/controllers/main.py", line 948, in call_button
action = self._call_kw(model, method, args, {})
File "/opt/odoo/odoo-server/addons/web/controllers/main.py", line 936, in _call_kw
return getattr(request.registry.get(model), method)(request.cr, request.uid, _args, *_kwargs)
File "/opt/odoo/odoo-server/openerp/api.py", line 241, in wrapper
return old_api(self, _args, *_kwargs)
File "/opt/odoo/odoo-server/openerp/api.py", line 363, in old_api
result = method(recs, _args, *_kwargs)
File "/opt/odoo/custom/addons/account_banking_payment_export/wizard/payment_order_create.py", line 108, in search_entries
self.extend_payment_order_domain(payment, domain)
File "/opt/odoo/odoo-server/openerp/api.py", line 239, in wrapper
return new_api(self, _args, *_kwargs)
File "/opt/odoo/custom/addons/account_payment_partner/wizard/payment_order_create.py", line 32, in extend_payment_order_domain
payment_order, domain)
File "/opt/odoo/odoo-server/openerp/api.py", line 239, in wrapper
return new_api(self, _args, *_kwargs)
File "/opt/odoo/custom/addons/account_payment_include_draft_move/wizard/payment_order_create.py", line 37, in extend_payment_order_domain
.extend_payment_order_domain(payment_order, domain)
File "/opt/odoo/odoo-server/openerp/api.py", line 239, in wrapper
return new_api(self, _args, *_kwargs)
File "/opt/odoo/odoo-server/openerp/api.py", line 463, in new_api
result = method(self._model, cr, uid, _args, *_kwargs)
File "/opt/odoo/custom/addons/account_payment_blocking/model/payment_order_create.py", line 32, in extend_payment_order_domain
cr, uid, payment_order, domain, context=context)
File "/opt/odoo/odoo-server/openerp/api.py", line 241, in wrapper
return old_api(self, _args, *_kwargs)
File "/opt/odoo/odoo-server/openerp/api.py", line 363, in old_api
result = method(recs, _args, *_kwargs)
TypeError: extend_payment_order_domain() takes exactly 3 arguments (2 given)
When a invoice has no tax and we import a bank statement, on the matching process the invoices matches first on amount. Because there is no tax, the amount of both entries of the invoice are the same. Now the created bank statement line can get the wrong account. It should always be a payable or receivable account. We have to add a check for that.
I'm trying to understand how the "storno" field on payment.line defined in the module account_direct_debit works.
Here is my code analysis for the module account_direct_debit for v8:
in views/account_invoice.xml we have:
<button name="invoice_debit_denied" states="paid" string="Debit Denied"/>
So the "Debit Denied" button is only shown when the invoice is Paid.
then, when you look at workflow/account_invoice.xml line 18, we find the signal "invoice_debit_denied" which go from account.act_paid to act_debit_denied. The workflow activity "act_debit_denied" will execute the method action_debit_denied(). This method is defined in models/account_invoice.py and raise an error message "You cannot set invoice <invoice_number> to state 'debit denied', as it is still reconciled." when test_paid() is True... which is always the case because the button "Debit Denied" is visible only when the state of the invoice is paid !
So, what is the use of the "Debit Denied" button on the invoice ? Can it lead to something else than an error message ? Maybe I mis-understand the use of this feature...
I'm doing this task, so I write down to avoid duplication of work. I'm going to wait until v7 is PEP8 fixed to create 8.0 branch, move to __unported__
and then make PR with these new modules.
While the functionality of account_banking_payment has been ported and modernized by @sbidoul in #65, some migration is still needed for users of account_banking_payment in 7.0. At least the workflow activities need their XML id ported to the next module, for instance https://github.com/OCA/bank-payment/pull/65/files#diff-b741f84bba31476d9c79670c503c8f66R12
I have invoice of the amount of 850. On bank statement i receive a payment of 1000. Now when i confirm the bankstatement line, the invoice does not get the paid status. On the invoice is registered a paymnet of 1000. This is not correct.
The invoice should be reconcilled with the payment and the diff (150) should stay open by default on the debtors account. It should be the same as using the pay botton on the invoice.
https://travis-ci.org/OCA/bank-payment/builds/47806067
File "/home/travis/build/OCA/bank-payment/account_direct_debit/models/account_invoice.py", line 140, in __ init __
invoice_obj._columns['state'].selection.append(
KeyError: 'state'
Hi!
A customer of mine is complaining that a bank they work with accepts their credit transfer XML file, but the bank office that must accomplish with the payment says they are not able to make payments, because the issuer identifier is missing.
Despite my lack of knowledge about SEPA, I've spent quite a few hours trying to figure out what could be the problem. And maybe it's just my ignorance, but I've found something weird to me.
I'll go straight to the point:
Why, in account_banking_pain_base/banking_export_pain.py, the code for 2.125 is
creditor_ref_info_type_issuer_2_125.text = \
line.struct_communication_type
I've read that 2.125 represents the identifier of the reference issuer, so I find weird that in my customer's transfer files its generated value is always 'ISO', instead of their vat id.
Wouldn't it have to be something like
creditor_ref_info_type_issuer_2_125.text = \
line.order_id.company_id.initiating_party_issuer
What do you SEPA experts think?
File "/home/odoo/odoo/parts/bank-payment/account_banking_camt/camt.py", line 157, in parse_Stmt
statement.local_currency = statement.company_id.currency_id.id
AttributeError: 'mem_bank_statement' object has no attribute 'company_id'
Because of https://github.com/OCA/bank-payment/pull/46/files
cc @bizzappdev @erwin-bas-solutions
In account_banking/account_banking_view.xml, line 188, removing field period_id from bank statements can cause compatibility issues with other modules. One example is module account_statement_ext which also tries to remove it. Those two modules cannot be installed together.
One possible fix would be to hide it instead of deleting it.
The tests are loaded and fails.
https://travis-ci.org/OCA/l10n-switzerland/jobs/66542118
Here is the error:
Traceback (most recent call last):
File "/home/travis/odoo-8.0/openerp/service/server.py", line 919, in preload_registries
registry = RegistryManager.new(dbname, update_module=update_module)
File "/home/travis/odoo-8.0/openerp/modules/registry.py", line 370, in new
openerp.modules.load_modules(registry._db, force_demo, status, update_module)
File "/home/travis/odoo-8.0/openerp/modules/loading.py", line 312, in load_modules
modobj.update_list(cr, SUPERUSER_ID)
File "/home/travis/odoo-8.0/openerp/api.py", line 241, in wrapper
return old_api(self, *args, **kwargs)
File "/home/travis/odoo-8.0/openerp/addons/base/module/module.py", line 654, in update_list
handler.load_addons()
File "/home/travis/odoo-8.0/openerp/http.py", line 1307, in load_addons
m = __import__('openerp.addons.' + module)
File "/home/travis/odoo-8.0/openerp/modules/module.py", line 80, in load_module
mod = imp.load_module('openerp.addons.' + module_part, f, path, descr)
File "/home/travis/bank-payment/account_payment_blocking/__init__.py", line 24, in <module>
from . import tests
File "/home/travis/bank-payment/account_payment_blocking/tests/__init__.py", line 23, in <module>
from . import test_account_banking_payment_blocking
File "/home/travis/bank-payment/account_payment_blocking/tests/test_account_banking_payment_blocking.py", line 26, in <module>
DB = common.DB
AttributeError: 'module' object has no attribute 'DB'
This only failed with Odoo, OCB is working properly.
[Pre-requisite]
[steps to reproduce bug]
[Traceback]
Error occurred while validating the field(s) company_id: Account and Period must belong to the same company.
Traceback (most recent call last):
File "/home/openerp/7.0/server/openerp/netsvc.py", line 296, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/home/openerp/7.0/server/openerp/service/web_services.py", line 626, in dispatch
res = fn(db, uid, *params)
File "/home/openerp/7.0/server/openerp/osv/osv.py", line 190, in execute_kw
return self.execute(db, uid, obj, method, *args, **kw or {})
File "/home/openerp/7.0/server/openerp/osv/osv.py", line 132, in wrapper
return f(self, dbname, *args, **kwargs)
File "/home/openerp/7.0/server/openerp/osv/osv.py", line 199, in execute
res = self.execute_cr(cr, uid, obj, method, *args, **kw)
File "/home/openerp/7.0/server/openerp/osv/osv.py", line 187, in execute_cr
return getattr(object, method)(cr, uid, *args, **kw)
File "/home/openerp/7.0/banking-addons/account_banking/banking_import_transaction.py", line 1562, in confirm
statement_pool = self.pool.get('account.bank.statement')
File "/home/openerp/7.0/banking-addons/account_banking/account_banking.py", line 405, in create_move_from_st_line
context=localctx)
File "/home/openerp/7.0/7.0-fixes/account_voucher/account_voucher.py", line 1645, in create_move_from_st_line
return super(account_bank_statement, self).create_move_from_st_line(cr, uid, st_line.id, company_currency_id, next_number, context=context)
File "/home/openerp/7.0/7.0-fixes/account/account_bank_statement.py", line 359, in create_move_from_st_line
move_line_id = account_move_line_obj.create(cr, uid, bank_move_vals, context=context)
File "/home/openerp/7.0/7.0-fixes/account/account_move_line.py", line 1221, in create
result = super(account_move_line, self).create(cr, uid, vals, context=context)
File "/home/openerp/7.0/openerp-connector/connector/producer.py", line 42, in create
record_id = create_original(self, cr, uid, vals, context=context)
File "/home/openerp/7.0/server/openerp/osv/orm.py", line 4567, in create
self._validate(cr, user, [id_new], context)
File "/home/openerp/7.0/server/openerp/osv/orm.py", line 1581, in _validate
raise except_orm('ValidateError', '\n'.join(error_msgs))
except_osv: ('ValidateError', u'Error occurred while validating the field(s) company_id: Account and Period must belong to the same company.')
Hello! we may migrate the module "account_banking_reconciliation" to 8.0, on request by a customer. Is there a defined roadmap for this module? Do you have any advice that we should consider?
Thanks!
Jordi.
Dear programmers,
When I tried to import bank statements it doesn't work.
I got the message that "Statements found for unknown account xxxxx".
It seams to parse the correct format (ing structured) and recognize the correct bank statements, but it can't find my ING bankaccount number. I have setup the correct bankaccount (iban) on the company field. Bank relation information etc.
anyone knows a way to solve and/or debug this?
Hi,
When you done a payment order with direct debit at least if you have the mandate repeated in more than one line, it fails with the error in subject.
In save_sepa() method when writing last_debit_date to mandate, it fails because object is repeated, I thought that recordsets works as set, but it accepts repeat values.
You can test it on odoo community runbot.
I can propose a PR with an if statement that check if mandate not exists in the recordset to add it, but the recorsets doesn't work as set?
Regards
WARNING: unable to set column hsbc_clientid_id of table payment_order not null !
WARNING: unable to set column type of table payment_mode not null !
WARNING 3111478-7-0-2515ea-all openerp.osv.orm: No such field(s) in model account.payment.term.line: name (in module account_direct_debit: loading data/account_payment_term.xml)
Here is the scenario to reproduce the bug on v8:
Create a new DB with demo data
Install the module account_banking_sepa_credit_transfer
In Accounting > Journal entries, create a new account.move in the purchase journal:
1st line:
Name : expense not linked to an invoice
Partner : vauxoo
Account : any expense account
debit : 42
2nd line:
Name : same as 1st line
Partner : same as 1st line
Account : third party supplier account (401100 in France)
credit : 42
Create a new payment order with payment mode "SEPA credit transfer la banque postale"
Click on the "Invoice" button to start the wizard. Uncheck the option "Populate results
directly". Then click on "Search", then "Add an item" : it will give you access to the account.move.line of 42€ of vauxoo, which is not linked to an invoice => Good.
Cancel the addition of the account move line.
Install the module account_payment_partner
Go back to the payment order you created at step 4 (it should not have any payment line, as you cancelled the addition of the move line). Click on the "Invoice" button to start the wizard. Uncheck the option "Populate results directly". Then click on "Search", then "Add an item" : you DON'T have access to the account.move.line of 42€ of Vauxoo. That's a bug.
Code analysis:
This bug is caused by the code in account_payment_partner/wizard/payment_order_create.py line 33: this update of the domain is "designed" to accept the move lines with invoice = False, but in fact it blocks the account.move.lines that have invoice = False.
For the moment, I haven't found a way to update the domain without blocking the account.move.line with invoice = False. The only solution I see for the moment is to have a field "payment_mode_id" on the account.move.line (it's value would be copied from the invoice to the account.move.line) and filter like that:
domain += ['|', ('payment_mode_id', '=', False), ('payment_mode_id', '=', payment_order.mode.id)]
I hope we can find a better solution, because the solution above requires an update of the datamodel, which is a pain.
Hello,
When adding invoices to a payment order, the algorithm in account_banking_payment_export (amount_to_pay) takes the credit minus the existing payment lines in valid payment orders.
In a scenario where the original invoice has been partially reconciled with a credit note (and therefore not paid through a payment order), the proposed amount is still the original invoice.
The scenario goes as follow:
In official 8.0, the amount to pay is the residual amount (which is now correct in the presence of partial reconciliations). This does not take into existing payment orders anymore, though. IMO, this is fine especially when people work with transfer accounts, because as soon as the payment order is confirmed, the invoice is reconciled and the residual updated.
So I would suggest
@alexis-via @StefanRijnhart @pedrobaeza what is your opinion?
Read OCA/maintainer-tools#29 to know more about it
With odoo 8.0 dated after 2015-01-21, we have a crash when we start odoo:
2015-01-22 13:41:15,956 14029 ERROR o8_test2 werkzeug: Error on request:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/werkzeug/serving.py", line 177, in run_wsgi
execute(self.server.app)
File "/usr/lib/python2.7/dist-packages/werkzeug/serving.py", line 165, in execute
application_iter = app(environ, start_response)
File "/home/alexis/new_boite/dev/odoo/openerp/service/server.py", line 281, in app
return self.app(e, s)
File "/home/alexis/new_boite/dev/odoo/openerp/service/wsgi_server.py", line 216, in application
return application_unproxied(environ, start_response)
File "/home/alexis/new_boite/dev/odoo/openerp/service/wsgi_server.py", line 202, in application_unproxied
result = handler(environ, start_response)
File "/home/alexis/new_boite/dev/odoo/openerp/http.py", line 1275, in __call__
return self.dispatch(environ, start_response)
File "/home/alexis/new_boite/dev/odoo/openerp/http.py", line 1249, in __call__
return self.app(environ, start_wrapped)
File "/usr/lib/python2.7/dist-packages/werkzeug/wsgi.py", line 579, in __call__
return self.app(environ, start_response)
File "/home/alexis/new_boite/dev/odoo/openerp/http.py", line 1407, in dispatch
ir_http = request.registry['ir.http']
File "/home/alexis/new_boite/dev/odoo/openerp/http.py", line 338, in registry
return openerp.modules.registry.RegistryManager.get(self.db) if self.db else None
File "/home/alexis/new_boite/dev/odoo/openerp/modules/registry.py", line 335, in get
update_module)
File "/home/alexis/new_boite/dev/odoo/openerp/modules/registry.py", line 366, in new
openerp.modules.load_modules(registry._db, force_demo, status, update_module)
File "/home/alexis/new_boite/dev/odoo/openerp/modules/loading.py", line 351, in load_modules
force, status, report, loaded_modules, update_module)
File "/home/alexis/new_boite/dev/odoo/openerp/modules/loading.py", line 255, in load_marked_modules
loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)
File "/home/alexis/new_boite/dev/odoo/openerp/modules/loading.py", line 152, in load_module_graph
models = registry.load(cr, package)
File "/home/alexis/new_boite/dev/odoo/openerp/modules/registry.py", line 162, in load
model = cls._build_model(self, cr)
File "/home/alexis/new_boite/dev/odoo/openerp/models.py", line 651, in _build_model
model.__init__(pool, cr)
File "/home/alexis/new_boite/dev/banking-80/account_direct_debit/models/account_invoice.py", line 140, in __init__
invoice_obj._columns['state'].selection.append(
KeyError: 'state'
It seems we can't add an entry of a fields.selection via a hacking in init of the class of the object.
When I try to import a bankstatement file (from dutch bank ING), I got the following server error:
Server Traceback (most recent call last):
File "/opt/openerp/server/openerp/addons/web/session.py", line 89, in send
return openerp.netsvc.dispatch_rpc(service_name, method, args)
File "/opt/openerp/server/openerp/netsvc.py", line 292, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/opt/openerp/server/openerp/service/web_services.py", line 626, in dispatch
res = fn(db, uid, _params)
File "/opt/openerp/server/openerp/osv/osv.py", line 188, in execute_kw
return self.execute(db, uid, obj, method, *args, *_kw or {})
File "/opt/openerp/server/openerp/osv/osv.py", line 131, in wrapper
return f(self, dbname, _args, *_kwargs)
File "/opt/openerp/server/openerp/osv/osv.py", line 197, in execute
res = self.execute_cr(cr, uid, obj, method, _args, *_kw)
File "/opt/openerp/server/openerp/osv/osv.py", line 185, in execute_cr
return getattr(object, method)(cr, uid, _args, *_kw)
File "/opt/openerp/server/openerp/addons/account_banking/wizard/bank_import.py", line 306, in import_statements_file
cr, uid, values, context=context)
File "/opt/openerp/server/openerp/addons/account_banking/banking_import_transaction.py", line 686, in create
cr, uid, vals, context)
File "/opt/openerp/server/openerp/osv/orm.py", line 4442, in create
cr.execute('insert into "'+self._table+'" (id'+upd0+") values ("+str(id_new)+upd1+')', tuple(upd2))
File "/opt/openerp/server/openerp/sql_db.py", line 161, in wrapper
return f(self, _args, *_kwargs)
File "/opt/openerp/server/openerp/sql_db.py", line 226, in execute
res = self._obj.execute(query, params)
DataError: invalid input syntax for type date: ""
LINE 1: ...e_uid,create_date,write_uid,write_date) values (5,'','','','...
Hi All, my name is David Gouthière - new joiner; I use Odoo to generate SCT payments and transfer xml to the bank for execution. It was my first trial, I made a real test with small amount ang get many severe issues. I had to manage the xml manually to get it loaded and executed by the bank.
I had to change to pain 03 instead of 05, and manually i had to fix somme tags in the header. to get the file accepted by the bank.
2 bugs are causing of the reject :
• 2 lines inverted in the header
• use of single quotes instaed of double quotes
As is
Manually fixed, files has been accepted and executed. The day after, examination of my daily statement has shown one more mistake.
Below, a rejected file and an accepted one, so you can compare,
The accepted file have also caused an issue, you can check the effect in the statement below
Rejected file (by the bank)
sct_2015-005-DG-sprl.xml
2015/004 2015-05-28T16:08:40 1 1.21 David Gouthiere sprl BE0894513115 KBO-BCE 2015/004-20150528-NORM TRF false 1 1.21 NORM SEPA 2015-05-28 David Gouthiere sprl BE63143070432108 GEBABEBB SHAR 036 1.21 GKCCBEBB David Gouthiere (prive) BE58795551250379 Test1 filetsf avec IsabelAccepted and executed by the bank
sct_2015-006-DG-sprl2ok.xml
2015/006
2015-05-28T18:59:45
1
1.21
David Gouthiere sprl
0894513115
KBO-BCE
2015/006-20150528-NORM
TRF
false
1
1.21
NORM
SEPA
2015-05-28
David Gouthiere
BE63143070432108
GEBEBEBB
SLEV
688105934715
1.21
GKCCBEBB
David Gouthiere (prive)
BE58795551211111
SCOR
ISO
EXJ/2015/0008
Statement - the day after
Executed, but issues anyway because communication and references are inverted, as stated on the statement. I checked the xml, and the issue is well there (it is not a mistake of the bank)
It is a critical issue, because the beneficiary will not find its expected communication and will not be able to reconcile its customer payments.
Indeed, in the xml, we can see that EXJ/2015/0008 is filled in the tag reserved for communication to beneficiary and the 688105934715 is filled into EndToEndId
Looking further, I also see that the xml is not exactly compliant with the rulebook - but here not rejected by this bank (could be by another one) : for this case, Odoo uses ISO instead Of BBA
ISO : ISO must be used when the Reference corresponds to an european Reference code (max 25 char)
In Belgium (only) this code must be BBA (Belgian Bank Association) and the value if tag must be 12 digit structured communication with check digit base on mod 97 (like old BBAN account 3-7-2).
If not structured, the tag must be used in
Here the reference to get the right rules
https://www.febelfin.be/en/standards-distance-banking
(for security reason - i have change value of my own account nr in the xml ...)
I can just report this blocking issue, I am not able to fix it, beeing not a technician. please feel free to ask more questions.
Scenario to reproduce the bug:
Integrity Error
The operation cannot be completed, probably due to the following:
- deletion: you may be trying to delete a record while other records still reference it
- creation/update: a mandatory field is not correctly set
[object with reference: order_id - order.id]
The openerp logs show:
2015-01-14 17:02:06,044 26664 ERROR o8_test2 openerp.sql_db: bad query: INSERT INTO "payment_line" ("id", "date", "currency", "state", "name", "company_currency", "create_uid", "write_uid", "create_date", "write_date") VALUES(nextval('payment_line_id_seq'), NULL, 1, 'normal', '004', 1, 1, 1, (now() at time zone 'UTC'), (now() at time zone 'UTC')) RETURNING id
Traceback (most recent call last):
File "/home/alexis/new_boite/dev/odoo/openerp/sql_db.py", line 234, in execute
res = self._obj.execute(query, params)
IntegrityError: null value in column "order_id" violates not-null constraint
DETAIL: Failing row contains (3, null, 2015-01-14 17:02:06.022553, 1, null, null, null, 1, 2015-01-14 17:02:06.022553, null, 1, null, 1, 004, null, null, null, normal, null, null).
2015-01-14 17:02:06,047 26664 ERROR o8_test2 openerp.http: Exception during JSON request handling.
Traceback (most recent call last):
File "/home/alexis/new_boite/dev/odoo/openerp/http.py", line 525, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/alexis/new_boite/dev/odoo/openerp/http.py", line 562, in dispatch
result = self._call_function(**self.params)
File "/home/alexis/new_boite/dev/odoo/openerp/http.py", line 302, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/home/alexis/new_boite/dev/odoo/openerp/service/model.py", line 149, in wrapper
raise openerp.osv.orm.except_orm(_('Integrity Error'), msg)
except_orm: ('Integrity Error', 'The operation cannot be completed, probably due to the following:\n- deletion: you may be trying to delete a record while other records still reference it\n- creation/update: a mandatory field is not correctly set\n\n[object with reference: order_id - order.id]')
When creating a Payment Order, the duedate will be used as payment date.
That is wrong. The payment date is the right date to pay the invoices.
When export the xml file by using the SEPA Credit Transfer Files, i got the due data as payment data.
When the duedate is in the past, i can not pay this invoice.
Please make the adjustement to use only the payment date in the payment order.
Thanks in advance.
I'm reporting a bug in my own code : in the 7.0 branch, in account_payment_sale/model/sale.py line 41, we have the following code:
partner.customer_payment_mode.id or False,
We should NOT have a coma at the end of this line. When we run the module in Odoo 8.0, it will crash when creating a sale order via a call to create because addons/sale/sale.py in odoo 8.0 silently plays the on_change and then it will try to create {"payment_mode_id: (False,)}, when leads to a crash
In the module account_banking_payment_export/wizard/payment_order_create.py, the method _prepare_payment_line is not going to populate the date of the payment_line if the 'Due date' (date_maturity) of the account_move_line is today.
Is it normal? Don't we want to have the date on the payment line if i is today?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.