Boleto Odoo – Como configurar e utilizar
Boleto Odoo – neste post vamos aprender a configurar o módulo de boletos do Odoo, para isso vamos utilizar o repositório da Trustcode, atualmente ao escrever este post temos o mesmo homologado para o Banco do Brasil, Bradesco e Sicoob. Se você tem algum outro banco e tem todos os dados de teste e sabe o processo de homologação entre em contato comigo que podemos talvez fazer as mudanças necessárias para atender o mesmo (mas primeiro configure certinho sua base, não vou lhe ensinar como instalar o Odoo por email)
1 º passo – As dependências:
- http://github.com/OCA/bank-payment.git
- https://github.com/OCA/bank-statement-import.git
- https://github.com/OCA/account-payment.git
- https://github.com/OCA/bank-statement-reconcile.git
- https://github.com/Trust-Code/odoo-brazil-banking.git
Todos os repositórios acima devem ser baixados (aqui no blog tem um vídeo de como instalar módulos) e usar a branch 8.0. *se não sabe o que é branch
Além destes repositórios, temos duas libs python (pycnab e pyboleto) que devem ser instaladas através destes links:
- sudo pip install https://github.com/Trust-Code/pyboleto/archive/master.zip
- sudo pip install https://github.com/Trust-Code/PyCNAB/archive/master.zip
Após estes passos vamos instalar os seguintes módulos:
- l10n_br_account_banking_payment
- l10n_br_account_banking_payment_cnab
- l10n_br_account_payment_boleto
- l10n_br_account_payment_mode

A parte de infra já estamos finalizados, agora devemos apenas configurar os dados para que o boleto saia corretamente.
14 thoughts on “Boleto Odoo – Como configurar e utilizar”
Danimar , first i would like to thank you so much for sharing the knowledge and for the great help you are offering to the odoo community in Brazil , i’ve learned a lot from your posts and continue learning ,
i have a question about this tutorial here , will be there a “part 2” of this tutorial to show the correct configurations steps inside Odoo ?
Thanks for the words.
Yes, it will, I just didn’t have the time to write it.
Thank you so much for the quick response ,please let me know if i can help you with this task (testing or documenting).
i would be more than happy to help.
Olá Danimaribeiro,
Muito obrigado pela explicação, já tentou utilizar boletos na versão 10? Seria possivel utilizando o mesmo passo a passo.
Na 10 é só instalar a localização brasileira.
https://github.com/Trust-Code/odoo-brasil
Bom dia Danimar,
Já está homologado a implementação do boleto para o Banco Itaú?
Att,
Sim!
Tentei implantar, apareceu este erro abaixo…
Odoo Server Error
Traceback (most recent call last):
File “/usr/local/lib/python3.5/dist-packages/pyboleto/bank/__init__.py”, line 25, in get_class_for_codigo
banco = BANCOS_IMPLEMENTADOS[banco_codigo].split(‘.’)
KeyError: False
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “/opt/odoo/addons/web/controllers/main.py”, line 1657, in report_download
response = self.report_routes(reportname, docids=docids, converter=’pdf’)
File “/opt/odoo/odoo/http.py”, line 512, in response_wrap
response = f(*args, **kw)
File “/opt/odoo/addons/web/controllers/main.py”, line 1606, in report_routes
pdf = report.with_context(context).render_qweb_pdf(docids, data=data)[0]
File “/opt/odoo/addons/br_boleto/reports/report.py”, line 37, in render_qweb_pdf
boleto_list = aml_obj.browse(ids_move_lines).action_register_boleto()
File “/opt/odoo/addons/br_boleto/models/account_move_line.py”, line 76, in action_register_boleto
boleto = Boleto.getBoleto(move, move.nosso_numero)
File “/opt/odoo/addons/br_boleto/boleto/document.py”, line 46, in getBoleto
return dict_boleto[boleto_type][0](move_line, nosso_numero)
File “/opt/odoo/addons/br_boleto/boleto/document.py”, line 235, in __init__
self.boleto = Boleto.getBoletoClass(move_line)()
File “/opt/odoo/addons/br_boleto/boleto/document.py”, line 53, in getBoletoClass
return bank.get_class_for_codigo(bank_code)
File “/usr/local/lib/python3.5/dist-packages/pyboleto/bank/__init__.py”, line 27, in get_class_for_codigo
raise(BoletoException(‘Este banco não é suportado.’))
pyboleto.data.BoletoException: Este banco não é suportado.
Bom dia Danimar, tudo bem?
Estou tentando instalar a localização brasileira, porém está dando o erro abaixo:
O módulo “br_base” não pode ser instalado porque uma dependência externa não foi encontrada: No module named pytrustnfe.nfe
Já instalei o módulo PyTrustNFe, porém o erro persiste.
Notei que a dependência está indo para o Python 2.7, e não para o Python 3.0.
Seria este o problema?
Bom dia
Versão 11.0 – Python 3
Versão <= 10 - Python 2.7
Coloquei tudo na pasta do python3, porém o erro persiste…
Segue o log abaixo:
servidor@Servidor:/opt/odoo$ ./odoo-bin
2018-02-01 13:25:04,360 6399 INFO ? odoo: Odoo version 11.0
2018-02-01 13:25:04,361 6399 INFO ? odoo: addons paths: [‘/home/servidor/.local/share/Odoo/addons/11.0’, ‘/opt/odoo/odoo/addons’, ‘/opt/odoo/addons’]
2018-02-01 13:25:04,362 6399 INFO ? odoo: database: default@default:default
2018-02-01 13:25:04,463 6399 INFO ? odoo.service.server: HTTP service (werkzeug) running on 0.0.0.0:8069
2018-02-01 13:25:04,868 6399 INFO ? odoo.addons.base.ir.ir_actions_report: Will use the Wkhtmltopdf binary at /usr/bin/wkhtmltopdf
2018-02-01 13:25:05,703 6399 WARNING ? odoo.addons.base.res.res_currency: The num2words python library is not installed, l10n_mx_edi features won’t be fully available.
2018-02-01 13:25:19,319 6399 INFO ? odoo.addons.br_nfe.models.invoice_eletronic: Cannot import pytrustnfe
Traceback (most recent call last):
File “/opt/odoo/addons/br_nfe/models/invoice_eletronic.py”, line 19, in
from pytrustnfe.nfe import autorizar_nfe
ImportError: No module named ‘pytrustnfe’
2018-02-01 13:25:20,332 6399 INFO clicheria odoo.modules.loading: loading 1 modules…
2018-02-01 13:25:20,377 6399 INFO clicheria odoo.modules.loading: 1 modules loaded in 0.04s, 0 queries
2018-02-01 13:25:20,732 6399 INFO clicheria odoo.modules.loading: loading 77 modules…
2018-02-01 13:25:21,316 6399 WARNING clicheria odoo.addons.base_gengo.wizard.base_gengo_translations: Gengo library not found, Gengo features disabled. If you plan to use it, please install the gengo library from http://pypi.python.org/pypi/gengo
2018-02-01 13:25:23,165 6399 INFO clicheria odoo.modules.loading: 77 modules loaded in 2.43s, 0 queries
2018-02-01 13:25:23,818 6399 WARNING clicheria odoo.fields: Field res.partner.invoice_report_id with unknown comodel_name ‘ir.actions.report.xml’
2018-02-01 13:25:24,599 6399 INFO clicheria odoo.modules.loading: Modules loaded.
2018-02-01 13:25:24,607 6399 INFO clicheria odoo.addons.base.ir.ir_http: Generating routing map
2018-02-01 13:25:24,608 6399 INFO clicheria odoo.addons.base.ir.ir_http: Generating routing map
2018-02-01 13:25:25,001 6399 INFO ? odoo.addons.bus.models.bus: Bus.loop listen imbus on db postgres
2018-02-01 13:25:25,139 6399 INFO ? odoo.http: HTTP Configuring static files
Desde já agradeço
Você deve instalar via PIP.
“pip install pytrustnfe3”
Resolvido… Obrigado!
Boa tarde Danimar, tudo bem?
Tentei implantar o módulo do boleto Itaú e apareceu este erro abaixo…
Odoo Server Error
Traceback (most recent call last):
File “/usr/local/lib/python3.5/dist-packages/pyboleto/bank/__init__.py”, line 25, in get_class_for_codigo
banco = BANCOS_IMPLEMENTADOS[banco_codigo].split(‘.’)
KeyError: False
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “/opt/odoo/addons/web/controllers/main.py”, line 1657, in report_download
response = self.report_routes(reportname, docids=docids, converter=’pdf’)
File “/opt/odoo/odoo/http.py”, line 512, in response_wrap
response = f(*args, **kw)
File “/opt/odoo/addons/web/controllers/main.py”, line 1606, in report_routes
pdf = report.with_context(context).render_qweb_pdf(docids, data=data)[0]
File “/opt/odoo/addons/br_boleto/reports/report.py”, line 37, in render_qweb_pdf
boleto_list = aml_obj.browse(ids_move_lines).action_register_boleto()
File “/opt/odoo/addons/br_boleto/models/account_move_line.py”, line 76, in action_register_boleto
boleto = Boleto.getBoleto(move, move.nosso_numero)
File “/opt/odoo/addons/br_boleto/boleto/document.py”, line 46, in getBoleto
return dict_boleto[boleto_type][0](move_line, nosso_numero)
File “/opt/odoo/addons/br_boleto/boleto/document.py”, line 235, in __init__
self.boleto = Boleto.getBoletoClass(move_line)()
File “/opt/odoo/addons/br_boleto/boleto/document.py”, line 53, in getBoletoClass
return bank.get_class_for_codigo(bank_code)
File “/usr/local/lib/python3.5/dist-packages/pyboleto/bank/__init__.py”, line 27, in get_class_for_codigo
raise(BoletoException(‘Este banco não é suportado.’))
pyboleto.data.BoletoException: Este banco não é suportado.