Repository
OCA/l10n-brazil · module folder · Try on Runboat
Module version
1.0.0
Category
Localisation
Folder size
8.45 MB
License
AGPL-3
Application
Yes
Auto-installable
No
Website
https://github.com/OCA/l10n-brazil
Last tracking update
2026-08-14 17:39:01
Authors
Akretion, Odoo Community Association (OCA)
Maintainers
Akretion, Odoo Community Association (OCA)
Committers
Raphaël Valyi, OCA-git-bot, oca-ci
Odoo dependencies
OCA/l10n-brazil:
OCA/product-attribute:
odoo/odoo:
- web
- bus
- uom
Python dependencies
erpbrasil.base, email-validator, num2words, phonenumbers
System dependencies
None
Required by
None
Description
![image](../static/img/fiscal_dashboard.png)

## Classificações fiscais

Primeramente, este módulo traz uma variedade de cadastros fiscais para
produtos, parceiros ou empresas. Na hora de emitir documentos fiscais
como NF-e, NFS-e etc... até empresas do regime simplificado ou MEI
precisam de vários desses cadastros. E empresas do regime normal
precisam deles para calcular os impostos ou emitir documentos fiscais.

Produtos:  
- tipo fiscal
- NCM (com ligações com os impostos)
- genêro fiscal
- CEST
- NBM
- NBS
- tipo de serviço
- unidades fiscais

Parceiros:  
- CNAE
- perfil fiscal

## Conceito de documento fiscal

O Odoo nativo não tem o conceito de documento fiscal. O conceito mais
parecido seria o `account.move` e até a versão 10.0 a localização
estendia o invoice para suportar as NF-e e NFS-e apenas. Naquela época
não era razoável você cogitar fazer o SPED no Odoo, o próprio core do
Odoo não tinha maturidade para isso então era válido a abordagem
empírica de ir suportando mais casos de NFe dentro do invoice Odoo
apenas.

Porém, na v12, amadurecemos o framework XML/SOAP de forma que se torna
razoável suportar vários documentos fiscais (NF-e, NFS-e, MDF-e, CT-e,
EFD-Reinf, e-Social, GNRE, BP-e...) com a qualidade OCA dentro do Odoo.
Também, apesar de complexo, o core do Odoo finalmente tem suporte
suficiente para as operações de uma empresa que faria o SPED.

Nisso se torna interessante ter o conceito de documento fiscal
`l10n_br_fiscal.document` independente do invoice Odoo para suportar
todos os documentos fiscais mesmo, de forma modular. Um outro motivo
para ter o conceito de documento fiscal fora do módulo account é que
quando você analisa o código deste módulo `l10n_br_fiscal`, quase nada
dele poderia ser feito pelo módulo account do Odoo. Então ter esse
módulo l10n_br_fiscal que não depende do módulo account também é uma
forma de modularizar a localização para facilitar a manutenção dela,
especialmente quando se trata de migrar e que o módulo pode ter mudado
bastante como foi o caso entre a v8.0 e a v9.0 ou a v12.0 e v13.0 por
exemplo. Facilita também a governança do projeto possibilitando que
pessoas sejam responsáveis por diferentes partes. O módulo
l10n_br_fiscal foi principalmente extraído do módulo
l10n_br_l10n_br_account_product das v7.0 as v.10.0.

Esse módulo `l10n_br_fiscal` é agnóstico de qualquer tecnologia XML ou
SOAP. Ele contém apenas o que há de comum entre os documentos fiscais
mas esses últimos são implementados em outros módulos. Para um
determinado documento fiscal como a Nf-e, você tem então por exemplo:

- `nfelib`: um pacote de data bindings puro Python (que não depende do
  Odoo). Em geral usamos um gerador de código para gerar esses bindings
  a partir dos esquemas XSD da fazenda.
- `l10n_br_nfe_spec`: um modulo de mixins Odoo geridos também a partir
  dos XSD. Esses mixins são apenas as estruturas de dados das
  especificações antes de ser injectados em objetos Odoo existantes
  (como res.partner ou l10n_br_fiscal.document) ou até tornados
  concretos caso não exite objetos na Odoo ou na OCA para eles já.
- `l10n_br_nfe`: um módulo Odoo que trata de injectar esses mappings
  fiscais nos objetos Odoo e que implementa a lógica como os wizards
  para a transmissão.

A transmissão é realizada usando uma lib de transmissão como
`erpbrasil.doc` (baseada em Python Zeep). Importante: no caso da
`NFS-e`, a ausência de padrão nacional hoje e a simplicidade do modelo
(comparado com a NFe) faz que foi decidido de não usar um módulo de
mixins fiscais Odoo geridos, o mapping é com a lib de binding é feito
manualmente, família de NFS-e por família.

Alem disso a maioria do codigo do `l10n_br_fiscal.document` e das linhas
dele `l10n_br_fiscal.document.line` é na verdade feito dentro de mixins
`10n_br_fiscal.document.mixin` e `10n_br_fiscal.document.line.mixin`
respectivamente. Esses mixins podem assim ser injectados em outros
objetos Odoo que precedem os documentos fiscais e podem armazenar então
o mesmo tipo de informação: `sale.order`, `purchase.order`,
`stock.picking`... Isso é bem visível nos módulos que estendem esse
módulo:

``` text
|-- l10n_br_fiscal
    |-- l10n_br_sale
    |-- l10n_br_purchase
    |-- l10n_br_account
    |-- ...
```

Porem o caso do invoice Odoo no modulo `l10n_br_account` é diferente
ainda. Pois já se tem a tabela independente do documento fiscal cuja
grande maioria das dezenas e até centenas de campos fiscais (no caso de
muitos tipos de documentos fiscais) não são redundante com os do invoice
Odoo. Se a gente injetasse esses mixins dentro do invoice, aí sim essas
centenas de campos seriam duplicados entre o invoice e o documento
fiscal. Por isso, o sistema que foi adotado no modulo `l10n_br_account`
é que um invoice Odoo passa a ter um
`_inherits = "l10n_br_fiscal.document"` de forma que se pilota o
documento fiscal através do invoice, oferecendo o mesmo tipo de
integração como antes. O mesmo tipo de mecanismo acontece com a linha do
documento fiscal.

Sendo assim, já pelos \_inherits, o invoice Odoo e as linhas dele já vão
puxar todos campos fiscais como se eles fossem das suas respectivas
tabelas sem duplicar eles no banco. Se alem disso a gente injetasse os
mixins `10n_br_fiscal.document.mixin` e
`10n_br_fiscal.document.line.mixin` no invoice e invoice.line, esses
campos fiscais apareceriam também nas tabelas `account_move` e
`account_move_line` de forma redundantes com os campos puxados pelos
\_inherits. Para não ter esse problema, os métodos fiscais comuns (sem
os campos) foram ainda extraidos nos mixins:
`10n_br_fiscal.document.mixin.methods` e
`10n_br_fiscal.document.line.mixin.methods` que são injectados nos
objetos `account_move` e `account_move_line` respectivamente dentro do
modulo `l10n_br_account`.

## Impostos brasileiros

O módulo l10n_br_fiscal lida com os principais impostos brasileiros
como:

- ICMS do Simples Nacional
- ICMS do Regime normal
- IPI
- PIS
- COFINS
- ISSQN
- IRPJ
- II
- CSLL
- INSS

O módulo l10n_br_fiscal também lida com:

- ST
- retenções

![image](../static/img/fiscal_line.png)

![image](../static/img/fiscal_total.png)

É notório que o cálculo dos impostos no Brasil é muito especial e muito
trabalhoso. Geralmente é o motivo pelo qual os ERPs internacionais não
tem grande fatia de mercado brasileiro.

Até a versão 10.0, tentamos usar e estender o objeto Odoo `account.tax`.
A Akretion até criou o projeto `OCA/account-fiscal-rule` para determinar
as alíquotas de cada imposto de accordo com os parâmetros da operação
fiscal. Porém, a gente acabava usando quase nada do
`account.fiscal.position` nativo na parte fiscal e pelo contrário, isso
nos obrigava a ter um registro `account.tax` para cada aliquota e nos
obrigava a manter centenas de taxas e dezenas de milhares de regras para
selecionar a "posição fiscal" Odoo que aplicaria as taxas corretas. E
você ainda tinha que gerir essas dezenas de milhares de regras para uma
determinada empresa do regime normal. Conclusão: era inviável nos
projetos menores de tentar se encaixa na lógica do Odoo para calcular os
impostos brasileiros.

Nisso criamos neste módulo os modelos de taxas que representam
exatamente o funcionamentos dos impostos brasileiros. Além dos cálculos,
esses modelos também nos servem a carregar as tabelas dos impostos. E
mais adiante, no módulo `l10n_br_account`, ligamos os objetos nativos
`account.tax` as alíquotas dos impostos brasileiros.

Claro esses modelos dos impostos atendem as empresas do regime normal,
mas é bom lembrar que até empresas do regime simplificado precisam
desses modelos para realizar as operações com ST (Substituição
Tributária)...

## Operações fiscais

> ![image](../static/img/fiscal_operation.png)

No Odoo nativo, o conceito mais parecido com a operação fiscal e o
`account.fiscal.position`. E ate a versão 10.0, era o que a gente usava.
Porém, a posição fiscal do Odoo não resolve muito os nossos problemas
pois:

- no Brasil se tem uma operação fiscal por linha de documento fiscal
- a posição fiscal do Odoo desconhece a lógica da parametrização fiscal
  brasileira
- já que puxamos o cadastro dos impostos no módulo l10n_br_fiscal fora
  do módulo account (sem depender dele), não temos ainda o objeto
  `account.fiscal.position` neste módulo.

Com tudo, optamos por criar um objeto `l10n_br_fiscal.operation` que faz
exactamente o que precisamos para o Brasil. Mais adiante, no módulo
`l10n_br_account` é realizado a integração entre a posição fiscal do
Odoo e essa operação fiscal.

Code Analysis

Views touched (121)
XML IDNameModelTypeStatus
cest_form l10n_br_fiscal.cest.form l10n_br_fiscal.cest form New
cest_search l10n_br_fiscal.cest.search l10n_br_fiscal.cest search New
cest_tree l10n_br_fiscal.cest.tree l10n_br_fiscal.cest list New
cfop_form l10n_br_fiscal.cfop.form l10n_br_fiscal.cfop form New
cfop_search l10n_br_fiscal.cfop.search l10n_br_fiscal.cfop search New
cfop_tree l10n_br_fiscal.cfop.tree l10n_br_fiscal.cfop list New
city_taxation_code_form_view city.taxation.code.form (in l10n_br_fiscal) l10n_br_fiscal.city.taxation.code form New
city_taxation_code_search_view city.taxation.code.search (in l10n_br_fiscal) l10n_br_fiscal.city.taxation.code search New
city_taxation_code_tree_view city.taxation.code.tree (in l10n_br_fiscal) l10n_br_fiscal.city.taxation.code list New
cnae_form l10n_br_fiscal.cnae.form l10n_br_fiscal.cnae form New
cnae_search l10n_br_fiscal.cnae.search l10n_br_fiscal.cnae search New
cnae_tree l10n_br_fiscal.cnae.tree l10n_br_fiscal.cnae list New
comment_form l10n_br_fiscal.comment.form l10n_br_fiscal.comment form New
comment_search l10n_br_fiscal.comment.search l10n_br_fiscal.comment search New
comment_tree l10n_br_fiscal.comment.tree l10n_br_fiscal.comment list New
cst_form l10n_br_fiscal.cst.form l10n_br_fiscal.cst form New
cst_search l10n_br_fiscal.cst.search l10n_br_fiscal.cst search New
cst_tree l10n_br_fiscal.cst.tree l10n_br_fiscal.cst list New
document_fiscal_line_mixin_form l10n_br_fiscal.document.line.mixin.form l10n_br_fiscal.document.line form New
document_form l10n_br_fiscal.document.form l10n_br_fiscal.document form New
document_import_wizard_form document.import.wizard.form l10n_br_fiscal.document.import.wizard form New
document_line_form l10n_br_fiscal.document.line.form l10n_br_fiscal.document.line form New
document_related_form l10n_br_fiscal.document.related.form l10n_br_fiscal.document.related form New
document_related_tree l10n_br_fiscal.document.related.tree l10n_br_fiscal.document.related list New
document_search l10n_br_fiscal.document.search l10n_br_fiscal.document search New
document_serie_form l10n_br_fiscal.document.serie.form l10n_br_fiscal.document.serie form New
document_serie_tree l10n_br_fiscal.document.serie.tree l10n_br_fiscal.document.serie list New
document_tree l10n_br_fiscal.document.tree l10n_br_fiscal.document list New
document_type_form l10n_br_fiscal.document.type.form l10n_br_fiscal.document.type form New
document_type_tree l10n_br_fiscal.document.type.tree l10n_br_fiscal.document.type list New
fiscal_res_company_form l10n_br_fiscal.res.company.form res.company form Inherits base.view_company_form
invalidate_number_form l10n_br_fiscal.invalidate.number.form l10n_br_fiscal.invalidate.number form New
invalidate_number_search l10n_br_fiscal.invalidate.number.search l10n_br_fiscal.invalidate.number search New
invalidate_number_tree l10n_br_fiscal.invalidate.number.tree l10n_br_fiscal.invalidate.number list New
l10n_br_fiscal_res_config_settings_form l10n_br_fiscal.res.config.settings.view.form res.config.settings form Inherits base.res_config_settings_view_form
legal_nature_form l10n_br_fiscal.legal.nature.form l10n_br_fiscal.legal.nature form New
legal_nature_search l10n_br_fiscal.legal.nature.search l10n_br_fiscal.legal.nature search New
legal_nature_tree l10n_br_fiscal.legal.nature.tree l10n_br_fiscal.legal.nature list New
national_taxation_code_form_view national.taxation.code.form (in l10n_br_fiscal) l10n_br_fiscal.national.taxation.code form New
national_taxation_code_search_view national.taxation.code.search (in l10n_br_fiscal) l10n_br_fiscal.national.taxation.code search New
national_taxation_code_tree_view national.taxation.code.tree (in l10n_br_fiscal) l10n_br_fiscal.national.taxation.code list New
nbm_form l10n_br_fiscal.nbm.form l10n_br_fiscal.nbm form New
nbm_kanban l10n_br_fiscal.nbm.kanban l10n_br_fiscal.ncm kanban New
nbm_search l10n_br_fiscal.nbm.search l10n_br_fiscal.nbm search New
nbm_tree l10n_br_fiscal.nbm.tree l10n_br_fiscal.nbm list New
nbs_form l10n_br_fiscal.nbs.form l10n_br_fiscal.nbs form New
nbs_kanban l10n_br_fiscal.nbs.kanban l10n_br_fiscal.nbs kanban New
nbs_search l10n_br_fiscal.nbs.search l10n_br_fiscal.nbs search New
nbs_tree l10n_br_fiscal.nbs.tree l10n_br_fiscal.nbs list New
ncm_form l10n_br_fiscal.ncm.form l10n_br_fiscal.ncm form New
ncm_kanban l10n_br_fiscal.ncm.kanban l10n_br_fiscal.ncm kanban New
ncm_search l10n_br_fiscal.ncm.search l10n_br_fiscal.ncm search New
ncm_tree l10n_br_fiscal.ncm.tree l10n_br_fiscal.ncm list New
operation_dashboard_kanban l10n_br_fiscal.operation.dashboard.kanban l10n_br_fiscal.operation kanban New
operation_form l10n_br_fiscal.operation.form l10n_br_fiscal.operation form New
operation_indicator_form l10n_br_fiscal.operation.indicator.form l10n_br_fiscal.operation.indicator form New
operation_indicator_search l10n_br_fiscal.operation.indicator.search l10n_br_fiscal.operation.indicator search New
operation_indicator_tree l10n_br_fiscal.operation.indicator.tree l10n_br_fiscal.operation.indicator list New
operation_line_form l10n_br_fiscal.operation.line.form l10n_br_fiscal.operation.line form New
operation_line_tree l10n_br_fiscal.operation.line.tree l10n_br_fiscal.operation.line list New
operation_search l10n_br_fiscal.operation.search l10n_br_fiscal.operation search New
operation_tree l10n_br_fiscal.operation.tree l10n_br_fiscal.operation list New
partner_form l10n_br_fiscal.partner.form res.partner form Inherits l10n_br_base.l10n_br_base_partner_form
partner_profile_form l10n_br_fiscal.partner.profile.form l10n_br_fiscal.partner.profile form New
partner_profile_search l10n_br_fiscal.partner.profile.search l10n_br_fiscal.partner.profile search New
partner_profile_tree l10n_br_fiscal.partner.profile.tree l10n_br_fiscal.partner.profile list New
product_form l10n_br_fiscal.product.product.form product.product form Inherits product.product_normal_form_view
product_genre_form l10n_br_fiscal.product.genre.form l10n_br_fiscal.product.genre form New
product_genre_search l10n_br_fiscal.product.genre.search l10n_br_fiscal.product.genre search New
product_genre_tree l10n_br_fiscal.product.genre.tree l10n_br_fiscal.product.genre list New
product_search l10n_br_fiscal.product.product.search product.product search Inherits product.product_search_form_view
product_template_form l10n_br_fiscal.product.template.form product.template form Inherits product.product_template_only_form_view
product_template_search l10n_br_fiscal.product.template.search product.template search Inherits product.product_template_search_view
product_template_tree product.template.tree product.template list New
product_tree product.product.tree product.product list New
service_type_form l10n_br_fiscal.service.type.form l10n_br_fiscal.service.type form New
service_type_kanban l10n_br_fiscal.service.type.kanban l10n_br_fiscal.service.type kanban New
service_type_search l10n_br_fiscal.service.type.search l10n_br_fiscal.service.type search New
service_type_tree l10n_br_fiscal.service.type.tree l10n_br_fiscal.service.type list New
simplified_tax_form l10n_br_fiscal.simplified.tax.form l10n_br_fiscal.simplified.tax form New
simplified_tax_range_tree l10n_br_fiscal.simplified.tax.range.tree l10n_br_fiscal.simplified.tax.range list New
simplified_tax_tree l10n_br_fiscal.simplified.tax.tree l10n_br_fiscal.simplified.tax list New
tax_classification_form l10n_br_fiscal.tax.classification form New
tax_classification_search l10n_br_fiscal.tax.classification search New
tax_classification_tree l10n_br_fiscal.tax.classification list New
tax_definition_form l10n_br_fiscal.tax.definition.form l10n_br_fiscal.tax.definition form New
tax_definition_icms_tree l10n_br_fiscal.tax.definition.icms.tree l10n_br_fiscal.tax.definition list New
tax_definition_tree l10n_br_fiscal.tax.definition.tree l10n_br_fiscal.tax.definition list New
tax_estimate_tree l10n_br_fiscal.tax.estimate.tree l10n_br_fiscal.tax.estimate list New
tax_form l10n_br_fiscal.tax.form l10n_br_fiscal.tax form New
tax_group_form l10n_br_fiscal.tax.group.form l10n_br_fiscal.tax.group form New
tax_group_search l10n_br_fiscal.tax.group.search l10n_br_fiscal.tax.group search New
tax_group_tree l10n_br_fiscal.tax.group.tree l10n_br_fiscal.tax.group list New
tax_icms_regulation_form l10n_br_fiscal.icms.regulation.form l10n_br_fiscal.icms.regulation form New
tax_icms_regulation_search l10n_br_fiscal.icms.regulation.search l10n_br_fiscal.icms.regulation search New
tax_icms_regulation_tree l10n_br_fiscal.icms.regulation.tree l10n_br_fiscal.icms.regulation list New
tax_icms_relief_form l10n_br_fiscal.icms.relief.form l10n_br_fiscal.icms.relief form New
tax_icms_relief_search l10n_br_fiscal.icms.relief.search l10n_br_fiscal.icms.relief search New
tax_icms_relief_tree l10n_br_fiscal.icms.relief.tree l10n_br_fiscal.icms.relief list New
tax_ipi_control_seal_form l10n_br_fiscal.tax.ipi.control.seal.form l10n_br_fiscal.tax.ipi.control.seal form New
tax_ipi_control_seal_search l10n_br_fiscal.tax.ipi.control.seal.search l10n_br_fiscal.tax.ipi.guideline.class search New
tax_ipi_control_seal_tree l10n_br_fiscal.tax.ipi.control.seal.tree l10n_br_fiscal.tax.ipi.control.seal list New
tax_ipi_guideline_class_form l10n_br_fiscal.tax.ipi.guideline.class.form l10n_br_fiscal.tax.ipi.guideline.class form New
tax_ipi_guideline_class_search l10n_br_fiscal.tax.ipi.guideline.class.search l10n_br_fiscal.tax.ipi.guideline.class search New
tax_ipi_guideline_class_tree l10n_br_fiscal.tax.ipi.guideline.class.tree l10n_br_fiscal.tax.ipi.guideline.class list New
tax_ipi_guideline_form l10n_br_fiscal.tax.ipi.guideline.form l10n_br_fiscal.tax.ipi.guideline form New
tax_ipi_guideline_search l10n_br_fiscal.tax.ipi.guideline.search l10n_br_fiscal.tax.ipi.guideline search New
tax_ipi_guideline_tree l10n_br_fiscal.tax.ipi.guideline.tree l10n_br_fiscal.tax.ipi.guideline list New
tax_pis_cofins_base_form l10n_br_fiscal.tax.pis.cofins.base.form l10n_br_fiscal.tax.pis.cofins.base form New
tax_pis_cofins_base_search l10n_br_fiscal.tax.pis.cofins.base.search l10n_br_fiscal.tax.pis.cofins.base search New
tax_pis_cofins_base_tree l10n_br_fiscal.tax.pis.cofins.base.tree l10n_br_fiscal.tax.pis.cofins.base list New
tax_pis_cofins_credit_form l10n_br_fiscal.tax.pis.cofins.credit.form l10n_br_fiscal.tax.pis.cofins.credit form New
tax_pis_cofins_credit_search l10n_br_fiscal.tax.pis.cofins.credit.search l10n_br_fiscal.tax.pis.cofins.credit search New
tax_pis_cofins_credit_tree l10n_br_fiscal.tax.pis.cofins.credit.tree l10n_br_fiscal.tax.pis.cofins.credit list New
tax_pis_cofins_form l10n_br_fiscal.pis.cofins.tax.form l10n_br_fiscal.tax.pis.cofins form New
tax_pis_cofins_search l10n_br_fiscal.tax.search l10n_br_fiscal.tax.pis.cofins search New
tax_pis_cofins_tree l10n_br_fiscal.tax.pis.cofins.tree l10n_br_fiscal.tax.pis.cofins list New
tax_search l10n_br_fiscal.tax.search l10n_br_fiscal.tax search New
tax_tree l10n_br_fiscal.tax.tree l10n_br_fiscal.tax list New
uom_uom_form_view uom.uom.form (in l10n_br_fiscal) uom.uom form Inherits uom.product_uom_form_view
uom_uom_tree_view uom.uom.tree (in l10n_br_fiscal) uom.uom tree Inherits uom.product_uom_tree_view
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (57)

New fields (11)
  • document_id Many2one → l10n_br_fiscal.document
    comodel_name='l10n_br_fiscal.document' string='Fiscal Document'
  • document_key Char
  • document_number Char
  • document_serie Char
  • document_status Text
    readonly=True string='Status'
  • document_type Char
    related='document_type_id.code'
  • document_type_id Many2one → l10n_br_fiscal.document.type
    comodel_name='l10n_br_fiscal.document.type' string='Document Type'
  • justification Text
  • partner_id Many2one → res.partner
    comodel_name='res.partner' string='Partner'
  • rps_number Char
  • state Selection
    default='init' readonly=True selection=[('init', 'init'), ('confirm', 'confirm'), ('done', 'done')]
Public methods (2)
  • button_back(self)
  • default_get(self, fields_list)
    @api.model

New fields (8)
  • code Char
    size=9
  • code_unmasked Char
    size=7
  • item Char
    required=True
  • ncm_ids Many2many → l10n_br_fiscal.ncm
    comodel_name='l10n_br_fiscal.ncm' readonly=True string='NCMs'
  • ncms Char
    string='NCM'
  • product_tmpl_ids One2many
    inverse_name='cest_id'
  • segment Selection
    required=True selection=CEST_SEGMENT
  • tax_definition_ids Many2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' readonly=True string='Tax Definition'
Public methods (3)
  • action_search_ncms(self)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, values)

New fields (22)
  • account_move Boolean
    default=True string='Account Move?'
  • assent_move Boolean
    default=False string='Assent Move?'
  • cfop_inverse_id Many2one → l10n_br_fiscal.cfop
    comodel_name='l10n_br_fiscal.cfop' domain="[('destination', '=', destination),('type_in_out', '!=', type_in_out)]" string='Inverse CFOP'
  • cfop_return_id Many2one → l10n_br_fiscal.cfop
    comodel_name='l10n_br_fiscal.cfop' domain="[('destination', '=', destination),('type_in_out', '!=', type_in_out),('type_move', 'in', ('sale_refund', 'purchase_refund', 'return_out', 'return_in'))]" string='Return CFOP'
  • code Char
    size=4
  • destination Selection
    compute='_compute_destination' help='Identifies the operation destination.' selection=CFOP_DESTINATION store=True
  • finance_move Boolean
    default=True string='Finance Moves?'
  • ind_anula Selection
    default='0' required=True selection=[('0', '0 - No'), ('1', '1 - Yes')] string='Revocation?'
  • ind_comb Selection
    default='0' required=True selection=[('0', '0 - No'), ('1', '1 - Yes - Without mandatory transportation information'), ('2', '2 - Yes - With mandatory transportation information')] string='Fuel?'
  • ind_comunica Selection
    default='0' required=True selection=[('0', '0 - No'), ('1', '1 - Yes')] string='Communication?'
  • ind_cte Selection
    default='0' required=True selection=[('0', '0 - No'), ('1', '1 - Yes')] string='Used in CTe'
  • ind_devol Selection
    default='0' required=True selection=[('0', '0 - No'), ('1', '1 - Yes')] string='Return?'
  • ind_nfe Selection
    default='0' required=True selection=[('0', '0 - No'), ('1', '1 - Yes')] string='Used in NFe'
  • ind_remes Selection
    default='0' required=True selection=[('0', '0 - No'), ('1', '1 - Yes')] string='Shipment?'
  • ind_retor Selection
    default='0' required=True selection=[('0', '0 - No'), ('1', '1 - Yes')] string='Regress?'
  • ind_transp Selection
    default='0' required=True selection=[('0', '0 - No'), ('1', '1 - Yes')] string='Transport?'
  • is_import Boolean
    compute='_compute_is_import' string='Is Import?'
  • small_name Char
    required=True size=32
  • stock_move Boolean
    default=True string='Stock Moves?'
  • tax_definition_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' inverse_name='cfop_id' string='Tax Definition'
  • type_in_out Selection
    default=FISCAL_OUT required=True selection=FISCAL_IN_OUT string='Type'
  • type_move Selection
    default=CFOP_TYPE_MOVE_DEFAULT required=True selection=CFOP_TYPE_MOVE
Public methods (0)

No public methods.

New fields (5)
  • city_id Many2one → res.city
    comodel_name='res.city' domain="[('state_id', '=', state_id)]" string='City'
  • cnae_id Many2one → l10n_br_fiscal.cnae
    comodel_name='l10n_br_fiscal.cnae' string='CNAE Code'
  • service_type_id Many2one → l10n_br_fiscal.service.type
    comodel_name='l10n_br_fiscal.service.type' domain=[('internal_type', '=', 'normal')] string='Service Type'
  • state_id Many2one → res.country.state
    comodel_name='res.country.state' domain=[('country_id.code', '=', 'BR')] string='State'
  • tax_definition_ids Many2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' readonly=True relation='tax_definition_city_taxation_code_rel' string='Tax Definition'
Public methods (0)

No public methods.

New fields (5)
  • child_ids One2many → l10n_br_fiscal.cnae
    comodel_name='l10n_br_fiscal.cnae' inverse_name='parent_id' string='Children CNAEs'
  • code Char
    size=16
  • internal_type Selection
    default='normal' required=True selection=[('view', 'View'), ('normal', 'Normal')]
  • parent_id Many2one → l10n_br_fiscal.cnae
    comodel_name='l10n_br_fiscal.cnae' string='Parent CNAE'
  • version Char
    required=True size=16
Public methods (0)

No public methods.

New fields (9)
  • comment Text
    required=True
  • comment_type Selection
    default=COMMENT_TYPE_COMMERCIAL required=True selection=COMMENT_TYPE
  • date_begin Date
    string='Initial Date'
  • date_end Date
    string='Final Date'
  • name Char
    required=True
  • object Selection
    required=True selection=FISCAL_COMMENT_OBJECTS
  • object_id Reference
    ondelete='set null' selection=FISCAL_COMMENT_OBJECTS string='Reference'
  • sequence Integer
    default=10
  • test_comment Text
Public methods (3)
  • action_test_message(self)
  • compute_message(self, vals, manual_comment=None)
  • format_amount(self, env, amount, currency)

New fields (4)
  • code Char
    size=4
  • cst_type Selection
    required=True selection=FISCAL_IN_OUT_ALL string='Type'
  • tax_domain Selection
    related='tax_group_id.tax_domain' store=True string='Tax Domain'
  • tax_group_id Many2one → l10n_br_fiscal.tax.group
    comodel_name='l10n_br_fiscal.tax.group' required=True string='Fiscal Tax Group'
Public methods (0)

No public methods.

New fields (4)
  • active Boolean
    default=True
  • code Char
    index=True required=True
  • code_unmasked Char
    compute='_compute_code_unmasked' index=True store=True string='Unmasked Code'
  • name Text
    index=True required=True
Public methods (3)
  • action_archive(self)
  • action_unarchive(self)
  • fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False)
    @api.model
    Modify search view architecture to enhance 'code' field filtering. Intercept the search view definition, altering `filter_domain` for the 'code' field. This lets users search by raw 'code', 'code_unmasked' (code without punctuation), or 'name' of the record when typing into the 'code' filter in the search panel.

New fields (3)
  • estimate_tax_imported Float
    compute='_compute_amount' digits='Fiscal Tax Percent' readonly=True store=True string='Estimate Tax Imported Percent'
  • estimate_tax_national Float
    compute='_compute_amount' digits='Fiscal Tax Percent' readonly=True store=True string='Estimate Tax Nacional Percent'
  • tax_estimate_ids One2many → l10n_br_fiscal.tax.estimate
    comodel_name='l10n_br_fiscal.tax.estimate' readonly=True string='Estimate Taxes'
Public methods (2)
  • action_ibpt_inquiry(self)
  • fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False)
    @api.model

New fields (2)
  • product_tmpl_ids One2many → product.template
    comodel_name='product.template' readonly=True string='Products'
  • product_tmpl_qty Integer
    compute='_compute_product_tmpl_infos' string='Products Quantity'
Public methods (0)

No public methods.

New fields (33)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> string='Company'
  • company_l10n_br_ie_code_st Char
    string='Company ST State Tax Number'
  • currency_id Many2one → res.currency
    comodel_name='res.currency' related='company_id.currency_id' string='Currency'
  • customer_additional_data Text
  • date_in_out Datetime
    copy=False string='Date IN/OUT'
  • document_date Datetime
    copy=False
  • document_electronic Boolean
    related='document_type_id.electronic' store=True string='Electronic?'
  • document_related_ids One2many → l10n_br_fiscal.document.related
    comodel_name='l10n_br_fiscal.document.related' inverse_name='document_id' string='Fiscal Document Related'
  • document_type Char
    related='document_type_id.code' store=True string='Document Type Code'
  • edoc_purpose Selection
    compute='_compute_edoc_purpose' default=EDOC_PURPOSE_NORMAL precompute=True selection=EDOC_PURPOSE store=True string='Finalidade'
  • edoc_refund_credit_type Selection
    selection=EDOC_REFUND_CREDIT_TYPE string='Tipo de Nota de Crédito'
  • edoc_refund_debit_type Selection
    selection=EDOC_REFUND_DEBIT_TYPE string='Tipo de Nota de Débito'
  • fiscal_additional_data Text
  • fiscal_line_ids One2many → l10n_br_fiscal.document.line
    check_company=True comodel_name='l10n_br_fiscal.document.line' copy=True inverse_name='document_id' string='Document Lines'
  • fiscal_operation_id Many2one → l10n_br_fiscal.operation
    domain="[('state', '=', 'approved')]" string='Fiscal Operation' args: 'l10n_br_fiscal.operation'
  • fiscal_operation_type Selection
    store=True
  • imported_document Boolean
    default=False string='Imported'
  • name Char
    compute='_compute_name' index=True store=True
  • partner_cnpj_cpf Char
    related='partner_id.vat' string='CNPJ'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' inverse='_inverse_partner_id' string='Partner'
  • partner_l10n_br_ie_code Char
    related='partner_id.l10n_br_ie_code' string='State Tax Number'
  • partner_legal_name Char
    related='partner_id.legal_name' string='Legal Name'
  • partner_shipping_id Many2one → res.partner
    comodel_name='res.partner' string='Shipping Address'
  • processador_edoc Selection
    related='company_id.processador_edoc'
  • public_entity_type Selection
    selection=PUBLIC_ENTIRY_TYPE string='Tipo de Entidade Governamental'
  • rps_number Char
    copy=False index=True string='RPS Number'
  • service_provider Selection
    selection=[('0', 'Remetente'), ('1', 'Expedidor'), ('2', 'Recebedor'), ('3', 'Destinatário'), ('4', 'Outros')] string='Tomador do Serviço'
  • state Selection
    related='state_edoc' string='State'
  • state_edoc Selection
    copy=False default=SITUACAO_EDOC_EM_DIGITACAO index=True readonly=True required=True selection=SITUACAO_EDOC string='Situação e-doc'
  • state_fiscal Selection
    copy=False index=True selection=SITUACAO_FISCAL string='Situação Fiscal'
  • transport_modal Selection
    selection=[('01', 'Rodoviário'), ('02', 'Aéreo'), ('03', 'Aquaviário'), ('04', 'Ferroviário'), ('05', 'Dutoviário'), ('06', 'Multimodal')] string='Modal de Transporte'
  • user_id Many2one → res.users
    comodel_name='res.users' default=<expr> index=True string='User'
  • xml_error_message Text
    copy=False readonly=True string='XML validation errors'
Public methods (11)
  • action_create_return(self)
  • action_document_back2draft(self)
  • action_document_cancel(self)
  • action_document_confirm(self)
  • action_document_correction(self)
  • action_document_invalidate(self)
  • action_document_send(self)
  • exec_after_SITUACAO_EDOC_DENEGADA(self, old_state, new_state)
  • unlink(self)
  • view_pdf(self)
  • view_xml(self)

New fields (14)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> string='Company'
  • destination_cnpj Char
    string='Destination CNPJ'
  • destination_name Char
  • destination_partner_id Many2one → res.partner
    comodel_name='res.partner'
  • destination_type_in_out Selection
    selection=FISCAL_IN_OUT string='Destination Type'
  • document_type Char
  • file Binary
    string='File to Import'
  • fiscal_operation_id Many2one → l10n_br_fiscal.operation
    comodel_name='l10n_br_fiscal.operation' domain="[('fiscal_operation_type', '=', fiscal_operation_type)]" string='Fiscal Operation'
  • fiscal_operation_type Selection
    compute='_compute_fiscal_operation_type' selection=FISCAL_IN_OUT
  • issuer_cnpj Char
    string='Issuer CNPJ'
  • issuer_legal_name Char
  • issuer_name Char
    string='Fantasia'
  • issuer_partner_id Many2one → res.partner
    comodel_name='res.partner'
  • issuer_type_in_out Selection
    selection=FISCAL_IN_OUT string='Issuer Type'
Public methods (2)
  • action_import_and_open_document(self)
  • action_open_document(self)

New fields (12)
  • additional_data Text
  • company_id Many2one → res.company
    comodel_name='res.company' precompute=True related='document_id.company_id' store=True string='Company'
  • delivery_costs Selection
    related='company_id.delivery_costs'
  • document_id Many2one → l10n_br_fiscal.document
    comodel_name='l10n_br_fiscal.document' ondelete='cascade' string='Document'
  • edoc_purpose Selection
    related='document_id.edoc_purpose'
  • force_compute_delivery_costs_by_total Boolean
    related='document_id.force_compute_delivery_costs_by_total'
  • name Char
    compute='_compute_name' precompute=True readonly=False store=True
  • partner_id Many2one → res.partner
    comodel_name='res.partner' compute='_compute_partner_id' precompute=True readonly=False store=True
  • price_unit Float
    compute='_compute_price_unit_fiscal' digits='Product Price' precompute=True readonly=False store=True
  • quantity Float
    default=1.0
  • tax_framework Selection
    related='company_id.tax_framework'
  • uom_id Many2one → uom.uom
    comodel_name='uom.uom' compute='_compute_uom_id' precompute=True readonly=False store=True string='UOM'
Public methods (0)

No public methods.

New fields (238)
  • allow_csll_irpj Boolean
    compute='_compute_allow_csll_irpj' help="Indicates potential 'CSLL' and 'IRPJ' tax charges."
  • amount_fiscal Monetary
    compute='_compute_fiscal_amounts'
  • amount_tax_included Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True
  • amount_tax_not_included Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True
  • amount_tax_withholding Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='Tax Withholding'
  • amount_taxed Monetary
    compute='_compute_fiscal_amounts'
  • cbs_base Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='CBS Base'
  • cbs_base_type Selection
    compute='_compute_tax_fields' precompute=True readonly=False selection=TAX_BASE_TYPE store=True string='CBS Base Type'
  • cbs_cst_code Char
    related='cbs_cst_id.code' store=True string='CBS CST Code'
  • cbs_cst_id Many2one → l10n_br_fiscal.cst
    comodel_name='l10n_br_fiscal.cst' compute='_compute_tax_fields' domain="[('cst_type', '=', fiscal_operation_type),('tax_domain', '=', 'cbs')]" precompute=True readonly=False store=True string='CST CBS'
  • cbs_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='CBS %'
  • cbs_reduction Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='CBS % Reduction'
  • cbs_tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' compute='_compute_tax_fields' domain=<expr> precompute=True readonly=False store=True string='Tax CBS'
  • cbs_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='CBS Value'
  • cest_id Many2one → l10n_br_fiscal.cest
    comodel_name='l10n_br_fiscal.cest' compute='_compute_product_fiscal_fields' domain="[('ncm_ids', '=', ncm_id)]" index=True precompute=True readonly=False store=True string='CEST'
  • cfop_destination Selection
    related='cfop_id.destination' string='CFOP Destination'
  • cfop_id Many2one → l10n_br_fiscal.cfop
    comodel_name='l10n_br_fiscal.cfop' compute='_compute_fiscal_tax_ids' domain="[('type_in_out', '=', fiscal_operation_type)]" precompute=True readonly=False store=True string='CFOP'
  • city_taxation_code_id Many2one → l10n_br_fiscal.city.taxation.code
    comodel_name='l10n_br_fiscal.city.taxation.code' compute='_compute_city_taxation_code_id' help='City Taxation Code for Municipal NFS-e or ISS Municipal Taxation Code for National NFS-e.' precompute=True readonly=False store=True string='City Taxation Code'
  • cnae_id Many2one → l10n_br_fiscal.cnae
    comodel_name='l10n_br_fiscal.cnae' precompute=True readonly=False related='city_taxation_code_id.cnae_id' store=True string='CNAE Code'
  • cofins_base Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='COFINS Base'
  • cofins_base_id Many2one → l10n_br_fiscal.tax.pis.cofins.base
    comodel_name='l10n_br_fiscal.tax.pis.cofins.base' string='COFINS Base Code'
  • cofins_base_type Selection
    compute='_compute_tax_fields' precompute=True readonly=False selection=TAX_BASE_TYPE store=True string='COFINS Base Type'
  • cofins_credit_id Many2one → l10n_br_fiscal.tax.pis.cofins.credit
    comodel_name='l10n_br_fiscal.tax.pis.cofins.credit' string='COFINS Credit Code'
  • cofins_cst_code Char
    related='cofins_cst_id.code' store=True string='COFINS CST Code'
  • cofins_cst_id Many2one → l10n_br_fiscal.cst
    comodel_name='l10n_br_fiscal.cst' compute='_compute_tax_fields' domain="['|', ('cst_type', '=', fiscal_operation_type),('cst_type', '=', 'all'),('tax_domain', '=', 'cofins')]" precompute=True readonly=False store=True string='CST COFINS'
  • cofins_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='COFINS %'
  • cofins_reduction Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='COFINS % Reduction'
  • cofins_tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' compute='_compute_tax_fields' domain=[('tax_domain', '=', TAX_DOMAIN_COFINS)] precompute=True readonly=False store=True string='Tax COFINS'
  • cofins_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='COFINS Value'
  • cofins_wh_base Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='COFINS RET Base'
  • cofins_wh_base_type Selection
    compute='_compute_tax_fields' precompute=True readonly=False selection=TAX_BASE_TYPE store=True string='COFINS WH Base Type'
  • cofins_wh_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='COFINS RET %'
  • cofins_wh_reduction Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='COFINS RET % Reduction'
  • cofins_wh_tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' compute='_compute_tax_fields' domain=[('tax_domain', '=', TAX_DOMAIN_COFINS_WH)] precompute=True readonly=False store=True string='Tax COFINS RET'
  • cofins_wh_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='COFINS RET Value'
  • cofinsst_base Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='COFINS ST Base'
  • cofinsst_base_type Selection
    compute='_compute_tax_fields' precompute=True readonly=False selection=TAX_BASE_TYPE store=True string='COFINS ST Base Type'
  • cofinsst_cst_code Char
    related='cofinsst_cst_id.code' store=True string='COFINS ST CST Code'
  • cofinsst_cst_id Many2one → l10n_br_fiscal.cst
    comodel_name='l10n_br_fiscal.cst' compute='_compute_tax_fields' domain="['|', ('cst_type', '=', fiscal_operation_type),('cst_type', '=', 'all'),('tax_domain', '=', 'cofinsst')]" precompute=True readonly=False store=True string='CST COFINS ST'
  • cofinsst_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='COFINS ST %'
  • cofinsst_reduction Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='COFINS ST % Reduction'
  • cofinsst_tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' compute='_compute_tax_fields' domain=[('tax_domain', '=', TAX_DOMAIN_COFINS_ST)] precompute=True readonly=False store=True string='Tax COFINS ST'
  • cofinsst_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='COFINS ST Value'
  • comment_ids Many2many → l10n_br_fiscal.comment
    comodel_name='l10n_br_fiscal.comment' compute='_compute_comment_ids' domain=[('object', '=', FISCAL_COMMENT_LINE)] precompute=True readonly=False store=True string='Comments'
  • company_id Many2one → res.company
    comodel_name='res.company' string='Company'
  • csll_base Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='CSLL Base'
  • csll_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='CSLL %'
  • csll_reduction Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='CSLL % Reduction'
  • csll_tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' compute='_compute_tax_fields' domain=[('tax_domain', '=', TAX_DOMAIN_CSLL)] precompute=True readonly=False store=True string='Tax CSLL'
  • csll_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='CSLL Value'
  • csll_wh_base Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='CSLL RET Base'
  • csll_wh_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='CSLL RET %'
  • csll_wh_reduction Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='CSLL RET % Reduction'
  • csll_wh_tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' compute='_compute_tax_fields' domain=[('tax_domain', '=', TAX_DOMAIN_CSLL_WH)] precompute=True readonly=False store=True string='Tax CSLL RET'
  • csll_wh_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='CSLL RET Value'
  • cst_code_prefix_like Char
    compute='_compute_cst_code_prefix_like' help='Helper field to filter taxes by CST code prefix (3 chars) using LIKE.'
  • currency_id Many2one → res.currency
    comodel_name='res.currency' compute='_compute_currency_id' string='Currency'
  • discount_value Monetary
  • estimate_tax Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True
  • financial_discount_value Monetary
    compute='_compute_fiscal_amounts'
  • financial_total Monetary
    compute='_compute_fiscal_amounts' string='Amount Financial'
  • financial_total_gross Monetary
    compute='_compute_fiscal_amounts' help='Total amount before any discounts are applied.' string='Financial Gross Amount'
  • fiscal_amount_tax Monetary
    compute='_compute_fiscal_amounts'
  • fiscal_amount_total Monetary
    compute='_compute_fiscal_amounts'
  • fiscal_amount_untaxed Monetary
    compute='_compute_fiscal_amounts'
  • fiscal_genre_code Char
    related='fiscal_genre_id.code' string='Fiscal Product Genre Code'
  • fiscal_genre_id Many2one → l10n_br_fiscal.product.genre
    comodel_name='l10n_br_fiscal.product.genre' compute='_compute_product_fiscal_fields' precompute=True readonly=False store=True string='Fiscal Product Genre'
  • fiscal_operation_id Many2one → l10n_br_fiscal.operation
    comodel_name='l10n_br_fiscal.operation' domain=<expr> string='Operation'
  • fiscal_operation_line_id Many2one → l10n_br_fiscal.operation.line
    comodel_name='l10n_br_fiscal.operation.line' compute='_compute_fiscal_operation_line_id' domain="[('fiscal_operation_id', '=', fiscal_operation_id), ('state', '=', 'approved')]" precompute=True readonly=False store=True string='Operation Line'
  • fiscal_operation_type Selection
    related='fiscal_operation_id.fiscal_operation_type' string='Operation Type'
  • fiscal_price Float
    compute='_compute_fiscal_price' digits='Product Price' precompute=True readonly=False store=True
  • fiscal_quantity Float
    compute='_compute_fiscal_quantity' digits='Product Unit of Measure' precompute=True readonly=False store=True
  • fiscal_tax_ids Many2many → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' compute='_compute_fiscal_tax_ids' precompute=True readonly=False store=True string='Fiscal Taxes'
  • fiscal_type Selection
    compute='_compute_product_fiscal_fields' precompute=True readonly=False selection=PRODUCT_FISCAL_TYPE store=True
  • freight_value Monetary
  • ibs_base Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='IBS Base'
  • ibs_base_type Selection
    compute='_compute_tax_fields' precompute=True readonly=False selection=TAX_BASE_TYPE store=True string='IBS Base Type'
  • ibs_cst_code Char
    related='ibs_cst_id.code' store=True string='IBS CST Code'
  • ibs_cst_id Many2one → l10n_br_fiscal.cst
    comodel_name='l10n_br_fiscal.cst' compute='_compute_tax_fields' domain="[('cst_type', '=', fiscal_operation_type),('tax_domain', '=', 'ibs')]" precompute=True readonly=False store=True string='CST IBS'
  • ibs_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='IBS %'
  • ibs_reduction Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='IBS % Reduction'
  • ibs_tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' compute='_compute_tax_fields' domain=<expr> precompute=True readonly=False store=True string='Tax IBS'
  • ibs_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='IBS Value'
  • icms_base Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS Base'
  • icms_base_type Selection
    compute='_compute_tax_fields' precompute=True readonly=False selection=ICMS_BASE_TYPE store=True string='ICMS Base Type'
  • icms_cst_code Char
    related='icms_cst_id.code' store=True string='ICMS CST Code'
  • icms_cst_id Many2one → l10n_br_fiscal.cst
    comodel_name='l10n_br_fiscal.cst' compute='_compute_tax_fields' domain="[('tax_domain', '=', {'1': 'icmssn', '2': 'icmssn', '3': 'icms'}.get(tax_framework))]" precompute=True readonly=False store=True string='CST ICMS'
  • icms_destination_base Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS Destination Base'
  • icms_destination_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS External %'
  • icms_destination_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS Dest. Value'
  • icms_effective_base Monetary
    string='ICMS Effective Base'
  • icms_effective_percent Float
    string='ICMS Effective %'
  • icms_effective_reduction Float
    string='ICMS Effective % Reduction'
  • icms_effective_value Monetary
    string='ICMS Effective'
  • icms_origin Selection
    compute='_compute_product_fiscal_fields' precompute=True readonly=False selection=ICMS_ORIGIN store=True string='ICMS Origin'
  • icms_origin_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS Internal %'
  • icms_origin_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS Origin Value'
  • icms_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS %'
  • icms_reduction Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS % Reduction'
  • icms_relief_id Many2one → l10n_br_fiscal.icms.relief
    comodel_name='l10n_br_fiscal.icms.relief' string='ICMS Relief'
  • icms_relief_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS Relief Value'
  • icms_sharing_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS Sharing %'
  • icms_substitute Monetary
    help='Valor do ICMS Próprio do Substituto cobrado em operação anterior' string='ICMS Substitute'
  • icms_tax_benefit_code Char
    related='icms_tax_benefit_id.code' store=True string='Tax Benefit Code'
  • icms_tax_benefit_id Many2one → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' compute='_compute_fiscal_tax_ids' domain=[('is_benefit', '=', True), ('tax_domain', '=', TAX_DOMAIN_ICMS)] precompute=True readonly=False store=True string='Tax Benefit'
  • icms_tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' compute='_compute_tax_fields' domain=[('tax_domain', '=', TAX_DOMAIN_ICMS)] precompute=True readonly=False store=True string='Tax ICMS'
  • icms_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS Value'
  • icmsfcp_base Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS FCP Base'
  • icmsfcp_base_wh Monetary
    string='FCP WH Base'
  • icmsfcp_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS FCP %'
  • icmsfcp_tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' compute='_compute_tax_fields' domain=[('tax_domain', '=', TAX_DOMAIN_ICMS_FCP)] precompute=True readonly=False store=True string='Tax ICMS FCP'
  • icmsfcp_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS FCP Value'
  • icmsfcp_value_wh Monetary
    string='FCP WH'
  • icmsfcp_wh_percent Float
    string='FCP WH %'
  • icmsfcpst_base Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS FCP ST Base'
  • icmsfcpst_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS FCP ST %'
  • icmsfcpst_tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' compute='_compute_tax_fields' domain=[('tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST)] precompute=True readonly=False store=True string='Tax ICMS FCP ST'
  • icmsfcpst_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS FCP ST Value'
  • icmssn_base Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS SN Base'
  • icmssn_credit_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS SN Credit'
  • icmssn_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS SN %'
  • icmssn_range_id Many2one → l10n_br_fiscal.simplified.tax.range
    comodel_name='l10n_br_fiscal.simplified.tax.range' default=_default_icmssn_range_id string='Simplified Range Tax'
  • icmssn_reduction Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS SN Reduction'
  • icmssn_tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' compute='_compute_tax_fields' domain=[('tax_domain', '=', TAX_DOMAIN_ICMS_SN)] precompute=True readonly=False store=True string='Tax ICMS SN'
  • icmsst_base Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS ST Base'
  • icmsst_base_type Selection
    compute='_compute_tax_fields' precompute=True readonly=False selection=ICMS_ST_BASE_TYPE store=True string='ICMS ST Base Type'
  • icmsst_mva_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS ST MVA %'
  • icmsst_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS ST %'
  • icmsst_reduction Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS ST % Reduction'
  • icmsst_tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' compute='_compute_tax_fields' domain=[('tax_domain', '=', TAX_DOMAIN_ICMS_ST)] precompute=True readonly=False store=True string='Tax ICMS ST'
  • icmsst_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ICMS ST Value'
  • icmsst_wh_base Monetary
    string='ICMS ST WH Base'
  • icmsst_wh_percent Float
    string='ICMS ST WH %'
  • icmsst_wh_value Monetary
    string='ICMS ST WH Value'
  • ii_base Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='II Base'
  • ii_customhouse_charges Monetary
    string='Despesas Aduaneiras'
  • ii_iof_value Monetary
    string='IOF Value'
  • ii_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='II %'
  • ii_tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' compute='_compute_tax_fields' domain=[('tax_domain', '=', TAX_DOMAIN_II)] precompute=True readonly=False store=True string='Tax II'
  • ii_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='II Value'
  • ind_final Selection
    compute='_compute_ind_final' precompute=True readonly=False selection=FINAL_CUSTOMER store=True string='Consumidor final'
  • inss_base Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='INSS Base'
  • inss_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='INSS %'
  • inss_reduction Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='INSS % Reduction'
  • inss_tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' compute='_compute_tax_fields' domain=[('tax_domain', '=', TAX_DOMAIN_INSS)] precompute=True readonly=False store=True string='Tax INSS'
  • inss_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='INSS Value'
  • inss_wh_base Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='INSS RET Base'
  • inss_wh_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='INSS RET %'
  • inss_wh_reduction Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='INSS RET % Reduction'
  • inss_wh_tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' compute='_compute_tax_fields' domain=[('tax_domain', '=', TAX_DOMAIN_INSS_WH)] precompute=True readonly=False store=True string='Tax INSS RET'
  • inss_wh_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='INSS RET Value'
  • insurance_value Monetary
  • ipi_base Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='IPI Base'
  • ipi_base_type Selection
    compute='_compute_tax_fields' precompute=True readonly=False selection=TAX_BASE_TYPE store=True string='IPI Base Type'
  • ipi_cst_code Char
    related='ipi_cst_id.code' store=True string='IPI CST Code'
  • ipi_cst_id Many2one → l10n_br_fiscal.cst
    comodel_name='l10n_br_fiscal.cst' compute='_compute_tax_fields' domain="[('cst_type', '=', fiscal_operation_type),('tax_domain', '=', 'ipi')]" precompute=True readonly=False store=True string='CST IPI'
  • ipi_devol_value Monetary
    string='Valor do IPI devolvido'
  • ipi_guideline_id Many2one → l10n_br_fiscal.tax.ipi.guideline
    comodel_name='l10n_br_fiscal.tax.ipi.guideline' compute='_compute_fiscal_tax_ids' domain="['|', ('cst_in_id', '=', ipi_cst_id),('cst_out_id', '=', ipi_cst_id)]" precompute=True readonly=False store=True string='IPI Guideline'
  • ipi_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='IPI %'
  • ipi_reduction Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='IPI % Reduction'
  • ipi_tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' compute='_compute_tax_fields' domain=[('tax_domain', '=', TAX_DOMAIN_IPI)] precompute=True readonly=False store=True string='Tax IPI'
  • ipi_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='IPI Value'
  • irpj_base Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='IRPJ Base'
  • irpj_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='IRPJ %'
  • irpj_reduction Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='IRPJ % Reduction'
  • irpj_tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' compute='_compute_tax_fields' domain=[('tax_domain', '=', TAX_DOMAIN_IRPJ)] precompute=True readonly=False store=True string='Tax IRPJ'
  • irpj_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='IRPJ Value'
  • irpj_wh_base Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='IRPJ RET Base'
  • irpj_wh_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='IRPJ RET %'
  • irpj_wh_reduction Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='IRPJ RET % Reduction'
  • irpj_wh_tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' compute='_compute_tax_fields' domain=[('tax_domain', '=', TAX_DOMAIN_IRPJ_WH)] precompute=True readonly=False store=True string='Tax IRPJ RET'
  • irpj_wh_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='IRPJ RET Value'
  • issqn_base Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ISSQN Base'
  • issqn_deduction_amount Monetary
    string='ISSQN Deduction Value'
  • issqn_desc_cond_amount Monetary
    string='ISSQN Discount Cond'
  • issqn_desc_incond_amount Monetary
    string='ISSQN Discount Incond'
  • issqn_eligibility Selection
    default=ISSQN_ELIGIBILITY_DEFAULT selection=ISSQN_ELIGIBILITY string='ISSQN Eligibility'
  • issqn_fg_city_id Many2one → res.city
    comodel_name='res.city' compute='_compute_issqn_fg_city_id' precompute=True readonly=False store=True string='ISSQN City'
  • issqn_incentive Selection
    default=ISSQN_INCENTIVE_DEFAULT selection=ISSQN_INCENTIVE string='ISSQN Incentive'
  • issqn_other_amount Monetary
    string='ISSQN Other Value'
  • issqn_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ISSQN %'
  • issqn_reduction Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ISSQN % Reduction'
  • issqn_tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' compute='_compute_tax_fields' domain=[('tax_domain', '=', TAX_DOMAIN_ISSQN)] precompute=True readonly=False store=True string='Tax ISSQN'
  • issqn_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ISSQN Value'
  • issqn_wh_base Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ISSQN RET Base'
  • issqn_wh_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ISSQN RET %'
  • issqn_wh_reduction Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ISSQN RET % Reduction'
  • issqn_wh_tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' compute='_compute_tax_fields' domain=[('tax_domain', '=', TAX_DOMAIN_ISSQN_WH)] precompute=True readonly=False store=True string='Tax ISSQN RET'
  • issqn_wh_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='ISSQN RET Value'
  • manual_additional_data Text
    help='Additional data manually entered by user'
  • national_taxation_code_id Many2one → l10n_br_fiscal.national.taxation.code
    comodel_name='l10n_br_fiscal.national.taxation.code' compute='_compute_national_taxation_code_id' help='National Taxation Code for the ISS tax (National NFS-e)' precompute=True readonly=False store=True string='ISS National Taxation Code'
  • nbm_id Many2one → l10n_br_fiscal.nbm
    comodel_name='l10n_br_fiscal.nbm' compute='_compute_product_fiscal_fields' domain="[('ncm_ids', '=', ncm_id)]" index=True precompute=True readonly=False store=True string='NBM'
  • nbs_id Many2one → l10n_br_fiscal.nbs
    comodel_name='l10n_br_fiscal.nbs' compute='_compute_product_fiscal_fields' index=True precompute=True readonly=False store=True string='NBS'
  • ncm_id Many2one → l10n_br_fiscal.ncm
    comodel_name='l10n_br_fiscal.ncm' compute='_compute_product_fiscal_fields' index=True precompute=True readonly=False store=True string='NCM'
  • operation_fiscal_type Selection
    related='fiscal_operation_id.fiscal_type' string='Operation Fiscal Type'
  • operation_indicator_id Many2one → l10n_br_fiscal.operation.indicator
    comodel_name='l10n_br_fiscal.operation.indicator' compute='_compute_product_fiscal_fields' precompute=True readonly=False store=True string='Operation Indicator'
  • other_value Monetary
  • p_devol Float
    string='Percentual de mercadoria devolvida'
  • partner_company_type Selection
    related='partner_id.company_type'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' string='Partner'
  • partner_is_public_entity Boolean
    related='partner_id.is_public_entity'
  • partner_order Char
    size=15 string='Partner Order (xPed)'
  • partner_order_line Char
    size=6 string='Partner Order Line (nItemPed)'
  • pis_base Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='PIS Base'
  • pis_base_id Many2one → l10n_br_fiscal.tax.pis.cofins.base
    comodel_name='l10n_br_fiscal.tax.pis.cofins.base' string='PIS Base Code'
  • pis_base_type Selection
    compute='_compute_tax_fields' precompute=True readonly=False selection=TAX_BASE_TYPE store=True string='PIS Base Type'
  • pis_credit_id Many2one → l10n_br_fiscal.tax.pis.cofins.credit
    comodel_name='l10n_br_fiscal.tax.pis.cofins.credit' string='PIS Credit'
  • pis_cst_code Char
    related='pis_cst_id.code' store=True string='PIS CST Code'
  • pis_cst_id Many2one → l10n_br_fiscal.cst
    comodel_name='l10n_br_fiscal.cst' compute='_compute_tax_fields' domain="['|', ('cst_type', '=', fiscal_operation_type),('cst_type', '=', 'all'),('tax_domain', '=', 'pis')]" precompute=True readonly=False store=True string='CST PIS'
  • pis_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='PIS %'
  • pis_reduction Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='PIS % Reduction'
  • pis_tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' compute='_compute_tax_fields' domain=[('tax_domain', '=', TAX_DOMAIN_PIS)] precompute=True readonly=False store=True string='Tax PIS'
  • pis_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='PIS Value'
  • pis_wh_base Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='PIS RET Base'
  • pis_wh_base_type Selection
    compute='_compute_tax_fields' precompute=True readonly=False selection=TAX_BASE_TYPE store=True string='PIS WH Base Type'
  • pis_wh_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='PIS RET %'
  • pis_wh_reduction Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='PIS RET % Reduction'
  • pis_wh_tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' compute='_compute_tax_fields' domain=[('tax_domain', '=', TAX_DOMAIN_PIS_WH)] precompute=True readonly=False store=True string='Tax PIS RET'
  • pis_wh_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='PIS RET Value'
  • pisst_base Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='PIS ST Base'
  • pisst_base_type Selection
    compute='_compute_tax_fields' precompute=True readonly=False selection=TAX_BASE_TYPE store=True string='PIS ST Base Type'
  • pisst_cst_code Char
    related='pisst_cst_id.code' store=True string='PIS ST CST Code'
  • pisst_cst_id Many2one → l10n_br_fiscal.cst
    comodel_name='l10n_br_fiscal.cst' compute='_compute_tax_fields' domain="['|', ('cst_type', '=', fiscal_operation_type),('cst_type', '=', 'all'),('tax_domain', '=', 'pisst')]" precompute=True readonly=False store=True string='CST PIS ST'
  • pisst_percent Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='PIS ST %'
  • pisst_reduction Float
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='PIS ST % Reduction'
  • pisst_tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' compute='_compute_tax_fields' domain=[('tax_domain', '=', TAX_DOMAIN_PIS_ST)] precompute=True readonly=False store=True string='Tax PIS ST'
  • pisst_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='PIS ST Value'
  • price_gross Monetary
    compute='_compute_fiscal_amounts' help='Total value of products or services (quantity x unit price)before any discounts.' string='Gross Product/Service Amount'
  • price_unit Float
    digits='Product Price' store=True
  • product_id Many2one → product.product
    comodel_name='product.product' index=True string='Product'
  • quantity Float
    digits='Product Unit of Measure'
  • service_type_id Many2one → l10n_br_fiscal.service.type
    comodel_name='l10n_br_fiscal.service.type' compute='_compute_product_fiscal_fields' domain="[('internal_type', '=', 'normal')]" precompute=True readonly=False store=True string='Service Type LC 166'
  • simple_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='National Simple Taxes'
  • simple_without_icms_value Monetary
    compute='_compute_tax_fields' precompute=True readonly=False store=True string='National Simple Taxes without ICMS'
  • tax_classification_id Many2one → l10n_br_fiscal.tax.classification
    comodel_name='l10n_br_fiscal.tax.classification' compute='_compute_fiscal_tax_ids' precompute=True readonly=False store=True string='Tax Classification'
  • tax_icms_or_issqn Selection
    compute='_compute_product_fiscal_fields' precompute=True readonly=False selection=TAX_ICMS_OR_ISSQN store=True string='ICMS or ISSQN Tax'
  • uom_id Many2one → uom.uom
    comodel_name='uom.uom' string='UOM'
  • uot_id Many2one → uom.uom
    comodel_name='uom.uom' compute='_compute_uot_id' precompute=True readonly=False store=True string='Tax UoM'
Public methods (2)
  • inject_fiscal_fields(self, doc, view_ref='l10n_br_fiscal.document_fiscal_line_mixin_form', xpath_mappings=None)
    @api.model
    Inject common fiscal fields into view placeholder elements. Used for invoice line, sale order line, purchase order line...
  • write(self, vals)

New fields (82)
  • amount_cbs_base Monetary
    compute='_compute_fiscal_amount' store=True string='CBS Base'
  • amount_cbs_value Monetary
    compute='_compute_fiscal_amount' store=True string='CBS Value'
  • amount_cofins_base Monetary
    compute='_compute_fiscal_amount' store=True string='COFINS Base'
  • amount_cofins_value Monetary
    compute='_compute_fiscal_amount' store=True string='COFINS Value'
  • amount_cofins_wh_base Monetary
    compute='_compute_fiscal_amount' store=True string='COFINS Ret Base'
  • amount_cofins_wh_value Monetary
    compute='_compute_fiscal_amount' store=True string='COFINS Ret Value'
  • amount_cofinsst_base Monetary
    compute='_compute_fiscal_amount' store=True string='COFINS ST Base'
  • amount_cofinsst_value Monetary
    compute='_compute_fiscal_amount' store=True string='COFINS ST Value'
  • amount_csll_base Monetary
    compute='_compute_fiscal_amount' store=True string='CSLL Base'
  • amount_csll_value Monetary
    compute='_compute_fiscal_amount' store=True string='CSLL Value'
  • amount_csll_wh_base Monetary
    compute='_compute_fiscal_amount' store=True string='CSLL Ret Base'
  • amount_csll_wh_value Monetary
    compute='_compute_fiscal_amount' store=True string='CSLL Ret Value'
  • amount_discount_value Monetary
    compute='_compute_fiscal_amount' store=True string='Amount Discount'
  • amount_estimate_tax Monetary
    compute='_compute_fiscal_amount' store=True
  • amount_financial_discount_value Monetary
    compute='_compute_fiscal_amount' store=True string='Financial Discount Value'
  • amount_financial_total Monetary
    compute='_compute_fiscal_amount' store=True string='Amount Financial'
  • amount_financial_total_gross Monetary
    compute='_compute_fiscal_amount' store=True string='Amount Financial Gross'
  • amount_freight_value Monetary
    compute='_compute_fiscal_amount' inverse='_inverse_amount_freight' store=True string='Freight Value'
  • amount_ibs_base Monetary
    compute='_compute_fiscal_amount' store=True string='IBS Base'
  • amount_ibs_value Monetary
    compute='_compute_fiscal_amount' store=True string='IBS Value'
  • amount_icms_base Monetary
    compute='_compute_fiscal_amount' store=True string='ICMS Base'
  • amount_icms_destination_value Monetary
    compute='_compute_fiscal_amount' store=True string='ICMS Destination Value'
  • amount_icms_origin_value Monetary
    compute='_compute_fiscal_amount' store=True string='ICMS Origin Value'
  • amount_icms_value Monetary
    compute='_compute_fiscal_amount' store=True string='ICMS Value'
  • amount_icmsfcp_base Monetary
    compute='_compute_fiscal_amount' store=True string='ICMS FCP Base'
  • amount_icmsfcp_value Monetary
    compute='_compute_fiscal_amount' store=True string='ICMS FCP Value'
  • amount_icmsfcpst_value Monetary
    compute='_compute_fiscal_amount' store=True string='ICMS FCP ST Value'
  • amount_icmssn_credit_value Monetary
    compute='_compute_fiscal_amount' store=True string='ICMSSN Credit Value'
  • amount_icmsst_base Monetary
    compute='_compute_fiscal_amount' store=True string='ICMS ST Base'
  • amount_icmsst_value Monetary
    compute='_compute_fiscal_amount' store=True string='ICMS ST Value'
  • amount_ii_base Monetary
    compute='_compute_fiscal_amount' store=True string='II Base'
  • amount_ii_customhouse_charges Monetary
    compute='_compute_fiscal_amount' store=True string='Customhouse Charges'
  • amount_ii_value Monetary
    compute='_compute_fiscal_amount' store=True string='II Value'
  • amount_inss_base Monetary
    compute='_compute_fiscal_amount' store=True string='INSS Base'
  • amount_inss_value Monetary
    compute='_compute_fiscal_amount' store=True string='INSS Value'
  • amount_inss_wh_base Monetary
    compute='_compute_fiscal_amount' store=True string='INSS Ret Base'
  • amount_inss_wh_value Monetary
    compute='_compute_fiscal_amount' store=True string='INSS Ret Value'
  • amount_insurance_value Monetary
    compute='_compute_fiscal_amount' inverse='_inverse_amount_insurance' store=True string='Insurance Value'
  • amount_ipi_base Monetary
    compute='_compute_fiscal_amount' store=True string='IPI Base'
  • amount_ipi_value Monetary
    compute='_compute_fiscal_amount' store=True string='IPI Value'
  • amount_irpj_base Monetary
    compute='_compute_fiscal_amount' store=True string='IRPJ Base'
  • amount_irpj_value Monetary
    compute='_compute_fiscal_amount' store=True string='IRPJ Value'
  • amount_irpj_wh_base Monetary
    compute='_compute_fiscal_amount' store=True string='IRPJ Ret Base'
  • amount_irpj_wh_value Monetary
    compute='_compute_fiscal_amount' store=True string='IRPJ Ret Value'
  • amount_issqn_base Monetary
    compute='_compute_fiscal_amount' store=True string='ISSQN Base'
  • amount_issqn_value Monetary
    compute='_compute_fiscal_amount' store=True string='ISSQN Value'
  • amount_issqn_wh_base Monetary
    compute='_compute_fiscal_amount' store=True string='ISSQN Ret Base'
  • amount_issqn_wh_value Monetary
    compute='_compute_fiscal_amount' store=True string='ISSQN Ret Value'
  • amount_other_value Monetary
    compute='_compute_fiscal_amount' inverse='_inverse_amount_other' store=True string='Other Costs'
  • amount_pis_base Monetary
    compute='_compute_fiscal_amount' store=True string='PIS Base'
  • amount_pis_value Monetary
    compute='_compute_fiscal_amount' store=True string='PIS Value'
  • amount_pis_wh_base Monetary
    compute='_compute_fiscal_amount' store=True string='PIS Ret Base'
  • amount_pis_wh_value Monetary
    compute='_compute_fiscal_amount' store=True string='PIS Ret Value'
  • amount_pisst_base Monetary
    compute='_compute_fiscal_amount' store=True string='PIS ST Base'
  • amount_pisst_value Monetary
    compute='_compute_fiscal_amount' store=True string='PIS ST Value'
  • amount_price_gross Monetary
    compute='_compute_fiscal_amount' help='Amount without discount.' store=True string='Amount Gross'
  • amount_tax_withholding Monetary
    compute='_compute_fiscal_amount' store=True string='Tax Withholding'
  • comment_ids Many2many → l10n_br_fiscal.comment
    comodel_name='l10n_br_fiscal.comment' compute='_compute_comment_ids' domain=[('object', '=', FISCAL_COMMENT_DOCUMENT)] store=True string='Comments'
  • company_id Many2one → res.company
    comodel_name='res.company' string='Company'
  • currency_id Many2one → res.currency
    comodel_name='res.currency' string='Currency'
  • delivery_costs Selection
    related='company_id.delivery_costs'
  • document_key Char
    copy=False index=True string='Key'
  • document_number Char
    copy=False index=True string='Fiscal Document Number'
  • document_serie Char
    compute='_compute_document_serie' store=True string='Serie Number'
  • document_serie_id Many2one → l10n_br_fiscal.document.serie
    comodel_name='l10n_br_fiscal.document.serie' compute='_compute_document_serie_id' domain="[('active', '=', True),('document_type_id', '=', document_type_id)]" store=True
  • document_type_id Many2one → l10n_br_fiscal.document.type
    comodel_name='l10n_br_fiscal.document.type' compute='_compute_document_type_id' precompute=True readonly=False store=True string='Fiscal Document Type'
  • fiscal_amount_tax Monetary
    compute='_compute_fiscal_amount' store=True
  • fiscal_amount_total Monetary
    compute='_compute_fiscal_amount' store=True
  • fiscal_amount_untaxed Monetary
    compute='_compute_fiscal_amount' store=True
  • fiscal_operation_id Many2one → l10n_br_fiscal.operation
    comodel_name='l10n_br_fiscal.operation' domain=<expr> string='Operation'
  • fiscal_operation_type Selection
    related='fiscal_operation_id.fiscal_operation_type'
  • force_compute_delivery_costs_by_total Boolean
    default=False
  • ind_final Selection
    compute='_compute_ind_final' inverse='_inverse_ind_final' precompute=True readonly=False selection=FINAL_CUSTOMER store=True string='Final Consumption Operation'
  • ind_pres Selection
    default=NFE_IND_PRES_DEFAULT selection=NFE_IND_PRES string='Buyer Presence'
  • issuer Selection
    default=DOCUMENT_ISSUER_COMPANY selection=DOCUMENT_ISSUER
  • key_check_digit Char
    string='Document Key Check Digit'
  • key_random_code Char
    string='Document Key Random Code'
  • manual_customer_additional_data Text
    help='Customer Additional data manually entered by user'
  • manual_fiscal_additional_data Text
    help='Fiscal Additional data manually entered by user'
  • operation_name Char
    compute='_compute_operation_name' copy=False
  • partner_id Many2one → res.partner
    comodel_name='res.partner' index=True
  • total_weight Float
Public methods (1)
  • write(self, vals)

New fields (15)
  • cnpj_cpf Char
    size=18 string='CNPJ/CPF'
  • cpfcnpj_type Selection
    default='cnpj' selection=[('cpf', 'CPF'), ('cnpj', 'CNPJ')] string='Type Doc Number'
  • currency_id Many2one → res.currency
    comodel_name='res.currency' default=<expr>
  • document_date Date
    string='Data'
  • document_id Many2one → l10n_br_fiscal.document
    comodel_name='l10n_br_fiscal.document' index=True string='Fiscal Document'
  • document_key Char
    size=44
  • document_number Char
    size=32 string='Number'
  • document_related_id Many2one → l10n_br_fiscal.document
    comodel_name='l10n_br_fiscal.document' index=True string='Fiscal Document Related'
  • document_serie Char
    size=12 string='Serie'
  • document_total_amount Monetary
    currency_field='currency_id' string='Valor Total'
  • document_total_weight Float
    string='Peso Total'
  • document_type_code Char
    related='document_type_id.code'
  • document_type_id Many2one → l10n_br_fiscal.document.type
    comodel_name='l10n_br_fiscal.document.type' string='Fiscal Document Type'
  • l10n_br_ie_code Char
    size=16 string='Inscr. Estadual/RG'
  • state_id Many2one → res.country.state
    comodel_name='res.country.state' domain=[('country_id.code', '=', 'BR')] string='State'
Public methods (0)

No public methods.

New fields (9)
  • active Boolean
    default=True
  • code Char
    size=3
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True string='Company'
  • document_type_id Many2one → l10n_br_fiscal.document.type
    comodel_name='l10n_br_fiscal.document.type' required=True string='Fiscal Document'
  • fiscal_type Selection
    default=FISCAL_IN_OUT_DEFAULT selection=FISCAL_IN_OUT string='Type'
  • internal_sequence_id Many2one → ir.sequence
    comodel_name='ir.sequence' domain="[('company_id', '=', company_id)]" string='Sequence'
  • invalidate_number_id One2many → l10n_br_fiscal.invalidate.number
    comodel_name='l10n_br_fiscal.invalidate.number' inverse_name='document_serie_id' string='Invalidate Number Range'
  • name Char
    required=True
  • sequence_number_next Integer
    related='internal_sequence_id.number_next'
Public methods (4)
  • check_number_in_use(self, document_number)
    Check if a document with the same number already exists, this can happen in some cases, for example invoices imported in Odoo from another ERP.
  • create(self, vals_list)
    @api.model_create_multi
    Overwrite method to create a new ir.sequence if this field is null
  • next_seq_number(self)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (2)
  • doit(self)
  • get_document_status(self)

New fields (2)
  • qrcode Char
    string='QR Code'
  • url_key Char
    string='QR Code URL Key'
Public methods (0)

No public methods.

New fields (7)
  • code Char
    size=8
  • document_serie_ids One2many → l10n_br_fiscal.document.serie
    comodel_name='l10n_br_fiscal.document.serie' inverse_name='document_type_id' string='Document Series'
  • electronic Boolean
    string='Is Electronic?'
  • name Char
    size=128
  • prefix Char
  • sufix Char
  • type Selection
    required=True selection=DOCUMENT_TYPE string='Document Type'
Public methods (1)
  • get_document_serie(self, company, fiscal_operation)

New fields (164)
  • icms_external_ac_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'AC'), ('state_to_ids.code', '!=', 'AC'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External AC'
  • icms_external_al_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'AL'), ('state_to_ids.code', '!=', 'AL'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External AL'
  • icms_external_am_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'AM'), ('state_to_ids.code', '!=', 'AM'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External AM'
  • icms_external_ap_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'AP'), ('state_to_ids.code', '!=', 'AP'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External AP'
  • icms_external_ba_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'BA'), ('state_to_ids.code', '!=', 'BA'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External BA'
  • icms_external_ce_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'CE'), ('state_to_ids.code', '!=', 'CE'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External CE'
  • icms_external_df_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'DF'), ('state_to_ids.code', '!=', 'DF'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External DF'
  • icms_external_es_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'ES'), ('state_to_ids.code', '!=', 'ES'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External ES'
  • icms_external_go_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'GO'), ('state_to_ids.code', '!=', 'GO'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External GO'
  • icms_external_ma_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'MA'), ('state_to_ids.code', '!=', 'MA'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External MA'
  • icms_external_mg_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'MG'), ('state_to_ids.code', '!=', 'MG'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External MG'
  • icms_external_ms_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'MS'), ('state_to_ids.code', '!=', 'MS'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External MS'
  • icms_external_mt_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'MT'), ('state_to_ids.code', '!=', 'MT'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External MT'
  • icms_external_pa_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PA'), ('state_to_ids.code', '!=', 'PA'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External PA'
  • icms_external_pb_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PB'), ('state_to_ids.code', '!=', 'PB'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External PB'
  • icms_external_pe_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PE'), ('state_to_ids.code', '!=', 'PE'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External PE'
  • icms_external_pi_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PI'), ('state_to_ids.code', '!=', 'PI'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External PI'
  • icms_external_pr_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PR'), ('state_to_ids.code', '!=', 'PR'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External PR'
  • icms_external_rj_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RJ'), ('state_to_ids.code', '!=', 'RJ'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External RJ'
  • icms_external_rn_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RN'), ('state_to_ids.code', '!=', 'RN'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External RN'
  • icms_external_ro_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RO'), ('state_to_ids.code', '!=', 'RO'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External RO'
  • icms_external_rr_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RR'), ('state_to_ids.code', '!=', 'RR'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External RR'
  • icms_external_rs_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RS'), ('state_to_ids.code', '!=', 'RS'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External RS'
  • icms_external_sc_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'SC'), ('state_to_ids.code', '!=', 'SC'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External SC'
  • icms_external_se_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'SE'), ('state_to_ids.code', '!=', 'SE'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External SE'
  • icms_external_sp_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'SP'), ('state_to_ids.code', '!=', 'SP'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External SP'
  • icms_external_to_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'TO'), ('state_to_ids.code', '!=', 'TO'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS External TO'
  • icms_fcp_ac_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'AC'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP AC'
  • icms_fcp_al_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'AL'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP AL'
  • icms_fcp_am_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'AM'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP AM'
  • icms_fcp_ap_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'AP'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP AP'
  • icms_fcp_ba_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'BA'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP BA'
  • icms_fcp_ce_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'CE'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP CE'
  • icms_fcp_df_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'DF'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP DF'
  • icms_fcp_es_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'ES'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ES'
  • icms_fcp_go_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'GO'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP GO'
  • icms_fcp_ma_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'MA'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP MA'
  • icms_fcp_mg_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'MG'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP MG'
  • icms_fcp_ms_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'MS'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP MS'
  • icms_fcp_mt_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'MT'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP MT'
  • icms_fcp_pa_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PA'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP PA'
  • icms_fcp_pb_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PB'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP PB'
  • icms_fcp_pe_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PE'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP PE'
  • icms_fcp_pi_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PI'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP PI'
  • icms_fcp_pr_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PR'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP PR'
  • icms_fcp_rj_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RJ'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP RJ'
  • icms_fcp_rn_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RN'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP RN'
  • icms_fcp_ro_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RO'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP RO'
  • icms_fcp_rr_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RR'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP RR'
  • icms_fcp_rs_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RS'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP RS'
  • icms_fcp_sc_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'SC'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP SC'
  • icms_fcp_se_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'SE'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP SE'
  • icms_fcp_sp_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'SP'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP SP'
  • icms_fcp_st_ac_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'AC'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST AC'
  • icms_fcp_st_al_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'AL'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST AL'
  • icms_fcp_st_am_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'AM'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST AM'
  • icms_fcp_st_ap_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'AP'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST AP'
  • icms_fcp_st_ba_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'BA'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST BA'
  • icms_fcp_st_ce_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'CE'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST CE'
  • icms_fcp_st_df_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'DF'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST DF'
  • icms_fcp_st_es_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'ES'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST ES'
  • icms_fcp_st_go_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'GO'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST GO'
  • icms_fcp_st_ma_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'MA'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST MA'
  • icms_fcp_st_mg_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'MG'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST MG'
  • icms_fcp_st_ms_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'MS'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST MS'
  • icms_fcp_st_mt_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'MT'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST MT'
  • icms_fcp_st_pa_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PA'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST PA'
  • icms_fcp_st_pb_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PB'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST PB'
  • icms_fcp_st_pe_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PE'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST PE'
  • icms_fcp_st_pi_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PI'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST PI'
  • icms_fcp_st_pr_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PR'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST PR'
  • icms_fcp_st_rj_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RJ'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST RJ'
  • icms_fcp_st_rn_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RN'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST RN'
  • icms_fcp_st_ro_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RO'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST RO'
  • icms_fcp_st_rr_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RR'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST RR'
  • icms_fcp_st_rs_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RS'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST RS'
  • icms_fcp_st_sc_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'SC'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST SC'
  • icms_fcp_st_se_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'SE'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST SE'
  • icms_fcp_st_sp_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'SP'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST SP'
  • icms_fcp_st_to_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'TO'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP ST TO'
  • icms_fcp_to_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'TO'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_FCP), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS FCP TO'
  • icms_imported_tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' domain=[('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS)] string='ICMS Tax Imported'
  • icms_internal_ac_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'AC'), ('state_to_ids.code', '=', 'AC'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal AC'
  • icms_internal_al_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'AL'), ('state_to_ids.code', '=', 'AL'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal AL'
  • icms_internal_am_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'AM'), ('state_to_ids.code', '=', 'AM'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal AM'
  • icms_internal_ap_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'AP'), ('state_to_ids.code', '=', 'AP'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal AP'
  • icms_internal_ba_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'BA'), ('state_to_ids.code', '=', 'BA'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal BA'
  • icms_internal_ce_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'CE'), ('state_to_ids.code', '=', 'CE'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal CE'
  • icms_internal_df_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'DF'), ('state_to_ids.code', '=', 'DF'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal DF'
  • icms_internal_es_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'ES'), ('state_to_ids.code', '=', 'ES'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal ES'
  • icms_internal_go_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'GO'), ('state_to_ids.code', '=', 'GO'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal GO'
  • icms_internal_ma_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'MA'), ('state_to_ids.code', '=', 'MA'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal MA'
  • icms_internal_mg_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'MG'), ('state_to_ids.code', '=', 'MG'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal MG'
  • icms_internal_ms_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'MS'), ('state_to_ids.code', '=', 'MS'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal MS'
  • icms_internal_mt_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'MT'), ('state_to_ids.code', '=', 'MT'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal MT'
  • icms_internal_pa_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PA'), ('state_to_ids.code', '=', 'PA'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal PA'
  • icms_internal_pb_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PB'), ('state_to_ids.code', '=', 'PB'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal PB'
  • icms_internal_pe_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PE'), ('state_to_ids.code', '=', 'PE'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal PE'
  • icms_internal_pi_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PI'), ('state_to_ids.code', '=', 'PI'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal PI'
  • icms_internal_pr_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PR'), ('state_to_ids.code', '=', 'PR'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal PR'
  • icms_internal_rj_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RJ'), ('state_to_ids.code', '=', 'RJ'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal RJ'
  • icms_internal_rn_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RN'), ('state_to_ids.code', '=', 'RN'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal RN'
  • icms_internal_ro_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RO'), ('state_to_ids.code', '=', 'RO'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='ICMS Internal RO'
  • icms_internal_rr_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RR'), ('state_to_ids.code', '=', 'RR'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal RR'
  • icms_internal_rs_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RS'), ('state_to_ids.code', '=', 'RS'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal RS'
  • icms_internal_sc_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'SC'), ('state_to_ids.code', '=', 'SC'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal SC'
  • icms_internal_se_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'SE'), ('state_to_ids.code', '=', 'SE'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal SE'
  • icms_internal_sp_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'SP'), ('state_to_ids.code', '=', 'SP'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal SP'
  • icms_internal_to_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'TO'), ('state_to_ids.code', '=', 'TO'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS Internal TO'
  • icms_st_ac_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'AC'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST AC'
  • icms_st_al_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'AL'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST AL'
  • icms_st_am_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'AM'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST AM'
  • icms_st_ap_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'AP'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST AP'
  • icms_st_ba_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'BA'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST BA'
  • icms_st_ce_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'CE'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST CE'
  • icms_st_df_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'DF'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST DF'
  • icms_st_es_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'ES'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST ES'
  • icms_st_go_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'GO'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST GO'
  • icms_st_ma_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'MA'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST MA'
  • icms_st_mg_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'MG'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST MG'
  • icms_st_ms_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'MS'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST MS'
  • icms_st_mt_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'MT'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST MT'
  • icms_st_pa_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PA'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST PA'
  • icms_st_pb_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PB'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST PB'
  • icms_st_pe_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PE'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST PE'
  • icms_st_pi_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PI'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST PI'
  • icms_st_pr_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'PR'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST PR'
  • icms_st_rj_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RJ'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST RJ'
  • icms_st_rn_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RN'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST RN'
  • icms_st_ro_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RO'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST RO'
  • icms_st_rr_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RR'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST RR'
  • icms_st_rs_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'RS'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST RS'
  • icms_st_sc_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'SC'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST SC'
  • icms_st_se_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'SE'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST SE'
  • icms_st_sp_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'SP'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST SP'
  • icms_st_to_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', '=', 'TO'), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS_ST), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='ICMS ST TO'
  • name Char
    index=True required=True
  • tax_benefit_ac_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('AC', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit AC'
  • tax_benefit_al_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('AL', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit AL'
  • tax_benefit_am_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('AM', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit AM'
  • tax_benefit_ap_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('AP', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit AP'
  • tax_benefit_ba_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('BA', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit BA'
  • tax_benefit_ce_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('CE', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit CE'
  • tax_benefit_df_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('DF', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit DF'
  • tax_benefit_es_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('ES', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit ES'
  • tax_benefit_go_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('GO', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit GO'
  • tax_benefit_ma_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('MA', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit MA'
  • tax_benefit_mg_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('MG', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit MG'
  • tax_benefit_ms_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('MS', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit MS'
  • tax_benefit_mt_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('MT', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit MT'
  • tax_benefit_pa_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('PA', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit PA'
  • tax_benefit_pb_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('PB', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit PB'
  • tax_benefit_pe_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('PE', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit PE'
  • tax_benefit_pi_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('PI', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit PI'
  • tax_benefit_pr_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('PR', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit PR'
  • tax_benefit_rj_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('RJ', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', False)] inverse_name='icms_regulation_id' string='Tax Benefit RJ'
  • tax_benefit_rn_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('RN', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit RN'
  • tax_benefit_ro_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('RO', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit RO'
  • tax_benefit_rr_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('RR', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit RR'
  • tax_benefit_rs_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('RS', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit RS'
  • tax_benefit_sc_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('SC', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit SC'
  • tax_benefit_se_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('SE', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit SE'
  • tax_benefit_sp_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('SP', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit SP'
  • tax_benefit_to_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain=[('state_from_id.code', 'in', ('TO', False)), ('tax_group_id.tax_domain', '=', TAX_DOMAIN_ICMS), ('is_benefit', '=', True)] inverse_name='icms_regulation_id' string='Tax Benefit TO'
Public methods (2)
  • map_tax(self, company, partner, product, ncm=None, nbm=None, cest=None, operation_line=None, ind_final=None)
  • map_tax_def_icms_difal(self, company, partner, product, ncm=None, nbm=None, cest=None, operation_line=None, ind_final=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (10)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> readonly=True required=True
  • date Date
    default=fields.Date.today readonly=True
  • document_electronic Boolean
    readonly=True related='document_type_id.electronic' string='Electronic?'
  • document_serie_id Many2one → l10n_br_fiscal.document.serie
    comodel_name='l10n_br_fiscal.document.serie' domain="[('active', '=', True),\n ('document_type_id', '=', document_type_id),\n ('company_id', '=', company_id)]" readonly=True required=True
  • document_type_id Many2one → l10n_br_fiscal.document.type
    comodel_name='l10n_br_fiscal.document.type' readonly=True required=True
  • justification Char
    readonly=True required=True
  • name Char
    compute='_compute_name' index=True store=True
  • number_end Integer
    readonly=True required=True string='End Number'
  • number_start Integer
    readonly=True required=True string='Initial Number'
  • state Selection
    default='draft' readonly=True selection=[('draft', 'Draft'), ('done', 'Done')] string='Status'
Public methods (2)
  • action_invalidate(self)
  • unlink(self)

New fields (1)
  • code Char
    size=5
Public methods (0)

No public methods.

New fields (1)
  • tax_definition_ids Many2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' readonly=True relation='tax_definition_national_taxation_code_rel' string='Tax Definition'
Public methods (0)

No public methods.

New fields (6)
  • code Char
    size=12
  • code_unmasked Char
    size=10
  • ncm_ids Many2many → l10n_br_fiscal.ncm
    comodel_name='l10n_br_fiscal.ncm' readonly=True string='NCMs'
  • ncms Char
    string='NCM'
  • product_tmpl_ids One2many
    inverse_name='nbm_id'
  • tax_definition_ids Many2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' readonly=True string='Tax Definition'
Public methods (3)
  • action_search_ncms(self)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, values)

New fields (4)
  • code Char
    size=12
  • code_unmasked Char
    size=10
  • product_tmpl_ids One2many
    inverse_name='nbs_id'
  • tax_estimate_ids One2many
    inverse_name='nbs_id'
Public methods (0)

No public methods.

New fields (13)
  • cest_ids Many2many → l10n_br_fiscal.cest
    comodel_name='l10n_br_fiscal.cest' readonly=True string='CESTs'
  • code Char
    size=10
  • code_unmasked Char
    size=8
  • exception Char
    size=2
  • nbm_ids Many2many → l10n_br_fiscal.nbm
    comodel_name='l10n_br_fiscal.nbm' readonly=True string='NBMs'
  • piscofins_ids Many2many → l10n_br_fiscal.tax.pis.cofins
    comodel_name='l10n_br_fiscal.tax.pis.cofins' readonly=True string='PIS/COFINS'
  • product_tmpl_ids One2many
    inverse_name='ncm_id'
  • tax_definition_ids Many2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' readonly=True string='Tax Definition'
  • tax_estimate_ids One2many
    inverse_name='ncm_id'
  • tax_ii_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' domain=[('tax_domain', '=', TAX_DOMAIN_II)] string='Tax II'
  • tax_ipi_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' domain=[('tax_domain', '=', TAX_DOMAIN_IPI)] string='Tax IPI'
  • uoe_id Many2one → uom.uom
    comodel_name='uom.uom' string='Export UoM'
  • uot_id Many2one → uom.uom
    comodel_name='uom.uom' string='Tax UoM'
Public methods (0)

No public methods.

New fields (13)
  • code Char
    readonly=True required=True tracking=True
  • comment_ids Many2many → l10n_br_fiscal.comment
    comodel_name='l10n_br_fiscal.comment' domain=[('object', '=', FISCAL_COMMENT_DOCUMENT)] string='Comment'
  • company_id Many2one → res.company
    comodel_name='res.company' readonly=True string='Company' tracking=True
  • default_price_unit Selection
    default='sale_price' readonly=True selection=[('sale_price', 'Sale Price'), ('cost_price', 'Cost Price')] string='Default Price Unit?' tracking=True
  • document_type_ids One2many → l10n_br_fiscal.operation.document.type
    comodel_name='l10n_br_fiscal.operation.document.type' inverse_name='fiscal_operation_id' readonly=True string='Operation Document Types'
  • edoc_purpose Selection
    default=EDOC_PURPOSE_NORMAL readonly=True selection=EDOC_PURPOSE string='Finalidade' tracking=True
  • fiscal_operation_type Selection
    readonly=True required=True selection=FISCAL_IN_OUT_ALL string='Type' tracking=True
  • fiscal_type Selection
    default=OPERATION_FISCAL_TYPE_DEFAULT readonly=True required=True selection=OPERATION_FISCAL_TYPE tracking=True
  • inverse_fiscal_operation_id Many2one → l10n_br_fiscal.operation
    comodel_name='l10n_br_fiscal.operation' readonly=True string='Inverse Operation' tracking=True
  • line_ids One2many → l10n_br_fiscal.operation.line
    comodel_name='l10n_br_fiscal.operation.line' copy=True inverse_name='fiscal_operation_id' readonly=True string='Operation Line'
  • name Char
    readonly=True required=True tracking=True
  • return_fiscal_operation_id Many2one → l10n_br_fiscal.operation
    comodel_name='l10n_br_fiscal.operation' domain="[('fiscal_operation_type', '!=', fiscal_operation_type), ('fiscal_type', 'in', {'sale': ['sale_refund'], 'purchase': ['purchase_refund'], 'other': ['return_in', 'return_out'],'return_in': ['return_out'], 'return_out': ['return_in']}.get(fiscal_type, []))]" readonly=True string='Return Operation' tracking=True
  • state Selection
    copy=False default=OPERATION_STATE_DEFAULT index=True readonly=True selection=OPERATION_STATE tracking=True
Public methods (7)
  • action_approve(self)
  • action_draft(self)
  • action_review(self)
  • copy(self, default=None)
    Inherit copy to edit field code. This is needed because the field is Unique and Required.
  • get_document_serie(self, company, document_type)
  • line_definition(self, company, partner, product)
  • unlink(self)

New fields (2)
  • color Integer
    default=0 string='Color Index'
  • kanban_dashboard Text
    compute='_compute_kanban_dashboard'
Public methods (3)
  • action_create_new(self)
  • get_operation_dashboard_data(self)
  • open_action(self)
    Return action based on type for related journals

New fields (6)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True string='Company'
  • document_electronic Boolean
    related='document_type_id.electronic' string='Electronic?'
  • document_serie_id Many2one → l10n_br_fiscal.document.serie
    comodel_name='l10n_br_fiscal.document.serie' company_dependent=True domain="[('active', '=', True),('document_type_id', '=', document_type_id)]"
  • document_type_id Many2one → l10n_br_fiscal.document.type
    comodel_name='l10n_br_fiscal.document.type' required=True
  • fiscal_operation_id Many2one → l10n_br_fiscal.operation
    comodel_name='l10n_br_fiscal.operation' ondelete='cascade' required=True string='Operation'
  • name Char
    compute='_compute_name'
Public methods (0)

No public methods.

New fields (5)
  • code Char
    help='Operation indicator code according to Annex VII of NT 004/2025 (e.g., 020101, 030101)' index=True required=True size=6 string='Operation Indicator Code'
  • operation_location Text
    help='Where the operation is considered to take place according to the legislation' string='Operation Location Consideration'
  • operation_type Text
    help='Type of operation according to Art. 11 of Complementary Law No. 214/2025' required=True
  • supply_characteristic Text
    help='Specific characteristic of the supply execution that determines the place of supply'
  • supply_location Text
    help='Place of supply to be identified in the Digital Fiscal Document (DFe), such as supplier establishment, acquirer address, recipient address, or other locations depending on the operation' required=True string='DFe Supply Location'
Public methods (0)

No public methods.

New fields (23)
  • add_to_amount Boolean
    default=True string='Add to Document Amount?'
  • cfop_export_id Many2one → l10n_br_fiscal.cfop
    comodel_name='l10n_br_fiscal.cfop' domain="[('type_in_out', '=', fiscal_operation_type), ('type_move', '=ilike', fiscal_type + '%'), ('destination', '=', '3')]" string='CFOP Export'
  • cfop_external_id Many2one → l10n_br_fiscal.cfop
    comodel_name='l10n_br_fiscal.cfop' domain="[('type_in_out', '=', fiscal_operation_type), ('type_move', '=ilike', fiscal_type + '%'), ('destination', '=', '2')]" string='CFOP External'
  • cfop_internal_id Many2one → l10n_br_fiscal.cfop
    comodel_name='l10n_br_fiscal.cfop' domain="[('type_in_out', '=', fiscal_operation_type), ('destination', '=', '1'),('type_move', '=ilike', fiscal_type + '%')]" string='CFOP Internal'
  • comment_ids Many2many → l10n_br_fiscal.comment
    comodel_name='l10n_br_fiscal.comment' domain=[('object', '=', FISCAL_COMMENT_LINE)] string='Comment'
  • company_tax_framework Selection
    selection=TAX_FRAMEWORK
  • date_end Datetime
    string='End Date'
  • date_start Datetime
    string='Start Date'
  • 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' ondelete='cascade' required=True string='Operation'
  • fiscal_operation_type Selection
    related='fiscal_operation_id.fiscal_operation_type' store=True string='Fiscal Operation Type'
  • fiscal_type Selection
    related='fiscal_operation_id.fiscal_type' store=True string='Fiscal Type'
  • icms_origin Selection
    selection=ICMS_ORIGIN string='Origin'
  • ind_ie_dest Selection
    selection=NFE_IND_IE_DEST string='ICMS Taxpayer'
  • line_inverse_id Many2one → l10n_br_fiscal.operation.line
    comodel_name='l10n_br_fiscal.operation.line' copy=False domain="[('fiscal_operation_type', '!=', fiscal_operation_type)]" string='Operation Line Inverse'
  • line_refund_id Many2one → l10n_br_fiscal.operation.line
    comodel_name='l10n_br_fiscal.operation.line' copy=False domain="[('fiscal_operation_type', '!=', fiscal_operation_type)]" string='Operation Line Refund'
  • name Char
    required=True
  • partner_tax_framework Selection
    selection=TAX_FRAMEWORK
  • product_type Selection
    selection=PRODUCT_FISCAL_TYPE string='Product Fiscal Type'
  • state Selection
    copy=False default=OPERATION_STATE_DEFAULT index=True readonly=True selection=OPERATION_STATE tracking=True
  • tax_classification_id Many2one → l10n_br_fiscal.tax.classification
    comodel_name='l10n_br_fiscal.tax.classification' string='Tax Classification'
  • tax_definition_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' copy=True inverse_name='fiscal_operation_line_id' string='Tax Definition'
  • tax_icms_or_issqn Selection
    selection=TAX_ICMS_OR_ISSQN string='ICMS or ISSQN Tax'
Public methods (4)
  • action_review(self)
  • get_document_type(self, company)
  • map_fiscal_taxes(self, company, partner, product=None, fiscal_price=None, fiscal_quantity=None, ncm=None, nbm=None, nbs=None, cest=None, city_taxation_code=None, national_taxation_code=None, service_type=None, ind_final=None)
    Map and determine the applicable fiscal taxes, CFOP, IPI guideline, and ICMS tax benefit for a given context. The method aggregates tax definitions from various sources, applying a precedence order: 1. Company-level tax definitions. 2. NCM-defined taxes (IPI, II). 3. ICMS Regulation specific taxes. 4. Taxes defined directly on this fiscal operation line. 5. Taxes defined on the determined CFOP. 6. Taxes from the partner's fiscal profile. It also filters taxes based on whether the product is subject to ICMS or ISSQN. :param company: The company record (res.company). :param partner: The partner record (res.partner). :param product: Optional product record (product.product). :param fiscal_price: (Unused in direct logic; kept for signature consistency for overrides/extensions) :param fiscal_quantity: (Unused in direct logic; kept for signature consistency for overrides/extensions) :param ncm: Optional NCM record (l10n_br_fiscal.ncm); defaults to product's NCM. :param nbm: Optional NBM record (l10n_br_fiscal.nbm); defaults to product's NBM. :param nbs: Optional NBS record (l10n_br_fiscal.nbs); defaults to product's NBS. :param cest: Optional CEST record (l10n_br_fiscal.cest); defaults to product's CEST. :param city_taxation_code: Optional City Taxation Code record (l10n_br_fiscal.city.taxation.code). :param national_taxation_code: Optional National Taxation Code record (l10n_br_fiscal.national.taxation.code). :param service_type: Optional Service Type record (l10n_br_fiscal.service.type). :param ind_final: (Passed to icms_regulation_id.map_tax; not directly used for tax calculation here) :return: A dictionary containing: - 'taxes': A dictionary of applicable tax records (l10n_br_fiscal.tax) keyed by their tax_domain. - 'cfop': The determined CFOP record (l10n_br_fiscal.cfop). - 'ipi_guideline': The determined IPI guideline record (l10n_br_fiscal.tax.ipi.guideline). - 'icms_tax_benefit_id': The determined ICMS tax benefit record ID (l10n_br_fiscal.tax.definition) or False. - 'tax_classification': The determined Tax Classification record (l10n_br_fiscal.tax.classification).
  • unlink(self)

New fields (11)
  • code Char
    required=True size=16
  • default Boolean
    default=True string='Default Profile'
  • ind_ie_dest Selection
    default=NFE_IND_IE_DEST_DEFAULT required=True selection=NFE_IND_IE_DEST string='Contribuinte do ICMS'
  • is_company Boolean
    string='Is Company?'
  • is_public_entity Boolean
    help='Indicates whether the entity in question is a public organization or government-related entity. It encompasses a range of entities such as municipal governments, state-owned enterprises (where the government is the largest shareholder), and other government-controlled organizations.' string='Public Entity'
  • name Char
    size=64
  • partner_ids One2many → res.partner
    comodel_name='res.partner' compute='_compute_partner_info' string='Partner'
  • partner_qty Integer
    compute='_compute_partner_info' string='Partner Quantity'
  • public_entity_type Selection
    selection=PUBLIC_ENTIRY_TYPE string='Tipo de Entidade Governamental'
  • tax_definition_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' inverse_name='fiscal_profile_id' string='Tax Definition'
  • tax_framework Selection
    default=TAX_FRAMEWORK_NORMAL selection=TAX_FRAMEWORK
Public methods (1)
  • action_view_partners(self)

New fields (1)
  • product_tmpl_ids One2many
    inverse_name='fiscal_genre_id'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (6)
  • child_ids One2many → l10n_br_fiscal.service.type
    comodel_name='l10n_br_fiscal.service.type' inverse_name='parent_id' string='Service Type Child'
  • internal_type Selection
    default='normal' required=True selection=[('view', 'View'), ('normal', 'Normal')]
  • parent_id Many2one → l10n_br_fiscal.service.type
    comodel_name='l10n_br_fiscal.service.type' string='Parent Service Type'
  • product_tmpl_ids One2many
    inverse_name='service_type_id'
  • withholding_at_place Boolean
    help='The tax is due at the location of the provider establishment, except in the cases that this field is true, where it will be due at the place of provision.' string='Tax Retention at place of provision'
  • withholding_possible Boolean
    string='Subject to withholding tax'
Public methods (0)

No public methods.

New fields (4)
  • cnae_ids Many2many → l10n_br_fiscal.cnae
    comodel_name='l10n_br_fiscal.cnae' domain="[('internal_type', '=', 'normal')]" string='CNAEs'
  • coefficient_r Boolean
    readonly=True
  • name Char
    required=True
  • simplified_tax_range_ids One2many → l10n_br_fiscal.simplified.tax.range
    comodel_name='l10n_br_fiscal.simplified.tax.range' copy=False inverse_name='simplified_tax_id' string='Simplified Tax Range'
Public methods (0)

No public methods.

New fields (17)
  • amount_deduced Monetary
    currency_field='currency_id' required=True string='Amount to be Deducted'
  • currency_id Many2one → res.currency
    comodel_name='res.currency' required=True string='Currency'
  • final_revenue Monetary
    currency_field='currency_id'
  • inital_revenue Monetary
    currency_field='currency_id'
  • name Char
    required=True
  • simplified_tax_id Many2one → l10n_br_fiscal.simplified.tax
    comodel_name='l10n_br_fiscal.simplified.tax' string='Simplified Tax'
  • tax_cbs_percent Float
    digits='Fiscal Tax Percent' string='Tax CBS Percent'
  • tax_cofins_percent Float
    digits='Fiscal Tax Percent' string='Tax COFINS Percent'
  • tax_cpp_percent Float
    digits='Fiscal Tax Percent' string='Tax CPP Percent'
  • tax_csll_percent Float
    digits='Fiscal Tax Percent' string='Tax CSLL Percent'
  • tax_ibs_percent Float
    digits='Fiscal Tax Percent' string='Tax IBS Percent'
  • tax_icms_percent Float
    digits='Fiscal Tax Percent' string='Tax ICMS Percent'
  • tax_ipi_percent Float
    digits='Fiscal Tax Percent' string='Tax IPI Percent'
  • tax_irpj_percent Float
    digits='Fiscal Tax Percent' string='Tax IRPJ Percent'
  • tax_iss_percent Float
    digits='Fiscal Tax Percent' string='Tax ISS Percent'
  • tax_pis_percent Float
    digits='Fiscal Tax Percent' string='Tax PIS Percent'
  • total_tax_percent Float
    digits='Fiscal Tax Percent' string='Tax Percent'
Public methods (0)

No public methods.

New fields (19)
  • compute_sequence Integer
    help='The sequence field is used to define order in which the tax lines are applied.' related='tax_group_id.compute_sequence'
  • cst_in_id Many2one → l10n_br_fiscal.cst
    comodel_name='l10n_br_fiscal.cst' domain="[('cst_type', 'in', ('in', 'all')), ('tax_domain', '=', tax_domain)]" string='CST In'
  • cst_out_id Many2one → l10n_br_fiscal.cst
    comodel_name='l10n_br_fiscal.cst' domain="[('cst_type', 'in', ('out', 'all')), ('tax_domain', '=', tax_domain)]" string='CST Out'
  • currency_id Many2one → res.currency
    comodel_name='res.currency' default=<expr> string='Currency'
  • icms_base_type Selection
    default=ICMS_BASE_TYPE_DEFAULT required=True selection=ICMS_BASE_TYPE
  • icmsst_base_type Selection
    default=ICMS_ST_BASE_TYPE_DEFAULT required=True selection=ICMS_ST_BASE_TYPE string='ICMS ST Base Type'
  • icmsst_mva_percent Float
    digits='Fiscal Tax Percent' required=True string='MVA Percent'
  • icmsst_value Float
    digits='Fiscal Tax Value' required=True string='PFC Value'
  • name Char
    required=True size=256
  • percent_amount Float
    digits='Fiscal Tax Percent' required=True string='Percent'
  • percent_debit_credit Float
    digits='Fiscal Tax Percent' required=True string='Percent Debit/Credit'
  • percent_reduction Float
    digits='Fiscal Tax Percent' required=True
  • sequence Integer
    help='The sequence field is used to define the order in which taxes are displayed.' related='tax_group_id.sequence' store=True
  • tax_base_type Selection
    compute='_compute_tax_base_type' default=TAX_BASE_TYPE_PERCENT required=True selection=TAX_BASE_TYPE store=True
  • tax_domain Selection
    readonly=True related='tax_group_id.tax_domain' store=True string='Tax Domain'
  • tax_group_id Many2one → l10n_br_fiscal.tax.group
    comodel_name='l10n_br_fiscal.tax.group' required=True string='Fiscal Tax Group'
  • tax_scope Selection
    related='tax_group_id.tax_scope' store=True
  • uot_id Many2one → uom.uom
    comodel_name='uom.uom' string='Tax UoM'
  • value_amount Float
    digits='Fiscal Tax Value' required=True string='Value'
Public methods (2)
  • compute_taxes(self, **kwargs)
    Compute all applicable Brazilian taxes based on a set of input parameters. This method orchestrates the calculation of various taxes (ICMS, IPI, PIS, COFINS, ISSQN, etc.) by calling specialized internal _compute_<tax_domain> methods. It respects a defined computation sequence for taxes and handles interdependencies, such as IPI influencing the ICMS base under certain conditions. The result includes the calculated tax values for each domain, amounts included in the price, amounts not included, and withholding amounts. It also calculates an estimated total tax amount as per "Lei da Transparência". :param company: res.company record of the emitting company. :param partner: res.partner record of the recipient/customer. :param product: product.product record being taxed. :param price_unit: float, the unit price of the product/service before discounts. :param quantity: float, the quantity of the product/service. :param uom_id: uom.uom record, unit of measure for the quantity. :param fiscal_price: float, the fiscal price unit (e.g., for tax calculation if different from commercial price). :param fiscal_quantity: float, the fiscal quantity (e.g., for tax calculation if different from commercial quantity). :param uot_id: uom.uom record, unit of taxation if different from uom_id. :param discount_value: float, total discount amount for the line. :param insurance_value: float, total insurance amount for the line. :param other_value: float, total other costs/fees for the line. :param freight_value: float, total freight amount for the line. :param ii_customhouse_charges: float, customs house charges for Import Tax (II). :param ii_iof_value: float, IOF value related to Import Tax (II). :param ncm: l10n_br_fiscal.ncm record, NCM code for the product. :param nbs: l10n_br_fiscal.nbs record, NBS code for the service. :param nbm: l10n_br_fiscal.nbm record, NBM code for the product. :param cest: l10n_br_fiscal.cest record, CEST code for the product. :param operation_line: l10n_br_fiscal.operation.line record defining the fiscal context. :param cfop: l10n_br_fiscal.cfop record, the determined CFOP for the operation. :param icmssn_range: l10n_br_fiscal.simplified.tax.range record for Simples Nacional ICMS calculation. :param icms_origin: str, ICMS origin code for the product. :param icms_cst_id: l10n_br_fiscal.cst record, the ICMS CST code. :param icms_relief_id: l10n_br_fiscal.icms.relief record, if ICMS relief applies. :param ind_final: str, indicates if the operation is for a final consumer ('0' or '1'). :return: dict containing: - 'amount_included': float, sum of tax values included in the price. - 'amount_not_included': float, sum of tax values not included in the price (added on top). - 'amount_withholding': float, sum of withholding tax values. - 'estimate_tax': float, estimated total tax amount for transparency. - 'taxes': dict, where keys are tax domains (e.g., 'icms', 'ipi') and values are dictionaries with detailed calculation results for that tax (base, percent, value, cst, etc., as defined in TAX_DICT_VALUES).
  • cst_from_tax(self, fiscal_operation_type=FISCAL_OUT)
    @api.model

New fields (10)
  • code Char
    size=8
  • credit_reversal Boolean
    default=False
  • cst_code_prefix_like Char
    compute='_compute_cst_code_prefix_like' help='Helper field to filter taxes by CST code prefix (3 chars) using LIKE.'
  • description Text
  • document_type_ids Many2many → l10n_br_fiscal.document.type
    comodel_name='l10n_br_fiscal.document.type' help='Related Digital Fiscal Documents' relation='tax_classification_document_type_rel' string='Related DFes'
  • presumed_credit Boolean
    default=False
  • rate_type Selection
    default=TAX_RATE_TYPE_DEFAULT required=True selection=TAX_RATE_TYPE
  • regular_taxation Boolean
    default=False
  • tax_cbs_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' domain=<expr> string='Tax CBS'
  • tax_ibs_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' domain=<expr> string='Tax IBS'
Public methods (0)

No public methods.

New fields (39)
  • benefit_type Selection
    readonly=True selection=ICMS_TAX_BENEFIT_TYPE
  • cest_ids Many2many → l10n_br_fiscal.cest
    comodel_name='l10n_br_fiscal.cest' readonly=True string='CESTs'
  • cests Text
    readonly=True string='CEST List'
  • cfop_id Many2one → l10n_br_fiscal.cfop
    comodel_name='l10n_br_fiscal.cfop' string='CFOP'
  • city_taxation_code_ids Many2many → l10n_br_fiscal.city.taxation.code
    comodel_name='l10n_br_fiscal.city.taxation.code' relation='tax_definition_city_taxation_code_rel' string='City Taxation Codes'
  • code Char
    readonly=True size=8
  • company_id Many2one → res.company
    comodel_name='res.company' readonly=True string='Company'
  • cst_code Char
    related='cst_id.code' string='CST Code'
  • cst_id Many2one → l10n_br_fiscal.cst
    comodel_name='l10n_br_fiscal.cst' domain="[('cst_type', 'in', (type_in_out, 'all')), ('tax_group_id', '=', tax_group_id)]" readonly=True string='CST'
  • custom_tax Boolean
    readonly=True
  • date_end Datetime
    readonly=True string='End Date'
  • date_start Datetime
    readonly=True string='Start Date'
  • description Text
    readonly=True
  • fiscal_operation_line_id Many2one → l10n_br_fiscal.operation.line
    comodel_name='l10n_br_fiscal.operation.line' string='Operation Line'
  • fiscal_profile_id Many2one → l10n_br_fiscal.partner.profile
    comodel_name='l10n_br_fiscal.partner.profile' string='Partner Profile'
  • icms_regulation_id Many2one → l10n_br_fiscal.icms.regulation
    comodel_name='l10n_br_fiscal.icms.regulation' string='ICMS Regulation'
  • ind_final Selection
    selection=FINAL_CUSTOMER string='Final Consumption Operation'
  • ipi_guideline_id Many2one → l10n_br_fiscal.tax.ipi.guideline
    comodel_name='l10n_br_fiscal.tax.ipi.guideline' domain="['|', ('cst_in_id', '=', cst_id), ('cst_out_id', '=', cst_id)]" string='IPI Guideline'
  • is_benefit Boolean
    readonly=True string='Benefit?'
  • is_debit_credit Boolean
    readonly=True string='Debit/Credit?'
  • is_taxed Boolean
    readonly=True string='Taxed?'
  • name Char
    readonly=True
  • national_taxation_code_ids Many2many → l10n_br_fiscal.national.taxation.code
    comodel_name='l10n_br_fiscal.national.taxation.code' relation='tax_definition_national_taxation_code_rel' string='National Taxation Codes'
  • nbm_ids Many2many → l10n_br_fiscal.nbm
    comodel_name='l10n_br_fiscal.nbm' readonly=True string='NBMs'
  • nbms Text
    readonly=True string='NBM List'
  • ncm_exception Text
    readonly=True string='NCM Exeption'
  • ncm_ids Many2many → l10n_br_fiscal.ncm
    comodel_name='l10n_br_fiscal.ncm' readonly=True string='NCMs'
  • ncms Text
    readonly=True string='NCM List'
  • not_in_nbms Text
    readonly=True string='Not in NBMs'
  • not_in_ncms Text
    readonly=True string='Not in NCMs'
  • product_ids Many2many → product.product
    comodel_name='product.product' string='Products'
  • service_type_ids Many2many → l10n_br_fiscal.service.type
    comodel_name='l10n_br_fiscal.service.type' string='Fiscal Service Types'
  • state Selection
    copy=False default=OPERATION_STATE_DEFAULT index=True readonly=True selection=OPERATION_STATE tracking=True
  • state_from_id Many2one → res.country.state
    comodel_name='res.country.state' domain=[('country_id.code', '=', 'BR')] readonly=True string='From State'
  • state_to_ids Many2many → res.country.state
    comodel_name='res.country.state' domain=[('country_id.code', '=', 'BR')] readonly=True string='To States'
  • tax_domain Selection
    related='tax_group_id.tax_domain' store=True string='Tax Domain'
  • tax_group_id Many2one → l10n_br_fiscal.tax.group
    comodel_name='l10n_br_fiscal.tax.group' readonly=True required=True string='Tax Group'
  • tax_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' domain="[('tax_group_id', '=', tax_group_id)]" readonly=True string='Tax'
  • type_in_out Selection
    default=FISCAL_OUT readonly=True required=True selection=FISCAL_IN_OUT string='Type'
Public methods (10)
  • action_approve(self)
  • action_draft(self)
  • action_review(self)
  • action_search_cests(self)
  • action_search_nbms(self)
  • action_search_ncms(self)
  • create(self, vals_list)
    @api.model_create_multi
  • map_tax_definition(self, company, partner, product, ncm=None, nbm=None, nbs=None, cest=None, city_taxation_code=None, national_taxation_code=None, service_type=None)
    Filter and return tax definitions that match the given criteria. This method is used to find the relevant tax definitions from a pre-existing recordset (self) based on the transactional context (company, partner, product, etc.). It constructs a domain to filter these records. The matching is based on: - Current record state (not 'expired'). - Originating state (state_from_id). - Destination states (state_to_ids), allowing for no specific destination. - NCM, NBM, CEST codes, allowing for no specific code. - City taxation codes, allowing for no specific code. - Service types, allowing for no specific type. - Specific products, allowing for no specific product. :param company: The company record (res.company) of the transaction. :param partner: The partner record (res.partner) of the transaction. :param product: The product record (product.product) of the transaction. :param ncm: Optional NCM record (l10n_br_fiscal.ncm); defaults to product's NCM. :param nbm: Optional NBM record (l10n_br_fiscal.nbm); defaults to product's NBM. :param nbs: Optional NBS record (l10n_br_fiscal.nbs); (Note: nbs not used in current domain construction) :param cest: Optional CEST record (l10n_br_fiscal.cest); defaults to product's CEST. :param city_taxation_code: Optional City Taxation Code record (l10n_br_fiscal.city.taxation.code). :param national_taxation_code: Optional National Taxation Code record (l10n_br_fiscal.national.taxation.code). :param service_type: Optional Service Type record (l10n_br_fiscal.service.type). :return: A recordset of matching l10n_br_fiscal.tax.definition.
  • unlink(self)
  • write(self, values)

New fields (11)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> string='Company'
  • create_date Datetime
    readonly=True
  • federal_taxes_import Float
    digits='Fiscal Tax Percent' string='Impostos Federais Importado'
  • federal_taxes_national Float
    digits='Fiscal Tax Percent' string='Impostos Federais Nacional'
  • key Char
    size=32
  • municipal_taxes Float
    digits='Fiscal Tax Percent' string='Impostos Municipais Nacional'
  • nbs_id Many2one → l10n_br_fiscal.nbs
    comodel_name='l10n_br_fiscal.nbs' string='NBS'
  • ncm_id Many2one → l10n_br_fiscal.ncm
    comodel_name='l10n_br_fiscal.ncm' string='NCM'
  • origin Char
    size=32 string='Source'
  • state_id Many2one → res.country.state
    comodel_name='res.country.state' required=True string='State'
  • state_taxes Float
    digits='Fiscal Tax Percent' string='Impostos Estaduais Nacional'
Public methods (0)

No public methods.

New fields (13)
  • base_with_additional_values Boolean
    default=True string='Add the value of freight, insurance and others to the Base'
  • base_without_icms Boolean
    default=False string='Remove ICMS value from Base'
  • compute_sequence Integer
    default=10 help='The sequence field is used to define order in which the tax lines are applied.' required=True
  • cst_ids One2many → l10n_br_fiscal.cst
    comodel_name='l10n_br_fiscal.cst' inverse_name='tax_group_id' string='CSTs'
  • name Char
    required=True
  • partner_id Many2one → res.partner
    comodel_name='res.partner' string='WH Partner'
  • sequence Integer
    default=10 help='The sequence field is used to define the order in which taxes are displayed.' required=True
  • tax_domain Selection
    required=True selection=TAX_DOMAIN
  • tax_ids One2many → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' inverse_name='tax_group_id' string='Taxes'
  • tax_include Boolean
    default=False string='Tax Included in Price'
  • tax_scope Selection
    required=True selection=[('city', 'City'), ('state', 'State'), ('federal', 'Federal'), ('other', 'Other')]
  • tax_withholding Boolean
    default=False
  • wh_due_day Integer
    string='Due Day'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (4)
  • code Char
    size=3
  • cst_group Selection
    required=True selection=IPI_GUIDELINE_GROUP string='Group'
  • cst_in_id Many2one → l10n_br_fiscal.cst
    comodel_name='l10n_br_fiscal.cst' domain=[('domain', '=', TAX_DOMAIN_IPI), ('cst_type', '=', FISCAL_IN)] string='CST In'
  • cst_out_id Many2one → l10n_br_fiscal.cst
    comodel_name='l10n_br_fiscal.cst' domain=[('domain', '=', TAX_DOMAIN_IPI), ('cst_type', '=', FISCAL_OUT)] string='CST Out'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (11)
  • code Char
    required=True
  • name Text
    index=True required=True
  • ncm_exception Char
    string='NCM Exeption'
  • ncm_ids Many2many → l10n_br_fiscal.ncm
    comodel_name='l10n_br_fiscal.ncm' compute='_compute_ncms' readonly=True store=True string='NCMs'
  • ncms Char
    string='NCM'
  • not_in_ncms Char
    string='Not in NCM'
  • piscofins_type Selection
    default='ncm' index=True required=True selection=[('ncm', 'NCM'), ('product', 'Product'), ('company', 'Company')] string='Type'
  • tax_cofins_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' domain=[('tax_domain', '=', TAX_DOMAIN_COFINS)] string='Tax COFINS'
  • tax_cofins_st_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' domain=[('tax_domain', '=', TAX_DOMAIN_COFINS_ST)] string='Tax COFINS ST'
  • tax_pis_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' domain=[('tax_domain', '=', TAX_DOMAIN_PIS)] string='Tax PIS'
  • tax_pis_st_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' domain=[('tax_domain', '=', TAX_DOMAIN_PIS_ST)] string='Tax PIS ST'
Public methods (0)

No public methods.

New fields (1)
  • code Char
    size=2
Public methods (0)

No public methods.

New fields (1)
  • code Char
    size=3
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (20)
  • cest_id Many2one → l10n_br_fiscal.cest
    comodel_name='l10n_br_fiscal.cest' domain="[('ncm_ids', '=', ncm_id)]" index=True string='CEST'
  • city_taxation_code_ids Many2many → l10n_br_fiscal.city.taxation.code
    comodel_name='l10n_br_fiscal.city.taxation.code' string='City Taxation Code'
  • fiscal_genre_code Char
    related='fiscal_genre_id.code' store=True string='Fiscal Product Genre Code'
  • fiscal_genre_id Many2one → l10n_br_fiscal.product.genre
    comodel_name='l10n_br_fiscal.product.genre' compute='_compute_fiscal_genre_id' readonly=False store=True string='Fiscal Product Genre'
  • fiscal_type Selection
    company_dependent=True selection=PRODUCT_FISCAL_TYPE
  • icms_origin Selection
    company_dependent=True default=ICMS_ORIGIN_DEFAULT selection=ICMS_ORIGIN string='ICMS Origin'
  • ipi_control_seal_id Many2one → l10n_br_fiscal.tax.ipi.control.seal
    comodel_name='l10n_br_fiscal.tax.ipi.control.seal' string='IPI Control Seal'
  • ipi_guideline_class_id Many2one → l10n_br_fiscal.tax.ipi.guideline.class
    comodel_name='l10n_br_fiscal.tax.ipi.guideline.class' string='IPI Guideline Class'
  • national_taxation_code_id Many2one → l10n_br_fiscal.national.taxation.code
    comodel_name='l10n_br_fiscal.national.taxation.code' string='National Taxation Code'
  • nbm_id Many2one → l10n_br_fiscal.nbm
    comodel_name='l10n_br_fiscal.nbm' index=True string='NBM'
  • nbs_id Many2one → l10n_br_fiscal.nbs
    comodel_name='l10n_br_fiscal.nbs' index=True string='NBS'
  • ncm_id Many2one → l10n_br_fiscal.ncm
    comodel_name='l10n_br_fiscal.ncm' compute='_compute_ncm_id' default=_get_default_ncm_id index=True readonly=False store=True string='NCM'
  • operation_indicator_id Many2one → l10n_br_fiscal.operation.indicator
    comodel_name='l10n_br_fiscal.operation.indicator'
  • service_type_id Many2one → l10n_br_fiscal.service.type
    comodel_name='l10n_br_fiscal.service.type' domain="[('internal_type', '=', 'normal')]" string='Service Type LC 166'
  • tax_icms_or_issqn Selection
    compute='_compute_tax_icms_or_issqn' default=TAX_DOMAIN_ICMS readonly=False selection=TAX_ICMS_OR_ISSQN store=True string='ICMS or ISSQN Tax'
  • type Selection
    ondelete={'product': 'set consu'} selection_add=[('product', 'Storable Product')]
  • uoe_factor Float
    default=1.0 string='Export UoM Factor'
  • uoe_id Many2one → uom.uom
    comodel_name='uom.uom' related='ncm_id.uoe_id' store=True string='Export UoM'
  • uot_factor Float
    string='Tax UoM Factor'
  • uot_id Many2one → uom.uom
    comodel_name='uom.uom' string='Tax UoM'
Public methods (0)

No public methods.

New fields (41)
  • accountant_id Many2one → res.partner
    comodel_name='res.partner' string='Accountant'
  • accounting_office Many2one → res.partner
    comodel_name='res.partner'
  • annual_revenue Monetary
    currency_field='currency_id'
  • cnae_main_id Many2one → l10n_br_fiscal.cnae
    comodel_name='l10n_br_fiscal.cnae' compute='_compute_address' domain="[('internal_type', '=', 'normal'), ('id', 'not in', cnae_secondary_ids)]" inverse='_inverse_cnae_main_id' string='Main CNAE'
  • cnae_secondary_ids Many2many → l10n_br_fiscal.cnae
    comodel_name='l10n_br_fiscal.cnae' domain="[('internal_type', '=', 'normal'), ('id', '!=', cnae_main_id)]" string='Secondary CNAE'
  • coefficient_r Boolean
    compute='_compute_simplified_tax' readonly=True store=True
  • coefficient_r_percent Float
    compute='_compute_simplified_tax' readonly=True store=True string='Coefficient R (%)'
  • delivery_costs Selection
    default='line' help='Define if costs of Insurance, Freight and Other Costs should be informed by Line or by Total.' selection=[('line', 'By Line'), ('total', 'By Total')]
  • document_save_disk Boolean
    default=True string='Save Documents to disk'
  • document_type_id Many2one → l10n_br_fiscal.document.type
    comodel_name='l10n_br_fiscal.document.type' string='Default Document Type'
  • ibpt_api Boolean
    default=False string='Use IBPT API'
  • ibpt_token Char
  • ibpt_update_days Integer
    default=15 string='IBPT Token Updates'
  • icms_regulation_id Many2one → l10n_br_fiscal.icms.regulation
    comodel_name='l10n_br_fiscal.icms.regulation' string='ICMS Regulation'
  • industry_type Selection
    default=INDUSTRY_TYPE_TRANSFORMATION selection=INDUSTRY_TYPE
  • is_industry Boolean
    default=False help='If your company is industry or ......'
  • legal_nature_id Many2one → l10n_br_fiscal.legal.nature
    comodel_name='l10n_br_fiscal.legal.nature' compute='_compute_address' inverse='_inverse_legal_nature_id' string='Legal Nature'
  • payroll_amount Monetary
    currency_field='currency_id' string='Last Period Payroll Amount'
  • piscofins_id Many2one → l10n_br_fiscal.tax.pis.cofins
    comodel_name='l10n_br_fiscal.tax.pis.cofins' domain="[('piscofins_type', '=', 'company')]" string='PIS/COFINS'
  • processador_edoc Selection
    default=PROCESSADOR_NENHUM selection=PROCESSADOR string='Processador documentos eletrônicos'
  • profit_calculation Selection
    default=PROFIT_CALCULATION_PRESUMED selection=PROFIT_CALCULATION
  • ripi Boolean
    string='RIPI'
  • simplified_tax_id Many2one → l10n_br_fiscal.simplified.tax
    comodel_name='l10n_br_fiscal.simplified.tax' compute='_compute_simplified_tax' readonly=True store=True string='Simplified Tax'
  • simplified_tax_percent Float
    compute='_compute_simplified_tax' digits='Fiscal Tax Percent' store=True
  • simplified_tax_range_id Many2one → l10n_br_fiscal.simplified.tax.range
    comodel_name='l10n_br_fiscal.simplified.tax.range' compute='_compute_simplified_tax' readonly=True store=True string='Simplified Tax Range'
  • tax_classification_id Many2one → l10n_br_fiscal.tax.classification
    comodel_name='l10n_br_fiscal.tax.classification' string='Default Tax Classification'
  • tax_cofins_wh_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' domain=[('tax_domain', '=', TAX_DOMAIN_COFINS_WH)] string='Default COFINS RET'
  • tax_csll_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' domain=[('tax_domain', '=', TAX_DOMAIN_CSLL)] string='Default CSLL'
  • tax_csll_wh_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' domain=[('tax_domain', '=', TAX_DOMAIN_CSLL_WH)] string='Default CSLL RET'
  • tax_definition_ids One2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' inverse_name='company_id' string='Tax Definition'
  • tax_framework Selection
    compute='_compute_address' default=TAX_FRAMEWORK_NORMAL inverse='_inverse_tax_framework' selection=TAX_FRAMEWORK
  • tax_icms_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' domain=[('tax_domain', 'in', (TAX_DOMAIN_ICMS, TAX_DOMAIN_ICMS_SN))] string='Default ICMS'
  • tax_inss_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' domain=[('tax_domain', '=', TAX_DOMAIN_INSS)] string='Default INSS'
  • tax_inss_wh_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' domain=[('tax_domain', '=', TAX_DOMAIN_INSS_WH)] string='Default INSS RET'
  • tax_ipi_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' domain=[('tax_domain', '=', TAX_DOMAIN_IPI)] string='Default IPI'
  • tax_irpj_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' domain=[('tax_domain', '=', TAX_DOMAIN_IRPJ)] string='Default IRPJ'
  • tax_irpj_wh_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' domain=[('tax_domain', '=', TAX_DOMAIN_IRPJ_WH)] string='Default IRPJ RET'
  • tax_issqn_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' domain=[('tax_domain', '=', TAX_DOMAIN_ISSQN)] string='Default ISSQN'
  • tax_issqn_wh_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' domain=[('tax_domain', '=', TAX_DOMAIN_ISSQN_WH)] string='Default ISSQN RET'
  • tax_pis_wh_id Many2one → l10n_br_fiscal.tax
    comodel_name='l10n_br_fiscal.tax' domain=[('tax_domain', '=', TAX_DOMAIN_PIS_WH)] string='Default PIS RET'
  • technical_support_id Many2one → res.partner
    comodel_name='res.partner' string='Technical Support'
Public methods (0)

No public methods.

New fields (9)
  • delivery_costs Selection
    readonly=False related='company_id.delivery_costs'
  • document_type_id Many2one → l10n_br_fiscal.document.type
    comodel_name='l10n_br_fiscal.document.type' related='company_id.document_type_id' string='Default Document Type'
  • ibpt_api Boolean
    readonly=False related='company_id.ibpt_api' string='Use IBPT API'
  • ibpt_token Char
    readonly=False related='company_id.ibpt_token' string='IBPT Token'
  • ibpt_update_days Integer
    readonly=False related='company_id.ibpt_update_days' string='IBPT Update'
  • module_l10n_br_cte Boolean
    string='CT-e'
  • module_l10n_br_mdfe Boolean
    string='MDF-e'
  • module_l10n_br_nfe Boolean
    string='NF-e/NFC-e'
  • module_l10n_br_nfse Boolean
    string='NFS-e'
Public methods (0)

No public methods.

New fields (1)
  • tax_definition_ids Many2many → l10n_br_fiscal.tax.definition
    comodel_name='l10n_br_fiscal.tax.definition' domain="['|', ('state_from_ids', '=', id), ('state_to_ids', '=', id)]" string='Tax Definitions'
Public methods (0)

No public methods.

New fields (17)
  • city_id Many2one
    tracking=True
  • cnae_main_id Many2one → l10n_br_fiscal.cnae
    comodel_name='l10n_br_fiscal.cnae' domain=[('internal_type', '=', 'normal')] string='Main CNAE'
  • cnae_secondary_ids Many2many → l10n_br_fiscal.cnae
    comodel_name='l10n_br_fiscal.cnae' domain="[('internal_type', '=', 'normal'), ('id', '!=', cnae_main_id)]" string='Secondary CNAEs'
  • fiscal_profile_id Many2one → l10n_br_fiscal.partner.profile
    comodel_name='l10n_br_fiscal.partner.profile' default=_default_fiscal_profile_id domain="[('is_company', '=', is_company)]" inverse='_inverse_fiscal_profile' string='Fiscal Partner Profile' tracking=True
  • ind_final Selection
    default=FINAL_CUSTOMER_NO selection=FINAL_CUSTOMER string='Final Consumption Operation' tracking=True
  • ind_ie_dest Selection
    default=NFE_IND_IE_DEST_DEFAULT required=True selection=NFE_IND_IE_DEST string='Contribuinte do ICMS' tracking=True
  • is_company Boolean
    tracking=True
  • is_public_entity Boolean
    help='Indicates whether the entity in question is a public organization or government-related entity. It encompasses a range of entities such as municipal governments, state-owned enterprises (where the government is the largest shareholder), and other government-controlled organizations.' string='Public Entity'
  • l10n_br_ie_code Char
    tracking=True
  • l10n_br_im_code Char
    tracking=True
  • legal_nature_id Many2one → l10n_br_fiscal.legal.nature
    comodel_name='l10n_br_fiscal.legal.nature' string='Legal Nature'
  • nif_motive_absence Selection
    default=False selection=[('0', 'Not informed in the origin note'), ('1', 'Exemption from NIF'), ('2', 'NIF not required')] string='NIF motive absence'
  • public_entity_type Selection
    selection=PUBLIC_ENTIRY_TYPE string='Tipo de Entidade Governamental'
  • rntrc_code Char
    size=12 string='RNTRC Code' tracking=True
  • state_id Many2one
    tracking=True
  • tax_framework Selection
    default=TAX_FRAMEWORK_NORMAL selection=TAX_FRAMEWORK tracking=True
  • vat Char
    tracking=True
Public methods (0)

No public methods.

New fields (2)
  • code Char
    help="Abbreviated unit code used in electronic fiscal documents (e.g. NF-e, NFC-e). Must have a maximum of 6 characters by regulation. e.g. 'UN', 'KG', 'LITRO', 'CX12UN" size=6 translate=False
  • description Char
    help="Full unit description. e.g. 'Unit', 'Kilogram', 'Box of 12 Units'."
Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…