Boleto Odoo – Como configurar e utilizar

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:

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

 

Módulos de boleto odoo
Módulos de boleto do odoo

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

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

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

  3. Olá Danimaribeiro,
    Muito obrigado pela explicação, já tentou utilizar boletos na versão 10? Seria possivel utilizando o mesmo passo a passo.

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

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

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

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

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *