GithubHelp home page GithubHelp logo

oca / bank-payment Goto Github PK

View Code? Open in Web Editor NEW
187.0 71.0 501.0 25.97 MB

Odoo Electronic Payment

Home Page: https://odoo-community.org/psc-teams/banking-10

License: GNU Affero General Public License v3.0

Python 63.38% CSS 0.08% HTML 36.53%
accounting erp hacktoberfest odoo python

bank-payment's People

Contributors

alexis-via avatar astirpe avatar bosd avatar carlosdauden avatar carlosroca13 avatar etobella avatar francesco-ooops avatar gelo-fl avatar ibuioli avatar ivorra78 avatar luc-demeyer avatar miquelrforgeflow avatar misern2 avatar mymage avatar nelsonramirezs avatar oca-git-bot avatar oca-transbot avatar oca-travis avatar pedrobaeza avatar phschmidt avatar ramiadavid avatar remi-filament avatar rven avatar sbidoul avatar sergio-teruel avatar simonstromb avatar thomasbinsfeld avatar victoralmau avatar weblate avatar yvesldff avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bank-payment's Issues

8.0 SEPA Credit Transfer: Combine payments in payment order

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

Sepa Credit Identifier?

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.:

many transactions not regonized

After importing a dutch bank statements file from the ING, I got the following screen:

import_log

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.

[Bug] account_payment_partner compatibility with odoo 8.0

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

V8: account_banking_mandate multi company

Steps to replicate error:

  • Multicompany enviroment
  • Partner with company_id not set and almost one bank account with almost one Banking mandate.
  • Banking mandata must have company_id set to current company.
  • Change company and try to create banking mandate for this bank account.
  • When save get error.

To solve I'm trying to set "company_dependent=True" on field mandate_ids in res.partner.bank.

Error when trying to print bank mandate

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?

Use of Waiting accounts in payment orders (Cash discount)

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

Crash in account_payment_purchase

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.

[7.0][account_banking_uk_hsbc] Multi currency invoice matching showing wrong residual

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]

  • Install multi currency module
  • Install account_banking_uk_hsbc
  • Create separate bank journal having different currency than base currency
  • Configure default bank import settings

[Assumptions]

  • Base currency GBP
  • Bank journal in EUR

[Steps to reproduce bug]

  • Create an invoice in EUR 100
  • Create another invoice in EUR 70. Doesn't matter if its from same parter
  • Confirm both invoices
  • Import bank statement with line 170 Euro
  • Manually add two invoice and press match button in matching wizard
  • You will notice where will be some residual amount on both statement line whilst should be zero.

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

How to make a payment order done with account_banking_payment_export?

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:
selection_036

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...

WIP: Migrate module account_banking_partner_journal_account

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?

"Account Banking SEPA Direct Debit" not installable in latest nightlys

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'

8.0 Cannot even generate a SEPA credit transfer file !

Here is the scenario on v8:

  1. install the module account_banking_sepa_credit_transfer and make sure that the module account_banking_sepa_direct_debit is NOT INSTALLED
  2. create a new payment order, select a payment mode for SEPA credit transfer, select an invoice, confirm
  3. in the wizard pop-up, leave the default parameters and generate the XML file: here you get a crash:
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

SEPA Direct Debit 008.003.02 (Germany)

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 whenI run the tests of account_banking_tests

Issues found:

  • when I run the test test_payment_roundtrip in the module account_banking_tests
    I got the error:
    2015-03-05 12:02:05,133 8126 ERROR test_db openerp.addons.account_banking_tests.tests.test_payment_roundtrip: ` AttributeError: 'res.company' object has no attribute 'sepa_creditor_identifier'
    I think this is because this module depends on the module account_banking_sepa_direct_debit so I added it
  • I got a warning of deprecation:
    2015-03-05 12:06:01,954 8258 WARNING test_db openerp.modules.module: Found deprecated fast_suite or checks attribute in test module openerp.addons.account_banking_tests.tests. These have no effect in or after version 8.0.
    I think that this is because in the init.py of the tests module, we have the attribute fast_suite, which is deprecated, so I removed it.

New export format for Dutch ING bank: MT940 IBAN

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?

account_banking incompatible with cash management

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.

[8.0] account_payment_blocking: Error after selecting invoices in creating batch

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)

[v7] Invoice is linked to wrong account

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.

8.0 account_direct_debit: cannot use button "Debit Denied" on invoice

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...

Migrate account_payment* to new API

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.

[v7] Paid more does not set invoice to paid status

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.

[8.0] SEPA credit transfer XML structure

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?

Missing field period_id causes compatibility issues

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.

account_payment_blocking make l10n-switzerland tests fail

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.

[7.0][multicompany] Error in confirming statement line when company is different than base company

[Pre-requisite]

  • Multicompany module
  • Accounting module

[steps to reproduce bug]

  • Create bank statement for non base company
  • Add statement line
  • confirm statement line

[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.')

account_banking_reconciliation migration to 8.0

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.

Statements found for unknown account

Dear programmers,

When I tried to import bank statements it doesn't work.
I got the message that "Statements found for unknown account xxxxx".
schermafbeelding 2014-07-12 om 09 56 03

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?

One of the records you are trying to modify has already been deleted (Document type: A generic banking mandate)

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

[7.0] runbot is orange because of warnings in the logs

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)

account_payment_partner blocks selection of move lines not linked to an invoice

Here is the scenario to reproduce the bug on v8:

  1. Create a new DB with demo data

  2. Install the module account_banking_sepa_credit_transfer

  3. 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

  4. Create a new payment order with payment mode "SEPA credit transfer la banque postale"

  5. 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.

  6. Install the module account_payment_partner

  7. 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.

Problem adding partially reconciled moves to a payment order

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:

  • create a supplier invoice for amount 600€
  • create a supplier refund for amount 200€ and reconcile partially it with the supplier invoice
  • the residual amount on the supplier invoice is 400€
  • create a payment order and add the invoice: the system proposes 600€ where the user expects 400€

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

  • dropping this computation of amount_to_pay
  • when searching invoices to pay, filtering on unreconciled entries where credit > 0 instead of amout_to_pay
  • when adding to the payment order, using the residual amount

@alexis-via @StefanRijnhart @pedrobaeza what is your opinion?

[8.0] Cannot load account_direct_debit with odoo code dated after 2015-01-21

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.

ING import failed with server error, anyone solution for this?

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,'','','','...

Sepa Credit Transfer - rejected by the bank - issue with xml content

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

To be

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 Isabel

Accepted 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

statement

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.

Cannot create a payment line manually

Scenario to reproduce the bug:

  1. create a new DB with demo data and install the account_payment module
  2. create a new payment.order. Then create a new payment line MANUALLY (not via the wizard)
    Partner: camptocamp
    AMount : 42
    Communication : Test
    Click "Save & close" on the form view of the payment line, then "save" on the payment order => it works
  3. install the module account_banking_mandate
  4. execute step 2 again : create a new payment order and create MANUALLY a new payment line, click "Save & close" and then "Save" : it blocks with the following error:
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]')

Wrong Payment Date by creating a Payment Order

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.

Code error in account_payment_sale

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

Why don't we populate the date_to_pay if it is today?

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?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.