| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-brazil |
| GIT | |
| GIT | https://github.com/OCA/l10n-brazil.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-brazil/tree/18.0/l10n_br_account |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Localisation |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion |
| COMMITTERS | |
| COMMITTERS | Raphaël Valyi, OCA-git-bot, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-brazil |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:10 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/l10n-brazil: - l10n_br_coa - l10n_br_fiscal - l10n_br_base OCA/product-attribute: - uom_alias odoo/odoo: - account - base_setup - base - web - onboarding - product - bus - web_tour - html_editor - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_address_extended - contacts |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
erpbrasil.base email-validator num2words phonenumbers |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | # Visão Geral O módulo `l10n_br_account` integra o motor fiscal brasileiro (`l10n_br_fiscal`) ao framework contábil nativo do Odoo (módulo `account`). Ele integra a complexa lógica da tributação e dos documentos fiscais do Brasil com as faturas e lançamentos contábeis conforme as normas de contabilidade brasileiras. O módulo atende desde a automação na emissão de notas para empresas do Simples Nacional até os cenários contábeis mais exigentes do regime normal (Lucro Real/Presumido). # Arquitetura e Integração: Decorator Pattern (`_inherits`) A arquitetura do módulo se baseia no mecanismo de herança por composição `_inherits` do Odoo para criar uma composição dinâmica entre os modelos fiscais e contábeis: * **account.move** herda de **l10n_br_fiscal.document** * **account.move.line** herda de **l10n_br_fiscal.document.line** Esta abordagem, análoga ao *Decorator Pattern*, oferece as seguintes vantagens: 1. **Gerenciamento Unificado**: Permite controlar o Documento Fiscal diretamente pela interface da Fatura do Odoo. Campos fiscais (CFOP, NCM, valores de impostos) são acessados e computados de forma transparente, como se fossem nativos do `account.move.line`. 2. **Baixíssima Redundância de Dados**: A herança por composição evita a duplicação de centenas de campos fiscais nas tabelas contábeis. A "fonte da verdade" fiscal é sempre o registro em `l10n_br_fiscal.document`, garantindo um banco de dados normalizado e consistente. 3. **Modularidade e Manutenção**: A lógica fiscal complexa permanece encapsulada no `l10n_br_fiscal`. Para assegurar a reatividade dos campos computados na interface da fatura, o módulo utiliza um *mixin* especializado (`l10n_br_account.decorator.mixin`) que gerencia a herança de métodos e campos dinâmicos. # Principais Funcionalidades e Casos de Uso # Uso Simplificado: Cálculo dos impostos e criação dos Documentos Fiscais O módulo `l10n_br_account` é a peça chave para automatizar a emissão de documentos fiscais a partir de qualquer fluxo de negócio que gere uma fatura no Odoo, como: * Ordens de Venda (`sale.order`) * Ordens de Compra (`purchase.order`) * Movimentações de Estoque (`stock.picking`) * Contratos (`contract.contract`), entre outros. A **Operação Fiscal** pré-configurada orquestra o preenchimento automático de todos os dados necessários, permitindo a geração de NF-e, NFS-e e outros documentos com mínima intervenção. # Uso Avançado: Lançamentos contábeis corretos para as empresas do Regime Normal Para empresas no Lucro Real ou Presumido, o `l10n_br_account` habilita uma gestão contábil e fiscal precisa e aderente à legislação. * **Lançamentos Contábeis de Impostos**: Conecta os impostos fiscais (`l10n_br_fiscal.tax`) aos contábeis (`account.tax`), garantindo que a validação de uma fatura gere os lançamentos corretos para ICMS, IPI, PIS, COFINS, etc., em suas respectivas contas (custo, recuperável, despesa). * **Operações Sem Impacto Financeiro**: Suporta operações como "Remessa para Industrialização", permitindo a emissão do documento fiscal obrigatório e o lançamento correto dos impostos, mas sem gerar contas a pagar ou a receber, mantendo a integridade fiscal e contábil. * **Composição de Valores Financeiros**: Gerencia a correta composição do valor financeiro das faturas. Por exemplo, assegura que o valor do IPI, quando não recuperável, seja somado ao contas a pagar do fornecedor. * **Importação de Documentos (XML)**: Facilita a importação de documentos de fornecedores, criando simultaneamente o `l10n_br_fiscal.document` com os dados fiscais e a fatura de fornecedor (`account.move`) pronta para validação e pagamento. # Escopo e Delimitação do Módulo O nome `l10n_br_account` deriva do módulo `account`, que ele estende. É importante notar que o módulo `account` do Odoo, em sua essência, é focado em faturamento, embora contenha os conceitos fundamentais de planos de contas e lançamentos contábeis. Para uma contabilidade completa de uma empresa no regime normal, mesmo utilizando o Odoo Enterprise, é necessária a instalação de dezenas de módulos adicionais da OCA, provenientes de diversos repositórios da OCA. O `l10n_br_account`, apesar do nome, **não substitui** este ecossistema. Ele se concentra na ponte fiscal-contábil. Funções como conciliação avançada (através de módulos como `account_reconcile`), gestão de ordens de pagamento, integração bancária (CNAB) e importação de extratos são tratadas por dezenas de outros módulos específicos da OCA... Por outro lado, é importante ressaltar que os autores deste módulo possuem clientes do regime normal com uma contabilidade significativamente mais completa do que a oferecida nativamente pelo Odoo Enterprise, baseando-se exclusivamente em módulos de código aberto da OCA. Alcançar tal nível de sofisticação, no entanto, exige anos de experiência em implementação e uma escolha estratégica da versão do Odoo. É importante evitar versões muito recentes, para as quais o ecossistema de módulos da OCA ainda não atingiu a maturidade e estabilidade necessárias após o processo de migração (uma versão nova do Odoo mal tem 500 módulos da OCA migrados depois de 6 meses, mas tem quase 2000 depois de um ano e quase 3000 depois de 3 anos). Vale a pena mencionar que lançamentos de Custo da Mercadoria Vendida (CMV) e outros lançamentos de contabilidade de estoque IFRS/IAS2, são tipicamente realizados através da combinação do módulo nativo `stock_account`, do `l10n_br_stock_account` (deste mesmo repo) e da ativação do modo "anglo-saxon" no seu plano de contas. # Detalhes sobre o modelo de dados # Cardinalidade: Documentos Fiscais e Lançamentos Contábeis A arquitetura suporta cenários onde um único lançamento financeiro (`account.move`) agrupa múltiplos documentos fiscais, como uma fatura única para pagar vários Conhecimentos de Transporte (CT-e). Esta flexibilidade é garantida por três campos-chave: * **account.move.fiscal_document_id**: O campo `Many2one` que implementa o `_inherits`. Representa o documento fiscal "principal" ou em edição na interface da fatura. * **account.move.line.fiscal_document_line_id**: O pilar da arquitetura. Permite que **cada linha** da fatura aponte para uma linha de um documento fiscal distinto. É isso que possibilita agregar múltiplos documentos em um único `account.move`. * **account.move.fiscal_document_ids**: Campo `One2many` computado que agrega todos os documentos fiscais vinculados às linhas da fatura, oferecendo uma visão completa e consolidada quando o lançamento tem mais de um documento fiscal. A flexibilidade do design é bidirecional. O sistema também gerencia nativamente cenários onde **um lançamento contábil (`account.move`) não possui nenhum documento fiscal associado**. Isso é fundamental para operações puramente contábeis ou não fiscais, como: * Lançamentos de folha de pagamento. * Operações financeiras ou contábeis em empresas de um grupo multinacional que não operam no Brasil. Além disso, mesmo dentro de uma fatura fiscalizada, a associação é granular. Apenas as linhas de produto (`invoice_line_ids` com `display_type='product'`) são vinculadas a uma `l10n_br_fiscal.document.line`. Linhas de impostos, de contas a pagar/receber, ou linhas de anotação/seção permanecem como lançamentos puramente contábeis, sem linha de documento fiscal específica. # Observação sobre a Normalização do Modelo de Dados Idealmente, o modelo de dados teria redundância zero. Contudo, para simplificar a injeção de mixins fiscais — em especial o `l10n_br_fiscal.document.line.mixin` — e alavancar a lógica nativa do Odoo, foi uma decisão de design manter a nomenclatura de um pequeno e controlado conjunto de campos, como `partner_id`, `company_id`, `user_id`, `currency_id`, `product_id`, `quantity`, `price_unit` e `name`. Como consequência, existe uma redundância mínima e gerenciada. Considerando os milhares de campos necessários para a diversidade de documentos fiscais brasileiros, apenas cerca de quatro campos do `account.move` e quatro do `account.move.line` são efetivamente duplicados. Para garantir a integridade, estes campos (apelidados de *shadow fields*) são cuidadosamente sincronizados em tempo real, inclusive durante a edição de novos registros em memória (fase `NewId`), assegurando total consistência entre a fatura e o documento fiscal. # A Separação Estratégica dos Mixins Fiscais No caso do `account.move`, o objetivo era obter os campos do `l10n_br_fiscal.document` sem duplicá-los (o que o `_inherits` faz perfeitamente), mas também precisávamos de seus métodos (como `_compute_fiscal_tax_ids` ou `_compute_tax_fields`). Se usássemos `_inherit` no mixin principal (`l10n_br_fiscal.document.mixin`), teríamos os métodos, mas os campos seriam duplicados, quebrando o princípio de normalização. Por outro lado, modelos como `sale.order` e `purchase.order` não são uma representação de um documento fiscal, mas sim precursores dele. Portanto, eles podem usar uma herança simples (`_inherit`) diretamente no mixin principal (`l10n_br_fiscal.document.mixin`), pois precisam tanto dos campos quanto dos métodos para preparar os dados que serão posteriormente utilizados na geração do documento fiscal. # Modelo UML Simplificado   # Aviso Importante: Pré-requisitos e Complexidade Para utilizar o `l10n_br_account` de forma eficaz, é necessário ter domínio aprofundado de dois ecossistemas complexos: o módulo `account` nativo do Odoo e o motor `l10n_br_fiscal` deste repositório. O `account` é o maior e mais intrincado módulo do Odoo, constituindo por si só um ERP financeiro completo, e não apenas um simples software de emissão de notas para microempresas. Por sua vez, o `l10n_br_fiscal` é o maior módulo entre os mais de 3000 disponíveis na OCA. Este módulo, `l10n_br_account`, está também entre os três mais complexos da localização brasileira e exige um uso avançado do ORM do Odoo para gerenciar a dualidade documento fiscal/lançamento contábil. A implementação bem-sucedida de um ERP estrangeiro no Brasil é uma tarefa que demanda profissionais altamente qualificados, com anos de experiência em programação backend (Python) e implantação de verdadeiros sistemas ERP. Uma implementação não se resume a baixar e instalar módulo (apenas 1% do trabalho); envolve análise de processos, configuração, migração de dados e customizações, migração de modulos OCA a partir de outras versões... Subestimar essa complexidade invariavelmente leva a projetos problemáticos e custos elevados no longo prazo. Este aviso serve para alinhar expectativas e reforçar que o sucesso de uma implantação Odoo no Brasil depende de expertise técnica e funcional aprofundada. Infelizmente, este mercado atrai aventureiros que subestimam essa complexidade ou que vendem projetos acreditando ser possível terceirizar a execução sem grande compromisso com a entrega, explorando a falta de informação do cliente. Este cenário caracteriza um "market for lemons", onde a assimetria de informação torna difícil distinguir entre fornecedores qualificados e despreparados, impedindo o desenvolvimento de um mercado de implementação maduro. Agravando a situação, onde se esperaria uma garantia criteriosa de qualidade, o ecossistema corporativo "oficial" investe pesadamente em propaganda para mascarar essa realidade, promovendo uma visão onde a consultoria de implementação é tratada como uma commodity. Esse modelo, focado em comissões pela venda de licenças (muitas vezes desnecessárias ao utilizar o ecossistema da OCA), alimenta um mercado paralelo notório de "parceiros fantoches/bucha de canhão" que compram certificações oficiais de empresas estrangeiras para simular uma competência que não possuem. Cuidado com profissionais que ostentam certificações compradas para transferir a responsabilidade da implementação sem o devido suporte ou conhecimento real. Não se deixe enganar por narrativas que simplificam a complexidade do projeto para priorizar a venda de licenças! # Conclusão O `l10n_br_account` possui um design robusto que unifica as complexas lógicas fiscal e contábil do Brasil dentro do Odoo. Sua arquitetura, projetada por especialistas para especialistas, oferece uma plataforma flexível e confiável, capaz de sustentar operações de alta complexidade e garantir a conformidade fiscal e contábil das empresas que utilizam a localização brasileira da OCA. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_document_form_inherit |
l10n_br_account.document.form.inherit | l10n_br_fiscal.document | xpath | Inherits l10n_br_fiscal.document_form |
account_move_reversal_form |
account.move.reversal.form | account.move.reversal | field | Inherits account.view_account_move_reversal |
document_import_wizard_form |
l10n_br_account.document.import.wizard.form | l10n_br_fiscal.document.import.wizard | button | Inherits l10n_br_fiscal.document_import_wizard_form |
document_line_form |
l10n_br_fiscal.document.line.form | l10n_br_fiscal.document.line | field | Inherits l10n_br_fiscal.document_line_form |
fiscal_operation_form |
fiscal.operation.form | l10n_br_fiscal.operation | page | Inherits l10n_br_fiscal.operation_form |
fiscal_operation_line_form |
fiscal.operation.line.form | l10n_br_fiscal.operation.line | field | Inherits l10n_br_fiscal.operation_line_form |
fiscal_operation_search |
fiscal.operation.search | l10n_br_fiscal.operation | filter | Inherits l10n_br_fiscal.operation_search |
fiscal_operation_tree |
fiscal.operation.tree | l10n_br_fiscal.operation | field | Inherits l10n_br_fiscal.operation_tree |
invoice_form |
l10n_br_account.invoice.form | account.move | div | Inherits account.view_move_form |
invoice_search |
l10n_br_account.invoice.search | account.move | field | Inherits account.view_account_invoice_filter |
invoice_tree |
l10n_br_account.invoice.tree | account.move | field | Inherits account.view_invoice_tree |
l10n_br_account_partner_form |
l10n_br_account.res.partner.form | res.partner | group | Inherits account.view_partner_property_form |
l10n_br_account_product_view_account_invoice_report_search |
l10n_br_account.invoice.report.search | account.invoice.report | filter | Inherits account.view_account_invoice_report_search |
l10n_br_account_tax_form |
l10n_br_account.tax.form | account.tax | field | Inherits account.view_tax_form |
No new fields.
Public methods (1)load_fiscal_taxes(self, companies=None)
No new fields.
Public methods (1)name_get(self)
cest_id
Many2one → l10n_br_fiscal.cest
comodel_name='l10n_br_fiscal.cest'
string='CEST'
cfop_id
Many2one → l10n_br_fiscal.cfop
comodel_name='l10n_br_fiscal.cfop'
string='CFOP'
cofins_value
Float
digits='Account'
string='COFINS Value'
discount_value
Float
digits='Account'
document_serie_id
Many2one → l10n_br_fiscal.document.serie
comodel_name='l10n_br_fiscal.document.serie'
document_type_id
Many2one → l10n_br_fiscal.document.type
comodel_name='l10n_br_fiscal.document.type'
string='Fiscal Document Type'
fiscal_operation_id
Many2one → l10n_br_fiscal.operation
comodel_name='l10n_br_fiscal.operation'
string='Operation'
fiscal_operation_line_id
Many2one → l10n_br_fiscal.operation.line
comodel_name='l10n_br_fiscal.operation.line'
string='Operation Line'
fiscal_type
Selection
selection=PRODUCT_FISCAL_TYPE
freight_value
Float
digits='Account'
icms_destination_value
Float
digits='Account'
string='Valor Difal Destino'
icms_origin_value
Float
digits='Account'
string='Valor Difal Origem'
icms_value
Float
digits='Account'
string='Valor ICMS'
icmsfcp_value
Float
digits='Account'
string='Valor Difal FCP'
icmsst_value
Float
digits='Account'
string='Valor ICMS ST'
ii_value
Float
digits='Account'
string='II Value'
insurance_value
Float
digits='Account'
ipi_value
Float
digits='Account'
string='IPI Value'
issqn_value
Float
digits='Account'
issuer
Selection
selection=DOCUMENT_ISSUER
nbm_id
Many2one → l10n_br_fiscal.nbm
comodel_name='l10n_br_fiscal.nbm'
string='NBM'
ncm_id
Many2one → l10n_br_fiscal.ncm
comodel_name='l10n_br_fiscal.ncm'
string='NCM'
other_value
Float
digits='Account'
pis_value
Float
digits='Account'
string='PIS Value'
service_type_id
Many2one → l10n_br_fiscal.service.type
comodel_name='l10n_br_fiscal.service.type'
No public methods.
No new fields.
Public methods (1)create_document_from_attachment(self, attachment_ids=None)
document_electronic
Boolean
related='document_type_id.electronic'
string='Electronic?'
fiscal_document_id
Many2one → l10n_br_fiscal.document
comodel_name='l10n_br_fiscal.document'
copy=False
ondelete='cascade'
readonly=False
store=True
string='Fiscal Document'
fiscal_document_ids
One2many → l10n_br_fiscal.document
comodel_name='l10n_br_fiscal.document'
compute='_compute_fiscal_document_ids'
help='In some rare cases (NFS-e, CT-e...) a single account.move\n may have several different fiscal documents related to its account.move.lines.\n '
string='Fiscal Documents'
fiscal_operation_type
Selection
compute='_compute_fiscal_operation_type'
related=None
selection=FISCAL_IN_OUT_ALL
action_document_back2draft(self)
action_document_cancel(self)
action_document_correction(self)
action_document_invalidate(self)
action_document_send(self)
action_send_email(self)
action_view_invoice(self)
button_cancel(self)
button_draft(self)
button_import_fiscal_document(self)
copy_data(self, default=None)
create(self, vals_list)
default_get(self, fields_list)
ensure_one_doc(self)
import_fiscal_document(self, fiscal_document, move_id=None, move_type='in_invoice')
open_fiscal_document(self)
unlink(self)
update_payment_term_number(self)
view_pdf(self)
view_xml(self)
write(self, vals)
discount
Float
compute='_compute_discounts'
store=True
document_type_id
Many2one → l10n_br_fiscal.document.type
comodel_name='l10n_br_fiscal.document.type'
related='move_id.document_type_id'
string='Fiscal Document Type'
fiscal_document_line_id
Many2one → l10n_br_fiscal.document.line
comodel_name='l10n_br_fiscal.document.line'
copy=False
ondelete='cascade'
string='Fiscal Document Line'
name
Char
inverse='_inverse_name'
payment_term_number
Char
help="Stores the installment number in the format 'current-total'. For example, '1-3' for the first of three installments, '2-3' for the second, and '3-3' for the last installment."
price_unit
Float
inverse='_inverse_price_unit'
product_uom_id
Many2one
inverse='_inverse_product_uom_id'
quantity
Float
inverse='_inverse_quantity'
copy_data(self, default=None)
create(self, vals_list)
default_get(self, fields_list)
unlink(self)
write(self, values)
force_fiscal_operation_id
Many2one → l10n_br_fiscal.operation
comodel_name='l10n_br_fiscal.operation'
string='Force Fiscal Operation'
force_fiscal_operation_journal_id
Many2one
related='force_fiscal_operation_id.journal_id'
journal_id
Many2one
compute='_compute_journal_id'
precompute=True
store=True
reverse_moves(self, is_modify=False)
fiscal_tax_ids
One2many → l10n_br_fiscal.tax
comodel_name='l10n_br_fiscal.tax'
related='tax_group_id.fiscal_tax_group_id.tax_ids'
string='Fiscal Taxes'
compute_all(self, price_unit, currency=None, quantity=1.0, product=None, partner=None, is_refund=False, handle_price_include=True, include_caba_tags=False, rounding_method=None, fixed_multiplicator=1, fiscal_taxes=None, operation_line=False, ncm=None, nbs=None, nbm=None, cest=None, cfop=None, discount_value=None, insurance_value=None, other_value=None, ii_customhouse_charges=None, freight_value=None, fiscal_price=None, fiscal_quantity=None, uot_id=None, icmssn_range=None, icms_origin=None, ind_final=FINAL_CUSTOMER_NO)
fiscal_tax_group_id
Many2one → l10n_br_fiscal.tax.group
comodel_name='l10n_br_fiscal.tax.group'
string='Fiscal Tax Group'
deductible_tax(self, type_tax_use='sale')
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)create(self, vals_list)
company_id
Many2one
default=None
precompute=True
readonly=False
related='proxy_company_id'
store=True
date_in_out
Datetime
compute='_compute_date_in_out'
inverse='_inverse_date_in_out'
store=True
document_date
Datetime
compute='_compute_document_date'
inverse='_inverse_document_date'
store=True
fiscal_line_ids
One2many
copy=False
incoterm_id
Many2one → account.incoterms
comodel_name='account.incoterms'
compute='_compute_incoterm_id'
inverse='_inverse_incoterm_id'
string='Fiscal Inconterm'
move_count
Integer
compute='_compute_move_count'
readonly=True
string='Invoice count'
move_ids
One2many → account.move
comodel_name='account.move'
inverse_name='fiscal_document_id'
string='Invoices'
partner_id
Many2one
precompute=True
readonly=False
related='proxy_partner_id'
store=True
partner_shipping_id
Many2one
precompute=True
readonly=False
related='proxy_partner_shipping_id'
store=True
proxy_company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
help='Technical Field.'
string='Company (proxy)'
proxy_partner_id
Many2one → res.partner
comodel_name='res.partner'
help='Technical Field.'
string='Partner (proxy)'
proxy_partner_shipping_id
Many2one → res.partner
comodel_name='res.partner'
help='Technical Field.'
string='Shipping Partner (proxy)'
proxy_user_id
Many2one → res.users
comodel_name='res.users'
help='Technical Field.'
string='User (proxy)'
user_id
Many2one
default=None
precompute=True
readonly=False
related='proxy_user_id'
store=True
action_document_back2draft(self)
action_document_confirm(self)
action_view_invoice(self)
cancel_move_ids(self)
create(self, vals_list)
exec_after_SITUACAO_EDOC_DENEGADA(self, old_state, new_state)
message_post(self, **kwargs)
unlink(self)
first_imported_move_id
Integer
action_import_and_open_move(self)
account_line_ids
One2many → account.move.line
comodel_name='account.move.line'
inverse_name='fiscal_document_line_id'
string='Invoice Lines'
company_id
Many2one → res.company
comodel_name='res.company'
precompute=True
readonly=False
related='proxy_company_id'
store=True
string='Company'
document_id
Many2one → l10n_br_fiscal.document
check_company=True
comodel_name='l10n_br_fiscal.document'
compute='_compute_document_id'
index=True
ondelete='cascade'
precompute=True
readonly=False
store=True
string='Fiscal Document (Account)'
move_id
Many2one → account.move
comodel_name='account.move'
precompute=True
related='account_line_ids.move_id'
store=True
string='Invoice'
name
Char
compute='_compute_name'
precompute=True
readonly=False
store=True
product_id
Many2one → product.product
comodel_name='product.product'
precompute=True
readonly=False
related='proxy_product_id'
store=True
string='Product'
proxy_company_id
Many2one → res.company
comodel_name='res.company'
help='Technical Field.'
precompute=True
readonly=False
related='document_id.company_id'
store=True
string='Company (proxy)'
proxy_name
Char
help='Technical Field.'
string='Name (proxy)'
proxy_partner_id
Many2one → res.partner
comodel_name='res.partner'
help='Technical Field.'
string='Partner (proxy)'
proxy_price_unit
Float
help='Technical mirror.'
string='Unit Price (proxy)'
proxy_product_id
Many2one → product.product
comodel_name='product.product'
string='Product (proxy)'
proxy_quantity
Float
help='Technical Field.'
string='Quantity (proxy)'
quantity
Float
precompute=True
readonly=False
related='proxy_quantity'
store=True
string='Quantity'
uom_id
Many2one
inverse='_inverse_uom_id'
create(self, vals_list)
deductible_taxes
Boolean
company_dependent=True
fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
company_dependent=True
string='Fiscal Position'
journal_id
Many2one → account.journal
comodel_name='account.journal'
company_dependent=True
domain="[('type', 'in', {'out': ['sale', 'general'], 'in': ['purchase', 'general'], 'all': ['sale', 'purchase', 'general']}.get(fiscal_operation_type, []))]"
string='Account Journal'
No public methods.
fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
company_dependent=True
string='Fiscal Position'
No public methods.
No new fields.
Public methods (3)account_taxes(self, user_type='sale', fiscal_operation=False, company=False)
create(self, vals_list)
unlink(self)
No new fields.
Public methods (1)account_tax_group(self)
No new fields.
Public methods (1)write(self, values)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-brazil |
| GIT | |
| GIT | https://github.com/OCA/l10n-brazil.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-brazil/tree/17.0/l10n_br_account |
| VERSION | |
| VERSION | 1.0.2 |
| CATEGORY | |
| CATEGORY | Localisation |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion |
| COMMITTERS | |
| COMMITTERS | Raphaël Valyi, Weblate, OCA-git-bot, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-brazil |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:20:04 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/l10n-brazil: - l10n_br_coa - l10n_br_fiscal - l10n_br_base OCA/product-attribute: - uom_alias odoo/odoo: - account - base_setup - base - web - onboarding - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_address_extended - contacts |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
erpbrasil.base email-validator num2words phonenumbers |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | # Visão Geral O módulo `l10n_br_account` integra o motor fiscal brasileiro (`l10n_br_fiscal`) ao framework contábil nativo do Odoo (módulo `account`). Ele integra a complexa lógica da tributação e dos documentos fiscais do Brasil com as faturas e lançamentos contábeis conforme as normas de contabilidade brasileiras. O módulo atende desde a automação na emissão de notas para empresas do Simples Nacional até os cenários contábeis mais exigentes do regime normal (Lucro Real/Presumido). # Arquitetura e Integração: Decorator Pattern (`_inherits`) A arquitetura do módulo se baseia no mecanismo de herança por composição `_inherits` do Odoo para criar uma composição dinâmica entre os modelos fiscais e contábeis: * **account.move** herda de **l10n_br_fiscal.document** * **account.move.line** herda de **l10n_br_fiscal.document.line** Esta abordagem, análoga ao *Decorator Pattern*, oferece as seguintes vantagens: 1. **Gerenciamento Unificado**: Permite controlar o Documento Fiscal diretamente pela interface da Fatura do Odoo. Campos fiscais (CFOP, NCM, valores de impostos) são acessados e computados de forma transparente, como se fossem nativos do `account.move.line`. 2. **Baixíssima Redundância de Dados**: A herança por composição evita a duplicação de centenas de campos fiscais nas tabelas contábeis. A "fonte da verdade" fiscal é sempre o registro em `l10n_br_fiscal.document`, garantindo um banco de dados normalizado e consistente. 3. **Modularidade e Manutenção**: A lógica fiscal complexa permanece encapsulada no `l10n_br_fiscal`. Para assegurar a reatividade dos campos computados na interface da fatura, o módulo utiliza um *mixin* especializado (`l10n_br_account.decorator.mixin`) que gerencia a herança de métodos e campos dinâmicos. # Principais Funcionalidades e Casos de Uso # Uso Simplificado: Cálculo dos impostos e criação dos Documentos Fiscais O módulo `l10n_br_account` é a peça chave para automatizar a emissão de documentos fiscais a partir de qualquer fluxo de negócio que gere uma fatura no Odoo, como: * Ordens de Venda (`sale.order`) * Ordens de Compra (`purchase.order`) * Movimentações de Estoque (`stock.picking`) * Contratos (`contract.contract`), entre outros. A **Operação Fiscal** pré-configurada orquestra o preenchimento automático de todos os dados necessários, permitindo a geração de NF-e, NFS-e e outros documentos com mínima intervenção. # Uso Avançado: Lançamentos contábeis corretos para as empresas do Regime Normal Para empresas no Lucro Real ou Presumido, o `l10n_br_account` habilita uma gestão contábil e fiscal precisa e aderente à legislação. * **Lançamentos Contábeis de Impostos**: Conecta os impostos fiscais (`l10n_br_fiscal.tax`) aos contábeis (`account.tax`), garantindo que a validação de uma fatura gere os lançamentos corretos para ICMS, IPI, PIS, COFINS, etc., em suas respectivas contas (custo, recuperável, despesa). * **Operações Sem Impacto Financeiro**: Suporta operações como "Remessa para Industrialização", permitindo a emissão do documento fiscal obrigatório e o lançamento correto dos impostos, mas sem gerar contas a pagar ou a receber, mantendo a integridade fiscal e contábil. * **Composição de Valores Financeiros**: Gerencia a correta composição do valor financeiro das faturas. Por exemplo, assegura que o valor do IPI, quando não recuperável, seja somado ao contas a pagar do fornecedor. * **Importação de Documentos (XML)**: Facilita a importação de documentos de fornecedores, criando simultaneamente o `l10n_br_fiscal.document` com os dados fiscais e a fatura de fornecedor (`account.move`) pronta para validação e pagamento. # Escopo e Delimitação do Módulo O nome `l10n_br_account` deriva do módulo `account`, que ele estende. É importante notar que o módulo `account` do Odoo, em sua essência, é focado em faturamento, embora contenha os conceitos fundamentais de planos de contas e lançamentos contábeis. Para uma contabilidade completa de uma empresa no regime normal, mesmo utilizando o Odoo Enterprise, é necessária a instalação de dezenas de módulos adicionais da OCA, provenientes de diversos repositórios da OCA. O `l10n_br_account`, apesar do nome, **não substitui** este ecossistema. Ele se concentra na ponte fiscal-contábil. Funções como conciliação avançada (através de módulos como `account_reconcile`), gestão de ordens de pagamento, integração bancária (CNAB) e importação de extratos são tratadas por dezenas de outros módulos específicos da OCA... Por outro lado, é importante ressaltar que os autores deste módulo possuem clientes do regime normal com uma contabilidade significativamente mais completa do que a oferecida nativamente pelo Odoo Enterprise, baseando-se exclusivamente em módulos de código aberto da OCA. Alcançar tal nível de sofisticação, no entanto, exige anos de experiência em implementação e uma escolha estratégica da versão do Odoo. É importante evitar versões muito recentes, para as quais o ecossistema de módulos da OCA ainda não atingiu a maturidade e estabilidade necessárias após o processo de migração (uma versão nova do Odoo mal tem 500 módulos da OCA migrados depois de 6 meses, mas tem quase 2000 depois de um ano e quase 3000 depois de 3 anos). Vale a pena mencionar que lançamentos de Custo da Mercadoria Vendida (CMV) e outros lançamentos de contabilidade de estoque IFRS/IAS2, são tipicamente realizados através da combinação do módulo nativo `stock_account`, do `l10n_br_stock_account` (deste mesmo repo) e da ativação do modo "anglo-saxon" no seu plano de contas. # Detalhes sobre o modelo de dados # Cardinalidade: Documentos Fiscais e Lançamentos Contábeis A arquitetura suporta cenários onde um único lançamento financeiro (`account.move`) agrupa múltiplos documentos fiscais, como uma fatura única para pagar vários Conhecimentos de Transporte (CT-e). Esta flexibilidade é garantida por três campos-chave: * **account.move.fiscal_document_id**: O campo `Many2one` que implementa o `_inherits`. Representa o documento fiscal "principal" ou em edição na interface da fatura. * **account.move.line.fiscal_document_line_id**: O pilar da arquitetura. Permite que **cada linha** da fatura aponte para uma linha de um documento fiscal distinto. É isso que possibilita agregar múltiplos documentos em um único `account.move`. * **account.move.fiscal_document_ids**: Campo `One2many` computado que agrega todos os documentos fiscais vinculados às linhas da fatura, oferecendo uma visão completa e consolidada quando o lançamento tem mais de um documento fiscal. A flexibilidade do design é bidirecional. O sistema também gerencia nativamente cenários onde **um lançamento contábil (`account.move`) não possui nenhum documento fiscal associado**. Isso é fundamental para operações puramente contábeis ou não fiscais, como: * Lançamentos de folha de pagamento. * Operações financeiras ou contábeis em empresas de um grupo multinacional que não operam no Brasil. Além disso, mesmo dentro de uma fatura fiscalizada, a associação é granular. Apenas as linhas de produto (`invoice_line_ids` com `display_type='product'`) são vinculadas a uma `l10n_br_fiscal.document.line`. Linhas de impostos, de contas a pagar/receber, ou linhas de anotação/seção permanecem como lançamentos puramente contábeis, sem linha de documento fiscal específica. # Observação sobre a Normalização do Modelo de Dados Idealmente, o modelo de dados teria redundância zero. Contudo, para simplificar a injeção de mixins fiscais — em especial o `l10n_br_fiscal.document.line.mixin` — e alavancar a lógica nativa do Odoo, foi uma decisão de design manter a nomenclatura de um pequeno e controlado conjunto de campos, como `partner_id`, `company_id`, `user_id`, `currency_id`, `product_id`, `quantity`, `price_unit` e `name`. Como consequência, existe uma redundância mínima e gerenciada. Considerando os milhares de campos necessários para a diversidade de documentos fiscais brasileiros, apenas cerca de quatro campos do `account.move` e quatro do `account.move.line` são efetivamente duplicados. Para garantir a integridade, estes campos (apelidados de *shadow fields*) são cuidadosamente sincronizados em tempo real, inclusive durante a edição de novos registros em memória (fase `NewId`), assegurando total consistência entre a fatura e o documento fiscal. # A Separação Estratégica dos Mixins Fiscais No caso do `account.move`, o objetivo era obter os campos do `l10n_br_fiscal.document` sem duplicá-los (o que o `_inherits` faz perfeitamente), mas também precisávamos de seus métodos (como `_compute_fiscal_tax_ids` ou `_compute_tax_fields`). Se usássemos `_inherit` no mixin principal (`l10n_br_fiscal.document.mixin`), teríamos os métodos, mas os campos seriam duplicados, quebrando o princípio de normalização. Por outro lado, modelos como `sale.order` e `purchase.order` não são uma representação de um documento fiscal, mas sim precursores dele. Portanto, eles podem usar uma herança simples (`_inherit`) diretamente no mixin principal (`l10n_br_fiscal.document.mixin`), pois precisam tanto dos campos quanto dos métodos para preparar os dados que serão posteriormente utilizados na geração do documento fiscal. # Modelo UML Simplificado   # Aviso Importante: Pré-requisitos e Complexidade Para utilizar o `l10n_br_account` de forma eficaz, é necessário ter domínio aprofundado de dois ecossistemas complexos: o módulo `account` nativo do Odoo e o motor `l10n_br_fiscal` deste repositório. O `account` é o maior e mais intrincado módulo do Odoo, constituindo por si só um ERP financeiro completo, e não apenas um simples software de emissão de notas para microempresas. Por sua vez, o `l10n_br_fiscal` é o maior módulo entre os mais de 3000 disponíveis na OCA. Este módulo, `l10n_br_account`, está também entre os três mais complexos da localização brasileira e exige um uso avançado do ORM do Odoo para gerenciar a dualidade documento fiscal/lançamento contábil. A implementação bem-sucedida de um ERP estrangeiro no Brasil é uma tarefa que demanda profissionais altamente qualificados, com anos de experiência em programação backend (Python) e implantação de verdadeiros sistemas ERP. Uma implementação não se resume a baixar e instalar módulo (apenas 1% do trabalho); envolve análise de processos, configuração, migração de dados e customizações, migração de modulos OCA a partir de outras versões... Subestimar essa complexidade invariavelmente leva a projetos problemáticos e custos elevados no longo prazo. Este aviso serve para alinhar expectativas e reforçar que o sucesso de uma implantação Odoo no Brasil depende de expertise técnica e funcional aprofundada. Infelizmente, este mercado atrai aventureiros que subestimam essa complexidade ou que vendem projetos acreditando ser possível terceirizar a execução sem grande compromisso com a entrega, explorando a falta de informação do cliente. Este cenário caracteriza um "market for lemons", onde a assimetria de informação torna difícil distinguir entre fornecedores qualificados e despreparados, impedindo o desenvolvimento de um mercado de implementação maduro. Agravando a situação, onde se esperaria uma garantia criteriosa de qualidade, o ecossistema corporativo "oficial" investe pesadamente em propaganda para mascarar essa realidade, promovendo uma visão onde a consultoria de implementação é tratada como uma commodity. Esse modelo, focado em comissões pela venda de licenças (muitas vezes desnecessárias ao utilizar o ecossistema da OCA), alimenta um mercado paralelo notório de "parceiros fantoches/bucha de canhão" que compram certificações oficiais de empresas estrangeiras para simular uma competência que não possuem. Cuidado com profissionais que ostentam certificações compradas para transferir a responsabilidade da implementação sem o devido suporte ou conhecimento real. Não se deixe enganar por narrativas que simplificam a complexidade do projeto para priorizar a venda de licenças! # Conclusão O `l10n_br_account` possui um design robusto que unifica as complexas lógicas fiscal e contábil do Brasil dentro do Odoo. Sua arquitetura, projetada por especialistas para especialistas, oferece uma plataforma flexível e confiável, capaz de sustentar operações de alta complexidade e garantir a conformidade fiscal e contábil das empresas que utilizam a localização brasileira da OCA. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_document_form_inherit |
l10n_br_account.document.form.inherit | l10n_br_fiscal.document | xpath | Inherits l10n_br_fiscal.document_form |
account_move_reversal_form |
account.move.reversal.form | account.move.reversal | field | Inherits account.view_account_move_reversal |
document_import_wizard_form |
l10n_br_account.document.import.wizard.form | l10n_br_fiscal.document.import.wizard | button | Inherits l10n_br_fiscal.document_import_wizard_form |
document_line_form |
l10n_br_fiscal.document.line.form | l10n_br_fiscal.document.line | field | Inherits l10n_br_fiscal.document_line_form |
fiscal_operation_form |
fiscal.operation.form | l10n_br_fiscal.operation | page | Inherits l10n_br_fiscal.operation_form |
fiscal_operation_line_form |
fiscal.operation.line.form | l10n_br_fiscal.operation.line | field | Inherits l10n_br_fiscal.operation_line_form |
fiscal_operation_search |
fiscal.operation.search | l10n_br_fiscal.operation | filter | Inherits l10n_br_fiscal.operation_search |
fiscal_operation_tree |
fiscal.operation.tree | l10n_br_fiscal.operation | field | Inherits l10n_br_fiscal.operation_tree |
invoice_form |
l10n_br_account.invoice.form | account.move | div | Inherits account.view_move_form |
invoice_search |
l10n_br_account.invoice.search | account.move | field | Inherits account.view_account_invoice_filter |
invoice_tree |
l10n_br_account.invoice.tree | account.move | field | Inherits account.view_invoice_tree |
l10n_br_account_partner_form |
l10n_br_account.res.partner.form | res.partner | group | Inherits account.view_partner_property_form |
l10n_br_account_product_view_account_invoice_report_search |
l10n_br_account.invoice.report.search | account.invoice.report | filter | Inherits account.view_account_invoice_report_search |
l10n_br_account_tax_form |
l10n_br_account.tax.form | account.tax | field | Inherits account.view_tax_form |
No new fields.
Public methods (1)load_fiscal_taxes(self, companies=None)
No new fields.
Public methods (1)name_get(self)
cest_id
Many2one → l10n_br_fiscal.cest
comodel_name='l10n_br_fiscal.cest'
string='CEST'
cfop_id
Many2one → l10n_br_fiscal.cfop
comodel_name='l10n_br_fiscal.cfop'
string='CFOP'
cofins_value
Float
digits='Account'
string='COFINS Value'
discount_value
Float
digits='Account'
document_serie_id
Many2one → l10n_br_fiscal.document.serie
comodel_name='l10n_br_fiscal.document.serie'
document_type_id
Many2one → l10n_br_fiscal.document.type
comodel_name='l10n_br_fiscal.document.type'
fiscal_operation_id
Many2one → l10n_br_fiscal.operation
comodel_name='l10n_br_fiscal.operation'
string='Operation'
fiscal_operation_line_id
Many2one → l10n_br_fiscal.operation.line
comodel_name='l10n_br_fiscal.operation.line'
string='Operation Line'
fiscal_type
Selection
selection=PRODUCT_FISCAL_TYPE
freight_value
Float
digits='Account'
icms_destination_value
Float
digits='Account'
string='Valor Difal Destino'
icms_origin_value
Float
digits='Account'
string='Valor Difal Origem'
icms_value
Float
digits='Account'
string='Valor ICMS'
icmsfcp_value
Float
digits='Account'
string='Valor Difal FCP'
icmsst_value
Float
digits='Account'
string='Valor ICMS ST'
ii_value
Float
digits='Account'
string='II Value'
insurance_value
Float
digits='Account'
ipi_value
Float
digits='Account'
string='IPI Value'
issqn_value
Float
digits='Account'
issuer
Selection
selection=DOCUMENT_ISSUER
nbm_id
Many2one → l10n_br_fiscal.nbm
comodel_name='l10n_br_fiscal.nbm'
string='NBM'
ncm_id
Many2one → l10n_br_fiscal.ncm
comodel_name='l10n_br_fiscal.ncm'
string='NCM'
other_value
Float
digits='Account'
pis_value
Float
digits='Account'
string='PIS Value'
service_type_id
Many2one → l10n_br_fiscal.service.type
comodel_name='l10n_br_fiscal.service.type'
No public methods.
No new fields.
Public methods (1)create_document_from_attachment(self, attachment_ids=None)
document_electronic
Boolean
related='document_type_id.electronic'
string='Electronic?'
fiscal_document_id
Many2one → l10n_br_fiscal.document
comodel_name='l10n_br_fiscal.document'
copy=False
ondelete='cascade'
readonly=False
store=True
string='Fiscal Document'
fiscal_document_ids
One2many → l10n_br_fiscal.document
comodel_name='l10n_br_fiscal.document'
compute='_compute_fiscal_document_ids'
help='In some rare cases (NFS-e, CT-e...) a single account.move\n may have several different fiscal documents related to its account.move.lines.\n '
string='Fiscal Documents'
fiscal_operation_type
Selection
compute='_compute_fiscal_operation_type'
related=None
selection=FISCAL_IN_OUT_ALL
action_document_back2draft(self)
action_document_cancel(self)
action_document_correction(self)
action_document_invalidate(self)
action_document_send(self)
action_send_email(self)
action_view_invoice(self)
button_cancel(self)
button_draft(self)
button_import_fiscal_document(self)
copy_data(self, default=None)
create(self, vals_list)
default_get(self, fields_list)
ensure_one_doc(self)
import_fiscal_document(self, fiscal_document, move_id=None, move_type='in_invoice')
open_fiscal_document(self)
unlink(self)
update_payment_term_number(self)
view_pdf(self)
view_xml(self)
write(self, vals)
discount
Float
compute='_compute_discounts'
store=True
document_type_id
Many2one → l10n_br_fiscal.document.type
comodel_name='l10n_br_fiscal.document.type'
related='move_id.document_type_id'
fiscal_document_line_id
Many2one → l10n_br_fiscal.document.line
comodel_name='l10n_br_fiscal.document.line'
copy=False
ondelete='cascade'
string='Fiscal Document Line'
name
Char
inverse='_inverse_name'
payment_term_number
Char
help="Stores the installment number in the format 'current-total'. For example, '1-3' for the first of three installments, '2-3' for the second, and '3-3' for the last installment."
price_unit
Float
inverse='_inverse_price_unit'
product_uom_id
Many2one
inverse='_inverse_product_uom_id'
quantity
Float
inverse='_inverse_quantity'
copy_data(self, default=None)
create(self, vals_list)
default_get(self, fields_list)
unlink(self)
write(self, values)
force_fiscal_operation_id
Many2one → l10n_br_fiscal.operation
comodel_name='l10n_br_fiscal.operation'
string='Force Fiscal Operation'
force_fiscal_operation_journal_id
Many2one
related='force_fiscal_operation_id.journal_id'
journal_id
Many2one
compute='_compute_journal_id'
precompute=True
store=True
reverse_moves(self, is_modify=False)
fiscal_tax_ids
One2many → l10n_br_fiscal.tax
comodel_name='l10n_br_fiscal.tax'
related='tax_group_id.fiscal_tax_group_id.tax_ids'
string='Fiscal Taxes'
compute_all(self, price_unit, currency=None, quantity=1.0, product=None, partner=None, is_refund=False, handle_price_include=True, include_caba_tags=False, fixed_multiplicator=1, fiscal_taxes=None, operation_line=False, ncm=None, nbs=None, nbm=None, cest=None, cfop=None, discount_value=None, insurance_value=None, other_value=None, ii_customhouse_charges=None, freight_value=None, fiscal_price=None, fiscal_quantity=None, uot_id=None, icmssn_range=None, icms_origin=None, ind_final=FINAL_CUSTOMER_NO)
fiscal_tax_group_id
Many2one → l10n_br_fiscal.tax.group
comodel_name='l10n_br_fiscal.tax.group'
string='Fiscal Tax Group'
deductible_tax(self, type_tax_use='sale')
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)create(self, vals_list)
company_id
Many2one
default=None
precompute=True
readonly=False
related='proxy_company_id'
store=True
date_in_out
Datetime
compute='_compute_date_in_out'
inverse='_inverse_date_in_out'
store=True
document_date
Datetime
compute='_compute_document_date'
inverse='_inverse_document_date'
store=True
fiscal_line_ids
One2many
copy=False
incoterm_id
Many2one → account.incoterms
comodel_name='account.incoterms'
compute='_compute_incoterm_id'
inverse='_inverse_incoterm_id'
string='Fiscal Inconterm'
move_count
Integer
compute='_compute_move_count'
readonly=True
string='Invoice count'
move_ids
One2many → account.move
comodel_name='account.move'
inverse_name='fiscal_document_id'
string='Invoices'
partner_id
Many2one
precompute=True
readonly=False
related='proxy_partner_id'
store=True
partner_shipping_id
Many2one
precompute=True
readonly=False
related='proxy_partner_shipping_id'
store=True
proxy_company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
help='Technical Field.'
string='Company (proxy)'
proxy_partner_id
Many2one → res.partner
comodel_name='res.partner'
help='Technical Field.'
string='Partner (proxy)'
proxy_partner_shipping_id
Many2one → res.partner
comodel_name='res.partner'
help='Technical Field.'
string='Shipping Partner (proxy)'
proxy_user_id
Many2one → res.users
comodel_name='res.users'
help='Technical Field.'
string='User (proxy)'
user_id
Many2one
default=None
precompute=True
readonly=False
related='proxy_user_id'
store=True
action_document_back2draft(self)
action_document_confirm(self)
action_view_invoice(self)
cancel_move_ids(self)
create(self, vals_list)
exec_after_SITUACAO_EDOC_DENEGADA(self, old_state, new_state)
message_post(self, **kwargs)
unlink(self)
first_imported_move_id
Integer
action_import_and_open_move(self)
account_line_ids
One2many → account.move.line
comodel_name='account.move.line'
inverse_name='fiscal_document_line_id'
string='Invoice Lines'
company_id
Many2one → res.company
comodel_name='res.company'
precompute=True
readonly=False
related='proxy_company_id'
store=True
string='Company'
document_id
Many2one → l10n_br_fiscal.document
check_company=True
comodel_name='l10n_br_fiscal.document'
compute='_compute_document_id'
index=True
ondelete='cascade'
precompute=True
readonly=False
store=True
string='Fiscal Document'
move_id
Many2one → account.move
comodel_name='account.move'
precompute=True
related='account_line_ids.move_id'
store=True
string='Invoice'
name
Char
compute='_compute_name'
precompute=True
readonly=False
store=True
product_id
Many2one → product.product
comodel_name='product.product'
precompute=True
readonly=False
related='proxy_product_id'
store=True
string='Product'
proxy_company_id
Many2one → res.company
comodel_name='res.company'
help='Technical Field.'
precompute=True
readonly=False
related='document_id.company_id'
store=True
string='Company (proxy)'
proxy_name
Char
help='Technical Field.'
string='Name (proxy)'
proxy_partner_id
Many2one → res.partner
comodel_name='res.partner'
help='Technical Field.'
string='Partner (proxy)'
proxy_price_unit
Float
help='Technical mirror.'
string='Unit Price (proxy)'
proxy_product_id
Many2one → product.product
comodel_name='product.product'
string='Product (proxy)'
proxy_quantity
Float
help='Technical Field.'
string='Quantity (proxy)'
quantity
Float
precompute=True
readonly=False
related='proxy_quantity'
store=True
string='Quantity'
uom_id
Many2one
inverse='_inverse_uom_id'
create(self, vals_list)
deductible_taxes
Boolean
company_dependent=True
fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
company_dependent=True
string='Fiscal Position'
journal_id
Many2one → account.journal
comodel_name='account.journal'
company_dependent=True
domain="[('type', 'in', {'out': ['sale', 'general'], 'in': ['purchase', 'general'], 'all': ['sale', 'purchase', 'general']}.get(fiscal_operation_type, []))]"
string='Account Journal'
No public methods.
fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
company_dependent=True
string='Fiscal Position'
No public methods.
No new fields.
Public methods (3)account_taxes(self, user_type='sale', fiscal_operation=False, company=False)
create(self, vals_list)
unlink(self)
No new fields.
Public methods (1)account_tax_group(self)
No new fields.
Public methods (1)write(self, values)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-brazil |
| GIT | |
| GIT | https://github.com/OCA/l10n-brazil.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-brazil/tree/16.0/l10n_br_account |
| VERSION | |
| VERSION | 15.0.1 |
| CATEGORY | |
| CATEGORY | Localisation |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion |
| COMMITTERS | |
| COMMITTERS | Raphaël Valyi, Renato Lima, Weblate, OCA-git-bot, Magno Costa, oca-ci, Marcel Savegnago, Diego Paradeda, Antonio Neto, Antônio Neto, Wesley Oliveira, CristianoMafraJunior, Felipe Motter |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-brazil |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:11:56 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/l10n-brazil: - l10n_br_coa - l10n_br_fiscal - l10n_br_base OCA/product-attribute: - uom_alias odoo/odoo: - account - base_setup - base - web - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_address_extended |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
erpbrasil.base email-validator num2words phonenumbers |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | # Visão Geral O módulo `l10n_br_account` integra o motor fiscal brasileiro (`l10n_br_fiscal`) ao framework contábil nativo do Odoo (módulo `account`). Ele integra a complexa lógica da tributação e dos documentos fiscais do Brasil com as faturas e lançamentos contábeis conforme as normas de contabilidade brasileiras. O módulo atende desde a automação na emissão de notas para empresas do Simples Nacional até os cenários contábeis mais exigentes do regime normal (Lucro Real/Presumido). # Arquitetura e Integração: Decorator Pattern (`_inherits`) A arquitetura do módulo se baseia no mecanismo de herança por composição `_inherits` do Odoo para criar uma composição dinâmica entre os modelos fiscais e contábeis: * **account.move** herda de **l10n_br_fiscal.document** * **account.move.line** herda de **l10n_br_fiscal.document.line** Esta abordagem, análoga ao *Decorator Pattern*, oferece as seguintes vantagens: 1. **Gerenciamento Unificado**: Permite controlar o Documento Fiscal diretamente pela interface da Fatura do Odoo. Campos fiscais (CFOP, NCM, valores de impostos) são acessados e computados de forma transparente, como se fossem nativos do `account.move.line`. 2. **Baixíssima Redundância de Dados**: A herança por composição evita a duplicação de centenas de campos fiscais nas tabelas contábeis. A "fonte da verdade" fiscal é sempre o registro em `l10n_br_fiscal.document`, garantindo um banco de dados normalizado e consistente. 3. **Modularidade e Manutenção**: A lógica fiscal complexa permanece encapsulada no `l10n_br_fiscal`. Para assegurar a reatividade dos campos computados na interface da fatura, o módulo utiliza um *mixin* especializado (`l10n_br_account.decorator.mixin`) que gerencia a herança de métodos e campos dinâmicos. # Principais Funcionalidades e Casos de Uso # Uso Simplificado: Cálculo dos impostos e criação dos Documentos Fiscais O módulo `l10n_br_account` é a peça chave para automatizar a emissão de documentos fiscais a partir de qualquer fluxo de negócio que gere uma fatura no Odoo, como: * Ordens de Venda (`sale.order`) * Ordens de Compra (`purchase.order`) * Movimentações de Estoque (`stock.picking`) * Contratos (`contract.contract`), entre outros. A **Operação Fiscal** pré-configurada orquestra o preenchimento automático de todos os dados necessários, permitindo a geração de NF-e, NFS-e e outros documentos com mínima intervenção. # Uso Avançado: Lançamentos contábeis corretos para as empresas do Regime Normal Para empresas no Lucro Real ou Presumido, o `l10n_br_account` habilita uma gestão contábil e fiscal precisa e aderente à legislação. * **Lançamentos Contábeis de Impostos**: Conecta os impostos fiscais (`l10n_br_fiscal.tax`) aos contábeis (`account.tax`), garantindo que a validação de uma fatura gere os lançamentos corretos para ICMS, IPI, PIS, COFINS, etc., em suas respectivas contas (custo, recuperável, despesa). * **Operações Sem Impacto Financeiro**: Suporta operações como "Remessa para Industrialização", permitindo a emissão do documento fiscal obrigatório e o lançamento correto dos impostos, mas sem gerar contas a pagar ou a receber, mantendo a integridade fiscal e contábil. * **Composição de Valores Financeiros**: Gerencia a correta composição do valor financeiro das faturas. Por exemplo, assegura que o valor do IPI, quando não recuperável, seja somado ao contas a pagar do fornecedor. * **Importação de Documentos (XML)**: Facilita a importação de documentos de fornecedores, criando simultaneamente o `l10n_br_fiscal.document` com os dados fiscais e a fatura de fornecedor (`account.move`) pronta para validação e pagamento. # Escopo e Delimitação do Módulo O nome `l10n_br_account` deriva do módulo `account`, que ele estende. É importante notar que o módulo `account` do Odoo, em sua essência, é focado em faturamento, embora contenha os conceitos fundamentais de planos de contas e lançamentos contábeis. Para uma contabilidade completa de uma empresa no regime normal, mesmo utilizando o Odoo Enterprise, é necessária a instalação de dezenas de módulos adicionais da OCA, provenientes de diversos repositórios da OCA. O `l10n_br_account`, apesar do nome, **não substitui** este ecossistema. Ele se concentra na ponte fiscal-contábil. Funções como conciliação avançada (através de módulos como `account_reconcile`), gestão de ordens de pagamento, integração bancária (CNAB) e importação de extratos são tratadas por dezenas de outros módulos específicos da OCA... Por outro lado, é importante ressaltar que os autores deste módulo possuem clientes do regime normal com uma contabilidade significativamente mais completa do que a oferecida nativamente pelo Odoo Enterprise, baseando-se exclusivamente em módulos de código aberto da OCA. Alcançar tal nível de sofisticação, no entanto, exige anos de experiência em implementação e uma escolha estratégica da versão do Odoo. É importante evitar versões muito recentes, para as quais o ecossistema de módulos da OCA ainda não atingiu a maturidade e estabilidade necessárias após o processo de migração (uma versão nova do Odoo mal tem 500 módulos da OCA migrados depois de 6 meses, mas tem quase 2000 depois de um ano e quase 3000 depois de 3 anos). Vale a pena mencionar que lançamentos de Custo da Mercadoria Vendida (CMV) e outros lançamentos de contabilidade de estoque IFRS/IAS2, são tipicamente realizados através da combinação do módulo nativo `stock_account`, do `l10n_br_stock_account` (deste mesmo repo) e da ativação do modo "anglo-saxon" no seu plano de contas. # Detalhes sobre o modelo de dados # Cardinalidade: Documentos Fiscais e Lançamentos Contábeis A arquitetura suporta cenários onde um único lançamento financeiro (`account.move`) agrupa múltiplos documentos fiscais, como uma fatura única para pagar vários Conhecimentos de Transporte (CT-e). Esta flexibilidade é garantida por três campos-chave: * **account.move.fiscal_document_id**: O campo `Many2one` que implementa o `_inherits`. Representa o documento fiscal "principal" ou em edição na interface da fatura. * **account.move.line.fiscal_document_line_id**: O pilar da arquitetura. Permite que **cada linha** da fatura aponte para uma linha de um documento fiscal distinto. É isso que possibilita agregar múltiplos documentos em um único `account.move`. * **account.move.fiscal_document_ids**: Campo `One2many` computado que agrega todos os documentos fiscais vinculados às linhas da fatura, oferecendo uma visão completa e consolidada quando o lançamento tem mais de um documento fiscal. A flexibilidade do design é bidirecional. O sistema também gerencia nativamente cenários onde **um lançamento contábil (`account.move`) não possui nenhum documento fiscal associado**. Isso é fundamental para operações puramente contábeis ou não fiscais, como: * Lançamentos de folha de pagamento. * Operações financeiras ou contábeis em empresas de um grupo multinacional que não operam no Brasil. Além disso, mesmo dentro de uma fatura fiscalizada, a associação é granular. Apenas as linhas de produto (`invoice_line_ids` com `display_type='product'`) são vinculadas a uma `l10n_br_fiscal.document.line`. Linhas de impostos, de contas a pagar/receber, ou linhas de anotação/seção permanecem como lançamentos puramente contábeis, sem linha de documento fiscal específica. # Observação sobre a Normalização do Modelo de Dados Idealmente, o modelo de dados teria redundância zero. Contudo, para simplificar a injeção de mixins fiscais — em especial o `l10n_br_fiscal.document.line.mixin` — e alavancar a lógica nativa do Odoo, foi uma decisão de design manter a nomenclatura de um pequeno e controlado conjunto de campos, como `partner_id`, `company_id`, `user_id`, `currency_id`, `product_id`, `quantity`, `price_unit` e `name`. Como consequência, existe uma redundância mínima e gerenciada. Considerando os milhares de campos necessários para a diversidade de documentos fiscais brasileiros, apenas cerca de quatro campos do `account.move` e quatro do `account.move.line` são efetivamente duplicados. Para garantir a integridade, estes campos (apelidados de *shadow fields*) são cuidadosamente sincronizados em tempo real, inclusive durante a edição de novos registros em memória (fase `NewId`), assegurando total consistência entre a fatura e o documento fiscal. # A Separação Estratégica dos Mixins Fiscais No caso do `account.move`, o objetivo era obter os campos do `l10n_br_fiscal.document` sem duplicá-los (o que o `_inherits` faz perfeitamente), mas também precisávamos de seus métodos (como `_compute_fiscal_tax_ids` ou `_compute_tax_fields`). Se usássemos `_inherit` no mixin principal (`l10n_br_fiscal.document.mixin`), teríamos os métodos, mas os campos seriam duplicados, quebrando o princípio de normalização. Por outro lado, modelos como `sale.order` e `purchase.order` não são uma representação de um documento fiscal, mas sim precursores dele. Portanto, eles podem usar uma herança simples (`_inherit`) diretamente no mixin principal (`l10n_br_fiscal.document.mixin`), pois precisam tanto dos campos quanto dos métodos para preparar os dados que serão posteriormente utilizados na geração do documento fiscal. # Modelo UML Simplificado   # Aviso Importante: Pré-requisitos e Complexidade Para utilizar o `l10n_br_account` de forma eficaz, é necessário ter domínio aprofundado de dois ecossistemas complexos: o módulo `account` nativo do Odoo e o motor `l10n_br_fiscal` deste repositório. O `account` é o maior e mais intrincado módulo do Odoo, constituindo por si só um ERP financeiro completo, e não apenas um simples software de emissão de notas para microempresas. Por sua vez, o `l10n_br_fiscal` é o maior módulo entre os mais de 3000 disponíveis na OCA. Este módulo, `l10n_br_account`, está também entre os três mais complexos da localização brasileira e exige um uso avançado do ORM do Odoo para gerenciar a dualidade documento fiscal/lançamento contábil. A implementação bem-sucedida de um ERP estrangeiro no Brasil é uma tarefa que demanda profissionais altamente qualificados, com anos de experiência em programação backend (Python) e implantação de verdadeiros sistemas ERP. Uma implementação não se resume a baixar e instalar módulo (apenas 1% do trabalho); envolve análise de processos, configuração, migração de dados e customizações, migração de modulos OCA a partir de outras versões... Subestimar essa complexidade invariavelmente leva a projetos problemáticos e custos elevados no longo prazo. Este aviso serve para alinhar expectativas e reforçar que o sucesso de uma implantação Odoo no Brasil depende de expertise técnica e funcional aprofundada. Infelizmente, este mercado atrai aventureiros que subestimam essa complexidade ou que vendem projetos acreditando ser possível terceirizar a execução sem grande compromisso com a entrega, explorando a falta de informação do cliente. Este cenário caracteriza um "market for lemons", onde a assimetria de informação torna difícil distinguir entre fornecedores qualificados e despreparados, impedindo o desenvolvimento de um mercado de implementação maduro. Agravando a situação, onde se esperaria uma garantia criteriosa de qualidade, o ecossistema corporativo "oficial" investe pesadamente em propaganda para mascarar essa realidade, promovendo uma visão onde a consultoria de implementação é tratada como uma commodity. Esse modelo, focado em comissões pela venda de licenças (muitas vezes desnecessárias ao utilizar o ecossistema da OCA), alimenta um mercado paralelo notório de "parceiros fantoches/bucha de canhão" que compram certificações oficiais de empresas estrangeiras para simular uma competência que não possuem. Cuidado com profissionais que ostentam certificações compradas para transferir a responsabilidade da implementação sem o devido suporte ou conhecimento real. Não se deixe enganar por narrativas que simplificam a complexidade do projeto para priorizar a venda de licenças! # Conclusão O `l10n_br_account` possui um design robusto que unifica as complexas lógicas fiscal e contábil do Brasil dentro do Odoo. Sua arquitetura, projetada por especialistas para especialistas, oferece uma plataforma flexível e confiável, capaz de sustentar operações de alta complexidade e garantir a conformidade fiscal e contábil das empresas que utilizam a localização brasileira da OCA. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_document_form_inherit |
l10n_br_account.document.form.inherit | l10n_br_fiscal.document | xpath | Inherits l10n_br_fiscal.document_form |
account_move_reversal_form |
account.move.reversal.form | account.move.reversal | field | Inherits account.view_account_move_reversal |
document_import_wizard_form |
l10n_br_account.document.import.wizard.form | l10n_br_fiscal.document.import.wizard | button | Inherits l10n_br_fiscal.document_import_wizard_form |
document_line_form |
l10n_br_fiscal.document.line.form | l10n_br_fiscal.document.line | field | Inherits l10n_br_fiscal.document_line_form |
fiscal_operation_form |
fiscal.operation.form | l10n_br_fiscal.operation | page | Inherits l10n_br_fiscal.operation_form |
fiscal_operation_line_form |
fiscal.operation.line.form | l10n_br_fiscal.operation.line | field | Inherits l10n_br_fiscal.operation_line_form |
fiscal_operation_search |
fiscal.operation.search | l10n_br_fiscal.operation | filter | Inherits l10n_br_fiscal.operation_search |
fiscal_operation_tree |
fiscal.operation.tree | l10n_br_fiscal.operation | field | Inherits l10n_br_fiscal.operation_tree |
invoice_form |
l10n_br_account.invoice.form | account.move | div | Inherits account.view_move_form |
invoice_search |
l10n_br_account.invoice.search | account.move | field | Inherits account.view_account_invoice_filter |
invoice_tree |
l10n_br_account.invoice.tree | account.move | field | Inherits account.view_invoice_tree |
l10n_br_account_partner_form |
l10n_br_account.res.partner.form | res.partner | group | Inherits account.view_partner_property_form |
l10n_br_account_product_view_account_invoice_report_search |
l10n_br_account.invoice.report.search | account.invoice.report | filter | Inherits account.view_account_invoice_report_search |
l10n_br_account_tax_form |
l10n_br_account.tax.form | account.tax | field | Inherits account.view_tax_form |
l10n_br_account_tax_template_form |
l10n_br_account.tax.template.form | account.tax.template | xpath | Inherits account.view_account_tax_template_form |
No new fields.
Public methods (1)load_fiscal_taxes(self)
No new fields.
Public methods (1)name_get(self)
cest_id
Many2one → l10n_br_fiscal.cest
comodel_name='l10n_br_fiscal.cest'
string='CEST'
cfop_id
Many2one → l10n_br_fiscal.cfop
comodel_name='l10n_br_fiscal.cfop'
string='CFOP'
cofins_value
Float
digits='Account'
string='COFINS Value'
discount_value
Float
digits='Account'
document_serie_id
Many2one → l10n_br_fiscal.document.serie
comodel_name='l10n_br_fiscal.document.serie'
document_type_id
Many2one → l10n_br_fiscal.document.type
comodel_name='l10n_br_fiscal.document.type'
fiscal_operation_id
Many2one → l10n_br_fiscal.operation
comodel_name='l10n_br_fiscal.operation'
string='Operation'
fiscal_operation_line_id
Many2one → l10n_br_fiscal.operation.line
comodel_name='l10n_br_fiscal.operation.line'
string='Operation Line'
fiscal_type
Selection
selection=PRODUCT_FISCAL_TYPE
freight_value
Float
digits='Account'
icms_destination_value
Float
digits='Account'
string='Valor Difal Destino'
icms_origin_value
Float
digits='Account'
string='Valor Difal Origem'
icms_value
Float
digits='Account'
string='Valor ICMS'
icmsfcp_value
Float
digits='Account'
string='Valor Difal FCP'
icmsst_value
Float
digits='Account'
string='Valor ICMS ST'
ii_value
Float
digits='Account'
string='II Value'
insurance_value
Float
digits='Account'
ipi_value
Float
digits='Account'
string='IPI Value'
issqn_value
Float
digits='Account'
issuer
Selection
selection=DOCUMENT_ISSUER
nbm_id
Many2one → l10n_br_fiscal.nbm
comodel_name='l10n_br_fiscal.nbm'
string='NBM'
ncm_id
Many2one → l10n_br_fiscal.ncm
comodel_name='l10n_br_fiscal.ncm'
string='NCM'
other_value
Float
digits='Account'
pis_value
Float
digits='Account'
string='PIS Value'
service_type_id
Many2one → l10n_br_fiscal.service.type
comodel_name='l10n_br_fiscal.service.type'
No public methods.
No new fields.
Public methods (1)create_document_from_attachment(self, attachment_ids=None)
document_electronic
Boolean
related='document_type_id.electronic'
string='Electronic?'
fiscal_document_id
Many2one → l10n_br_fiscal.document
comodel_name='l10n_br_fiscal.document'
copy=False
ondelete='cascade'
readonly=False
store=True
string='Fiscal Document'
fiscal_document_ids
One2many → l10n_br_fiscal.document
comodel_name='l10n_br_fiscal.document'
compute='_compute_fiscal_document_ids'
help='In some rare cases (NFS-e, CT-e...) a single account.move\n may have several different fiscal documents related to its account.move.lines.\n '
string='Fiscal Documents'
fiscal_operation_type
Selection
compute='_compute_fiscal_operation_type'
related=None
selection=FISCAL_IN_OUT_ALL
action_document_back2draft(self)
action_document_cancel(self)
action_document_correction(self)
action_document_invalidate(self)
action_document_send(self)
action_send_email(self)
action_view_invoice(self)
button_cancel(self)
button_draft(self)
button_import_fiscal_document(self)
create(self, vals_list)
default_get(self, fields_list)
ensure_one_doc(self)
import_fiscal_document(self, fiscal_document, move_id=None, move_type='in_invoice')
open_fiscal_document(self)
unlink(self)
update_payment_term_number(self)
view_pdf(self)
view_xml(self)
write(self, vals)
discount
Float
compute='_compute_discounts'
store=True
document_type_id
Many2one → l10n_br_fiscal.document.type
comodel_name='l10n_br_fiscal.document.type'
related='move_id.document_type_id'
fiscal_document_line_id
Many2one → l10n_br_fiscal.document.line
comodel_name='l10n_br_fiscal.document.line'
copy=False
ondelete='cascade'
string='Fiscal Document Line'
name
Char
inverse='_inverse_name'
payment_term_number
Char
help="Stores the installment number in the format 'current-total'. For example, '1-3' for the first of three installments, '2-3' for the second, and '3-3' for the last installment."
price_unit
Float
inverse='_inverse_price_unit'
product_uom_id
Many2one
inverse='_inverse_product_uom_id'
quantity
Float
inverse='_inverse_quantity'
create(self, vals_list)
unlink(self)
write(self, values)
force_fiscal_operation_id
Many2one → l10n_br_fiscal.operation
comodel_name='l10n_br_fiscal.operation'
string='Force Fiscal Operation'
force_fiscal_operation_journal_id
Many2one
related='force_fiscal_operation_id.journal_id'
journal_id
Many2one
compute='_compute_journal_id'
precompute=True
store=True
reverse_moves(self)
fiscal_tax_ids
Many2many → l10n_br_fiscal.tax
column1='account_tax_id'
column2='fiscal_tax_id'
comodel_name='l10n_br_fiscal.tax'
relation='fiscal_account_tax_rel'
string='Fiscal Taxes'
compute_all(self, price_unit, currency=None, quantity=1.0, product=None, partner=None, is_refund=False, handle_price_include=True, include_caba_tags=False, fixed_multiplicator=1, fiscal_taxes=None, operation_line=False, ncm=None, nbs=None, nbm=None, cest=None, cfop=None, discount_value=None, insurance_value=None, other_value=None, ii_customhouse_charges=None, freight_value=None, fiscal_price=None, fiscal_quantity=None, uot_id=None, icmssn_range=None, icms_origin=None, ind_final=FINAL_CUSTOMER_NO)
fiscal_tax_group_id
Many2one → l10n_br_fiscal.tax.group
comodel_name='l10n_br_fiscal.tax.group'
string='Fiscal Tax Group'
deductible_tax(self, type_tax_use='sale')
fiscal_tax_ids
Many2many → l10n_br_fiscal.tax
column1='account_tax_template_id'
column2='fiscal_tax_id'
comodel_name='l10n_br_fiscal.tax'
relation='fiscal_account_template_tax_rel'
string='Fiscal Taxes'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)create(self, vals_list)
company_id
Many2one
default=None
precompute=True
readonly=False
related='proxy_company_id'
store=True
date_in_out
Datetime
compute='_compute_date_in_out'
inverse='_inverse_date_in_out'
store=True
document_date
Datetime
compute='_compute_document_date'
inverse='_inverse_document_date'
store=True
fiscal_line_ids
One2many
copy=False
incoterm_id
Many2one → account.incoterms
comodel_name='account.incoterms'
compute='_compute_incoterm_id'
inverse='_inverse_incoterm_id'
string='Fiscal Inconterm'
move_count
Integer
compute='_compute_move_count'
readonly=True
string='Invoice count'
move_ids
One2many → account.move
comodel_name='account.move'
inverse_name='fiscal_document_id'
string='Invoices'
partner_id
Many2one
precompute=True
readonly=False
related='proxy_partner_id'
store=True
partner_shipping_id
Many2one
precompute=True
readonly=False
related='proxy_partner_shipping_id'
store=True
proxy_company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
help='Technical Field.'
string='Company (proxy)'
proxy_partner_id
Many2one → res.partner
comodel_name='res.partner'
help='Technical Field.'
string='Partner (proxy)'
proxy_partner_shipping_id
Many2one → res.partner
comodel_name='res.partner'
help='Technical Field.'
string='Shipping Partner (proxy)'
proxy_user_id
Many2one → res.users
comodel_name='res.users'
help='Technical Field.'
string='User (proxy)'
user_id
Many2one
default=None
precompute=True
readonly=False
related='proxy_user_id'
store=True
action_document_back2draft(self)
action_document_confirm(self)
action_view_invoice(self)
cancel_move_ids(self)
create(self, vals_list)
exec_after_SITUACAO_EDOC_DENEGADA(self, old_state, new_state)
message_post(self, **kwargs)
unlink(self)
first_imported_move_id
Integer
action_import_and_open_move(self)
account_line_ids
One2many → account.move.line
comodel_name='account.move.line'
inverse_name='fiscal_document_line_id'
string='Invoice Lines'
company_id
Many2one → res.company
comodel_name='res.company'
precompute=True
readonly=False
related='proxy_company_id'
store=True
string='Company'
document_id
Many2one → l10n_br_fiscal.document
check_company=True
comodel_name='l10n_br_fiscal.document'
compute='_compute_document_id'
index=True
ondelete='cascade'
precompute=True
readonly=False
store=True
string='Fiscal Document'
move_id
Many2one → account.move
comodel_name='account.move'
precompute=True
related='account_line_ids.move_id'
store=True
string='Invoice'
name
Char
compute='_compute_name'
precompute=True
readonly=False
store=True
product_id
Many2one → product.product
comodel_name='product.product'
precompute=True
readonly=False
related='proxy_product_id'
store=True
string='Product'
proxy_company_id
Many2one → res.company
comodel_name='res.company'
help='Technical Field.'
precompute=True
readonly=False
related='document_id.company_id'
store=True
string='Company (proxy)'
proxy_name
Char
help='Technical Field.'
string='Name (proxy)'
proxy_partner_id
Many2one → res.partner
comodel_name='res.partner'
help='Technical Field.'
string='Partner (proxy)'
proxy_price_unit
Float
help='Technical mirror.'
string='Unit Price (proxy)'
proxy_product_id
Many2one → product.product
comodel_name='product.product'
string='Product (proxy)'
proxy_quantity
Float
help='Technical Field.'
string='Quantity (proxy)'
quantity
Float
precompute=True
readonly=False
related='proxy_quantity'
store=True
string='Quantity'
uom_id
Many2one
inverse='_inverse_uom_id'
create(self, vals_list)
deductible_taxes
Boolean
company_dependent=True
fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
company_dependent=True
string='Fiscal Position'
journal_id
Many2one → account.journal
comodel_name='account.journal'
company_dependent=True
domain="[('type', 'in', {'out': ['sale', 'general'], 'in': ['purchase', 'general'], 'all': ['sale', 'purchase', 'general']}.get(fiscal_operation_type, []))]"
string='Account Journal'
No public methods.
fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
company_dependent=True
string='Fiscal Position'
No public methods.
No new fields.
Public methods (3)account_taxes(self, user_type='sale', fiscal_operation=False, company=False)
create(self, vals_list)
unlink(self)
No new fields.
Public methods (1)account_tax_group(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-brazil |
| GIT | |
| GIT | https://github.com/OCA/l10n-brazil.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-brazil/tree/15.0/l10n_br_account |
| VERSION | |
| VERSION | 2.11.0 |
| CATEGORY | |
| CATEGORY | Localisation |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion |
| COMMITTERS | |
| COMMITTERS | Raphaël Valyi, Renato Lima, Weblate, OCA-git-bot, oca-ci, Marcel Savegnago, Wesley Oliveira |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-brazil |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:32 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-payment: - account_due_list OCA/l10n-brazil: - l10n_br_coa - l10n_br_fiscal - l10n_br_base - l10n_br_account_due_list odoo/odoo: - account - base_setup - base - web - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_address_city - base_address_extended |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
erpbrasil.base email-validator num2words phonenumbers |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_move_reversal_form |
account.move.reversal.form | account.move.reversal | field | Inherits account.view_account_move_reversal |
document_line_form |
l10n_br_fiscal.document.line.form | l10n_br_fiscal.document.line | field | Inherits l10n_br_fiscal.document_line_form |
fiscal_invoice_form |
l10n_br_account.fiscal.invoice.form | account.move | xpath | Inherits l10n_br_fiscal.document_form |
fiscal_invoice_line_form |
l10n_br_account.move.line.form | account.move.line | xpath | Inherits l10n_br_fiscal.document_line_form |
fiscal_invoice_search |
l10n_br_account.fiscal.invoice.search | account.move | xpath | Inherits l10n_br_fiscal.document_search |
fiscal_invoice_tree |
l10n_br_account.fiscal.invoice.tree | account.move | xpath | Inherits l10n_br_fiscal.document_tree |
fiscal_operation_form |
fiscal.operation.form | l10n_br_fiscal.operation | page | Inherits l10n_br_fiscal.operation_form |
fiscal_operation_line_form |
fiscal.operation.line.form | l10n_br_fiscal.operation.line | field | Inherits l10n_br_fiscal.operation_line_form |
fiscal_operation_search |
fiscal.operation.search | l10n_br_fiscal.operation | filter | Inherits l10n_br_fiscal.operation_search |
fiscal_operation_tree |
fiscal.operation.tree | l10n_br_fiscal.operation | field | Inherits l10n_br_fiscal.operation_tree |
invoice_form |
l10n_br_account.invoice.form | account.move | div | Inherits account.view_move_form |
invoice_search |
l10n_br_account.invoice.search | account.move | field | Inherits account.view_account_invoice_filter |
invoice_tree |
l10n_br_account.invoice.tree | account.move | field | Inherits account.view_invoice_tree |
l10n_br_account_partner_form |
l10n_br_account.res.partner.form | res.partner | group | Inherits account.view_partner_property_form |
l10n_br_account_product_view_account_invoice_report_search |
l10n_br_account.invoice.report.search | account.invoice.report | filter | Inherits account.view_account_invoice_report_search |
l10n_br_account_tax_form |
l10n_br_account.tax.form | account.tax | field | Inherits account.view_tax_form |
l10n_br_account_tax_template_form |
l10n_br_account.tax.template.form | account.tax.template | xpath | Inherits account.view_account_tax_template_form |
nfe_document_form_inherit |
l10n_br_nfe.document.form.inherit | l10n_br_fiscal.document | xpath | Inherits l10n_br_fiscal.document_form |
No new fields.
Public methods (1)load_fiscal_taxes(self)
No new fields.
Public methods (1)name_get(self)
cest_id
Many2one → l10n_br_fiscal.cest
comodel_name='l10n_br_fiscal.cest'
string='CEST'
cfop_id
Many2one → l10n_br_fiscal.cfop
comodel_name='l10n_br_fiscal.cfop'
string='CFOP'
cofins_value
Float
digits='Account'
string='Valor COFINS'
document_serie_id
Many2one → l10n_br_fiscal.document.serie
comodel_name='l10n_br_fiscal.document.serie'
document_type_id
Many2one → l10n_br_fiscal.document.type
comodel_name='l10n_br_fiscal.document.type'
fiscal_operation_id
Many2one → l10n_br_fiscal.operation
comodel_name='l10n_br_fiscal.operation'
string='Operation'
fiscal_operation_line_id
Many2one → l10n_br_fiscal.operation.line
comodel_name='l10n_br_fiscal.operation.line'
string='Operation Line'
fiscal_type
Selection
selection=PRODUCT_FISCAL_TYPE
string='Tipo Fiscal'
icms_destination_value
Float
digits='Account'
string='Valor Difal Destino'
icms_origin_value
Float
digits='Account'
string='Valor Difal Origem'
icms_value
Float
digits='Account'
string='Valor ICMS'
icmsfcp_value
Float
digits='Account'
string='Valor Difal FCP'
icmsst_value
Float
digits='Account'
string='Valor ICMS ST'
ii_value
Float
digits='Account'
string='Valor II'
ipi_value
Float
digits='Account'
string='Valor IPI'
issuer
Selection
selection=DOCUMENT_ISSUER
ncm_id
Many2one → l10n_br_fiscal.ncm
comodel_name='l10n_br_fiscal.ncm'
string='NCM'
pis_value
Float
digits='Account'
string='Valor PIS'
total_with_taxes
Float
digits='Account'
string='Total com Impostos'
No public methods.
revenue_expense
Boolean
string='Gera Financeiro'
No public methods.
document_electronic
Boolean
related='document_type_id.electronic'
string='Electronic?'
fiscal_document_id
Many2one → l10n_br_fiscal.document
comodel_name='l10n_br_fiscal.document'
copy=False
ondelete='cascade'
string='Fiscal Document'
fiscal_document_ids
One2many → l10n_br_fiscal.document
comodel_name='l10n_br_fiscal.document'
compute='_compute_fiscal_document_ids'
help='In some rare cases (NFS-e, CT-e...) a single account.move\n may have several different fiscal documents related to its account.move.lines.\n '
string='Fiscal Documents'
fiscal_operation_type
Selection
compute='_compute_fiscal_operation_type'
related=None
selection=FISCAL_IN_OUT_ALL
action_document_back2draft(self)
action_document_cancel(self)
action_document_correction(self)
action_document_invalidate(self)
action_document_send(self)
action_send_email(self)
action_view_invoice(self)
button_cancel(self)
button_draft(self)
button_import_fiscal_document(self)
create(self, vals_list)
default_get(self, fields_list)
ensure_one_doc(self)
fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False)
import_fiscal_document(self, fiscal_document, move_id=None, move_type='in_invoice')
open_fiscal_document(self)
post(self, invoice=False)
unlink(self)
view_pdf(self)
view_xml(self)
write(self, values)
allow_csll_irpj
Boolean
compute='_compute_allow_csll_irpj'
amount_total
Monetary
compute='_compute_amounts'
amount_untaxed
Monetary
compute='_compute_amounts'
cfop_destination
Selection
related='cfop_id.destination'
string='CFOP Destination'
cofins_cst_code
Char
related='cofins_cst_id.code'
string='COFINS CST Code'
cofinsst_cst_code
Char
related='cofinsst_cst_id.code'
string='COFINS ST CST Code'
discount
Float
compute='_compute_discounts'
store=True
document_type_id
Many2one → l10n_br_fiscal.document.type
comodel_name='l10n_br_fiscal.document.type'
related='move_id.document_type_id'
fiscal_document_line_id
Many2one → l10n_br_fiscal.document.line
comodel_name='l10n_br_fiscal.document.line'
copy=False
ondelete='cascade'
string='Fiscal Document Line'
fiscal_genre_code
Char
related='fiscal_genre_id.code'
string='Fiscal Product Genre Code'
icms_cst_code
Char
related='icms_cst_id.code'
string='ICMS CST Code'
ind_final
Selection
related='move_id.ind_final'
ipi_cst_code
Char
related='ipi_cst_id.code'
string='IPI CST Code'
partner_company_type
Selection
related='partner_id.company_type'
partner_is_public_entity
Boolean
related='partner_id.is_public_entity'
pis_cst_code
Char
related='pis_cst_id.code'
string='PIS CST Code'
pisst_cst_code
Char
related='pisst_cst_id.code'
string='PIS ST CST Code'
tax_framework
Selection
related='move_id.company_id.tax_framework'
string='Tax Framework'
create(self, vals_list)
unlink(self)
write(self, values)
force_fiscal_operation_id
Many2one → l10n_br_fiscal.operation
comodel_name='l10n_br_fiscal.operation'
string='Force Fiscal Operation'
reverse_moves(self)
fiscal_tax_ids
Many2many → l10n_br_fiscal.tax
column1='account_tax_id'
column2='fiscal_tax_id'
comodel_name='l10n_br_fiscal.tax'
relation='fiscal_account_tax_rel'
string='Fiscal Taxes'
compute_all(self, price_unit, currency=None, quantity=1.0, product=None, partner=None, is_refund=False, handle_price_include=True, include_caba_tags=False, fiscal_taxes=None, operation_line=False, ncm=None, nbs=None, nbm=None, cest=None, cfop=None, discount_value=None, insurance_value=None, other_value=None, ii_customhouse_charges=None, freight_value=None, fiscal_price=None, fiscal_quantity=None, uot_id=None, icmssn_range=None, icms_origin=None, ind_final=FINAL_CUSTOMER_NO)
fiscal_tax_group_id
Many2one → l10n_br_fiscal.tax.group
comodel_name='l10n_br_fiscal.tax.group'
string='Fiscal Tax Group'
deductible_tax(self, type_tax_use='sale')
fiscal_tax_ids
Many2many → l10n_br_fiscal.tax
column1='account_tax_template_id'
column2='fiscal_tax_id'
comodel_name='l10n_br_fiscal.tax'
relation='fiscal_account_template_tax_rel'
string='Fiscal Taxes'
No public methods.
No new fields.
Public methods (0)No public methods.
date_in_out
Datetime
compute='_compute_date_in_out'
inverse='_inverse_date_in_out'
store=True
document_date
Datetime
compute='_compute_document_date'
inverse='_inverse_document_date'
store=True
fiscal_line_ids
One2many
copy=False
fiscal_proxy_company_id
Many2one
readonly=False
related='company_id'
string='Fiscal Proxy Company'
fiscal_proxy_currency_id
Many2one
readonly=False
related='currency_id'
string='Fiscal Proxy Currency'
fiscal_proxy_partner_id
Many2one
readonly=False
related='partner_id'
string='Fiscal Partner'
fiscal_proxy_user_id
Many2one
readonly=False
related='user_id'
string='Fiscal Proxy User'
incoterm_id
Many2one
related='move_ids.invoice_incoterm_id'
string='Fiscal Inconterm'
move_count
Integer
compute='_compute_move_count'
readonly=True
string='Invoice count'
move_ids
One2many → account.move
comodel_name='account.move'
inverse_name='fiscal_document_id'
string='Invoices'
action_document_back2draft(self)
action_document_confirm(self)
action_view_invoice(self)
cancel_move_ids(self)
create(self, vals_list)
exec_after_SITUACAO_EDOC_DENEGADA(self, old_state, new_state)
message_post(self, **kwargs)
unlink(self)
account_line_ids
One2many → account.move.line
comodel_name='account.move.line'
inverse_name='fiscal_document_line_id'
string='Invoice Lines'
fiscal_proxy_name
Text
readonly=False
related='name'
string='Fiscal Name'
fiscal_proxy_price_unit
Float
readonly=False
related='price_unit'
string='Fiscal Price Unit'
fiscal_proxy_product_id
Many2one
readonly=False
related='product_id'
string='Fiscal Product'
fiscal_proxy_quantity
Float
readonly=False
related='quantity'
string='Fiscal Quantity'
create(self, vals_list)
deductible_taxes
Boolean
company_dependent=True
fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
company_dependent=True
string='Fiscal Position'
journal_id
Many2one → account.journal
comodel_name='account.journal'
company_dependent=True
domain="[('type', 'in', {'out': ['sale', 'general'], 'in': ['purchase', 'general'], 'all': ['sale', 'purchase', 'general']}.get(fiscal_operation_type, []))]"
string='Account Journal'
action_create_new(self)
open_action(self)
fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
company_dependent=True
string='Fiscal Position'
No public methods.
No new fields.
Public methods (3)account_taxes(self, user_type='sale', fiscal_operation=False)
create(self, vals_list)
unlink(self)
No new fields.
Public methods (1)account_tax_group(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-brazil |
| GIT | |
| GIT | https://github.com/OCA/l10n-brazil.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-brazil/tree/14.0/l10n_br_account |
| VERSION | |
| VERSION | 15.0.0 |
| CATEGORY | |
| CATEGORY | Localisation |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion |
| COMMITTERS | |
| COMMITTERS | Raphaël Valyi, Renato Lima, OCA Transbot, Luis Felipe Miléo, oca-travis, Weblate, OCA-git-bot, Magno Costa, oca-ci, Marcel Savegnago, Diego Paradeda, Neto, Antônio Neto, Wesley Oliveira, CristianoMafraJunior, Felipe, Felipe Motter Pereira, Felipe Motter, Carlos Silveira |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-brazil |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:40:54 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-payment: - account_due_list OCA/l10n-brazil: - l10n_br_coa - l10n_br_fiscal - l10n_br_base - l10n_br_account_due_list odoo/odoo: - account - base_setup - base - web - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_address_city - base_address_extended |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
erpbrasil.base email-validator num2words phonenumbers |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_move_reversal_form |
account.move.reversal.form | account.move.reversal | field | Inherits account.view_account_move_reversal |
document_line_form |
l10n_br_fiscal.document.line.form | l10n_br_fiscal.document.line | field | Inherits l10n_br_fiscal.document_line_form |
fiscal_invoice_form |
l10n_br_account.fiscal.invoice.form | account.move | xpath | Inherits l10n_br_fiscal.document_form |
fiscal_invoice_line_form |
l10n_br_account.move.line.form | account.move.line | xpath | Inherits l10n_br_fiscal.document_line_form |
fiscal_invoice_search |
l10n_br_account.fiscal.invoice.search | account.move | xpath | Inherits l10n_br_fiscal.document_search |
fiscal_invoice_tree |
l10n_br_account.fiscal.invoice.tree | account.move | xpath | Inherits l10n_br_fiscal.document_tree |
fiscal_operation_form |
fiscal.operation.form | l10n_br_fiscal.operation | page | Inherits l10n_br_fiscal.operation_form |
fiscal_operation_line_form |
fiscal.operation.line.form | l10n_br_fiscal.operation.line | field | Inherits l10n_br_fiscal.operation_line_form |
fiscal_operation_search |
fiscal.operation.search | l10n_br_fiscal.operation | filter | Inherits l10n_br_fiscal.operation_search |
fiscal_operation_tree |
fiscal.operation.tree | l10n_br_fiscal.operation | field | Inherits l10n_br_fiscal.operation_tree |
invoice_form |
l10n_br_account.invoice.form | account.move | div | Inherits account.view_move_form |
invoice_search |
l10n_br_account.invoice.search | account.move | field | Inherits account.view_account_invoice_filter |
invoice_tree |
l10n_br_account.invoice.tree | account.move | field | Inherits account.view_invoice_tree |
l10n_br_account_partner_form |
l10n_br_account.res.partner.form | res.partner | group | Inherits account.view_partner_property_form |
l10n_br_account_product_view_account_invoice_report_search |
l10n_br_account.invoice.report.search | account.invoice.report | filter | Inherits account.view_account_invoice_report_search |
l10n_br_account_tax_form |
l10n_br_account.tax.form | account.tax | field | Inherits account.view_tax_form |
l10n_br_account_tax_template_form |
l10n_br_account.tax.template.form | account.tax.template | xpath | Inherits account.view_account_tax_template_form |
nfe_document_form_inherit |
l10n_br_nfe.document.form.inherit | l10n_br_fiscal.document | xpath | Inherits l10n_br_fiscal.document_form |
No new fields.
Public methods (1)load_fiscal_taxes(self)
No new fields.
Public methods (1)name_get(self)
cest_id
Many2one → l10n_br_fiscal.cest
comodel_name='l10n_br_fiscal.cest'
string='CEST'
cfop_id
Many2one → l10n_br_fiscal.cfop
comodel_name='l10n_br_fiscal.cfop'
string='CFOP'
cofins_value
Float
digits='Account'
string='Valor COFINS'
document_serie_id
Many2one → l10n_br_fiscal.document.serie
comodel_name='l10n_br_fiscal.document.serie'
document_type_id
Many2one → l10n_br_fiscal.document.type
comodel_name='l10n_br_fiscal.document.type'
fiscal_operation_id
Many2one → l10n_br_fiscal.operation
comodel_name='l10n_br_fiscal.operation'
string='Operation'
fiscal_operation_line_id
Many2one → l10n_br_fiscal.operation.line
comodel_name='l10n_br_fiscal.operation.line'
string='Operation Line'
fiscal_type
Selection
selection=PRODUCT_FISCAL_TYPE
string='Tipo Fiscal'
icms_destination_value
Float
digits='Account'
string='Valor Difal Destino'
icms_origin_value
Float
digits='Account'
string='Valor Difal Origem'
icms_value
Float
digits='Account'
string='Valor ICMS'
icmsfcp_value
Float
digits='Account'
string='Valor Difal FCP'
icmsst_value
Float
digits='Account'
string='Valor ICMS ST'
ii_value
Float
digits='Account'
string='Valor II'
ipi_value
Float
digits='Account'
string='Valor IPI'
issuer
Selection
selection=DOCUMENT_ISSUER
ncm_id
Many2one → l10n_br_fiscal.ncm
comodel_name='l10n_br_fiscal.ncm'
string='NCM'
pis_value
Float
digits='Account'
string='Valor PIS'
total_with_taxes
Float
digits='Account'
string='Total com Impostos'
No public methods.
revenue_expense
Boolean
string='Gera Financeiro'
No public methods.
document_electronic
Boolean
related='document_type_id.electronic'
string='Electronic?'
fiscal_document_id
Many2one → l10n_br_fiscal.document
comodel_name='l10n_br_fiscal.document'
copy=False
ondelete='cascade'
string='Fiscal Document'
fiscal_document_ids
One2many → l10n_br_fiscal.document
comodel_name='l10n_br_fiscal.document'
compute='_compute_fiscal_document_ids'
help='In some rare cases (NFS-e, CT-e...) a single account.move\n may have several different fiscal documents related to its account.move.lines.\n '
string='Fiscal Documents'
fiscal_operation_type
Selection
compute='_compute_fiscal_operation_type'
related=None
selection=FISCAL_IN_OUT_ALL
action_document_back2draft(self)
action_document_cancel(self)
action_document_closure(self)
action_document_correction(self)
action_document_invalidate(self)
action_document_send(self)
action_send_email(self)
action_view_invoice(self)
button_cancel(self)
button_draft(self)
button_import_fiscal_document(self)
create(self, vals_list)
default_get(self, fields_list)
ensure_one_doc(self)
fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False)
import_fiscal_document(self, fiscal_document, move_id=None, move_type='in_invoice')
open_fiscal_document(self)
post(self, invoice=False)
unlink(self)
view_pdf(self)
view_xml(self)
write(self, values)
amount_total
Monetary
compute='_compute_amounts'
amount_untaxed
Monetary
compute='_compute_amounts'
discount
Float
compute='_compute_discounts'
store=True
document_type_id
Many2one → l10n_br_fiscal.document.type
comodel_name='l10n_br_fiscal.document.type'
related='move_id.document_type_id'
fiscal_document_line_id
Many2one → l10n_br_fiscal.document.line
comodel_name='l10n_br_fiscal.document.line'
copy=False
ondelete='cascade'
string='Fiscal Document Line'
create(self, vals_list)
unlink(self)
write(self, values)
force_fiscal_operation_id
Many2one → l10n_br_fiscal.operation
comodel_name='l10n_br_fiscal.operation'
string='Force Fiscal Operation'
reverse_moves(self)
fiscal_tax_ids
Many2many → l10n_br_fiscal.tax
column1='account_tax_id'
column2='fiscal_tax_id'
comodel_name='l10n_br_fiscal.tax'
relation='fiscal_account_tax_rel'
string='Fiscal Taxes'
compute_all(self, price_unit, currency=None, quantity=1.0, product=None, partner=None, is_refund=False, handle_price_include=True, fiscal_taxes=None, operation_line=False, ncm=None, nbs=None, nbm=None, cest=None, cfop=None, discount_value=None, insurance_value=None, other_value=None, ii_customhouse_charges=None, freight_value=None, fiscal_price=None, fiscal_quantity=None, uot_id=None, icmssn_range=None, icms_origin=None, ind_final=FINAL_CUSTOMER_NO)
fiscal_tax_group_id
Many2one → l10n_br_fiscal.tax.group
comodel_name='l10n_br_fiscal.tax.group'
string='Fiscal Tax Group'
deductible_tax(self, type_tax_use='sale')
fiscal_tax_ids
Many2many → l10n_br_fiscal.tax
column1='account_tax_template_id'
column2='fiscal_tax_id'
comodel_name='l10n_br_fiscal.tax'
relation='fiscal_account_template_tax_rel'
string='Fiscal Taxes'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
date_in_out
Datetime
compute='_compute_date_in_out'
inverse='_inverse_date_in_out'
store=True
document_date
Datetime
compute='_compute_document_date'
inverse='_inverse_document_date'
store=True
fiscal_line_ids
One2many
copy=False
fiscal_proxy_company_id
Many2one
readonly=False
related='company_id'
string='Fiscal Proxy Company'
fiscal_proxy_currency_id
Many2one
readonly=False
related='currency_id'
string='Fiscal Proxy Currency'
fiscal_proxy_partner_id
Many2one
readonly=False
related='partner_id'
string='Fiscal Partner'
fiscal_proxy_user_id
Many2one
readonly=False
related='user_id'
string='Fiscal Proxy User'
incoterm_id
Many2one
related='move_ids.invoice_incoterm_id'
string='Fiscal Inconterm'
move_count
Integer
compute='_compute_move_count'
readonly=True
string='Invoice count'
move_ids
One2many → account.move
comodel_name='account.move'
inverse_name='fiscal_document_id'
string='Invoices'
action_document_back2draft(self)
action_document_confirm(self)
action_view_invoice(self)
cancel_move_ids(self)
create(self, vals_list)
exec_after_SITUACAO_EDOC_DENEGADA(self, old_state, new_state)
message_post(self, **kwargs)
unlink(self)
account_line_ids
One2many → account.move.line
comodel_name='account.move.line'
inverse_name='fiscal_document_line_id'
string='Invoice Lines'
fiscal_proxy_name
Char
readonly=False
related='name'
string='Fiscal Proxy Name'
fiscal_proxy_price_unit
Float
readonly=False
related='price_unit'
string='Fiscal Proxy Price Unit'
fiscal_proxy_product_id
Many2one
readonly=False
related='product_id'
string='Fiscal Proxy Product'
fiscal_proxy_quantity
Float
readonly=False
related='quantity'
string='Fiscal Proxy Quantity'
create(self, vals_list)
deductible_taxes
Boolean
company_dependent=True
fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
company_dependent=True
string='Fiscal Position'
journal_id
Many2one → account.journal
comodel_name='account.journal'
company_dependent=True
domain="[('type', 'in', {'out': ['sale', 'general'], 'in': ['purchase', 'general'], 'all': ['sale', 'purchase', 'general']}.get(fiscal_operation_type, []))]"
string='Account Journal'
action_create_new(self)
open_action(self)
fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
company_dependent=True
string='Fiscal Position'
No public methods.
No new fields.
Public methods (3)account_taxes(self, user_type='sale', fiscal_operation=False)
create(self, vals_list)
unlink(self)
No new fields.
Public methods (1)account_tax_group(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-brazil |
| GIT | |
| GIT | https://github.com/OCA/l10n-brazil.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-brazil/tree/12.0/l10n_br_account |
| VERSION | |
| VERSION | 16.4.0 |
| CATEGORY | |
| CATEGORY | Localisation |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion |
| COMMITTERS | |
| COMMITTERS | Raphaël Valyi, Renato Lima, GitHub, Luis Felipe Mileo, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Magno Costa, Gabriel Cardoso de Faria, oca-ci, Marcel Savegnago, Luis Malta, Neto, Renan Hiroki Bastos, Odoo Dev Jung, Ygor Carvalho |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-brazil |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:15 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-payment: - account_due_list OCA/l10n-brazil: - l10n_br_coa - l10n_br_fiscal - l10n_br_base - l10n_br_account_due_list odoo/odoo: - account_cancel - account - base_setup - base - web - product - decimal_precision - bus - web_tour - uom - analytic - portal - http_routing - digest - base_address_city - base_address_extended |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
erpbrasil.assinatura erpbrasil.base num2words |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
document_line_form |
l10n_br_fiscal.document.line.form | l10n_br_fiscal.document.line | field | Inherits l10n_br_fiscal.document_line_form |
fiscal_invoice_form |
l10n_br_account.fiscal.invoice.form | account.invoice | xpath | Inherits l10n_br_fiscal.document_form |
fiscal_invoice_line_form |
l10n_br_account.invoice.line.form | account.invoice.line | xpath | Inherits l10n_br_fiscal.document_line_form |
fiscal_invoice_search |
l10n_br_account.fiscal.invoice.search | account.invoice | xpath | Inherits l10n_br_fiscal.document_search |
fiscal_invoice_tree |
l10n_br_account.fiscal.invoice.tree | account.invoice | xpath | Inherits l10n_br_fiscal.document_tree |
fiscal_operation_form |
fiscal.operation.form | l10n_br_fiscal.operation | page | Inherits l10n_br_fiscal.operation_form |
fiscal_operation_line_form |
fiscal.operation.line.form | l10n_br_fiscal.operation.line | field | Inherits l10n_br_fiscal.operation_line_form |
fiscal_operation_search |
fiscal.operation.search | l10n_br_fiscal.operation | filter | Inherits l10n_br_fiscal.operation_search |
fiscal_operation_tree |
fiscal.operation.tree | l10n_br_fiscal.operation | field | Inherits l10n_br_fiscal.operation_tree |
invoice_form |
l10n_br_account.invoice.form | account.invoice | div | Inherits account.invoice_form |
invoice_line_form |
l10n_br_account.invoice.line.form | account.invoice.line | field | Inherits account.view_invoice_line_form |
invoice_search |
l10n_br_account.invoice.search | account.invoice | field | Inherits account.view_account_invoice_filter |
invoice_supplier_form |
l10n_br_account.invoice.supplier.form | account.invoice | xpath | Inherits account.invoice_supplier_form |
invoice_tree |
l10n_br_account.invoice.tree | account.invoice | field | Inherits account.invoice_tree |
l10n_br_account_invoice_refund_form |
l10n_br_account.invoice.refund.form | account.invoice.refund | field | Inherits account.view_account_invoice_refund |
l10n_br_account_product_view_account_invoice_report_search |
l10n_br_account.invoice.report.search | account.invoice.report | filter | Inherits account.view_account_invoice_report_search |
l10n_br_account_tax_form |
l10n_br_account.tax.form | account.tax | field | Inherits account.view_tax_form |
l10n_br_account_tax_template_form |
l10n_br_account.tax.template.form | account.tax.template | xpath | Inherits account.view_account_tax_template_form |
nfe_document_form_inherit |
l10n_br_nfe.document.form.inherit | l10n_br_fiscal.document | field | Inherits l10n_br_fiscal.document_form |
No new fields.
Public methods (1)name_get(self)
active
Boolean
default=True
string='Active'
cnpj_cpf
Char
related='partner_id.cnpj_cpf'
string='CNPJ/CPF'
document_electronic
Boolean
related='document_type_id.electronic'
string='Electronic?'
document_type
Char
related='document_type_id.code'
store=True
fiscal_document_id
Many2one → l10n_br_fiscal.document
comodel_name='l10n_br_fiscal.document'
copy=False
ondelete='cascade'
required=True
string='Fiscal Document'
ie
Char
related='partner_id.inscr_est'
string='Adapted State Tax Number'
legal_name
Char
related='partner_id.legal_name'
string='Adapted Legal Name'
withholding_invoice_ids
Many2many → account.invoice
column1='invoice_id'
column2='withholding_invoice_id'
comodel_name='account.invoice'
compute='_compute_withholding_invoice_ids'
relation='account_invoice_withholding_invoice_rel'
store=True
string='Withholding Invoice'
withholding_origin_ids
Many2many → account.invoice
column1='withholding_invoice_id'
column2='invoice_id'
comodel_name='account.invoice'
compute='_compute_withholding_invoice_ids'
relation='account_invoice_withholding_invoice_rel'
store=True
string='Withholding Origin Invoice'
action_date_assign(self)
action_document_back2draft(self)
action_document_cancel(self)
action_document_correction(self)
action_document_invalidate(self)
action_document_send(self)
action_invoice_cancel(self)
action_invoice_draft(self)
action_invoice_open(self)
action_move_create(self)
action_send_email(self)
copy(self, default=None)
create(self, values)
default_get(self, fields_list)
fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False)
finalize_invoice_move_lines(self, move_lines)
get_taxes_values(self)
invoice_line_move_line_get(self)
open_fiscal_document(self)
open_invoice_document(self)
refund(self, date_invoice=None, date=None, description=None, journal_id=None)
tax_line_move_line_get(self)
unlink(self)
view_pdf(self)
view_xml(self)
write(self, values)
active
Boolean
default=True
string='Active'
allow_csll_irpj
Boolean
compute='_compute_allow_csll_irpj'
cfop_destination
Selection
related='cfop_id.destination'
string='CFOP Destination'
cofins_cst_code
Char
related='cofins_cst_id.code'
string='COFINS CST Code'
cofinsst_cst_code
Char
related='cofinsst_cst_id.code'
string='COFINS ST CST Code'
document_type_id
Many2one → l10n_br_fiscal.document.type
comodel_name='l10n_br_fiscal.document.type'
related='invoice_id.document_type_id'
fiscal_document_line_id
Many2one → l10n_br_fiscal.document.line
comodel_name='l10n_br_fiscal.document.line'
copy=False
ondelete='cascade'
required=True
string='Fiscal Document Line'
fiscal_genre_code
Char
related='fiscal_genre_id.code'
string='Fiscal Product Genre Code'
icms_cst_code
Char
related='icms_cst_id.code'
string='ICMS CST Code'
ind_final
Selection
related='invoice_id.ind_final'
ipi_cst_code
Char
related='ipi_cst_id.code'
string='IPI CST Code'
partner_company_type
Selection
related='partner_id.company_type'
partner_id
Many2one → res.partner
comodel_name='res.partner'
related='invoice_id.partner_id'
string='Partner'
partner_is_public_entity
Boolean
related='partner_id.is_public_entity'
pis_cst_code
Char
related='pis_cst_id.code'
string='PIS CST Code'
pisst_cst_code
Char
related='pisst_cst_id.code'
string='PIS ST CST Code'
tax_framework
Selection
related='invoice_id.company_id.tax_framework'
selection=TAX_FRAMEWORK
string='Tax Framework'
wh_move_line_id
Many2one → account.move.line
comodel_name='account.move.line'
ondelete='restrict'
string='WH Account Move Line'
create(self, values)
default_get(self, fields_list)
unlink(self)
write(self, values)
force_fiscal_operation_id
Many2one → l10n_br_fiscal.operation
comodel_name='l10n_br_fiscal.operation'
string='Force Fiscal Operation'
fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False)
invoice_refund(self)
cest_id
Many2one → l10n_br_fiscal.cest
comodel_name='l10n_br_fiscal.cest'
string='CEST'
cfop_id
Many2one → l10n_br_fiscal.cfop
comodel_name='l10n_br_fiscal.cfop'
string='CFOP'
cofins_value
Float
digits=dp.get_precision('Account')
string='Valor COFINS'
document_serie_id
Many2one → l10n_br_fiscal.document.serie
comodel_name='l10n_br_fiscal.document.serie'
document_type_id
Many2one → l10n_br_fiscal.document.type
comodel_name='l10n_br_fiscal.document.type'
fiscal_operation_id
Many2one → l10n_br_fiscal.operation
comodel_name='l10n_br_fiscal.operation'
string='Operation'
fiscal_operation_line_id
Many2one → l10n_br_fiscal.operation.line
comodel_name='l10n_br_fiscal.operation.line'
string='Operation Line'
fiscal_type
Selection
selection=PRODUCT_FISCAL_TYPE
string='Tipo Fiscal'
icms_destination_value
Float
digits=dp.get_precision('Account')
string='Valor Difal Destino'
icms_origin_value
Float
digits=dp.get_precision('Account')
string='Valor Difal Origem'
icms_value
Float
digits=dp.get_precision('Account')
string='Valor ICMS'
icmsfcp_value
Float
digits=dp.get_precision('Account')
string='Valor Difal FCP'
icmsst_value
Float
digits=dp.get_precision('Account')
string='Valor ICMS ST'
ii_value
Float
digits=dp.get_precision('Account')
string='Valor II'
ipi_value
Float
digits=dp.get_precision('Account')
string='Valor IPI'
issuer
Selection
selection=DOCUMENT_ISSUER
string='Issuer'
ncm_id
Many2one → l10n_br_fiscal.ncm
comodel_name='l10n_br_fiscal.ncm'
string='NCM'
pis_value
Float
digits=dp.get_precision('Account')
string='Valor PIS'
total_with_taxes
Float
rdigits=dp.get_precision('Account')
string='Total com Impostos'
No public methods.
revenue_expense
Boolean
string='Gera Financeiro'
No public methods.
No new fields.
Public methods (3)button_cancel(self)
create_wh_invoices(self)
post(self, invoice=False)
fiscal_tax_ids
Many2many → l10n_br_fiscal.tax
column1='account_tax_id'
column2='fiscal_tax_id'
comodel_name='l10n_br_fiscal.tax'
relation='fiscal_account_tax_rel'
string='Fiscal Taxes'
compute_all(self, price_unit, currency=None, quantity=1.0, product=None, partner=None, fiscal_taxes=None, operation_line=False, ncm=None, nbs=None, nbm=None, cest=None, discount_value=None, insurance_value=None, other_value=None, freight_value=None, fiscal_price=None, fiscal_quantity=None, uot=None, icmssn_range=None, icms_origin=None, ind_final=FINAL_CUSTOMER_NO)
fiscal_tax_group_id
Many2one → l10n_br_fiscal.tax.group
comodel_name='l10n_br_fiscal.tax.group'
string='Fiscal Tax Group'
deductible_tax(self, type_tax_use='sale')
fiscal_tax_ids
Many2many → l10n_br_fiscal.tax
column1='account_tax_template_id'
column2='fiscal_tax_id'
comodel_name='l10n_br_fiscal.tax'
relation='fiscal_account_template_tax_rel'
string='Fiscal Taxes'
No public methods.
fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
string='Fiscal Position'
No public methods.
invoice_id
Many2one → account.invoice
comodel_name='account.invoice'
string='Invoice'
default_get(self, fields_list)
invoice_ids
One2many → account.invoice
comodel_name='account.invoice'
inverse_name='fiscal_document_id'
string='Invoices'
unlink(self)
No new fields.
Public methods (1)do_cancel(self)
No new fields.
Public methods (1)doit(self)
invoice_line_ids
One2many → account.invoice.line
comodel_name='account.invoice.line'
inverse_name='fiscal_document_line_id'
string='Invoice Lines'
No public methods.
No new fields.
Public methods (1)do_invalidate(self)
deductible_taxes
Boolean
company_dependent=True
string='Deductible Taxes'
fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
company_dependent=True
string='Fiscal Position'
journal_id
Many2one → account.journal
comodel_name='account.journal'
company_dependent=True
domain="[('type', 'in', {'out': ['sale', 'general'], 'in': ['purchase', 'general'], 'all': ['sale', 'purchase', 'general']}.get(fiscal_operation_type, []))]"
string='Account Journal'
action_create_new(self)
open_action(self)
fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
company_dependent=True
string='Fiscal Position'
No public methods.
No new fields.
Public methods (3)account_taxes(self, user_type='sale', deductible=False)
create(self, values)
unlink(self)
No new fields.
Public methods (1)account_tax_group(self)
fiscal_dummy_id
Many2one → l10n_br_fiscal.document
comodel_name='l10n_br_fiscal.document'
required=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-brazil |
| GIT | |
| GIT | https://github.com/OCA/l10n-brazil.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-brazil/tree/10.0/l10n_br_account |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Localisation |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion |
| COMMITTERS | |
| COMMITTERS | Renato Lima, GitHub, oca-travis, Renato |
| WEBSITE | |
| WEBSITE | http://odoobrasil.org |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:19:54 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-fiscal-rule: - account_fiscal_position_rule OCA/l10n-brazil: - l10n_br_generic - l10n_br_base odoo/odoo: - account - base_setup - base - web_kanban - web - product - decimal_precision - bus - web_tour - report - analytic - web_planner - account_cancel - l10n_generic_coa |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
num2words |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
l10n_br_account_cce_form |
l10n_br_account.invoice.cce.form | l10n_br_account.invoice.cce | form | New |
l10n_br_account_cce_tree |
l10n_br_account.invoice.cce.tree | l10n_br_account.invoice.cce | tree | New |
l10n_br_account_company_form |
l10n_br_account.company | res.company | page | Inherits base.view_company_form |
l10n_br_account_document_event_form |
l10n_br_account.document_event.form | l10n_br_account.document_event | form | New |
l10n_br_account_document_event_tree |
l10n_br_account.document_event.tree | l10n_br_account.document_event | tree | New |
l10n_br_account_fiscal_category_search |
l10n_br_account.fiscal.category.search | l10n_br_account.fiscal.category | search | New |
l10n_br_account_invoice_cancel_form |
l10n_br_account.invoice.cancel.form | l10n_br_account.invoice.cancel | form | New |
l10n_br_account_invoice_cancel_tree |
l10n_br_account.invoice.cancel.tree | l10n_br_account.invoice.cancel | tree | New |
l10n_br_account_invoice_invalid_number_form |
l10n_br_account.invoice.invalid.number.form | l10n_br_account.invoice.invalid.number | form | New |
l10n_br_account_invoice_invalid_number_tree |
l10n_br_account.invoice.invalid.number.tree | l10n_br_account.invoice.invalid.number | tree | New |
l10n_br_account_invoice_tree |
l10n_br_account.invoice.tree | account.invoice | field | Inherits account.invoice_tree |
l10n_br_account_journal_form |
l10n_br_account.journal.form | account.journal | notebook | Inherits account.view_account_journal_form |
l10n_br_account_move_line_filter |
l10n_br_account.move.line.filter | account.move.line | field | Inherits account.view_account_move_line_filter |
l10n_br_account_position_form |
l10n_br_account.fiscal.position.form | account.fiscal.position | field | Inherits account.view_account_position_form |
l10n_br_account_position_tree |
l10n_br_account.fiscal.position.tree | account.fiscal.position | field | Inherits account.view_account_position_tree |
l10n_br_account_product_template_form_view |
l10n_br_account_product_template_form_view | product.template | field | Inherits product.product_template_form_view |
l10n_br_account_view_account_invoice_report_search |
l10n_br_account.invoice.report.search | account.invoice.report | filter | Inherits account.view_account_invoice_report_search |
l10n_br_account_view_partner_form |
l10n_br_account.partner.form | res.partner | field | Inherits l10n_br_base.view_l10n_br_base_partner_form |
view_account_config_settings_l10n_br_account |
account.config.settings.l10n_br_account | account.config.settings | data | Inherits account.view_account_config_settings |
view_l10n_br_account_cnae_form |
l10n_br_account.cnae.form | l10n_br_account.cnae | form | New |
view_l10n_br_account_cnae_structure |
l10n_br_account.cnae.structure | l10n_br_account.cnae | tree | New |
view_l10n_br_account_cnae_tree |
l10n_br_account.cnae.tree | l10n_br_account.cnae | tree | New |
view_l10n_br_account_document_serie_form |
l10n_br_account.document.serie | l10n_br_account.document.serie | form | New |
view_l10n_br_account_document_serie_tree |
l10n_br_account.document.serie | l10n_br_account.document.serie | tree | New |
view_l10n_br_account_fiscal_category_form |
l10n_br_account.fiscal.category.form | l10n_br_account.fiscal.category | form | New |
view_l10n_br_account_fiscal_category_tree |
l10n_br_account.fiscal.category.tree | l10n_br_account.fiscal.category | tree | New |
view_l10n_br_account_fiscal_document_form |
l10n_br_account.fiscal.document | l10n_br_account.fiscal.document | form | New |
view_l10n_br_account_fiscal_document_tree |
l10n_br_account.fiscal.document | l10n_br_account.fiscal.document | tree | New |
view_l10n_br_account_fiscal_position_rule_form |
l10n_br_account.fiscal.position.rule.form | account.fiscal.position.rule | field | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_form |
view_l10n_br_account_fiscal_position_rule_template_form |
l10n_br_account.fiscal.position.rule.template.form | account.fiscal.position.rule.template | field | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_template_form |
view_l10n_br_account_fiscal_position_rule_template_tree |
l10n_br_account.fiscal.position.rule.template.tree | account.fiscal.position.rule.template | field | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_template_tree |
view_l10n_br_account_fiscal_position_rule_tree |
l10n_br_account.fiscal.position.rule.tree | account.fiscal.position.rule | field | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_tree |
view_l10n_br_account_invoice_form |
l10n_br_account.invoice.form | account.invoice | page | Inherits account.invoice_form |
view_l10n_br_account_partner_filter |
l10n_br_account.partner.filter | account.invoice | field | Inherits account.view_account_invoice_filter |
view_l10n_br_account_partner_fiscal_type_form |
l10n_br_account.partner.fiscal.type | l10n_br_account.partner.fiscal.type | form | New |
view_l10n_br_account_partner_fiscal_type_tree |
l10n_br_account.partner.fiscal.type | l10n_br_account.partner.fiscal.type | tree | New |
view_l10n_br_account_partner_special_fiscal_type_form |
l10n_br_account.partner.special.fiscal.type | l10n_br_account.partner.special.fiscal.type | form | New |
view_l10n_br_account_partner_special_fiscal_type_tree |
l10n_br_account.partner.special.fiscal.type | l10n_br_account.partner.special.fiscal.type | tree | New |
view_l10n_br_account_service_type_form |
l10n_br_account.service.type.form | l10n_br_account.service.type | form | New |
view_l10n_br_account_service_type_structure |
l10n_br_account.service.type.structure | l10n_br_account.service.type | tree | New |
view_l10n_br_account_service_type_tree |
l10n_br_account.service.type.tree | l10n_br_account.service.type | tree | New |
view_l10n_br_sale_fiscal_position_rule_search |
l10n_br_sale.fiscal.position.rule.search | account.fiscal.position.rule | xpath | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_search |
view_l10n_br_sale_fiscal_position_rule_template_search |
l10n_br_sale.fiscal.position.rule.template.search | account.fiscal.position.rule.template | xpath | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_template_search |
ibpt_update_days
Integer
related='company_id.ibpt_update_days'
string='Quantidade de dias para Atualizar'
ipbt_token
Char
related='company_id.ipbt_token'
string='IPBT Token'
No public methods.
No new fields.
Public methods (0)No public methods.
partner_fiscal_type_id
Many2many → l10n_br_account.partner.fiscal.type
column1='afp_id'
column2='partner_fiscal_type_id'
comodel_name='l10n_br_account.partner.fiscal.type'
relation='afp_rule_l10n_br_account_partner_fiscal_type'
string='Tipo Fiscal do Parceiro'
partner_special_fiscal_type_id
Many2many → l10n_br_account.partner.special.fiscal.type
column1='afp_id'
column2='partner_special_fiscal_type_id'
comodel_name='l10n_br_account.partner.special.fiscal.type'
relation='afp_rule_l10n_br_account_partner_special_fiscal_type'
string='Regime especial'
product_fiscal_category_map(self, product_id, fiscal_category_id, to_state_id=None)
partner_fiscal_type_id
Many2many → l10n_br_account.partner.fiscal.type
column1='afp_template'
column2='partner_fiscal_type'
comodel_name='l10n_br_account.partner.fiscal.type'
relation='afp_rule_template_l10n_br_account_partner_fiscal_type'
string='Tipo Fiscal do Parceiro'
partner_special_fiscal_type_id
Many2many → l10n_br_account.partner.special.fiscal.type
column1='afp_id'
column2='partner_special_fiscal_type_id'
comodel_name='l10n_br_account.partner.special.fiscal.type'
relation='afp_rule_template_l10n_br_account_partner_special_fiscal_type'
string='Regime especial'
No public methods.
tax_src_id
Many2one → account.tax
comodel_name='account.tax'
required=False
string='Tax on Product'
No public methods.
tax_src_id
Many2one → account.tax.template
comodel_name='account.tax.template'
required=False
string='Tax on Product'
No public methods.
account_document_event_ids
One2many → l10n_br_account.document_event
comodel_name='l10n_br_account.document_event'
inverse_name='document_event_ids'
string='Eventos'
cnpj_cpf
Char
related='partner_id.cnpj_cpf'
string='CNPJ/CPF'
document_serie_id
Many2one → l10n_br_account.document.serie
comodel_name='l10n_br_account.document.serie'
domain="[('fiscal_document_id', '=', fiscal_document_id),('company_id', '=', company_id)]"
readonly=True
states={'draft': [('readonly', False)]}
string='Série'
fiscal_category_id
Many2one → l10n_br_account.fiscal.category
comodel_name='l10n_br_account.fiscal.category'
readonly=True
states={'draft': [('readonly', False)]}
string='Categoria Fiscal'
fiscal_comment
Text
string='Observação Fiscal'
fiscal_document_code
Char
readonly=True
related='fiscal_document_id.code'
store=True
string='Document Code'
fiscal_document_electronic
Boolean
readonly=True
related='fiscal_document_id.electronic'
store=True
string='Electronic'
fiscal_document_id
Many2one → l10n_br_account.fiscal.document
comodel_name='l10n_br_account.fiscal.document'
readonly=True
states={'draft': [('readonly', False)]}
string='Documento'
fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
oldname='fiscal_position'
readonly=True
states={'draft': [('readonly', False)]}
string='Fiscal Position'
ie
Char
related='partner_id.inscr_est'
string='Inscrição Estadual'
legal_name
Char
related='partner_id.legal_name'
string='Razão Social'
move_line_receivable_id
Many2many → account.move.line
comodel_name='account.move.line'
compute='_compute_receivables'
string='Receivables'
revenue_expense
Boolean
readonly=True
related='journal_id.revenue_expense'
store=True
string='Gera Financeiro'
state
Selection
selection_add=[('sefaz_export', 'Enviar para Receita'), ('sefaz_exception', 'Erro de autorização da Receita'), ('sefaz_cancelled', 'Cancelado no Sefaz'), ('sefaz_denied', 'Denegada no Sefaz')]
finalize_invoice_move_lines(self, move_lines)
invoice_line_move_line_get(self)
name_get(self)
open_fiscal_document(self)
amount_tax_discount
Float
compute='_compute_price'
digits=dp.get_precision('Account')
oldname='price_tax_discount'
readonly=True
store=True
string='Amount Tax discount'
fiscal_category_id
Many2one → l10n_br_account.fiscal.category
comodel_name='l10n_br_account.fiscal.category'
string='Categoria Fiscal'
fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
domain="[('fiscal_category_id', '=', fiscal_category_id)]"
string='Posição Fiscal'
No public methods.
document_serie_id
Many2one → l10n_br_account.document.serie
readonly=True
string='Série'
args: 'l10n_br_account.document.serie'
fiscal_category_id
Many2one → l10n_br_account.fiscal.category
readonly=True
args: 'l10n_br_account.fiscal.category', 'Fiscal Category'
fiscal_document_electronic
Boolean
readonly=True
string='Electronic'
l10n_br_city_id
Many2one → l10n_br_base.city
string='Municipio'
args: 'l10n_br_base.city'
number
Char
readonly=True
size=32
string='Number'
revenue_expense
Char
readonly=True
size=32
string='Gera Financeiro'
state
Selection
selection_add=[('sefaz_export', 'Enviar para Receita'), ('sefaz_exception', 'Erro de autorização da Receita'), ('sefaz_cancelled', 'Cancelado no Sefaz'), ('sefaz_denied', 'Denegada no Sefaz')]
state_id
Many2one → res.country.state
required=True
string='Estado'
args: 'res.country.state'
No public methods.
revenue_expense
Boolean
string='Gera Financeiro'
No public methods.
No new fields.
Public methods (0)No public methods.
amount_mva
Float
default=0.0
digits=dp.get_precision('Account')
help='Um percentual decimal em % entre 0-1.'
required=True
string='MVA Percent'
amount_type
Selection
add_selection=[('quantity', 'Quantity')]
base_reduction
Float
default=0.0
digits=dp.get_precision('Account')
help='Um percentual decimal em % entre 0-1.'
required=True
string='Redution'
compute_all(self, price_unit, currency=None, quantity=1.0, product=None, partner=None, fiscal_position=False, insurance_value=0.0, freight_value=0.0, other_costs_value=0.0, base_tax=0.0)
amount_mva
Float
default=0.0
digits=dp.get_precision('Account')
help='Um percentual decimal em % entre 0-1.'
required=True
string='MVA Percent'
amount_type
Selection
add_selection=[('quantity', 'Quantity')]
base_reduction
Float
default=0.0
digits=dp.get_precision('Account')
help='Um percentual decimal em % entre 0-1.'
required=True
string='Redution'
No public methods.
child_ids
One2many → l10n_br_account.cnae
comodel_name='l10n_br_account.cnae'
inverse_name='parent_id'
string='CNAEs Filhos'
code
Char
required=True
size=16
string='Código'
internal_type
Selection
default='normal'
required=True
args: [('view', 'Visualização'), ('normal', 'Normal')], 'Tipo Interno'
name
Char
required=True
size=64
string='Descrição'
parent_id
Many2one → l10n_br_account.cnae
comodel_name='l10n_br_account.cnae'
string='CNAE Pai'
version
Char
required=True
size=16
string='Versão'
name_get(self)
active
Boolean
string='Ativo'
code
Char
required=True
size=3
string='Código'
company_id
Many2one → res.company
comodel_name='res.company'
required=True
string='Empresa'
fiscal_document_id
Many2one → l10n_br_account.fiscal.document
comodel_name='l10n_br_account.fiscal.document'
required=True
string='Documento Fiscal'
fiscal_type
Selection
default=PRODUCT_FISCAL_TYPE_DEFAULT
selection=PRODUCT_FISCAL_TYPE
string='Tipo Fiscal'
internal_sequence_id
Many2one → ir.sequence
comodel_name='ir.sequence'
string='Sequência Interna'
name
Char
required=True
string='Descrição'
create(self, vals)
cancel_document_event_id
Many2one → l10n_br_account.invoice.cancel
comodel_name='l10n_br_account.invoice.cancel'
string='Cancelamento'
company_id
Many2one → res.company
comodel_name='res.company'
readonly=True
states={'draft': [('readonly', False)]}
string='Empresa'
create_date
Datetime
readonly=True
string='Data Criação'
display_name
Char
compute='_compute_display_name'
string='Nome'
document_event_ids
Many2one → account.invoice
comodel_name='account.invoice'
string='Documentos'
end_date
Datetime
readonly=True
string='Data Finalização'
file_returned
Char
readonly=True
string='Retorno'
file_sent
Char
readonly=True
string='Envio'
invalid_number_document_event_id
Many2one → l10n_br_account.invoice.invalid.number
comodel_name='l10n_br_account.invoice.invalid.number'
string='Inutilização'
message
Char
readonly=True
string='Mensagem'
origin
Char
help='Referência ao documento que gerou o evento.'
readonly=True
size=64
states={'draft': [('readonly', False)]}
string='Documento de Origem'
response
Char
readonly=True
size=64
string='Descrição'
state
Selection
default='draft'
index=True
readonly=True
selection=[('draft', 'Rascunho'), ('send', 'Enviado'), ('wait', 'Aguardando Retorno'), ('done', 'Recebido Retorno')]
string='Status'
status
Char
readonly=True
string='Código'
type
Selection
selection=[('-1', 'Exception'), ('0', 'Envio Lote'), ('1', 'Consulta Recibo'), ('2', 'Cancelamento'), ('3', 'Inutilização'), ('4', 'Consulta NFE'), ('5', 'Consulta Situação'), ('6', 'Consulta Cadastro'), ('7', 'DPEC Recepção'), ('8', 'DPEC Consulta'), ('9', 'Recepção Evento'), ('10', 'Download'), ('11', 'Consulta Destinadas'), ('12', 'Distribuição DFe'), ('13', 'Manifestação')]
string='Serviço'
write_date
Datetime
readonly=True
string='Data Alteração'
set_done(self)
code
Char
required=True
size=254
string='Código'
fiscal_position_ids
One2many → account.fiscal.position
comodel_name='account.fiscal.position'
inverse_name='fiscal_category_id'
string='Posições Fiscais'
fiscal_type
Selection
default=PRODUCT_FISCAL_TYPE_DEFAULT
selection=PRODUCT_FISCAL_TYPE
string='Tipo Fiscal'
journal_type
Selection
default='sale'
required=True
selection=[('sale', 'Saída'), ('sale_refund', 'Devolução de Saída'), ('purchase', 'Entrada'), ('purchase_refund', 'Devolução de Entrada')]
size=32
string='Tipo do Diário'
name
Char
help='Natureza da operação informada no XML'
size=254
string='Descrição'
note
Text
string='Observações'
property_journal
Many2one → account.journal
comodel_name='account.journal'
company_dependent=True
help='Diário utilizado para esta categoria de operação fiscal'
string='Diário Contábil'
refund_fiscal_category_id
Many2one → l10n_br_account.fiscal.category
comodel_name='l10n_br_account.fiscal.category'
domain="[('type', '!=', type), ('fiscal_type', '=', fiscal_type),('journal_type', 'like', journal_type),('state', '=', 'approved')]"
string='Categoria Fiscal de Devolução'
reverse_fiscal_category_id
Many2one → l10n_br_account.fiscal.category
comodel_name='l10n_br_account.fiscal.category'
domain="[('type', '!=', type), ('fiscal_type', '=', fiscal_type),('state', '=', 'approved')]"
string='Categoria Fiscal Inversa'
state
Selection
default='draft'
index=True
readonly=True
selection=[('draft', 'Rascunho'), ('review', 'Revisão'), ('approved', 'Aprovada'), ('unapproved', 'Não Aprovada')]
string='Status'
track_visibility='onchange'
type
Selection
default='output'
selection=TYPE
string='Tipo'
action_unapproved_draft(self)
onchange_journal_type(self, journal_type)
code
Char
required=True
size=8
string='Codigo'
electronic
Boolean
string='Eletrônico'
name
Char
size=64
string='Descrição'
No public methods.
cancel_document_event_ids
One2many → l10n_br_account.document_event
comodel_name='l10n_br_account.document_event'
inverse_name='cancel_document_event_id'
string='Eventos'
display_name
Char
compute='_compute_display_name'
string='Nome'
invoice_id
Many2one → account.invoice
comodel_name='account.invoice'
string='Fatura'
justificative
Char
readonly=True
required=True
size=255
string='Justificativa'
partner_id
Many2one → res.partner
comodel_name='res.partner'
related='invoice_id.partner_id'
string='Cliente'
No public methods.
cce_document_event_ids
One2many → l10n_br_account.document_event
comodel_name='l10n_br_account.document_event'
inverse_name='document_event_ids'
string='Eventos'
display_name
Char
compute='_compute_display_name'
string='Name'
invoice_id
Many2one → account.invoice
comodel_name='account.invoice'
string='Fatura'
motivo
Text
readonly=True
required=True
string='Motivo'
sequencia
Char
help='Indica a sequência da carta de correcão'
string='Sequência'
No public methods.
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Empresa'
document_serie_id
Many2one → l10n_br_account.document.serie
comodel_name='l10n_br_account.document.serie'
domain="[('fiscal_document_id', '=', fiscal_document_id), ('company_id', '=', company_id)]"
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Série'
fiscal_document_id
Many2one → l10n_br_account.fiscal.document
comodel_name='l10n_br_account.fiscal.document'
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Documento Fiscal'
invalid_number_document_event_ids
One2many → l10n_br_account.document_event
comodel_name='l10n_br_account.document_event'
inverse_name='invalid_number_document_event_id'
states={'done': [('readonly', True)]}
string='Eventos'
justificative
Char
readonly=True
required=True
size=255
states={'draft': [('readonly', False)]}
string='Justificativa'
number_end
Integer
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Número Final'
number_start
Integer
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Número Inicial'
state
Selection
default='draft'
required=True
selection=[('draft', 'Rascunho'), ('cancel', 'Cancelado'), ('done', 'Concluído')]
string='Status'
action_draft_done(self)
name_get(self)
unlink(self)
code
Char
required=True
size=16
string='Código'
default
Boolean
default=True
string='Tipo Fiscal Padrão'
icms
Boolean
string='Recupera ICMS'
ipi
Boolean
string='Recupera IPI'
is_company
Boolean
string='Pessoa Jurídica?'
name
Char
size=64
string='Descrição'
No public methods.
name
Char
size=20
string='Nome'
No public methods.
fiscal_category_destination_id
Many2one → l10n_br_account.fiscal.category
comodel_name='l10n_br_account.fiscal.category'
string='Categoria de Destino'
fiscal_category_source_id
Many2one → l10n_br_account.fiscal.category
comodel_name='l10n_br_account.fiscal.category'
string='Categoria de Origem'
product_tmpl_id
Many2one → product.template
comodel_name='product.template'
ondelete='cascade'
string='Produto'
to_state_id
Many2one → res.country.state
comodel_name='res.country.state'
string='Estado Destino'
No public methods.
child_ids
One2many → l10n_br_account.service.type
comodel_name='l10n_br_account.service.type'
inverse_name='parent_id'
string='Tipo de Serviço Filhos'
code
Char
required=True
size=16
string='Código'
internal_type
Selection
default='normal'
required=True
selection=[('view', 'Visualização'), ('normal', 'Normal')]
string='Tipo Interno'
name
Char
required=True
size=256
string='Descrição'
parent_id
Many2one → l10n_br_account.service.type
comodel_name='l10n_br_account.service.type'
string='Tipo de Serviço Pai'
name_get(self)
fiscal_category_default_ids
One2many → l10n_br_account.product.category
comodel_name='l10n_br_account.product.category'
inverse_name='product_tmpl_id'
string='Categoria de Operação Fiscal Padrões'
fiscal_type
Selection
default=PRODUCT_FISCAL_TYPE_DEFAULT
selection=PRODUCT_FISCAL_TYPE
string='Tipo Fiscal'
service_type_id
Many2one → l10n_br_account.service.type
comodel_name='l10n_br_account.service.type'
string='Tipo de Serviço'
No public methods.
annual_revenue
Float
default=0.0
digits=dp.get_precision('Account')
help='Faturamento Bruto dos últimos 12 meses'
required=True
string='Faturamento Anual'
cnae_main_id
Many2one → l10n_br_account.cnae
comodel_name='l10n_br_account.cnae'
string='CNAE Primário'
cnae_secondary_ids
Many2many → l10n_br_account.cnae
column1='company_id'
column2='cnae_id'
comodel_name='l10n_br_account.cnae'
relation='res_company_l10n_br_account_cnae'
string='CNAE Segundários'
document_serie_service_id
Many2one → l10n_br_account.document.serie
comodel_name='l10n_br_account.document.serie'
domain="[('company_id', '=', active_id), ('active', '=', True),('fiscal_type', '=', 'service')]"
string='Série Fiscais para Serviço'
ecnpj_a1_file
Binary
string='Arquivo e-CNPJ A1'
ecnpj_a1_password
Char
size=64
string='Senha e-CNPJ A1'
fiscal_rule_parent_id
Many2one → account.fiscal.position.rule
comodel_name='account.fiscal.position.rule'
string='Conjunto de Regras Fiscais'
fiscal_type
Selection
default=COMPANY_FISCAL_TYPE_DEFAULT
required=True
selection=COMPANY_FISCAL_TYPE
string='Regime Tributário'
ibpt_update_days
Integer
string='Quantidade de dias para Atualizar'
ipbt_token
Char
string='IPBT Token'
service_invoice_id
Many2one → l10n_br_account.fiscal.document
comodel_name='l10n_br_account.fiscal.document'
string='Documento Fiscal'
No public methods.
partner_fiscal_type_id
Many2one → l10n_br_account.partner.fiscal.type
comodel_name='l10n_br_account.partner.fiscal.type'
default=_default_partner_fiscal_type_id
domain="[('is_company', '=', is_company)]"
string='Tipo Fiscal do Parceiro'
partner_special_fiscal_type_id
Many2many → l10n_br_account.partner.special.fiscal.type
comodel_name='l10n_br_account.partner.special.fiscal.type'
relation='res_partner_l10n_br_special_type'
string='Regime especial'
No public methods.
No new fields.
Public methods (1)action_create(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-brazil |
| GIT | |
| GIT | https://github.com/OCA/l10n-brazil.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-brazil/tree/9.0/l10n_br_account |
| VERSION | |
| VERSION | 2.0.0 |
| CATEGORY | |
| CATEGORY | Localisation |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion |
| COMMITTERS | |
| COMMITTERS | renato |
| WEBSITE | |
| WEBSITE | http://odoobrasil.org |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:15:19 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-fiscal-rule: - account_fiscal_position_rule OCA/l10n-brazil: - l10n_br_base OCA/server-tools: - web_context_tunnel odoo/odoo: - l10n_br - account - base_setup - base - web_kanban - web - product - decimal_precision - bus - report - analytic - web_tip - web_planner - account_cancel - l10n_generic_coa |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
num2words |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
l10n_br_account_cce_form |
l10n_br_account.invoice.cce.form | l10n_br_account.invoice.cce | form | New |
l10n_br_account_cce_tree |
l10n_br_account.invoice.cce.tree | l10n_br_account.invoice.cce | tree | New |
l10n_br_account_document_event_form |
l10n_br_account.document_event.form | l10n_br_account.document_event | form | New |
l10n_br_account_document_event_tree |
l10n_br_account.document_event.tree | l10n_br_account.document_event | tree | New |
l10n_br_account_fiscal_category_search |
l10n_br_account.fiscal.category.search | l10n_br_account.fiscal.category | search | New |
l10n_br_account_invoice_cancel_form |
l10n_br_account.invoice.cancel.form | l10n_br_account.invoice.cancel | form | New |
l10n_br_account_invoice_cancel_tree |
l10n_br_account.invoice.cancel.tree | l10n_br_account.invoice.cancel | tree | New |
l10n_br_account_invoice_invalid_number_form |
l10n_br_account.invoice.invalid.number.form | l10n_br_account.invoice.invalid.number | form | New |
l10n_br_account_invoice_invalid_number_tree |
l10n_br_account.invoice.invalid.number.tree | l10n_br_account.invoice.invalid.number | tree | New |
l10n_br_account_invoice_supplier_form |
l10n_br_account.invoice.supplier.form | account.invoice | button | Inherits account.invoice_supplier_form |
l10n_br_account_invoice_tree |
l10n_br_account.invoice.tree | account.invoice | field | Inherits account.invoice_tree |
l10n_br_account_position_form |
l10n_br_account.fiscal.position.form | account.fiscal.position | form | Inherits account.view_account_position_form |
l10n_br_account_position_template_form |
l10n_br_account.fiscal.position.template.form | account.fiscal.position.template | form | Inherits account.view_account_position_template_form |
l10n_br_account_position_tree |
l10n_br_account.fiscal.position.tree | account.fiscal.position | field | Inherits account.view_account_position_tree |
l10n_br_account_product_template_form_view |
l10n_br_account_product_template_form_view | product.template | field | Inherits product.product_template_form_view |
l10n_br_account_view_account_invoice_report_search |
l10n_br_account.invoice.report.search | account.invoice.report | filter | Inherits account.view_account_invoice_report_search |
l10n_br_account_view_partner_form |
l10n_br_account.partner.form | res.partner | field | Inherits l10n_br_base.view_l10n_br_base_partner_form |
view_account_config_settings_l10n_br_account |
account.config.settings.l10n_br_account | account.config.settings | data | Inherits account.view_account_config_settings |
view_l10n_br_account_cnae_form |
l10n_br_account.cnae.form | l10n_br_account.cnae | form | New |
view_l10n_br_account_cnae_structure |
l10n_br_account.cnae.structure | l10n_br_account.cnae | tree | New |
view_l10n_br_account_cnae_tree |
l10n_br_account.cnae.tree | l10n_br_account.cnae | tree | New |
view_l10n_br_account_company_form |
l10n_br_account.company | res.company | notebook | Inherits base.view_company_form |
view_l10n_br_account_document_serie_form |
l10n_br_account.document.serie | l10n_br_account.document.serie | form | New |
view_l10n_br_account_document_serie_tree |
l10n_br_account.document.serie | l10n_br_account.document.serie | tree | New |
view_l10n_br_account_fiscal_category_form |
l10n_br_account.fiscal.category.form | l10n_br_account.fiscal.category | form | New |
view_l10n_br_account_fiscal_category_tree |
l10n_br_account.fiscal.category.tree | l10n_br_account.fiscal.category | tree | New |
view_l10n_br_account_fiscal_document_form |
l10n_br_account.fiscal.document | l10n_br_account.fiscal.document | form | New |
view_l10n_br_account_fiscal_document_tree |
l10n_br_account.fiscal.document | l10n_br_account.fiscal.document | tree | New |
view_l10n_br_account_fiscal_position_rule_form |
l10n_br_account.fiscal.position.rule.form | account.fiscal.position.rule | field | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_form |
view_l10n_br_account_fiscal_position_rule_template_form |
l10n_br_account.fiscal.position.rule.template.form | account.fiscal.position.rule.template | field | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_template_form |
view_l10n_br_account_fiscal_position_rule_template_tree |
l10n_br_account.fiscal.position.rule.template.tree | account.fiscal.position.rule.template | field | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_template_tree |
view_l10n_br_account_fiscal_position_rule_tree |
l10n_br_account.fiscal.position.rule.tree | account.fiscal.position.rule | field | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_tree |
view_l10n_br_account_invoice_form |
l10n_br_account.invoice.form | account.invoice | button | Inherits account.invoice_form |
view_l10n_br_account_journal_form |
l10n_br_account.journal.form | account.journal | notebook | Inherits account.view_account_journal_form |
view_l10n_br_account_partner_filter |
l10n_br_account.partner.filter | account.invoice | field | Inherits account.view_account_invoice_filter |
view_l10n_br_account_partner_fiscal_type_form |
l10n_br_account.partner.fiscal.type | l10n_br_account.partner.fiscal.type | form | New |
view_l10n_br_account_partner_fiscal_type_tree |
l10n_br_account.partner.fiscal.type | l10n_br_account.partner.fiscal.type | tree | New |
view_l10n_br_account_partner_special_fiscal_type_form |
l10n_br_account.partner.special.fiscal.type | l10n_br_account.partner.special.fiscal.type | form | New |
view_l10n_br_account_partner_special_fiscal_type_tree |
l10n_br_account.partner.special.fiscal.type | l10n_br_account.partner.special.fiscal.type | tree | New |
view_l10n_br_account_position_template_form |
l10n_br_account.move.line.form | account.move.line | field | Inherits account.view_account_move_line_filter |
view_l10n_br_account_service_type_form |
l10n_br_account.service.type.form | l10n_br_account.service.type | form | New |
view_l10n_br_account_service_type_structure |
l10n_br_account.service.type.structure | l10n_br_account.service.type | tree | New |
view_l10n_br_account_service_type_tree |
l10n_br_account.service.type.tree | l10n_br_account.service.type | tree | New |
view_l10n_br_sale_fiscal_position_rule_search |
l10n_br_sale.fiscal.position.rule.search | account.fiscal.position.rule | xpath | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_search |
view_l10n_br_sale_fiscal_position_rule_template_search |
l10n_br_sale.fiscal.position.rule.template.search | account.fiscal.position.rule.template | xpath | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_template_search |
No new fields.
Public methods (0)No public methods.
ibpt_update_days
Integer
related='company_id.ibpt_update_days'
string='Quantidade de dias para Atualizar'
ipbt_token
Char
related='company_id.ipbt_token'
string='IPBT Token'
No public methods.
asset_operation
Boolean
help='Caso seja marcada essa opção, será incluido o IPI na base de\n calculo do ICMS.'
args: 'Operação de Aquisição de Ativo'
fiscal_category_fiscal_type
Selection
readonly=True
related='fiscal_category_id.fiscal_type'
store=True
string='Fiscal Type'
args: PRODUCT_FISCAL_TYPE
fiscal_category_id
Many2one → l10n_br_account.fiscal.category
inv_copy_note
Boolean
name
Char
required=True
size=128
args: 'Fiscal Position'
state
Selection
default='draft'
readonly=True
select=True
track_visibility='onchange'
args: [('draft', 'Rascunho'), ('review', 'Revisão'), ('approved', 'Aprovada'), ('unapproved', 'Não Aprovada')], 'Status'
type
Selection
type_tax_use
Selection
map_tax(self, cr, uid, fposition_id, taxes, context=None)
map_tax(self, taxes)
onchange_fiscal_category_id(self, fiscal_category_id=None)
onchange_type(self, type)
child_ids
One2many → account.fiscal.position.rule
fiscal_category_id
Many2one → l10n_br_account.fiscal.category
fiscal_type
Selection
default=COMPANY_FISCAL_TYPE_DEFAULT
required=True
args: COMPANY_FISCAL_TYPE, 'Regime Tributário'
parent_id
Many2one → account.fiscal.position.rule
partner_fiscal_type_id
Many2many → l10n_br_account.partner.fiscal.type
column1='afp_id'
column2='partner_fiscal_type_id'
comodel_name='l10n_br_account.partner.fiscal.type'
relation='afp_rule_l10n_br_account_partner_fiscal_type'
string='Tipo Fiscal do Parceiro'
partner_special_fiscal_type_id
Many2many → l10n_br_account.partner.special.fiscal.type
column1='afp_id'
column2='partner_special_fiscal_type_id'
comodel_name='l10n_br_account.partner.special.fiscal.type'
relation='afp_rule_l10n_br_account_partner_special_fiscal_type'
string='Regime especial'
revenue_end
Float
default=0.0
digits_compute=dp.get_precision('Account')
help='Faixa inicial de faturamento bruto'
args: 'Faturamento Final'
revenue_start
Float
default=0.0
digits_compute=dp.get_precision('Account')
help='Faixa inicial de faturamento bruto'
args: 'Faturamento Inicial'
product_fiscal_category_map(self, product_id, fiscal_category_id, to_state_id=None)
child_ids
One2many → account.fiscal.position.rule.template
fiscal_category_id
Many2one → l10n_br_account.fiscal.category
fiscal_type
Selection
default=COMPANY_FISCAL_TYPE_DEFAULT
required=True
args: COMPANY_FISCAL_TYPE, 'Regime Tributário'
parent_id
Many2one → account.fiscal.position.rule.template
partner_fiscal_type_id
Many2many → l10n_br_account.partner.fiscal.type
column1='afp_template'
column2='partner_fiscal_type'
comodel_name='l10n_br_account.partner.fiscal.type'
relation='afp_rule_template_l10n_br_account_partner_fiscal_type'
string='Tipo Fiscal do Parceiro'
partner_special_fiscal_type_id
Many2many → l10n_br_account.partner.special.fiscal.type
column1='afp_id'
column2='partner_special_fiscal_type_id'
comodel_name='l10n_br_account.partner.special.fiscal.type'
relation='afp_rule_template_l10n_br_account_partner_special_fiscal_type'
string='Regime especial'
revenue_end
Float
default=0.0
digits_compute=dp.get_precision('Account')
help='Faixa inicial de faturamento bruto'
args: 'Faturamento Final'
revenue_start
Float
default=0.0
digits_compute=dp.get_precision('Account')
help='Faixa inicial de faturamento bruto'
args: 'Faturamento Inicial'
No public methods.
tax_code_dest_id
Many2one → account.tax.code
tax_code_src_id
Many2one → account.tax.code
tax_src_domain
Char
related='tax_src_id.domain'
tax_src_id
Many2one → account.tax
required=False
string='Tax Source'
args: 'account.tax'
onchange_tax_src_id(self)
tax_code_dest_id
Many2one → account.tax.code.template
string='Replacement Tax Code'
args: 'account.tax.code.template'
tax_code_src_id
Many2one → account.tax.code.template
string='Código Taxa Origem'
args: 'account.tax.code.template'
tax_src_domain
Char
related='tax_src_id.domain'
string='Tax Domain'
tax_src_id
Many2one → account.tax.template
required=False
string='Tax Source'
args: 'account.tax.template'
onchange_tax_src_id(self)
asset_operation
Boolean
help='Caso seja marcada essa opção, será incluido o IPI na base de\n calculo do ICMS.'
args: 'Operação de Aquisição de Ativo'
fiscal_category_fiscal_type
Selection
readonly=True
related='fiscal_category_id.fiscal_type'
store=True
string='Fiscal Type'
args: PRODUCT_FISCAL_TYPE
fiscal_category_id
Many2one → l10n_br_account.fiscal.category
inv_copy_note
Boolean
name
Char
required=True
size=128
args: 'Fiscal Position'
state
Selection
default='draft'
readonly=True
select=True
track_visibility='onchange'
args: [('draft', 'Rascunho'), ('review', 'Revisão'), ('approved', 'Aprovada'), ('unapproved', 'Não Aprovada')], 'Status'
type
Selection
type_tax_use
Selection
generate_fiscal_position(self, cr, uid, chart_temp_id, tax_template_ref, acc_template_ref, company_id, context=None)
onchange_fiscal_category_id(self, fiscal_category_id=None)
onchange_type(self, type)
account_document_event_ids
One2many → l10n_br_account.document_event
cnpj_cpf
Char
related='partner_id.cnpj_cpf'
string='CNPJ/CPF'
document_serie_id
Many2one → l10n_br_account.document.serie
domain="[('fiscal_document_id', '=', fiscal_document_id), ('company_id','=',company_id)]"
readonly=True
states={'draft': [('readonly', False)]}
string='Série'
args: 'l10n_br_account.document.serie'
fiscal_category_id
Many2one → l10n_br_account.fiscal.category
readonly=True
states={'draft': [('readonly', False)]}
args: 'l10n_br_account.fiscal.category', 'Categoria Fiscal'
fiscal_comment
Text
fiscal_document_code
Char
readonly=True
related='fiscal_document_id.code'
store=True
string='Document Code'
fiscal_document_electronic
Boolean
readonly=True
related='fiscal_document_id.electronic'
store=True
string='Electronic'
type='boolean'
fiscal_document_id
Many2one → l10n_br_account.fiscal.document
readonly=True
states={'draft': [('readonly', False)]}
string='Documento'
args: 'l10n_br_account.fiscal.document'
fiscal_position
Many2one → account.fiscal.position
readonly=True
states={'draft': [('readonly', False)]}
args: 'account.fiscal.position', 'Fiscal Position'
ie
Char
related='partner_id.inscr_est'
string='Inscrição Estadual'
legal_name
Char
related='partner_id.legal_name'
string='Razão Social'
move_line_receivable_id
Many2many → account.move.line
compute='_compute_receivables'
string='Receivables'
args: 'account.move.line'
revenue_expense
Boolean
readonly=True
related='journal_id.revenue_expense'
store=True
string='Gera Financeiro'
state
Selection
selection_add=[('sefaz_export', 'Enviar para Receita'), ('sefaz_exception', 'Erro de autorização da Receita'), ('sefaz_cancelled', 'Cancelado no Sefaz'), ('sefaz_denied', 'Denegada no Sefaz')]
finalize_invoice_move_lines(self, move_lines)
name_get(self)
open_fiscal_document(self)
fiscal_category_id
Many2one → l10n_br_account.fiscal.category
fiscal_position
Many2one → account.fiscal.position
invoice_line_tax_id
Many2many → account.tax
domain=[('parent_id', '=', False)]
string='Taxes'
args: 'account.tax', 'account_invoice_line_tax', 'invoice_line_id', 'tax_id'
price_tax_discount
Float
compute='_compute_price'
digits=dp.get_precision('Account')
readonly=True
store=True
string='Price Tax discount'
move_line_get_item(self, line)
document_serie_id
Many2one → l10n_br_account.document.serie
readonly=True
string='Série'
args: 'l10n_br_account.document.serie'
fiscal_category_id
Many2one → l10n_br_account.fiscal.category
readonly=True
args: 'l10n_br_account.fiscal.category', 'Fiscal Category'
fiscal_document_electronic
Boolean
readonly=True
string='Electronic'
internal_number
Char
readonly=True
size=32
string='Invoice Number'
l10n_br_city_id
Many2one → l10n_br_base.city
string='Municipio'
args: 'l10n_br_base.city'
revenue_expense
Char
readonly=True
size=32
string='Gera Financeiro'
state
Selection
selection_add=[('sefaz_export', 'Enviar para Receita'), ('sefaz_exception', 'Erro de autorização da Receita'), ('sefaz_cancelled', 'Cancelado no Sefaz'), ('sefaz_denied', 'Denegada no Sefaz')]
state_id
Many2one → res.country.state
required=True
string='Estado'
args: 'res.country.state'
No public methods.
revenue_expense
Boolean
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (2)compute_all(self, cr, uid, taxes, price_unit, quantity, product=None, partner=None, force_excluded=False, fiscal_position=False, insurance_value=0.0, freight_value=0.0, other_costs_value=0.0)
compute_all(self, price_unit, quantity, product=None, partner=None, force_excluded=False, fiscal_position=False, insurance_value=0.0, freight_value=0.0, other_costs_value=0.0)
name
Char
size=64
args: 'Name'
No public methods.
child_ids
One2many → l10n_br_account.cnae
code
Char
required=True
size=16
args: 'Código'
internal_type
Selection
default='normal'
required=True
args: [('view', 'Visualização'), ('normal', 'Normal')], 'Tipo Interno'
name
Char
required=True
size=64
args: 'Descrição'
parent_id
Many2one → l10n_br_account.cnae
version
Char
required=True
size=16
args: 'Versão'
name_get(self)
active
Boolean
code
Char
required=True
size=3
args: 'Código'
company_id
Many2one → res.company
required=True
args: 'res.company', 'Empresa'
fiscal_document_id
Many2one → l10n_br_account.fiscal.document
required=True
args: 'l10n_br_account.fiscal.document', 'Documento Fiscal'
fiscal_type
Selection
default=PRODUCT_FISCAL_TYPE_DEFAULT
args: PRODUCT_FISCAL_TYPE, 'Tipo Fiscal'
internal_sequence_id
Many2one → ir.sequence
name
Char
required=True
args: 'Descrição'
create(self, vals)
cancel_document_event_id
Many2one → l10n_br_account.invoice.cancel
company_id
Many2one → res.company
readonly=True
states={'draft': [('readonly', False)]}
args: 'res.company', 'Empresa'
create_date
Datetime
readonly=True
args: 'Data Criação'
display_name
Char
compute='_compute_display_name'
string='Nome'
document_event_ids
Many2one → account.invoice
end_date
Datetime
readonly=True
args: 'Data Finalização'
file_returned
Char
readonly=True
args: 'Retorno'
file_sent
Char
readonly=True
args: 'Envio'
invalid_number_document_event_id
Many2one → l10n_br_account.invoice.invalid.number
message
Char
readonly=True
args: 'Mensagem'
origin
Char
help='Referência ao documento que gerou o evento.'
readonly=True
size=64
states={'draft': [('readonly', False)]}
args: 'Documento de Origem'
response
Char
readonly=True
size=64
args: 'Descrição'
state
Selection
default='draft'
readonly=True
select=True
args: [('draft', 'Rascunho'), ('send', 'Enviado'), ('wait', 'Aguardando Retorno'), ('done', 'Recebido Retorno')], 'Status'
status
Char
readonly=True
args: 'Código'
type
Selection
write_date
Datetime
readonly=True
args: 'Data Alteração'
set_done(self)
code
Char
required=True
size=254
args: 'Código'
fiscal_position_ids
One2many → account.fiscal.position
string='Posições Fiscais'
args: 'account.fiscal.position', 'fiscal_category_id'
fiscal_type
Selection
default=PRODUCT_FISCAL_TYPE_DEFAULT
args: PRODUCT_FISCAL_TYPE, 'Tipo Fiscal'
journal_type
Selection
default='sale'
required=True
size=32
args: [('sale', 'Saída'), ('sale_refund', 'Devolução de Saída'), ('purchase', 'Entrada'), ('purchase_refund', 'Devolução de Entrada')], 'Tipo do Diário'
name
Char
help='Natureza da operação informada no XML'
size=254
string='Descrição'
note
Text
property_journal
Many2one → account.journal
company_dependent=True
help='Diário utilizado para esta categoria de operação fiscal'
string='Diário Contábil'
args: 'account.journal'
refund_fiscal_category_id
Many2one → l10n_br_account.fiscal.category
domain="[('type', '!=', type), ('fiscal_type', '=', fiscal_type),\n ('journal_type', 'like', journal_type),\n ('state', '=', 'approved')]"
args: 'l10n_br_account.fiscal.category', 'Categoria Fiscal de Devolução'
reverse_fiscal_category_id
Many2one → l10n_br_account.fiscal.category
domain="[('type', '!=', type), ('fiscal_type', '=', fiscal_type),\n ('state', '=', 'approved')]"
args: 'l10n_br_account.fiscal.category', 'Categoria Fiscal Inversa'
state
Selection
default='draft'
readonly=True
select=True
track_visibility='onchange'
args: [('draft', 'Rascunho'), ('review', 'Revisão'), ('approved', 'Aprovada'), ('unapproved', 'Não Aprovada')], 'Status'
type
Selection
default='output'
args: TYPE, 'Tipo'
action_unapproved_draft(self)
onchange_journal_type(self, journal_type)
code
Char
required=True
size=8
args: 'Codigo'
electronic
Boolean
name
Char
size=64
args: 'Descrição'
No public methods.
cancel_document_event_ids
One2many → l10n_br_account.document_event
display_name
Char
compute='_compute_display_name'
string='Nome'
invoice_id
Many2one → account.invoice
justificative
Char
readonly=True
required=True
size=255
string='Justificativa'
partner_id
Many2one → res.partner
related='invoice_id.partner_id'
string='Cliente'
args: 'res.partner'
No public methods.
cce_document_event_ids
One2many → l10n_br_account.document_event
display_name
Char
compute='_compute_display_name'
string='Name'
invoice_id
Many2one → account.invoice
motivo
Text
readonly=True
required=True
args: 'Motivo'
sequencia
Char
help='Indica a sequência da carta de correcão'
args: 'Sequência'
No public methods.
company_id
Many2one → res.company
default=<expr>
readonly=True
required=True
states={'draft': [('readonly', False)]}
args: 'res.company', 'Empresa'
document_serie_id
Many2one → l10n_br_account.document.serie
domain="[('fiscal_document_id', '=', fiscal_document_id), ('company_id', '=', company_id)]"
readonly=True
required=True
states={'draft': [('readonly', False)]}
args: 'l10n_br_account.document.serie', 'Série'
fiscal_document_id
Many2one → l10n_br_account.fiscal.document
readonly=True
required=True
states={'draft': [('readonly', False)]}
args: 'l10n_br_account.fiscal.document', 'Documento Fiscal'
invalid_number_document_event_ids
One2many → l10n_br_account.document_event
states={'done': [('readonly', True)]}
args: 'l10n_br_account.document_event', 'invalid_number_document_event_id', 'Eventos'
justificative
Char
readonly=True
required=True
size=255
states={'draft': [('readonly', False)]}
args: 'Justificativa'
number_end
Integer
readonly=True
required=True
states={'draft': [('readonly', False)]}
args: 'Número Final'
number_start
Integer
readonly=True
required=True
states={'draft': [('readonly', False)]}
args: 'Número Inicial'
state
Selection
default='draft'
required=True
args: [('draft', 'Rascunho'), ('cancel', 'Cancelado'), ('done', 'Concluído')], 'Status'
action_draft_done(self)
name_get(self)
unlink(self)
code
Char
required=True
size=16
args: 'Código'
default
Boolean
default=True
args: 'Tipo Fiscal Padrão'
icms
Boolean
ipi
Boolean
is_company
Boolean
name
Char
size=64
args: 'Descrição'
No public methods.
name
Char
size=20
args: 'Nome'
No public methods.
fiscal_category_destination_id
Many2one → l10n_br_account.fiscal.category
fiscal_category_source_id
Many2one → l10n_br_account.fiscal.category
product_tmpl_id
Many2one → product.template
ondelete='cascade'
args: 'product.template', 'Produto'
to_state_id
Many2one → res.country.state
No public methods.
child_ids
One2many → l10n_br_account.service.type
code
Char
required=True
size=16
args: 'Código'
internal_type
Selection
default='normal'
required=True
args: [('view', 'Visualização'), ('normal', 'Normal')], 'Tipo Interno'
name
Char
required=True
size=256
args: 'Descrição'
parent_id
Many2one → l10n_br_account.service.type
name_get(self)
fiscal_category_default_ids
One2many → l10n_br_account.product.category
fiscal_type
Selection
default=PRODUCT_FISCAL_TYPE_DEFAULT
args: PRODUCT_FISCAL_TYPE, 'Tipo Fiscal'
service_type_id
Many2one → l10n_br_account.service.type
No public methods.
annual_revenue
Float
default=0.0
digits_compute=dp.get_precision('Account')
help='Faturamento Bruto dos últimos 12 meses'
required=True
args: 'Faturamento Anual'
cnae_main_id
Many2one → l10n_br_account.cnae
cnae_secondary_ids
Many2many → l10n_br_account.cnae
document_serie_service_id
Many2one → l10n_br_account.document.serie
domain="[('company_id', '=', active_id),('active','=',True),('fiscal_type','=','service')]"
args: 'l10n_br_account.document.serie', 'Série Fiscais para Serviço'
ecnpj_a1_file
Binary
ecnpj_a1_password
Char
size=64
args: 'Senha e-CNPJ A1'
fiscal_rule_parent_id
Many2one → account.fiscal.position.rule
domain="[('parent_id', '=', False)]"
args: 'account.fiscal.position.rule', 'Conjunto de Regras Fiscais'
fiscal_type
Selection
default=COMPANY_FISCAL_TYPE_DEFAULT
required=True
args: COMPANY_FISCAL_TYPE, 'Regime Tributário'
ibpt_update_days
Integer
string='IPBT Token'
ipbt_token
Char
string='IPBT Token'
service_invoice_id
Many2one → l10n_br_account.fiscal.document
No public methods.
partner_fiscal_type_id
Many2one → l10n_br_account.partner.fiscal.type
default=_default_partner_fiscal_type_id
domain="[('is_company', '=', is_company)]"
args: 'l10n_br_account.partner.fiscal.type', 'Tipo Fiscal do Parceiro'
partner_special_fiscal_type_id
Many2many → l10n_br_account.partner.special.fiscal.type
comodel_name='l10n_br_account.partner.special.fiscal.type'
relation='res_partner_l10n_br_special_type'
string='Regime especial'
No public methods.
No new fields.
Public methods (1)action_create(self)
No new fields.
Public methods (1)execute(self, cr, uid, ids, context=None)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-brazil |
| GIT | |
| GIT | https://github.com/OCA/l10n-brazil.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-brazil/tree/8.0/l10n_br_account |
| VERSION | |
| VERSION | 2.0.0 |
| CATEGORY | |
| CATEGORY | Localisation |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion |
| COMMITTERS | |
| COMMITTERS | Stéphane Bidoul, Raphaël Valyi, Renato Lima, GitHub, Luis Felipe Mileo, Danimar Ribeiro, Magno, Luis Felipe Miléo, fernandomr, sadamo, mstuttgart, Magno Costa - Akretion, renato, Michell Stuttgart, Hendrix Costa, Developer, Raphael Valyi |
| WEBSITE | |
| WEBSITE | http://odoobrasil.org |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:11:20 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-fiscal-rule: - account_fiscal_position_rule OCA/l10n-brazil: - l10n_br_base OCA/server-tools: - web_context_tunnel odoo/odoo: - l10n_br - account - base_setup - base - web_kanban - web - product - decimal_precision - report - analytic - board - edi - email_template - account_chart - account_cancel |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
num2words |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
l10n_br_account_cce_form |
l10n_br_account.invoice.cce.form | l10n_br_account.invoice.cce | form | New |
l10n_br_account_cce_tree |
l10n_br_account.invoice.cce.tree | l10n_br_account.invoice.cce | tree | New |
l10n_br_account_document_event_form |
l10n_br_account.document_event.form | l10n_br_account.document_event | form | New |
l10n_br_account_document_event_tree |
l10n_br_account.document_event.tree | l10n_br_account.document_event | tree | New |
l10n_br_account_fiscal_category_search |
l10n_br_account.fiscal.category.search | l10n_br_account.fiscal.category | search | New |
l10n_br_account_invoice_cancel_form |
l10n_br_account.invoice.cancel.form | l10n_br_account.invoice.cancel | form | New |
l10n_br_account_invoice_cancel_tree |
l10n_br_account.invoice.cancel.tree | l10n_br_account.invoice.cancel | tree | New |
l10n_br_account_invoice_invalid_number_form |
l10n_br_account.invoice.invalid.number.form | l10n_br_account.invoice.invalid.number | form | New |
l10n_br_account_invoice_invalid_number_tree |
l10n_br_account.invoice.invalid.number.tree | l10n_br_account.invoice.invalid.number | tree | New |
l10n_br_account_invoice_supplier_form |
l10n_br_account.invoice.supplier.form | account.invoice | button | Inherits account.invoice_supplier_form |
l10n_br_account_invoice_tree |
l10n_br_account.invoice.tree | account.invoice | field | Inherits account.invoice_tree |
l10n_br_account_position_form |
l10n_br_account.fiscal.position.form | account.fiscal.position | form | Inherits account.view_account_position_form |
l10n_br_account_position_template_form |
l10n_br_account.fiscal.position.template.form | account.fiscal.position.template | form | Inherits account.view_account_position_template_form |
l10n_br_account_position_tree |
l10n_br_account.fiscal.position.tree | account.fiscal.position | field | Inherits account.view_account_position_tree |
l10n_br_account_product_template_form_view |
l10n_br_account_product_template_form_view | product.template | field | Inherits product.product_template_form_view |
l10n_br_account_view_account_invoice_report_search |
l10n_br_account.invoice.report.search | account.invoice.report | filter | Inherits account.view_account_invoice_report_search |
l10n_br_account_view_partner_form |
l10n_br_account.partner.form | res.partner | field | Inherits l10n_br_base.view_l10n_br_base_partner_form |
view_account_config_settings_l10n_br_account |
account.config.settings.l10n_br_account | account.config.settings | data | Inherits account.view_account_config_settings |
view_l10n_br_account_cnae_form |
l10n_br_account.cnae.form | l10n_br_account.cnae | form | New |
view_l10n_br_account_cnae_structure |
l10n_br_account.cnae.structure | l10n_br_account.cnae | tree | New |
view_l10n_br_account_cnae_tree |
l10n_br_account.cnae.tree | l10n_br_account.cnae | tree | New |
view_l10n_br_account_company_form |
l10n_br_account.company | res.company | notebook | Inherits base.view_company_form |
view_l10n_br_account_document_serie_form |
l10n_br_account.document.serie | l10n_br_account.document.serie | form | New |
view_l10n_br_account_document_serie_tree |
l10n_br_account.document.serie | l10n_br_account.document.serie | tree | New |
view_l10n_br_account_fiscal_category_form |
l10n_br_account.fiscal.category.form | l10n_br_account.fiscal.category | form | New |
view_l10n_br_account_fiscal_category_tree |
l10n_br_account.fiscal.category.tree | l10n_br_account.fiscal.category | tree | New |
view_l10n_br_account_fiscal_document_form |
l10n_br_account.fiscal.document | l10n_br_account.fiscal.document | form | New |
view_l10n_br_account_fiscal_document_tree |
l10n_br_account.fiscal.document | l10n_br_account.fiscal.document | tree | New |
view_l10n_br_account_fiscal_position_rule_form |
l10n_br_account.fiscal.position.rule.form | account.fiscal.position.rule | field | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_form |
view_l10n_br_account_fiscal_position_rule_template_form |
l10n_br_account.fiscal.position.rule.template.form | account.fiscal.position.rule.template | field | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_template_form |
view_l10n_br_account_fiscal_position_rule_template_tree |
l10n_br_account.fiscal.position.rule.template.tree | account.fiscal.position.rule.template | field | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_template_tree |
view_l10n_br_account_fiscal_position_rule_tree |
l10n_br_account.fiscal.position.rule.tree | account.fiscal.position.rule | field | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_tree |
view_l10n_br_account_invoice_form |
l10n_br_account.invoice.form | account.invoice | button | Inherits account.invoice_form |
view_l10n_br_account_journal_form |
l10n_br_account.journal.form | account.journal | notebook | Inherits account.view_account_journal_form |
view_l10n_br_account_partner_filter |
l10n_br_account.partner.filter | account.invoice | field | Inherits account.view_account_invoice_filter |
view_l10n_br_account_partner_fiscal_type_form |
l10n_br_account.partner.fiscal.type | l10n_br_account.partner.fiscal.type | form | New |
view_l10n_br_account_partner_fiscal_type_tree |
l10n_br_account.partner.fiscal.type | l10n_br_account.partner.fiscal.type | tree | New |
view_l10n_br_account_partner_special_fiscal_type_form |
l10n_br_account.partner.special.fiscal.type | l10n_br_account.partner.special.fiscal.type | form | New |
view_l10n_br_account_partner_special_fiscal_type_tree |
l10n_br_account.partner.special.fiscal.type | l10n_br_account.partner.special.fiscal.type | tree | New |
view_l10n_br_account_position_template_form |
l10n_br_account.move.line.form | account.move.line | field | Inherits account.view_account_move_line_filter |
view_l10n_br_account_service_type_form |
l10n_br_account.service.type.form | l10n_br_account.service.type | form | New |
view_l10n_br_account_service_type_structure |
l10n_br_account.service.type.structure | l10n_br_account.service.type | tree | New |
view_l10n_br_account_service_type_tree |
l10n_br_account.service.type.tree | l10n_br_account.service.type | tree | New |
view_l10n_br_sale_fiscal_position_rule_search |
l10n_br_sale.fiscal.position.rule.search | account.fiscal.position.rule | xpath | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_search |
view_l10n_br_sale_fiscal_position_rule_template_search |
l10n_br_sale.fiscal.position.rule.template.search | account.fiscal.position.rule.template | xpath | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_template_search |
No new fields.
Public methods (0)No public methods.
ibpt_update_days
Integer
related='company_id.ibpt_update_days'
string='Quantidade de dias para Atualizar'
ipbt_token
Char
related='company_id.ipbt_token'
string='IPBT Token'
No public methods.
asset_operation
Boolean
help='Caso seja marcada essa opção, será incluido o IPI na base de\n calculo do ICMS.'
args: 'Operação de Aquisição de Ativo'
fiscal_category_fiscal_type
Selection
readonly=True
related='fiscal_category_id.fiscal_type'
store=True
string='Fiscal Type'
args: PRODUCT_FISCAL_TYPE
fiscal_category_id
Many2one → l10n_br_account.fiscal.category
inv_copy_note
Boolean
name
Char
required=True
size=128
args: 'Fiscal Position'
state
Selection
default='draft'
readonly=True
select=True
track_visibility='onchange'
args: [('draft', 'Rascunho'), ('review', 'Revisão'), ('approved', 'Aprovada'), ('unapproved', 'Não Aprovada')], 'Status'
type
Selection
type_tax_use
Selection
map_tax(self, cr, uid, fposition_id, taxes, context=None)
map_tax(self, taxes)
onchange_fiscal_category_id(self, fiscal_category_id=None)
onchange_type(self, type)
child_ids
One2many → account.fiscal.position.rule
fiscal_category_id
Many2one → l10n_br_account.fiscal.category
fiscal_type
Selection
default=COMPANY_FISCAL_TYPE_DEFAULT
required=True
args: COMPANY_FISCAL_TYPE, 'Regime Tributário'
parent_id
Many2one → account.fiscal.position.rule
partner_fiscal_type_id
Many2many → l10n_br_account.partner.fiscal.type
column1='afp_id'
column2='partner_fiscal_type_id'
comodel_name='l10n_br_account.partner.fiscal.type'
relation='afp_rule_l10n_br_account_partner_fiscal_type'
string='Tipo Fiscal do Parceiro'
partner_special_fiscal_type_id
Many2many → l10n_br_account.partner.special.fiscal.type
column1='afp_id'
column2='partner_special_fiscal_type_id'
comodel_name='l10n_br_account.partner.special.fiscal.type'
relation='afp_rule_l10n_br_account_partner_special_fiscal_type'
string='Regime especial'
revenue_end
Float
default=0.0
digits_compute=dp.get_precision('Account')
help='Faixa inicial de faturamento bruto'
args: 'Faturamento Final'
revenue_start
Float
default=0.0
digits_compute=dp.get_precision('Account')
help='Faixa inicial de faturamento bruto'
args: 'Faturamento Inicial'
product_fiscal_category_map(self, product_id, fiscal_category_id, to_state_id=None)
child_ids
One2many → account.fiscal.position.rule.template
fiscal_category_id
Many2one → l10n_br_account.fiscal.category
fiscal_type
Selection
default=COMPANY_FISCAL_TYPE_DEFAULT
required=True
args: COMPANY_FISCAL_TYPE, 'Regime Tributário'
parent_id
Many2one → account.fiscal.position.rule.template
partner_fiscal_type_id
Many2many → l10n_br_account.partner.fiscal.type
column1='afp_template'
column2='partner_fiscal_type'
comodel_name='l10n_br_account.partner.fiscal.type'
relation='afp_rule_template_l10n_br_account_partner_fiscal_type'
string='Tipo Fiscal do Parceiro'
partner_special_fiscal_type_id
Many2many → l10n_br_account.partner.special.fiscal.type
column1='afp_id'
column2='partner_special_fiscal_type_id'
comodel_name='l10n_br_account.partner.special.fiscal.type'
relation='afp_rule_template_l10n_br_account_partner_special_fiscal_type'
string='Regime especial'
revenue_end
Float
default=0.0
digits_compute=dp.get_precision('Account')
help='Faixa inicial de faturamento bruto'
args: 'Faturamento Final'
revenue_start
Float
default=0.0
digits_compute=dp.get_precision('Account')
help='Faixa inicial de faturamento bruto'
args: 'Faturamento Inicial'
No public methods.
tax_code_dest_id
Many2one → account.tax.code
tax_code_src_id
Many2one → account.tax.code
tax_src_domain
Char
related='tax_src_id.domain'
tax_src_id
Many2one → account.tax
required=False
string='Tax Source'
args: 'account.tax'
onchange_tax_src_id(self)
tax_code_dest_id
Many2one → account.tax.code.template
string='Replacement Tax Code'
args: 'account.tax.code.template'
tax_code_src_id
Many2one → account.tax.code.template
string='Código Taxa Origem'
args: 'account.tax.code.template'
tax_src_domain
Char
related='tax_src_id.domain'
string='Tax Domain'
tax_src_id
Many2one → account.tax.template
required=False
string='Tax Source'
args: 'account.tax.template'
onchange_tax_src_id(self)
asset_operation
Boolean
help='Caso seja marcada essa opção, será incluido o IPI na base de\n calculo do ICMS.'
args: 'Operação de Aquisição de Ativo'
fiscal_category_fiscal_type
Selection
readonly=True
related='fiscal_category_id.fiscal_type'
store=True
string='Fiscal Type'
args: PRODUCT_FISCAL_TYPE
fiscal_category_id
Many2one → l10n_br_account.fiscal.category
inv_copy_note
Boolean
name
Char
required=True
size=128
args: 'Fiscal Position'
state
Selection
default='draft'
readonly=True
select=True
track_visibility='onchange'
args: [('draft', 'Rascunho'), ('review', 'Revisão'), ('approved', 'Aprovada'), ('unapproved', 'Não Aprovada')], 'Status'
type
Selection
type_tax_use
Selection
generate_fiscal_position(self, cr, uid, chart_temp_id, tax_template_ref, acc_template_ref, company_id, context=None)
onchange_fiscal_category_id(self, fiscal_category_id=None)
onchange_type(self, type)
account_document_event_ids
One2many → l10n_br_account.document_event
cnpj_cpf
Char
related='partner_id.cnpj_cpf'
string='CNPJ/CPF'
document_serie_id
Many2one → l10n_br_account.document.serie
domain="[('fiscal_document_id', '=', fiscal_document_id), ('company_id','=',company_id)]"
readonly=True
states={'draft': [('readonly', False)]}
string='Série'
args: 'l10n_br_account.document.serie'
fiscal_category_id
Many2one → l10n_br_account.fiscal.category
readonly=True
states={'draft': [('readonly', False)]}
args: 'l10n_br_account.fiscal.category', 'Categoria Fiscal'
fiscal_comment
Text
fiscal_document_code
Char
readonly=True
related='fiscal_document_id.code'
store=True
string='Document Code'
fiscal_document_electronic
Boolean
readonly=True
related='fiscal_document_id.electronic'
store=True
string='Electronic'
type='boolean'
fiscal_document_id
Many2one → l10n_br_account.fiscal.document
readonly=True
states={'draft': [('readonly', False)]}
string='Documento'
args: 'l10n_br_account.fiscal.document'
fiscal_position
Many2one → account.fiscal.position
readonly=True
states={'draft': [('readonly', False)]}
args: 'account.fiscal.position', 'Fiscal Position'
ie
Char
related='partner_id.inscr_est'
string='Inscrição Estadual'
legal_name
Char
related='partner_id.legal_name'
string='Razão Social'
move_line_receivable_id
Many2many → account.move.line
compute='_compute_receivables'
string='Receivables'
args: 'account.move.line'
revenue_expense
Boolean
readonly=True
related='journal_id.revenue_expense'
store=True
string='Gera Financeiro'
state
Selection
selection_add=[('sefaz_export', 'Enviar para Receita'), ('sefaz_exception', 'Erro de autorização da Receita'), ('sefaz_cancelled', 'Cancelado no Sefaz'), ('sefaz_denied', 'Denegada no Sefaz')]
finalize_invoice_move_lines(self, move_lines)
name_get(self)
open_fiscal_document(self)
No new fields.
Public methods (1)invoice_confirm(self)
fiscal_category_id
Many2one → l10n_br_account.fiscal.category
fiscal_position
Many2one → account.fiscal.position
invoice_line_tax_id
Many2many → account.tax
domain=[('parent_id', '=', False)]
string='Taxes'
args: 'account.tax', 'account_invoice_line_tax', 'invoice_line_id', 'tax_id'
price_tax_discount
Float
compute='_compute_price'
digits=dp.get_precision('Account')
readonly=True
store=True
string='Price Tax discount'
move_line_get_item(self, line)
document_serie_id
Many2one → l10n_br_account.document.serie
readonly=True
string='Série'
args: 'l10n_br_account.document.serie'
fiscal_category_id
Many2one → l10n_br_account.fiscal.category
readonly=True
args: 'l10n_br_account.fiscal.category', 'Fiscal Category'
fiscal_document_electronic
Boolean
readonly=True
string='Electronic'
internal_number
Char
readonly=True
size=32
string='Invoice Number'
l10n_br_city_id
Many2one → l10n_br_base.city
string='Municipio'
args: 'l10n_br_base.city'
revenue_expense
Char
readonly=True
size=32
string='Gera Financeiro'
state
Selection
selection_add=[('sefaz_export', 'Enviar para Receita'), ('sefaz_exception', 'Erro de autorização da Receita'), ('sefaz_cancelled', 'Cancelado no Sefaz'), ('sefaz_denied', 'Denegada no Sefaz')]
state_id
Many2one → res.country.state
required=True
string='Estado'
args: 'res.country.state'
No public methods.
revenue_expense
Boolean
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (2)compute_all(self, cr, uid, taxes, price_unit, quantity, product=None, partner=None, force_excluded=False, fiscal_position=False, insurance_value=0.0, freight_value=0.0, other_costs_value=0.0)
compute_all(self, price_unit, quantity, product=None, partner=None, force_excluded=False, fiscal_position=False, insurance_value=0.0, freight_value=0.0, other_costs_value=0.0)
name
Char
size=64
args: 'Name'
No public methods.
child_ids
One2many → l10n_br_account.cnae
code
Char
required=True
size=16
args: 'Código'
internal_type
Selection
default='normal'
required=True
args: [('view', 'Visualização'), ('normal', 'Normal')], 'Tipo Interno'
name
Char
required=True
size=64
args: 'Descrição'
parent_id
Many2one → l10n_br_account.cnae
version
Char
required=True
size=16
args: 'Versão'
name_get(self)
active
Boolean
code
Char
required=True
size=3
args: 'Código'
company_id
Many2one → res.company
required=True
args: 'res.company', 'Empresa'
fiscal_document_id
Many2one → l10n_br_account.fiscal.document
required=True
args: 'l10n_br_account.fiscal.document', 'Documento Fiscal'
fiscal_type
Selection
default=PRODUCT_FISCAL_TYPE_DEFAULT
args: PRODUCT_FISCAL_TYPE, 'Tipo Fiscal'
internal_sequence_id
Many2one → ir.sequence
name
Char
required=True
args: 'Descrição'
create(self, vals)
cancel_document_event_id
Many2one → l10n_br_account.invoice.cancel
company_id
Many2one → res.company
readonly=True
states={'draft': [('readonly', False)]}
args: 'res.company', 'Empresa'
create_date
Datetime
readonly=True
args: 'Data Criação'
display_name
Char
compute='_compute_display_name'
string='Nome'
document_event_ids
Many2one → account.invoice
end_date
Datetime
readonly=True
args: 'Data Finalização'
file_returned
Char
readonly=True
args: 'Retorno'
file_sent
Char
readonly=True
args: 'Envio'
invalid_number_document_event_id
Many2one → l10n_br_account.invoice.invalid.number
message
Char
readonly=True
args: 'Mensagem'
origin
Char
help='Referência ao documento que gerou o evento.'
readonly=True
size=64
states={'draft': [('readonly', False)]}
args: 'Documento de Origem'
response
Char
readonly=True
size=64
args: 'Descrição'
state
Selection
default='draft'
readonly=True
select=True
args: [('draft', 'Rascunho'), ('send', 'Enviado'), ('wait', 'Aguardando Retorno'), ('done', 'Recebido Retorno')], 'Status'
status
Char
readonly=True
args: 'Código'
type
Selection
write_date
Datetime
readonly=True
args: 'Data Alteração'
set_done(self)
code
Char
required=True
size=254
args: 'Código'
fiscal_position_ids
One2many → account.fiscal.position
string='Posições Fiscais'
args: 'account.fiscal.position', 'fiscal_category_id'
fiscal_type
Selection
default=PRODUCT_FISCAL_TYPE_DEFAULT
args: PRODUCT_FISCAL_TYPE, 'Tipo Fiscal'
journal_type
Selection
default='sale'
required=True
size=32
args: [('sale', 'Saída'), ('sale_refund', 'Devolução de Saída'), ('purchase', 'Entrada'), ('purchase_refund', 'Devolução de Entrada')], 'Tipo do Diário'
name
Char
help='Natureza da operação informada no XML'
size=254
string='Descrição'
note
Text
property_journal
Many2one → account.journal
company_dependent=True
help='Diário utilizado para esta categoria de operação fiscal'
string='Diário Contábil'
args: 'account.journal'
refund_fiscal_category_id
Many2one → l10n_br_account.fiscal.category
domain="[('type', '!=', type), ('fiscal_type', '=', fiscal_type),\n ('journal_type', 'like', journal_type),\n ('state', '=', 'approved')]"
args: 'l10n_br_account.fiscal.category', 'Categoria Fiscal de Devolução'
reverse_fiscal_category_id
Many2one → l10n_br_account.fiscal.category
domain="[('type', '!=', type), ('fiscal_type', '=', fiscal_type),\n ('state', '=', 'approved')]"
args: 'l10n_br_account.fiscal.category', 'Categoria Fiscal Inversa'
state
Selection
default='draft'
readonly=True
select=True
track_visibility='onchange'
args: [('draft', 'Rascunho'), ('review', 'Revisão'), ('approved', 'Aprovada'), ('unapproved', 'Não Aprovada')], 'Status'
type
Selection
default='output'
args: TYPE, 'Tipo'
action_unapproved_draft(self)
onchange_journal_type(self, journal_type)
code
Char
required=True
size=8
args: 'Codigo'
electronic
Boolean
name
Char
size=64
args: 'Descrição'
No public methods.
cancel_document_event_ids
One2many → l10n_br_account.document_event
display_name
Char
compute='_compute_display_name'
string='Nome'
invoice_id
Many2one → account.invoice
justificative
Char
readonly=True
required=True
size=255
string='Justificativa'
partner_id
Many2one → res.partner
related='invoice_id.partner_id'
string='Cliente'
args: 'res.partner'
No public methods.
cce_document_event_ids
One2many → l10n_br_account.document_event
display_name
Char
compute='_compute_display_name'
string='Name'
invoice_id
Many2one → account.invoice
motivo
Text
readonly=True
required=True
args: 'Motivo'
sequencia
Char
help='Indica a sequência da carta de correcão'
args: 'Sequência'
No public methods.
company_id
Many2one → res.company
default=<expr>
readonly=True
required=True
states={'draft': [('readonly', False)]}
args: 'res.company', 'Empresa'
document_serie_id
Many2one → l10n_br_account.document.serie
domain="[('fiscal_document_id', '=', fiscal_document_id), ('company_id', '=', company_id)]"
readonly=True
required=True
states={'draft': [('readonly', False)]}
args: 'l10n_br_account.document.serie', 'Série'
fiscal_document_id
Many2one → l10n_br_account.fiscal.document
readonly=True
required=True
states={'draft': [('readonly', False)]}
args: 'l10n_br_account.fiscal.document', 'Documento Fiscal'
invalid_number_document_event_ids
One2many → l10n_br_account.document_event
states={'done': [('readonly', True)]}
args: 'l10n_br_account.document_event', 'invalid_number_document_event_id', 'Eventos'
justificative
Char
readonly=True
required=True
size=255
states={'draft': [('readonly', False)]}
args: 'Justificativa'
number_end
Integer
readonly=True
required=True
states={'draft': [('readonly', False)]}
args: 'Número Final'
number_start
Integer
readonly=True
required=True
states={'draft': [('readonly', False)]}
args: 'Número Inicial'
state
Selection
default='draft'
required=True
args: [('draft', 'Rascunho'), ('cancel', 'Cancelado'), ('done', 'Concluído')], 'Status'
action_draft_done(self)
name_get(self)
unlink(self)
code
Char
required=True
size=16
args: 'Código'
default
Boolean
default=True
args: 'Tipo Fiscal Padrão'
icms
Boolean
ipi
Boolean
is_company
Boolean
name
Char
size=64
args: 'Descrição'
No public methods.
name
Char
size=20
args: 'Nome'
No public methods.
fiscal_category_destination_id
Many2one → l10n_br_account.fiscal.category
fiscal_category_source_id
Many2one → l10n_br_account.fiscal.category
product_tmpl_id
Many2one → product.template
ondelete='cascade'
args: 'product.template', 'Produto'
to_state_id
Many2one → res.country.state
No public methods.
child_ids
One2many → l10n_br_account.service.type
code
Char
required=True
size=16
args: 'Código'
internal_type
Selection
default='normal'
required=True
args: [('view', 'Visualização'), ('normal', 'Normal')], 'Tipo Interno'
name
Char
required=True
size=256
args: 'Descrição'
parent_id
Many2one → l10n_br_account.service.type
name_get(self)
fiscal_category_default_ids
One2many → l10n_br_account.product.category
fiscal_type
Selection
default=PRODUCT_FISCAL_TYPE_DEFAULT
args: PRODUCT_FISCAL_TYPE, 'Tipo Fiscal'
service_type_id
Many2one → l10n_br_account.service.type
No public methods.
annual_revenue
Float
default=0.0
digits_compute=dp.get_precision('Account')
help='Faturamento Bruto dos últimos 12 meses'
required=True
args: 'Faturamento Anual'
cnae_main_id
Many2one → l10n_br_account.cnae
cnae_secondary_ids
Many2many → l10n_br_account.cnae
document_serie_service_id
Many2one → l10n_br_account.document.serie
domain="[('company_id', '=', active_id),('active','=',True),('fiscal_type','=','service')]"
args: 'l10n_br_account.document.serie', 'Série Fiscais para Serviço'
ecnpj_a1_file
Binary
ecnpj_a1_password
Char
size=64
args: 'Senha e-CNPJ A1'
fiscal_rule_parent_id
Many2one → account.fiscal.position.rule
domain="[('parent_id', '=', False)]"
args: 'account.fiscal.position.rule', 'Conjunto de Regras Fiscais'
fiscal_type
Selection
default=COMPANY_FISCAL_TYPE_DEFAULT
required=True
args: COMPANY_FISCAL_TYPE, 'Regime Tributário'
ibpt_update_days
Integer
string='IPBT Token'
ipbt_token
Char
string='IPBT Token'
service_invoice_id
Many2one → l10n_br_account.fiscal.document
No public methods.
partner_fiscal_type_id
Many2one → l10n_br_account.partner.fiscal.type
default=_default_partner_fiscal_type_id
domain="[('is_company', '=', is_company)]"
args: 'l10n_br_account.partner.fiscal.type', 'Tipo Fiscal do Parceiro'
partner_special_fiscal_type_id
Many2many → l10n_br_account.partner.special.fiscal.type
comodel_name='l10n_br_account.partner.special.fiscal.type'
relation='res_partner_l10n_br_special_type'
string='Regime especial'
No public methods.
No new fields.
Public methods (1)action_create(self)
No new fields.
Public methods (1)execute(self, cr, uid, ids, context=None)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-brazil |
| GIT | |
| GIT | https://github.com/OCA/l10n-brazil.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-brazil/tree/7.0/l10n_br_account |
| VERSION | |
| VERSION | 7.0 |
| CATEGORY | |
| CATEGORY | Localisation |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | Akretion, OpenERP Brasil |
| MAINTAINERS | |
| MAINTAINERS | Akretion, OpenERP Brasil |
| COMMITTERS | |
| COMMITTERS | Raphaël Valyi, Renato Lima, Luis Felipe Mileo, Danimar Ribeiro, mileo, cma, Luis Felipe Miléo, Carlos Almeida, Daniel-Furcht, Daniel Furcht |
| WEBSITE | |
| WEBSITE | http://openerpbrasil.org |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:07:13 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-fiscal-rule: - account_fiscal_position_rule OCA/l10n-brazil: - l10n_br_base - l10n_br_product OCA/server-tools: - web_context_tunnel odoo/odoo: - l10n_br - account - base_setup - base - web_kanban - web - product - process - decimal_precision - analytic - board - edi - email_template - account_chart |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Brazilian Localization Account |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
l10n_br_account_cce_form |
l10n_br_account.invoice.cce.form | l10n_br_account.invoice.cce | form | New |
l10n_br_account_cce_tree |
l10n_br_account.invoice.cce.tree | l10n_br_account.invoice.cce | tree | New |
l10n_br_account_document_event_form |
l10n_br_account.document_event.form | l10n_br_account.document_event | form | New |
l10n_br_account_document_event_tree |
l10n_br_account.document_event.tree | l10n_br_account.document_event | tree | New |
l10n_br_account_fiscal_category_search |
l10n_br_account.fiscal.category.search | l10n_br_account.fiscal.category | search | New |
l10n_br_account_invoice_cancel_form |
l10n_br_account.invoice.cancel.form | l10n_br_account.invoice.cancel | form | New |
l10n_br_account_invoice_cancel_tree |
l10n_br_account.invoice.cancel.tree | l10n_br_account.invoice.cancel | tree | New |
l10n_br_account_invoice_filter |
l10n_br_account.invoice.select | account.invoice | field | Inherits account.view_account_invoice_filter |
l10n_br_account_invoice_invalid_number_form |
l10n_br_account.invoice.invalid.number.form | l10n_br_account.invoice.invalid.number | form | New |
l10n_br_account_invoice_invalid_number_tree |
l10n_br_account.invoice.invalid.number.tree | l10n_br_account.invoice.invalid.number | tree | New |
l10n_br_account_invoice_line_tree |
l10n_br_account.invoice.line.tree | account.invoice.line | field | Inherits account.view_invoice_line_tree |
l10n_br_account_invoice_supplier_form |
l10n_br_account.invoice.supplier.form | account.invoice | page | Inherits account.invoice_supplier_form |
l10n_br_account_position_form |
l10n_br_account.fiscal.position.form | account.fiscal.position | form | Inherits account.view_account_position_form |
l10n_br_account_position_template_form |
l10n_br_account.fiscal.position.template.form | account.fiscal.position.template | form | Inherits account.view_account_position_template_form |
l10n_br_account_position_tree |
l10n_br_account.fiscal.position.tree | account.fiscal.position | field | Inherits account.view_account_position_tree |
l10n_br_account_product_normal_form_view |
l10n_br_account.normal.form | product.product | field | Inherits product.product_normal_form_view |
l10n_br_account_product_template_form_view |
l10n_br_account_product_template_form_view | product.template | notebook | Inherits product.product_template_form_view |
l10n_br_account_view_partner_form |
l10n_br_account.partner.form | res.partner | field | Inherits l10n_br_base.view_l10n_br_base_partner_form |
view_l10n_br_account_cnae_form |
l10n_br_account.cnae.form | l10n_br_account.cnae | form | New |
view_l10n_br_account_cnae_structure |
l10n_br_account.cnae.structure | l10n_br_account.cnae | tree | New |
view_l10n_br_account_cnae_tree |
l10n_br_account.cnae.tree | l10n_br_account.cnae | tree | New |
view_l10n_br_account_company_form |
l10n_br_account.company | res.company | notebook | Inherits base.view_company_form |
view_l10n_br_account_document_serie_form |
l10n_br_account.document.serie | l10n_br_account.document.serie | form | New |
view_l10n_br_account_document_serie_tree |
l10n_br_account.document.serie | l10n_br_account.document.serie | tree | New |
view_l10n_br_account_fiscal_category_form |
l10n_br_account.fiscal.category.form | l10n_br_account.fiscal.category | form | New |
view_l10n_br_account_fiscal_category_tree |
l10n_br_account.fiscal.category.tree | l10n_br_account.fiscal.category | tree | New |
view_l10n_br_account_fiscal_document_form |
l10n_br_account.fiscal.document | l10n_br_account.fiscal.document | form | New |
view_l10n_br_account_fiscal_document_tree |
l10n_br_account.fiscal.document | l10n_br_account.fiscal.document | tree | New |
view_l10n_br_account_fiscal_position_rule_form |
l10n_br_account.fiscal.position.rule.form | account.fiscal.position.rule | field | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_form |
view_l10n_br_account_fiscal_position_rule_template_form |
l10n_br_account.fiscal.position.rule.template.form | account.fiscal.position.rule.template | field | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_template_form |
view_l10n_br_account_fiscal_position_rule_template_tree |
l10n_br_account.fiscal.position.rule.template.tree | account.fiscal.position.rule.template | field | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_template_tree |
view_l10n_br_account_fiscal_position_rule_tree |
l10n_br_account.fiscal.position.rule.tree | account.fiscal.position.rule | field | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_tree |
view_l10n_br_account_invoice_form |
l10n_br_account.invoice.form | account.invoice | field | Inherits account.invoice_form |
view_l10n_br_account_invoice_supplier_form3 |
l10n_br_account.invoice.supplier.form3 | account.invoice | field | Inherits account.invoice_supplier_form |
view_l10n_br_account_invoice_tree |
l10n_br_account.invoice.tree | account.invoice | field | Inherits account.invoice_tree |
view_l10n_br_account_journal_form |
l10n_br_account.journal.form | account.journal | notebook | Inherits account.view_account_journal_form |
view_l10n_br_account_partner_fiscal_type_form |
l10n_br_account.partner.fiscal.type | l10n_br_account.partner.fiscal.type | form | New |
view_l10n_br_account_partner_fiscal_type_tree |
l10n_br_account.partner.fiscal.type | l10n_br_account.partner.fiscal.type | tree | New |
view_l10n_br_account_position_template_form |
l10n_br_account.move.line.form | account.move.line | field | Inherits account.view_account_move_line_filter |
view_l10n_br_account_service_type_form |
l10n_br_account.service.type.form | l10n_br_account.service.type | form | New |
view_l10n_br_account_service_type_structure |
l10n_br_account.service.type.structure | l10n_br_account.service.type | tree | New |
view_l10n_br_account_service_type_tree |
l10n_br_account.service.type.tree | l10n_br_account.service.type | tree | New |
view_l10n_br_sale_fiscal_position_rule_search |
l10n_br_sale.fiscal.position.rule.search | account.fiscal.position.rule | xpath | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_search |
view_l10n_br_sale_fiscal_position_rule_template_search |
l10n_br_sale.fiscal.position.rule.template.search | account.fiscal.position.rule.template | xpath | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_template_search |
view_l10n_br_tax_definition_form |
l10n_br_tax.definition.form | l10n_br_tax.definition | form | New |
view_l10n_br_tax_definition_tree |
l10n_br_tax.definition.tree | l10n_br_tax.definition | tree | New |
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (4)map_tax(self, cr, uid, fposition_id, taxes, context=None)
map_tax_code(self, cr, uid, product_id, fiscal_position, company_id=False, tax_ids=False, context=None)
onchange_fiscal_category_id(self, cr, uid, ids, fiscal_category_id=False, context=None)
onchange_type(self, cr, uid, ids, type=False, context=None)
No new fields.
Public methods (1)product_fiscal_category_map(self, cr, uid, product_id=False, fiscal_category_id=False)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (2)onchange_tax_code_src_id(self, cr, uid, ids, tax_src_id=False, tax_code_src_id=False, context=None)
onchange_tax_src_id(self, cr, uid, ids, tax_src_id=False, tax_code_src_id=False, context=None)
No new fields.
Public methods (2)onchange_tax_code_src_id(self, cr, uid, ids, tax_src_id=False, tax_code_src_id=False, context=None)
onchange_tax_src_id(self, cr, uid, ids, tax_src_id=False, tax_code_src_id=False, context=None)
No new fields.
Public methods (3)generate_fiscal_position(self, cr, uid, chart_temp_id, tax_template_ref, acc_template_ref, company_id, context=None)
onchange_fiscal_category_id(self, cr, uid, ids, fiscal_category_id=False, context=None)
onchange_type(self, cr, uid, ids, type=False, context=None)
No new fields.
Public methods (11)action_cancel_draft(self, cr, uid, ids, *args)
action_internal_number(self, cr, uid, ids, context=None)
action_number(self, cr, uid, ids, context=None)
copy(self, cr, uid, id, default={}, context=None)
fields_view_get(self, cr, uid, view_id=None, view_type=False, context=None, toolbar=False, submenu=False)
finalize_invoice_move_lines(self, cr, uid, invoice_browse, move_lines)
init(self, cr)
onchange_company_id(self, cr, uid, ids, company_id, partner_id, type, invoice_line, currency_id, fiscal_category_id=False)
onchange_fiscal_category_id(self, cr, uid, ids, partner_address_id=False, partner_id=False, company_id=False, fiscal_category_id=False)
onchange_fiscal_document_id(self, cr, uid, ids, fiscal_document_id, company_id, issuer, fiscal_type, context=None)
onchange_partner_id(self, cr, uid, ids, type, partner_id, date_invoice=False, payment_term=False, partner_bank_id=False, company_id=False, fiscal_category_id=False)
No new fields.
Public methods (6)fields_view_get(self, cr, uid, view_id=None, view_type=False, context=None, toolbar=False, submenu=False)
onchange_account_id(self, cr, uid, ids, product_id, partner_id, inv_type, fposition_id, account_id=False, context=None, fiscal_category_id=False, company_id=False)
onchange_fiscal_category_id(self, cr, uid, ids, partner_id, company_id, product_id, fiscal_category_id, account_id, context)
onchange_fiscal_position(self, cr, uid, ids, partner_id, company_id, product_id, fiscal_category_id, account_id, context)
product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=False, parent_fiscal_category_id=False, parent_fposition_id=False)
uos_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None, fiscal_category_id=False)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)compute_all(self, cr, uid, taxes, price_unit, quantity, product=None, partner=None, force_excluded=False, fiscal_position=False, insurance_value=0.0, freight_value=0.0, other_costs_value=0.0)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)name_get(self, cr, uid, ids, context=None)
No new fields.
Public methods (2)create(self, cr, uid, vals, context=None)
create_sequence(self, cr, uid, vals, context=None)
No new fields.
Public methods (1)set_done(self, cr, uid, ids, context=None)
No new fields.
Public methods (1)action_unapproved_draft(self, cr, uid, ids, *args)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)action_draft_done(self, cr, uid, ids, *args)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (2)action_draft_done(self, cr, uid, ids, *args)
unlink(self, cr, uid, ids, context=None)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)name_get(self, cr, uid, ids, context=None)
No new fields.
Public methods (1)onchange_tax_id(self, cr, uid, ids, tax_id=False, context=None)
No new fields.
Public methods (1)onchange_tax_id(self, cr, uid, ids, tax_id=False, context=None)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)onchange_mask_cnpj_cpf(self, cr, uid, ids, is_company, cnpj_cpf, context=None)
No new fields.
Public methods (1)action_create(self, cr, uid, ids, context=None)
No new fields.
Public methods (1)execute(self, cr, uid, ids, context=None)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-brazil |
| GIT | |
| GIT | https://github.com/OCA/l10n-brazil.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-brazil/tree/6.1/l10n_br_account |
| VERSION | |
| VERSION | 0.6 |
| CATEGORY | |
| CATEGORY | Localisation |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | Akretion, OpenERP Brasil |
| MAINTAINERS | |
| MAINTAINERS | Akretion, OpenERP Brasil |
| COMMITTERS | |
| COMMITTERS | Raphaël Valyi, Renato Lima, Leonardo Santagada, Vinicius Dittgen |
| WEBSITE | |
| WEBSITE | http://openerpbrasil.org |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:04:05 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-fiscal-rule: - account_fiscal_position_rule - account_product_fiscal_classification OCA/l10n-brazil: - l10n_br_base odoo/odoo: - l10n_br - account - base_setup - base - product - process - decimal_precision - analytic - board - edi - email_template - base_tools - account_chart |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Brazilian Localization |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
l10n_br_account_product_normal_form_view |
l10n_br_account.normal.form | product.product | notebook | Inherits product.product_normal_form_view |
l10n_br_account_product_normal_form_view_1 |
l10n_br_account.normal.form1 | product.product | field | Inherits product.product_normal_form_view |
l10n_br_account_product_normal_form_view_2 |
l10n_br_account.normal.form2 | product.product | field | Inherits product.product_normal_form_view |
l10n_br_account_product_operation_category_form |
l10n_br_account.product.operation.category.form | l10n_br_account.product.operation.category | field | New |
l10n_br_account_product_template_form_view |
l10n_br_account_product_template_form_view | product.template | notebook | Inherits product.product_template_form_view |
l10n_br_account_view_partner_form |
l10n_br_account.partner.form | res.partner | field | Inherits l10n_br_base.l10n_br_base_view_partner_form5 |
l10n_br_account_view_partner_form2 |
l10n_br_account.partner.form2 | res.partner | xpath | Inherits account.view_partner_property_form |
l10n_br_account_view_partner_form3 |
l10n_br_account.partner.form3 | res.partner | xpath | Inherits account.view_partner_property_form |
l10n_br_account_view_partner_form4 |
l10n_br_account.partner.form4 | res.partner | xpath | Inherits account.view_partner_property_form |
product_is_on_service_invoice_form_view |
product_is_on_service_invoice_form_view | product.product | field | Inherits product.product_normal_form_view |
view_l10n_br_account_cfop_form |
l10n_br_account.cfop.name | l10n_br_account.cfop | form | New |
view_l10n_br_account_cfop_search |
l10n_br_account.cfop.search | l10n_br_account.cfop | search | New |
view_l10n_br_account_cfop_structure |
l10n_br_account.cfop.structure | l10n_br_account.cfop | tree | New |
view_l10n_br_account_cfop_tree |
l10n_br_account.cfop | l10n_br_account.cfop | tree | New |
view_l10n_br_account_cnae_form |
l10n_br_account.cnae.form | l10n_br_account.cnae | form | New |
view_l10n_br_account_cnae_structure |
l10n_br_account.cnae.structure | l10n_br_account.cnae | tree | New |
view_l10n_br_account_cnae_tree |
l10n_br_account.cnae.tree | l10n_br_account.cnae | tree | New |
view_l10n_br_account_company_form |
l10n_br_account.company | res.company | notebook | Inherits base.view_company_form |
view_l10n_br_account_document_serie_form |
l10n_br_account.document.serie | l10n_br_account.document.serie | form | New |
view_l10n_br_account_document_serie_tree |
l10n_br_account.document.serie | l10n_br_account.document.serie | tree | New |
view_l10n_br_account_fiscal_document_form |
l10n_br_account.fiscal.document | l10n_br_account.fiscal.document | form | New |
view_l10n_br_account_fiscal_document_tree |
l10n_br_account.fiscal.document | l10n_br_account.fiscal.document | tree | New |
view_l10n_br_account_fiscal_operation_category_form |
l10n_br_account.fiscal.operation.category | l10n_br_account.fiscal.operation.category | form | New |
view_l10n_br_account_fiscal_operation_category_tree |
l10n_br_account.fiscal.operation.category | l10n_br_account.fiscal.operation.category | tree | New |
view_l10n_br_account_fiscal_operation_form |
l10n_br_account.fiscal.operation | l10n_br_account.fiscal.operation | form | New |
view_l10n_br_account_fiscal_operation_line_form |
l10n_br_account.fiscal.operation.line | l10n_br_account.fiscal.operation.line | form | New |
view_l10n_br_account_fiscal_operation_line_tree |
l10n_br_account.fiscal.operation.line | l10n_br_account.fiscal.operation.line | tree | New |
view_l10n_br_account_fiscal_operation_tree |
l10n_br_account.fiscal.operation | l10n_br_account.fiscal.operation | tree | New |
view_l10n_br_account_fiscal_position_rule_form |
l10n_br_account.fiscal.position.rule.form | account.fiscal.position.rule | field | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_form |
view_l10n_br_account_fiscal_position_rule_template_form |
l10n_br_account.fiscal.position.rule.template.form | account.fiscal.position.rule.template | field | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_template_form |
view_l10n_br_account_fiscal_position_rule_template_tree |
l10n_br_account.fiscal.position.rule.template.tree | account.fiscal.position.rule.template | field | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_template_tree |
view_l10n_br_account_fiscal_position_rule_tree |
l10n_br_account.fiscal.position.rule.tree | account.fiscal.position.rule | field | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_tree |
view_l10n_br_account_invoice_filter |
l10n_br_account.invoice.select | account.invoice | filter | Inherits account.view_account_invoice_filter |
view_l10n_br_account_invoice_filter1 |
l10n_br_account.invoice.select1 | account.invoice | field | Inherits account.view_account_invoice_filter |
view_l10n_br_account_invoice_form |
l10n_br_account.invoice.form | account.invoice | page | Inherits account.invoice_form |
view_l10n_br_account_invoice_form1 |
l10n_br_account.invoice.form1 | account.invoice | field | Inherits account.invoice_form |
view_l10n_br_account_invoice_form10 |
l10n_br_account.invoice.form10 | account.invoice | notebook | Inherits account.invoice_form |
view_l10n_br_account_invoice_form2 |
l10n_br_account.invoice.form2 | account.invoice | field | Inherits account.invoice_form |
view_l10n_br_account_invoice_form5 |
l10n_br_account.invoice.form5 | account.invoice | button | Inherits account.invoice_form |
view_l10n_br_account_invoice_form6 |
l10n_br_account.invoice.form6 | account.invoice | button | Inherits account.invoice_form |
view_l10n_br_account_invoice_form7 |
l10n_br_account.invoice.form7 | account.invoice | field | Inherits account.invoice_form |
view_l10n_br_account_invoice_line_form |
l10n_br_account.invoice.line.form | account.invoice.line | form | Inherits account.view_invoice_line_form |
view_l10n_br_account_invoice_line_tree |
l10n_br_account.invoice.line.tree1 | account.invoice.line | field | Inherits account.view_invoice_line_tree |
view_l10n_br_account_invoice_supplier_form |
l10n_br_account.invoice.supplier.form | account.invoice | notebook | Inherits account.invoice_supplier_form |
view_l10n_br_account_invoice_supplier_form1 |
l10n_br_account.invoice.supplier.form1 | account.invoice | field | Inherits account.invoice_supplier_form |
view_l10n_br_account_invoice_supplier_form2 |
l10n_br_account.invoice.supplier.form2 | account.invoice | field | Inherits account.invoice_supplier_form |
view_l10n_br_account_invoice_supplier_form3 |
l10n_br_account.invoice.supplier.form3 | account.invoice | field | Inherits account.invoice_supplier_form |
view_l10n_br_account_invoice_supplier_form4 |
l10n_br_account.invoice.supplier.form4 | account.invoice | button | Inherits account.invoice_supplier_form |
view_l10n_br_account_invoice_supplier_form5 |
l10n_br_account.invoice.supplier.form5 | account.invoice | button | Inherits account.invoice_supplier_form |
view_l10n_br_account_invoice_supplier_form6 |
l10n_br_account.invoice.supplier.form6 | account.invoice | field | Inherits account.invoice_supplier_form |
view_l10n_br_account_invoice_supplier_form8 |
l10n_br_account.invoice.supplier.form8 | account.invoice | page | Inherits account.invoice_supplier_form |
view_l10n_br_account_invoice_supplier_form9 |
l10n_br_account.invoice.supplier.form9 | account.invoice | field | Inherits account.invoice_supplier_form |
view_l10n_br_account_invoice_tree |
l10n_br_account.invoice.tree | account.invoice | field | Inherits account.invoice_tree |
view_l10n_br_account_journal_form |
l10n_br_account.journal.form | account.journal | notebook | Inherits account.view_account_journal_form |
view_l10n_br_account_nfe_export |
Exportar Nota Fiscal | l10n_br_account.nfe_export | form | New |
view_l10n_br_account_partner_fiscal_type_form |
l10n_br_account.partner.fiscal.type | l10n_br_account.partner.fiscal.type | form | New |
view_l10n_br_account_partner_fiscal_type_tree |
l10n_br_account.partner.fiscal.type | l10n_br_account.partner.fiscal.type | tree | New |
view_l10n_br_account_position_form |
l10n_br_account.fiscal.position.form | account.fiscal.position | field | Inherits account.view_account_position_form |
view_l10n_br_account_position_template_form |
l10n_br_account.fiscal.position.template.form | account.fiscal.position.template | field | Inherits account.view_account_position_template_form |
view_l10n_br_account_position_template_form |
l10n_br_account.move.line.form | account.move.line | field | Inherits account.view_account_move_line_filter |
view_l10n_br_account_service_type_form |
l10n_br_account.service.type.form | l10n_br_account.service.type | form | New |
view_l10n_br_account_service_type_structure |
l10n_br_account.service.type.structure | l10n_br_account.service.type | tree | New |
view_l10n_br_account_service_type_tree |
l10n_br_account.service.type.tree | l10n_br_account.service.type | tree | New |
view_l10n_br_delivery_invoice_form11 |
l10n_br_account.invoice.form11 | account.invoice | field | Inherits account.invoice_form |
view_l10n_br_sale_fiscal_position_rule_search |
l10n_br_sale.fiscal.position.rule.search | account.fiscal.position.rule | xpath | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_search |
view_l10n_br_sale_fiscal_position_rule_template_search |
l10n_br_sale.fiscal.position.rule.template.search | account.fiscal.position.rule.template | xpath | Inherits account_fiscal_position_rule.view_account_fiscal_position_rule_template_search |
view_nfe_export_from_invoice |
Exportar Nota Fiscal | l10n_br_account.nfe_export_from_invoice | form | New |
No models found for this module.