Repository
OCA/l10n-brazil · module folder · Try on Runboat
Module version
Category
Banking addons
Folder size
1.22 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/l10n-brazil
Last tracking update
2026-08-14 17:23:24
Authors
Akretion, Odoo Community Association (OCA), KMEE
Maintainers
Akretion, Odoo Community Association (OCA), KMEE
Committers
Raphaël Valyi, Weblate, OCA-git-bot, oca-ci, Magno Costa, CristianoMafraJunior
Odoo dependencies
Python dependencies
erpbrasil.base, email-validator, num2words, phonenumbers
System dependencies
None
Required by
None
Description
O módulo implementa a parte comum da infra-estrutura necessária para o uso do CNAB implementando:

- **Códigos CNAB** - códigos de Instrução, Retorno, Carteira e Desconto.

- **Configuração CNAB** - onde serão salvas as informações específicas de cada caso como Convênio, Código do Beneficiário, Modalidade, Percentual de Multa, códigos de Instrução do Movimento de Liquidação de Alteração de Vencimento e etc.

- **Modo de Pagamento** - localiza o módulo [account_payment_mode]( https://github.com/OCA/bank-payment/tree/16.0/account_payment_mode) para associar o **Diário Contábil** referente a **Conta Bancária** do CNAB e informar a **Configuração do CNAB** que será usada, assim ao informar o Modo de Pagamento em um Pedido de Venda, Compras ou Faturamento o programa identifica como sendo um caso CNAB.

- **Ordem de Pagamento** - localiza o módulo [account_payment_order](https://github.com/OCA/bank-payment/tree/16.0/account_payment_order) que usa a **Ordem de Pagamento**, débito ou crédito, para registrar as **Instruções de Movimento** e onde será criado o **Arquivo CNAB Remessa**.

- **Registro do LOG de Eventos** - ao importar um arquivo de retorno CNAB.

- **Grupos e Permissões de acesso** - CNAB Usuário e Gerente.

A implementação foi pensada para permitir que seja possível usar diferentes Bibliotecas para **Gerar os Boletos, Arquivo CNAB de Remessa e tratar o Arquivo de Retorno do CNAB** por isso é preciso instalar um segundo módulo que vai ter essa função, portanto a ideia é que nesse módulo deverá estar tudo que for comum para a implementação mas o CNAB não irá funcionar sem esse segundo módulo.

**IMPORTANTE:** Apesar de muitas Documentações do CNAB acabarem dizendo que usam o "Padrão FEBRABAN" na realidade e ao longo dos anos foi visto que existem muitas divergências entre os casos incluindo diferentes Códigos para a mesma função ou mesmo Termos e nomenclaturas que apesar de semelhantes podem acabar confundindo o usuário, por isso essa falta de padrão foi considerada na implementação e na arquitetura do módulo e também precisa ser considerada em manutenções, melhorias ou no uso de outras Bibliotecas, é preciso separar o que é realmente comum do que pode variar entre os Bancos e CNAB, nesse sentido foram incluídos nos Dados de Demonstração mais de um caso para ficar claro aos desenvolvedores essas particularidades e evitar uma arquitetura que desconsidere esse aspecto.

Code Analysis

Views touched (23)
XML IDNameModelTypeStatus
account_journal_form_view account.journal.form (in l10n_br_account_payment_order) account.journal form Inherits account.view_account_journal_form
account_move_line_cnab_change_form_view account.move.line.cnab.change.form (in l10n_br_account_payment_order) account.move.line.cnab.change form New
account_payment_line_create_form l10n_br_account_payment_boleto.res.company.form account.payment.line.create form Inherits account_payment_order.account_payment_line_create_form
cnab_account_payment_line_tree cnab.account.payment.line.tree account.payment.line tree Inherits account_payment_order.account_payment_line_tree
cnab_return_log_search l10n_br_cnab.return.log.search l10n_br_cnab.return.log search New
cnab_view_move_line_form_inherit cnab.account.move.line.form.inherit account.move.line form Inherits account.view_move_line_form
cnab_view_move_line_tree_inherit cnab.account.move.line.tree.inherit account.move.line tree Inherits account_due_list.view_payments_tree
l10n_br-view_account_payment_invoice_form l10n_br_account_payment_order.view.account.payment.invoice.form account.payment form Inherits account_payment.view_account_payment_form_inherit_payment
l10n_br_account_payment_mode_form payment.mode.l10n_br_payment.form account.payment.mode form Inherits account_payment_order.account_payment_mode_form
l10n_br_account_payment_order_form l10n_br_account.payment.order.form account.payment.order form Inherits account_payment_order.account_payment_order_form
l10n_br_account_payment_order_payment_line_form l10n_br_account_payment_order.payment.line.form account.payment.line form Inherits account_payment_order.account_payment_line_form
l10n_br_cnab_code_form_view l10n_br_cnab.code.form.view l10n_br_cnab.code form New
l10n_br_cnab_code_search_view l10n_br_cnab.code.search l10n_br_cnab.code search New
l10n_br_cnab_code_tree_view l10n_br_cnab.code.tree l10n_br_cnab.code list New
l10n_br_cnab_config_form_view l10n_br_cnab.config.form.view l10n_br_cnab.config form New
l10n_br_cnab_config_search_view l10n_br_cnab.config.search l10n_br_cnab.config search New
l10n_br_cnab_config_tree_view l10n_br_cnab.config.tree l10n_br_cnab.config list New
l10n_br_cnab_return_event_form_view l10n_br_cnab.return.event.form l10n_br_cnab.return.event form New
l10n_br_cnab_return_event_tree_view l10n_br_cnab.return.event.tree l10n_br_cnab.return.event list New
l10n_br_cnab_return_log_form_view l10n_br_cnab.return.log.form.view l10n_br_cnab.return.log form New
l10n_br_cnab_return_log_tree_view l10n_br_cnab.return.log.tree l10n_br_cnab.return.log list New
l10n_br_cnab_return_lot_form_view l10n_br_cnab.return.lot.form.view l10n_br_cnab.return.lot form New
view_move_cnab_form account.move.cnab.view account.move form Inherits account.view_move_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (22)

New fields (1)
  • bank_code_bc Char
    related='bank_id.code_bc'
Public methods (0)

No public methods.

New fields (7)
  • cnab_config_id Many2one
    related='payment_mode_id.cnab_config_id'
  • cnab_return_log_id Many2one → l10n_br_cnab.return.log
    comodel_name='l10n_br_cnab.return.log' readonly=True string='CNAB Return Log'
  • eval_payment_mode_instructions Text
    help='Instruções Ordem de Pagamento configuradas na Configuração do CNAB' related='cnab_config_id.instructions' string='Instruções de Cobrança do Modo de Pagamento'
  • file_boleto_pdf_id Many2one → ir.attachment
    comodel_name='ir.attachment' copy=False ondelete='restrict' string='Boleto PDF'
  • instructions Text
    help='Instruções Extras da Ordem de Pagamento' string='Instruções de cobrança'
  • is_cnab Boolean
    string='Is CNAB?'
  • payment_method_code Char
    related='payment_mode_id.payment_method_id.code'
Public methods (6)
  • button_cancel(self)
  • generate_boleto_pdf(self)
    Classe a ser herdada pelo modulo que implementa a biblioteca ou API, deve anexar o PDF com boletos
  • get_invoice_fiscal_number(self)
    Como neste modulo não temos o número do documento fiscal, testamos a presença desse campo e se o módulo fiscal não tiver instalado, retornamos o name do invoice/account.move do core.
  • load_cnab_info(self)
  • unlink(self)
  • view_boleto_pdf(self)

New fields (16)
  • boleto_discount_perc Float
    digits='Account' help='Percentual de Desconto até a Data de Vencimento' related='cnab_config_id.boleto_discount_perc' string='Desconto de pontualidade'
  • cnab_config_id Many2one
    related='payment_mode_id.cnab_config_id'
  • cnab_return_line_ids One2many → l10n_br_cnab.return.event
    comodel_name='l10n_br_cnab.return.event' inverse_name='move_line_id' readonly=True string='Retornos CNAB'
  • cnab_state Selection
    copy=False selection=ESTADOS_CNAB string='Estados CNAB'
  • company_title_identification Char
    copy=False string='Identificação Titulo Empresa'
  • document_number Char
    copy=False string='Número documento'
  • instruction_move_code_id Many2one → l10n_br_cnab.code
    comodel_name='l10n_br_cnab.code' copy=False help='Campo G061 do CNAB' string='Código da Instrução para Movimento'
  • instructions Text
    copy=False readonly=True string='Instruções de cobrança'
  • journal_payment_mode_id Many2one → account.journal
    comodel_name='account.journal' compute='_compute_journal_payment_mode' copy=False store=True
  • last_change_reason Text
    copy=False readonly=True string='Justificativa'
  • own_number Char
    copy=False string='Nosso Numero'
  • own_number_without_zfill Char
    compute='_compute_own_number_without_zfill' copy=False store=True
  • payment_method_code Char
    related='payment_method_id.code' store=True string='Payment Method Code'
  • payment_method_id Many2one → account.payment.method
    comodel_name='account.payment.method' related='payment_mode_id.payment_method_id' string='Payment Method'
  • payment_mode_id Many2one
    string='Modo de Pagamento'
  • payment_situation Selection
    copy=False default='inicial' selection=SITUACAO_PAGAMENTO string='Situação do Pagamento'
Public methods (5)
  • create_payment_line_from_move_line(self, payment_order)
    Altera estado do cnab para adicionado a ordem :param payment_order: :return:
  • generate_boleto(self, validate=True)
  • get_balance(self)
    Return the balance of any set of move lines. Not to be confused with the 'balance' field on this model, which returns the account balance that the move line applies to.
  • reconcile(self)
  • write(self, values)
    Sobrescrita do método Write. Não deve ser possível voltar o cnab_state ou a situacao_pagamento para um estado anterior :param values: :return:

New fields (7)
  • account_move_line_ids Many2many → account.move.line
    comodel_name='account.move.line' readonly=True string='Move Line'
  • change_type Selection
    selection=[('change_discount_date', 'Data de Desconto'), ('change_date_maturity', 'Vencimento'), ('not_payment', 'Baixa por Não Pagamento/Inadimplência'), ('protest_tittle', 'Protestar Titulo'), ('suspend_protest_keep_wallet', 'Sustar Protesto e Manter em Carteira'), ('grant_rebate', 'Conceder Abatimento'), ('cancel_rebate', 'Cancelar Abatimento'), ('grant_discount', 'Conceder Desconto'), ('cancel_discount', 'Cancelar Desconto')] string='Tipo Alteração'
  • date Date
  • discount_value Float
    string='Valor de Desconto'
  • payment_mode_id Many2one → account.payment.mode
    comodel_name='account.payment.mode'
  • reason Text
    string='Justificativa'
  • rebate_value Float
    string='Valor de Abatimento'
Public methods (2)
  • default_get(self, fields_list)
    @api.model
  • doit(self)

New fields (1)
  • already_send_cnab Boolean
    string='Already send CNAB'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • action_post(self)

New fields (28)
  • amount_interest Float
    compute='_compute_interest' digits='Account' string='Valor Juros'
  • barcode Char
    help='This field is used in the payment of supplier slips'
  • communication_type Selection
    ondelete={'cnab': 'set default'} selection_add=[('cnab', 'CNAB')]
  • company_title_identification Char
    string='Identificação Titulo Empresa'
  • complementary_finality_code Char
    help='Campo P013 do CNAB' size=2 string='Código de finalidade complementar'
  • digitable_line Char
    string='Linha Digitável'
  • discount_value Monetary
    help='Campo G046 do CNAB' string='Valor do Desconto'
  • doc_finality_code Selection
    help='Campo P005 do CNAB' selection=COMPLEMENTO_TIPO_SERVICO string='Complemento do Tipo de Serviço'
  • document_number Char
    string='Número documento'
  • favored_warning Selection
    default='0' help='Campo P006 do CNAB' selection=AVISO_FAVORECIDO string='Aviso ao Favorecido'
  • fee_value Monetary
    help='Campo G048 do CNAB' string='Valor da Multa'
  • instruction_move_code_id Many2one → l10n_br_cnab.code
    comodel_name='l10n_br_cnab.code' help='Campo G061 do CNAB' string='Código da Instrução para Movimento'
  • interest_value Monetary
    help='Campo G047 do CNAB' string='Valor da Mora'
  • ml_maturity_date Date
    related=None
  • move_id Many2one → account.move
    comodel_name='account.move' string='Fatura'
  • move_line_id Many2one
    ondelete=None
  • movement_type Selection
    default='0' help='Campo G060 do CNAB' selection=TIPO_MOVIMENTO string='Tipo de Movimento'
  • own_number Char
    string='Nosso Numero'
  • partner_pix_id Many2one → res.partner.pix
    comodel_name='res.partner.pix' string='Pix Key'
  • payment_method_code Char
    related='payment_method_id.code' store=True string='Payment Method Code'
  • payment_method_id Many2one → account.payment.method
    comodel_name='account.payment.method' related='payment_mode_id.payment_method_id' string='Payment Method'
  • payment_mode_domain Selection
    related='payment_mode_id.payment_mode_domain'
  • payment_mode_id Many2one → account.payment.mode
    comodel_name='account.payment.mode' related='order_id.payment_mode_id'
  • percent_interest Float
    digits='Account' string='Percentual de Juros'
  • pix_transfer_type Selection
    compute='_compute_pix_transfer_type' help='Pix transfer type identification' selection=PIX_TRANSFER_TYPES
  • rebate_value Monetary
    help='Campo G045 do CNAB' string='Valor do Abatimento'
  • service_type Selection
    default='30' help='Campo G025 do CNAB' selection=TIPO_SERVICO string='Tipo de Serviço'
  • ted_finality_code Selection
    help='Campo P011 do CNAB' selection=CODIGO_FINALIDADE_TED string='Código Finalidade da TED'
Public methods (3)
  • default_get(self, fields_list)
    @api.model
  • draft2open_payment_line_check(self)
    Override to add brazilian validations
  • partner_id_change(self)
    @api.onchange('partner_id')

New fields (2)
  • allow_error Boolean
    string='Permitir linhas com erro na exportação, já incluidas em outras ordens'
  • allow_rejected Boolean
    string='Permitir linhas com retorno rejeitado'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (6)
  • auto_create_payment_order Boolean
    help='Cria a ordem de pagamento automaticamente ao confirmar a fatura' string='Adicionar automaticamente ao validar a fatura'
  • bank_code_bc Char
    related='fixed_journal_id.bank_id.code_bc'
  • bank_id Many2one
    related='fixed_journal_id.bank_id'
  • cnab_config_id Many2one → l10n_br_cnab.config
    comodel_name='l10n_br_cnab.config' string='CNAB Config' tracking=True
  • cnab_processor Selection
    selection='_selection_cnab_processor'
  • payment_mode_domain Selection
    selection=PAYMENT_MODE_DOMAIN
Public methods (0)

No public methods.

New fields (10)
  • cnab_company_bank_code Char
    related='cnab_config_id.cnab_company_bank_code'
  • cnab_config_id Many2one
    related='payment_mode_id.cnab_config_id'
  • cnab_file Binary
    readonly=True string='CNAB File'
  • cnab_filename Char
    string='CNAB Filename'
  • convention_code Char
    related='cnab_config_id.convention_code'
  • file_number Integer
    string='Número sequencial do arquivo'
  • indicative_form_payment Selection
    default='01' help='Campo P014 do CNAB' selection=INDICATIVO_FORMA_PAGAMENTO string='Indicativo de Forma de Pagamento'
  • payment_method_code Char
    related='payment_method_id.code' store=True string='Payment Method Code'
  • release_form Selection
    help='Campo G029 do CNAB' selection=FORMA_LANCAMENTO string='Forma Lançamento'
  • service_type Selection
    default='30' help='Campo G025 do CNAB' selection=TIPO_SERVICO string='Tipo de Serviço'
Public methods (4)
  • action_done_cancel(self)
  • draft2open(self)
    Called when you click on the 'Confirm' button Set the 'date' on payment line depending on the 'date_prefered' setting of the payment.order Re-generate the account payments.
  • generate_payment_file(self)
    Esse modo deve ser usado somente para testes, com ele é possível passarmos por todos os fluxos de funcionamento das ordens de pagamento. Permitindo que através de testes via interface e testes automatizados sejam geradas ordens de pagamento de inclusão, alteração, baixa e etc.
  • get_file_name(self, cnab_type)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (43)
  • boleto_accept Selection
    default='N' selection=[('S', 'Sim'), ('N', 'Não')] string='Aceite' tracking=True
  • boleto_byte_idt Char
    help='Byte de identificação do cedente do bloqueto utilizado para compor o nosso número, usado pelos bancos Sicred/Unicred e Sicoob.' size=1 string='Byte IDT' tracking=True
  • boleto_days_protest Char
    help='Número de dias decorrentes após a data de vencimento para inicialização do processo de cobrança via protesto.' size=2 string='Número de Dias para Protesto' tracking=True
  • boleto_discount_code_id Many2one → l10n_br_cnab.code
    comodel_name='l10n_br_cnab.code' string='Boleto Discount Code' tracking=True
  • boleto_discount_perc Float
    digits='Account' string='Percentual de Desconto até a Data de Vencimento' tracking=True
  • boleto_fee_code_id Many2one → l10n_br_cnab.code
    comodel_name='l10n_br_cnab.code' help='Código adotado pela FEBRABAN para identificação do tipo de pagamento de multa.' string='Fee Code' tracking=True
  • boleto_fee_perc Float
    digits='Account' string='Percentual de Multa' tracking=True
  • boleto_interest_code_id Many2one → l10n_br_cnab.code
    comodel_name='l10n_br_cnab.code' help='Código adotado pela FEBRABAN para identificação do tipo de pagamento de mora de juros.' string='Código da Mora' tracking=True
  • boleto_interest_perc Float
    digits='Account' string='Percentual de Juros de Mora' tracking=True
  • boleto_modality Char
    size=2 string='Modalidade' tracking=True
  • boleto_post Char
    help='Código do Posto da Cooperativa de Crédito, usado pelos bancos Sicred/Unicred e Sicoob.' size=2 string='Posto da Cooperativa de Crédito' tracking=True
  • boleto_protest_code_id Many2one → l10n_br_cnab.code
    comodel_name='l10n_br_cnab.code' help='Código adotado pela FEBRABAN para identificar o tipo de prazo a ser considerado para o protesto.' string='Protest Code' tracking=True
  • boleto_species Selection
    default='01' selection=get_boleto_especies() string='Espécie do Título' tracking=True
  • boleto_variation Char
    size=2 string='Variação' tracking=True
  • boleto_wallet Char
    size=3 string='Carteira' tracking=True
  • cancel_discount_code_id Many2one → l10n_br_cnab.code
    comodel_name='l10n_br_cnab.code' help='CNAB Movement Instruction Code for Cancel Discount.' string='Cancel Discount Instruction Code' tracking=True
  • cancel_rebate_code_id Many2one → l10n_br_cnab.code
    comodel_name='l10n_br_cnab.code' help='CNAB Movement Instruction Code for Cancel Rebate.' string='Cancel Rebate Instruction Code' tracking=True
  • change_discount_date_code_id Many2one → l10n_br_cnab.code
    comodel_name='l10n_br_cnab.code' help='CNAB Movement Instruction Code for Change Discount Date.' string='Change Discount Date Movement Instruction Code' tracking=True
  • change_maturity_date_code_id Many2one → l10n_br_cnab.code
    comodel_name='l10n_br_cnab.code' help='CNAB Movement Instruction Code for Change Maturity Date.' string='Change Maturity Date Movement Instruction Code' tracking=True
  • change_title_value_code_id Many2one → l10n_br_cnab.code
    comodel_name='l10n_br_cnab.code' help='CNAB Movement Instruction Code for Change Title Value.' string='Change Title Value Movement Instruction Code' tracking=True
  • cnab_company_bank_code Char
    help='Campo que tem o Código que identifica a Empresa no Banco e que\n tem na maioria dos casos o tamanho 20, devido a falta de padrão entre\n os Bancos e CNAB pode ter diferentes nomes Código da Empresa, Beneficiario,\n Convenio, Transmissão, campo G007 e etc porém contém a mesma informação.' size=20 string='Código da Empresa no Banco' tracking=True
  • communication_2 Char
    string='Comunicação para o sacador avalista'
  • condition_issuing_paper Selection
    default='1' selection=[('1', 'Banco emite e Processa'), ('2', 'Cliente emite e banco processa')] string='Condição Emissão de Papeleta'
  • convention_code Char
    help="Código do Convênio, campo com tamanho 7 usado em alguns casos\n onde além do 'Código da Empresa tamanho 20' existe esse segundo campo,\n casos mapeados hoje são Banco do Brasil como Código do Convênio Líder\n e o Banco Santander como Código do Convênio.\n " size=7 string='Código do Convênio' tracking=True
  • discount_account_id Many2one → account.account
    comodel_name='account.account' help='Conta padrão para Desconto' string='Conta Contabil de Desconto' tracking=True
  • generate_own_number Boolean
    default=True help='Dependendo da carteira, banco, etc. O nosso número pode ser gerado pelo banco.' string='Gerar nosso número?'
  • grant_discount_code_id Many2one → l10n_br_cnab.code
    comodel_name='l10n_br_cnab.code' help='CNAB Movement Instruction Code for Grant Discount.' string='Grant Discount Instruction Code' tracking=True
  • grant_rebate_code_id Many2one → l10n_br_cnab.code
    comodel_name='l10n_br_cnab.code' help='CNAB Movement Instruction Code for Grant Rebate.' string='Grant Rebate Instruction Code' tracking=True
  • instructions Text
    string='Instruções de cobrança'
  • interest_fee_account_id Many2one → account.account
    comodel_name='account.account' help='Conta padrão para Juros Mora' string='Conta Contabil de Juros Mora e Multa' tracking=True
  • invoice_print Boolean
    string='Gerar relatorio na conclusão da fatura?'
  • not_payment_account_id Many2one → account.account
    comodel_name='account.account' help='Conta padrão para Não Pagamento/Inadimplência' string='Conta Contabil para Não Pagamento/Inadimplência' tracking=True
  • own_number_sequence_id Many2one → ir.sequence
    comodel_name='ir.sequence' copy=False help='Para usar essa Sequencia é preciso definir o campo Tipo do Nosso Número como Sequencial Único por Carteira no cadastro da empresa' string='Sequência do Nosso Número' tracking=True
  • protest_title_code_id Many2one → l10n_br_cnab.code
    comodel_name='l10n_br_cnab.code' help='CNAB Movement Instruction Code for Protest Title.' string='Protest Title Instruction Code' tracking=True
  • rebate_account_id Many2one → account.account
    comodel_name='account.account' help='Conta padrão para Abatimento' string='Conta Contabil de Abatimento' tracking=True
  • sending_code_id Many2one → l10n_br_cnab.code
    comodel_name='l10n_br_cnab.code' help='Sending Movement Instruction Code' string='Sending Movement Instruction Code' tracking=True
  • suspend_protest_keep_wallet_code_id Many2one → l10n_br_cnab.code
    comodel_name='l10n_br_cnab.code' help='CNAB Movement Instruction Code for Suspend Protest and Keep in Wallet.' string='Suspend Protest and Keep in Wallet Instruction Code' tracking=True
  • suspend_protest_write_off_code_id Many2one → l10n_br_cnab.code
    comodel_name='l10n_br_cnab.code' help='CNAB Movement Instruction Code for Suspend Protest and Write Off.' string='Suspend Protest and Write Off Instruction Code' tracking=True
  • tariff_charge_account_id Many2one → account.account
    comodel_name='account.account' help='Conta padrão para a Tarifa Bancaria' string='Conta Contabil Tarifa Bancaria' tracking=True
  • wallet_code_id Many2one → l10n_br_cnab.code
    comodel_name='l10n_br_cnab.code' string='Boleto Wallet Code' tracking=True
  • write_off_code_id Many2one → l10n_br_cnab.code
    comodel_name='l10n_br_cnab.code' help='Write Off Movement Instruction Code' string='Write Off Movement Instruction Code' tracking=True
  • write_off_devolution_code_id Many2one → l10n_br_cnab.code
    comodel_name='l10n_br_cnab.code' help='CNAB code used for devolution instruction.' string='Devolution Instruction Code' tracking=True
  • write_off_devolution_number_of_days Char
    help='Specifies the number of days allowed for devolution.' size=2 string='Number of Days for Devolution' tracking=True
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (5)
  • create_cnab_change_tittle_value(self)
    CNAB - Alteração do Valor do Título.
  • create_cnab_write_off(self, reason, payment_situation)
    CNAB - Instrução de Baixar de Título.
  • create_payment_outside_cnab(self, amount_payment)
  • remove_payment_line(self, reason, payment_situation)
    Remove a Linha de Pagamento :param reason: :param payment_situation: :return:
  • update_cnab_for_cancel_invoice(self)

New fields (6)
  • bank_ids Many2many → res.bank
    column1='bank_id' column2='l10n_br_cnab_code_id' comodel_name='res.bank' relation='l10n_br_cnab_code_bank_rel' required=True string='Banks' tracking=True
  • code Char
    index=True required=True tracking=True
  • code_type Selection
    index=True required=True selection=[('instruction_move_code', 'Instruction Move Code'), ('return_move_code', 'Return Move Code'), ('wallet_code', 'Wallet Code'), ('discount_code', 'Discount Code'), ('protest_code', 'Protest Code'), ('fee_code', 'Fee Code'), ('interest_code', 'Interest Code'), ('boleto_species', 'Boleto Species'), ('boleto_accept', 'Boleto Accept'), ('doc_finality_code', 'DOC Finality Code'), ('ted_finality_code', 'TED Finality Code'), ('complementary_finality_code', 'Complementary Finality Code'), ('service_type', 'Service Type'), ('release_form', 'Release Form'), ('boleto_wallet', 'Boleto Wallet'), ('boleto_modality', 'Boleto Modality'), ('boleto_variation', 'Boleto Variation'), ('boleto_write_off_devolution', 'Boleto Write Off Devolution')] tracking=True
  • comment Text
  • name Char
    index=True required=True tracking=True
  • payment_method_ids Many2many → account.payment.method
    column1='payment_method_id' column2='l10n_br_cnab_code_id' comodel_name='account.payment.method' relation='l10n_br_cnab_code_payment_method_rel' required=True string='Payment Methods' tracking=True
Public methods (1)
  • check_code(self)
    @api.constrains('code')

New fields (13)
  • bank_code_bc Char
    related='bank_id.code_bc'
  • bank_id Many2one → res.bank
    comodel_name='res.bank' tracking=True
  • cnab_processor Selection
    selection='_selection_cnab_processor'
  • cnab_sequence_id Many2one → ir.sequence
    comodel_name='ir.sequence' copy=False string='Sequencia do Arquivo CNAB' tracking=True
  • comment Text
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> ondelete='restrict' required=True string='Company'
  • liq_return_move_code_ids Many2many → l10n_br_cnab.code
    comodel_name='l10n_br_cnab.code' string='CNAB Liquidity Return Move Code' tracking=True
  • name Char
    index=True required=True tracking=True
  • payment_method_code Char
    related='payment_method_id.code'
  • payment_method_id Many2one → account.payment.method
    comodel_name='account.payment.method' tracking=True
  • payment_type Selection
    related='payment_method_id.payment_type'
  • release_form Selection
    help='Campo G029 do CNAB' selection=FORMA_LANCAMENTO string='Forma Lançamento'
  • service_type Selection
    help='Campo G025 do CNAB' selection=TIPO_SERVICO string='Tipo de Serviço'
Public methods (0)

No public methods.

New fields (2)
  • code Char
    index=True tracking=True
  • name Char
    index=True tracking=True
Public methods (1)
  • check_code(self)
    @api.constrains('code')

New fields (4)
  • complementary_finality_code Char
    help='Campo P013 do CNAB' size=2 string='Código de finalidade complementar'
  • doc_finality_code Selection
    help='Campo P005 do CNAB' selection=COMPLEMENTO_TIPO_SERVICO string='Complemento do Tipo de Serviço'
  • favored_warning Selection
    default=0 help='Campo P006 do CNAB' selection=AVISO_FAVORECIDO string='Aviso ao Favorecido'
  • ted_finality_code Selection
    help='Campo P011 do CNAB' selection=CODIGO_FINALIDADE_TED string='Código Finalidade da TED'
Public methods (0)

No public methods.

New fields (31)
  • cnab_return_log_id Many2one → l10n_br_cnab.return.log
    comodel_name='l10n_br_cnab.return.log' string='CNAB Return Log'
  • company_title_identification Char
    required=False string='Identificação do Título da Empresa'
  • currency_type Char
    string='Tipo de Moeda'
  • discount_value Float
    help='Se o desconto ou abatimento é concedido na entrada do boleto\n estes campos são retornados zerados(apesar de corretamente registrados\n no Itaú). Se concedidos após a entrada, retornam com os valores\n do desconto ou abatimento.\n Na liquidação, desconto e abatimento retornam somados no campo\n desconto; opcionalmente, mediante cadastro prévio em nosso sistema,\n estes valores poderão retornar separados, conforme mostra o\n indicador 36.4 do Item 5 - Condições Personalizadas.' string='Valor do Desconto'
  • due_date Date
    string='Data de Vencimento'
  • favored_bank_account_id Many2one → res.partner.bank
    comodel_name='res.partner.bank' string='Conta Bancária'
  • favored_id Many2one → res.partner
    comodel_name='res.partner' string='Favorecido'
  • interest_fee_value Float
    string='Juros de Mora/Multa'
  • invoice_id Many2one → account.move
    comodel_name='account.move' string='Fatura'
  • iof_value Float
    string='Valor do IOF'
  • is_cnab_lot Boolean
    string='Is CNAB Lot?'
  • lot_id Many2one → l10n_br_cnab.return.lot
    comodel_name='l10n_br_cnab.return.lot' ondelete='cascade' string='Lote'
  • move_line_id Many2one → account.move.line
    comodel_name='account.move.line' ondelete='restrict' string='Journal Item'
  • occurrence_date Date
    string='Data da Ocorrência'
  • occurrences Char
    string='Ocorrências'
  • other_credits Float
    string='Outros Créditos'
  • own_number Char
    string='Nosso Número'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' string='Associado'
  • payment_line_ids Many2many → account.payment.line
    column1='cnab_log_event_payment_line_id' column2='payment_line_id' comodel_name='account.payment.line' relation='l10n_br_cnab_log_event_payment_lines_rel' string='Payment lines'
  • payment_value Float
    string='Valor do Pagamento'
  • real_payment_date Date
    string='Data do Crédito'
  • rebate_value Float
    help='Se o desconto ou abatimento é concedido na entrada do boleto\n estes campos são retornados zerados(apesar de corretamente registrados\n no Itaú). Se concedidos após a entrada, retornam com os valores\n do desconto ou abatimento.\n Na liquidação, desconto e abatimento retornam somados no campo\n desconto; opcionalmente, mediante cadastro prévio em nosso sistema,\n estes valores poderão retornar separados, conforme mostra o\n indicador 36.4 do Item 5 - Condições Personalizadas.' string='Valor do Abatimento'
  • segment Char
    string='Segmento'
  • str_motiv_a Char
    args: 'Motivo da ocorrência 01'
  • str_motiv_b Char
    args: 'Motivo de ocorrência 02'
  • str_motiv_c Char
    args: 'Motivo de ocorrência 03'
  • str_motiv_d Char
    args: 'Motivo de ocorrência 04'
  • str_motiv_e Char
    args: 'Motivo de ocorrência 05'
  • tariff_charge Float
    string='Tarifa'
  • title_value Float
    string='Valor da Linha'
  • your_number Char
    string='Seu Número'
Public methods (0)

No public methods.

New fields (17)
  • amount_total_discount Float
    string='Valor Total de Descontos'
  • amount_total_interest_fee Float
    string='Valor Total de Juros Mora/Multa'
  • amount_total_rebate Float
    string='Valor Total de Abatimentos'
  • amount_total_received Float
    string='Valor Total Recebido'
  • amount_total_tariff_charge Float
    string='Valor Total de Tarifas'
  • amount_total_title Float
    string='Valor Total Títulos'
  • bank_account_id Many2one → res.partner.bank
    comodel_name='res.partner.bank' string='Conta cedente'
  • cnab_date_file Date
    string='CNAB Date File'
  • cnab_date_import Datetime
    string='CNAB Date Import'
  • event_ids One2many → l10n_br_cnab.return.event
    comodel_name='l10n_br_cnab.return.event' inverse_name='cnab_return_log_id' string='Eventos'
  • filename Char
    string='Nome do Arquivo'
  • is_cnab_lot Boolean
    string='Is CNAB Lot?'
  • move_ids Many2many → account.move
    column1='l10n_br_cnab_return_log_id' column2='move_id' comodel_name='account.move' relation='l10n_br_cnab_return_log_move_rel' string='Journal Entries'
  • name Char
  • number_events Integer
    string='Número de Eventos'
  • number_lots Integer
    string='Número de Lotes'
  • sequential_file Char
    string='Sequencial do Arquivo'
Public methods (0)

No public methods.

New fields (9)
  • account_bank_id Many2one → res.partner.bank
    comodel_name='res.partner.bank' string='Conta Bancária'
  • company_registration_number Char
    string='Número de Inscrição'
  • company_registration_type Char
    string='Tipo de Inscrição'
  • lot_event_ids One2many → l10n_br_cnab.return.event
    comodel_name='l10n_br_cnab.return.event' inverse_name='lot_id' string='Eventos'
  • message Char
    string='Mensagem'
  • operation_service Char
    string='Tipo de Operação'
  • register_qty Integer
    string='Quantidade de Registros'
  • service_type Char
    string='Tipo do Serviço'
  • total_value Float
    string='Valor Total'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • write(self, values)
    Overriden so we can change the currency_id of base.main_company during tests

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…