Brazilian Localization Account Product

l10n_br_account_product
REPOSITORY
REPOSITORYOCA/l10n-brazil
GIT
GIThttps://github.com/OCA/l10n-brazil.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-brazil/tree/10.0/l10n_br_account_product
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYLocalisation
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSRenato Lima, oca-travis, OCA-git-bot, Renato, Magno Costa
WEBSITE
WEBSITEhttp://odoo-brasil.org
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:54
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-fiscal-rule:
    - account_product_fiscal_classification
    - account_fiscal_position_rule
OCA/bank-payment:
    - account_payment_mode
    - account_payment_partner
OCA/l10n-brazil:
    - l10n_br_account
    - l10n_br_generic
    - l10n_br_base
odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - report
    - analytic
    - web_planner
    - l10n_generic_coa
    - account_cancel
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES num2words
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (49)
XML IDNameModelTypeStatus
l10n_br_account_product_cfop_form l10n_br_account_product.cfop.name l10n_br_account_product.cfop form New
l10n_br_account_product_cfop_search l10n_br_account_product.cfop.search l10n_br_account_product.cfop search New
l10n_br_account_product_cfop_structure l10n_br_account_product.cfop.structure l10n_br_account_product.cfop tree New
l10n_br_account_product_cfop_tree l10n_br_account_product.cfop.tree l10n_br_account_product.cfop tree New
l10n_br_account_product_company_form l10n_br_account_product.res.company.form res.company page Inherits l10n_br_account.l10n_br_account_company_form
l10n_br_account_product_cst_form l10n_br_account_product.cst.name l10n_br_account_product.cst form New
l10n_br_account_product_cst_search l10n_br_account_product.cst.search l10n_br_account_product.cst search New
l10n_br_account_product_cst_tree l10n_br_account_product.cst.tree l10n_br_account_product.cst tree New
l10n_br_account_product_document_status_sefaz_form Consultar Documento l10n_br_account_product.document_status_sefaz form New
l10n_br_account_product_fiscal_category_form l10n_br_account_product.fiscal.category l10n_br_account.fiscal.category field Inherits l10n_br_account.view_l10n_br_account_fiscal_category_form
l10n_br_account_product_fiscal_classification_form l10n_br_account_product.fiscal_classification_form account.product.fiscal.classification field Inherits account_product_fiscal_classification.view_account_product_fiscal_classification_form
l10n_br_account_product_import_declaration_form l10n_br_account_product.import.declaration.form l10n_br_account_product.import.declaration form New
l10n_br_account_product_invoice_form l10n_br_account_product.invoice.form account.invoice field Inherits account.invoice_form
l10n_br_account_product_invoice_supplier_form l10n_br_account.invoice.supplier.form account.invoice field Inherits account.invoice_supplier_form
l10n_br_account_product_ipi_guideline_form_view l10n_br_account_product.ipi_guideline.form.view l10n_br_account_product.ipi_guideline form New
l10n_br_account_product_ipi_guideline_tree_view l10n_br_account_product.ipi_guideline.tree.view l10n_br_account_product.ipi_guideline tree New
l10n_br_account_product_nfe_export_form l10n_br_account_product.nfe_export.form l10n_br_account_product.nfe_export field Inherits l10n_br_account_product_nfe_export_invoice_form
l10n_br_account_product_nfe_export_invoice_form Exportar Nota Fiscal l10n_br_account_product.nfe_export_invoice form New
l10n_br_account_product_nfe_form l10n_br_account_product.nfe.form account.invoice form New
l10n_br_account_product_nfe_line_form l10n_br_account_product.nfe.line.form account.invoice.line form New
l10n_br_account_product_nfe_search l10n_br_account_product.nfe.search account.invoice search New
l10n_br_account_product_nfe_tree l10n_br_account_product.nfe.tree account.invoice tree New
l10n_br_account_product_partner_fiscal_type_form l10n_br_account_product.partner.fiscal.type l10n_br_account.partner.fiscal.type field Inherits l10n_br_account.view_l10n_br_account_partner_fiscal_type_form
l10n_br_account_product_payment_mode_form l10n_br_account_product.payment.mode.form account.payment.mode field Inherits account_payment_mode.account_payment_mode_form
l10n_br_account_product_payment_term_form l10n_br_account_product.payment.term.form account.payment.term field Inherits account.view_payment_term_form
l10n_br_account_product_position_form l10n_br_account_product.fiscal.position.form account.fiscal.position field Inherits l10n_br_account.l10n_br_account_position_form
l10n_br_account_product_tax_form l10n_br_account_product.tax.form account.tax field Inherits account.view_tax_form
l10n_br_account_product_tax_template_form l10n_br_account_product.tax.template.form account.tax.template field Inherits account.view_account_tax_template_form
l10n_br_account_product_template_form l10n_br_account_product.product.template.form product.template field Inherits l10n_br_account.l10n_br_account_product_template_form_view
l10n_br_account_product_view_account_invoice_report_search l10n_br_account.invoice.report.search account.invoice.report filter Inherits account.view_account_invoice_report_search
l10n_br_fiscal_classification_template_normal_form_view_form fiscal_classification_template_normal_form_view_form account.product.fiscal.classification.template field Inherits account_product_fiscal_classification.view_account_product_fiscal_classification_template_form
l10n_br_fiscal_classification_template_normal_form_view_tree fiscal_classification_normal_form_view_tree account.product.fiscal.classification.template tree New
l10n_br_tax_definition_company_product_form l10n_br_tax.definition.company.product.form l10n_br_tax.definition.company.product form New
l10n_br_tax_definition_company_product_tree l10n_br_tax.definition.company.product.tree l10n_br_tax.definition.company.product tree New
l10n_br_tax_definition_purchase_form l10n_br_tax.definition.purchase.form l10n_br_tax.definition.purchase form New
l10n_br_tax_definition_purchase_template_form l10n_br_tax.definition.purchase.template.form l10n_br_tax.definition.purchase.template form New
l10n_br_tax_definition_purchase_template_tree l10n_br_tax.definition.purchase.template.tree l10n_br_tax.definition.purchase.template tree New
l10n_br_tax_definition_sale_template_tree l10n_br_tax.definition.sale.template.tree l10n_br_tax.definition.sale.template tree New
l10n_br_tax_definition_sale_tree l10n_br_tax.definition.sale.tree l10n_br_tax.definition.sale tree New
l10n_br_tax_definition_state_product_form l10n_br_tax.definition.state.product.form l10n_br_tax.definition.state.product form New
l10n_br_tax_definition_state_product_tree l10n_br_tax.definition.state.product.tree l10n_br_tax.definition.state.product tree New
l10n_br_tax_definition_template_sale_form l10n_br_tax.definition.sale.template.form l10n_br_tax.definition.sale.template form New
l10n_br_tax_icms_partition_form_view l10n_br_tax.icms_partition.form.view l10n_br_tax.icms_partition form New
l10n_br_tax_icms_partition_tree_view l10n_br_tax.icms_partition.tree.view l10n_br_tax.icms_partition tree New
view_account_invoice_refund_br view_account_invoice_refund_br account.invoice.refund field Inherits account.view_account_invoice_refund
view_l10n_br_account_product_costs_ratio_form Rateio de custos l10n_br_account_product.invoice.costs_ratio form New
view_l10n_br_country_state_icms_table_form res.country.state res.country.state field Inherits l10n_br_base.view_l10n_br_country_state_form
view_l10n_br_taxdefinition_classification_sale_form l10n_br_tax.definition.sale.form l10n_br_tax.definition.sale form New
view_l10n_br_taxdefinition_purchase_tree l10n_br_tax.definition.purchase.tree l10n_br_tax.definition.purchase tree New
Models touched (46)

New fields (2)
  • cfop_id Many2one → l10n_br_account_product.cfop
    comodel_name='l10n_br_account_product.cfop' domain="[('internal_type', '=', 'normal')]" string='CFOP'
  • ind_final Selection
    default='0' help='Indica operação com Consumidor final.' readonly=True required=False selection=[('0', 'Não'), ('1', 'Sim')] states={'draft': [('readonly', False)]} string='Operação com Consumidor final'
Public methods (2)
  • map_tax(self, taxes, product=None, partner=None)
    @api.model
  • map_tax_code(self, taxes, product=None, partner=None)
    @api.model

New fields (6)
  • cest_id Many2one → l10n_br_account_product.cest
    comodel_name='l10n_br_account_product.cest' string='CEST'
  • cst_id Many2one → l10n_br_account_product.cst
    comodel_name='l10n_br_account_product.cst' required=False string='CST'
  • fiscal_classification_id Many2one → account.product.fiscal.classification
    comodel_name='account.product.fiscal.classification' string='NCM'
  • origin Selection
    selection=PRODUCT_ORIGIN string='Origem'
  • tax_icms_relief_id Many2one → l10n_br_account_product.icms_relief
    comodel_name='l10n_br_account_product.icms_relief' string='Desoneração ICMS'
  • tax_ipi_guideline_id Many2one → l10n_br_account_product.ipi_guideline
    comodel_name='l10n_br_account_product.ipi_guideline' string='Enquadramento IPI'
Public methods (0)

No public methods.

New fields (6)
  • cest_id Many2one → l10n_br_account_product.cest
    comodel_name='l10n_br_account_product.cest' string='CEST'
  • cst_id Many2one → l10n_br_account_product.cst
    comodel_name='l10n_br_account_product.cst' required=False string='CST'
  • fiscal_classification_id Many2one → account.product.fiscal.classification.template
    comodel_name='account.product.fiscal.classification.template' string='NCM'
  • origin Selection
    selection=PRODUCT_ORIGIN string='Origem'
  • tax_icms_relief_id Many2one → l10n_br_account_product.icms_relief
    comodel_name='l10n_br_account_product.icms_relief' string='Desoneração ICMS'
  • tax_ipi_guideline_id Many2one → l10n_br_account_product.ipi_guideline
    comodel_name='l10n_br_account_product.ipi_guideline' string='Enquadramento IPI'
Public methods (0)

No public methods.

New fields (2)
  • cfop_id Many2one → l10n_br_account_product.cfop
    comodel_name='l10n_br_account_product.cfop' domain="[('internal_type', '=', 'normal')]" string='CFOP'
  • ind_final Selection
    default='0' help='Indica operação com Consumidor final.' readonly=True required=False selection=[('0', 'Não'), ('1', 'Sim')] states={'draft': [('readonly', False)]} string='Operação com Consumidor final'
Public methods (0)

No public methods.

New fields (62)
  • amount_costs Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Outros Custos'
  • amount_discount Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Desconto'
  • amount_freight Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Valor do Frete'
  • amount_gross Float
    compute='_compute_amount' digits=dp.get_precision('Account') readonly=True store=True string='Vlr. Bruto'
  • amount_insurance Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Valor do Seguro'
  • amount_tax Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Tax'
  • amount_total Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Total'
  • amount_total_taxes Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Total de Tributos'
  • amount_untaxed Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Untaxed'
  • brand_of_packages Char
    readonly=True size=60 states={'draft': [('readonly', False)]} string='Brand'
  • carrier_name Char
    size=32 string='Nome Transportadora'
  • cfop_ids Many2many → l10n_br_account_product.cfop
    comodel_name='l10n_br_account_product.cfop' compute='_compute_cfops' copy=False string='CFOP'
  • cofins_base Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Base COFINS'
  • cofins_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') readonly=True store=True string='Valor COFINS'
  • date_hour_invoice Datetime
    copy=False help='Deixe em branco para usar a data atual' index=True readonly=True states={'draft': [('readonly', False)]} string='Data e hora de emissão'
  • date_in_out Datetime
    copy=False help='Deixe em branco para usar a data atual' index=True readonly=True states={'draft': [('readonly', False)]} string='Data de Entrada/Saida'
  • document_serie_id Many2one → l10n_br_account.document.serie
    comodel_name='l10n_br_account.document.serie' default=_default_fiscal_document_serie domain="[('fiscal_document_id', '=', fiscal_document_id), ('company_id','=',company_id)]" readonly=True states={'draft': [('readonly', False)]} string='Série'
  • expedition_location Char
    size=32 string='Local de Despacho'
  • fiscal_category_id Many2one → l10n_br_account.fiscal.category
    comodel_name='l10n_br_account.fiscal.category' default=_default_fiscal_category readonly=True states={'draft': [('readonly', False)]} string='Categoria Fiscal'
  • fiscal_document_electronic Boolean
    related='fiscal_document_id.electronic'
  • fiscal_document_id Many2one → l10n_br_account.fiscal.document
    comodel_name='l10n_br_account.fiscal.document' default=_default_fiscal_document readonly=True states={'draft': [('readonly', False)]} string='Documento'
  • fiscal_document_related_ids One2many → l10n_br_account_product.document.related
    comodel_name='l10n_br_account_product.document.related' inverse_name='invoice_id' readonly=True states={'draft': [('readonly', False)]} string='Fiscal Document Related'
  • fiscal_number Char
    copy=False help='Unique number of the invoice, computed\n automatically when the invoice is created.' readonly=True size=32 states={'draft': [('readonly', False)]} string='Fiscal Number'
  • fiscal_type Selection
    default=PRODUCT_FISCAL_TYPE_DEFAULT selection=PRODUCT_FISCAL_TYPE string='Tipo Fiscal'
  • icms_base Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Base ICMS'
  • icms_base_other Float
    compute='_compute_amount' digits=dp.get_precision('Account') readonly=True store=True string='Base ICMS Outras'
  • icms_dest_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') readonly=True store=True string='Valor total do ICMS Interestadual para a UF de destino'
  • icms_fcp_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') readonly=True store=True string='Valor total do Fundo de Combate à Pobreza (FCP)'
  • icms_origin_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') readonly=True store=True string='Valor total do ICMS Interestadual para a UF do remetente'
  • icms_st_base Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Base ICMS ST'
  • icms_st_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Valor ICMS ST'
  • icms_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Valor ICMS'
  • ii_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') readonly=True store=True string='Valor II'
  • ind_final Selection
    help='Indica operação com Consumidor final.' readonly=True related='fiscal_position_id.ind_final' required=False selection=[('0', 'Não'), ('1', 'Sim')] states={'draft': [('readonly', False)]} string='Consumidor final'
  • ind_pres Selection
    default='0' help='Indicador de presença do comprador no\nestabelecimento comercial no momento\nda operação.' readonly=True required=False selection=[('0', 'Não se aplica (por exemplo, Nota Fiscal complementar ou de ajuste)'), ('1', 'Operação presencial'), ('2', 'Operação não presencial, pela Internet'), ('3', 'Operação não presencial, Teleatendimento'), ('4', 'NFC-e em operação com entrega em domicílio'), ('5', 'Operação presencial, fora do estabelecimento'), ('9', 'Operação não presencial, outros')] states={'draft': [('readonly', False)]} string='Tipo de operação'
  • ipi_base Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Base IPI'
  • ipi_base_other Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Base IPI Outras'
  • ipi_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Valor IPI'
  • issuer Selection
    default='0' readonly=True states={'draft': [('readonly', False)]} args: [('0', 'Emissão própria'), ('1', 'Terceiros')], 'Emitente'
  • kind_of_packages Char
    readonly=True size=60 states={'draft': [('readonly', False)]} string='Espécie'
  • nfe_access_key Char
    copy=False readonly=True size=44 states={'draft': [('readonly', False)]} string='Chave de Acesso NFE'
  • nfe_date Datetime
    copy=False readonly=True string='Data do Status NFE'
  • nfe_export_date Datetime
    readonly=True string='Exportação NFE'
  • nfe_protocol_number Char
    copy=False readonly=True size=15 states={'draft': [('readonly', False)]} string='Protocolo'
  • nfe_purpose Selection
    default=_default_nfe_purpose readonly=True selection=[('1', 'Normal'), ('2', 'Complementar'), ('3', 'Ajuste'), ('4', 'Devolução de Mercadoria')] states={'draft': [('readonly', False)]} string='Finalidade da Emissão'
  • nfe_status Char
    copy=False readonly=True size=44 string='Status na Sefaz'
  • nfe_version Selection
    default=_default_nfe_version readonly=True selection=[('1.10', '1.10'), ('2.00', '2.00'), ('3.10', '3.10'), ('4.00', '4.00')] states={'draft': [('readonly', False)]} string='Versão NFe'
  • notation_of_packages Char
    readonly=True size=60 states={'draft': [('readonly', False)]} string='Numeração'
  • number_of_packages Integer
    readonly=True states={'draft': [('readonly', False)]} string='Volume'
  • partner_shipping_id Many2one → res.partner
    comodel_name='res.partner' help='Shipping address for current sales order.' readonly=True states={'draft': [('readonly', False)]} string='Endereço de Entrega'
  • pis_base Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Base PIS'
  • pis_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Valor PIS'
  • shipping_location Char
    size=32 string='Local de Embarque'
  • shipping_state_id Many2one → res.country.state
    comodel_name='res.country.state' string='Estado de Embarque'
  • type Selection
    states={'draft': [('readonly', False)]}
  • type_nf_payment Selection
    default='99' help='Obrigatório o preenchimento do Grupo Informações de Pagamento para NF-e e NFC-e. Para as notas com finalidade de Ajuste ou Devolução o campo Forma de Pagamento deve ser preenchido com 90 - Sem Pagamento.' selection=[('01', '01 - Dinheiro'), ('02', '02 - Cheque'), ('03', '03 - Cartão de Crédito'), ('04', '04 - Cartão de Débito'), ('06', '05 - Crédito Loja'), ('10', '10 - Vale Alimentação'), ('11', '11 - Vale Refeição'), ('12', '12 - Vale Presente'), ('13', '13 - Vale Combustível'), ('14', '14 - Duplicata Mercantil'), ('15', '15 - Boleto Bancário'), ('90', '90 - Sem pagamento'), ('99', '99 - Outros')] string='Tipo de Pagamento da NF'
  • vehicle_l10n_br_city_id Many2one → l10n_br_base.city
    comodel_name='l10n_br_base.city' domain="[('state_id', '=', vehicle_state_id)]" string='Município'
  • vehicle_plate Char
    size=7 string='Placa do Veículo'
  • vehicle_state_id Many2one → res.country.state
    comodel_name='res.country.state' string='UF da Placa'
  • vendor_serie Char
    help='Série do número da Nota Fiscal do Fornecedor' readonly=True size=12 states={'draft': [('readonly', False)]} string='Série NF Entrada'
  • weight Float
    help='The gross weight in Kg.' readonly=True states={'draft': [('readonly', False)]} string='Gross weight'
  • weight_net Float
    help='The net weight in Kg.' readonly=True states={'draft': [('readonly', False)]} string='Net weight'
Public methods (11)
  • action_date_assign(self)
    @api.multi
  • action_invoice_draft(self)
    @api.multi
  • action_invoice_open(self)
    @api.multi
  • action_number(self)
    @api.multi
  • action_sefaz_open(self)
    @api.multi
  • fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False)
    @api.model
  • get_taxes_values(self)
    @api.multi
  • invoice_sefaz_export(self)
    @api.multi
  • nfe_check(self)
    @api.multi
  • onchange_payment_mode(self)
    @api.onchange('payment_mode_id')
  • open_fiscal_document(self)
    @api.multi
    return action to open NFe form

New fields (85)
  • cest_id Many2one → l10n_br_account_product.cest
    comodel_name='l10n_br_account_product.cest' string='CEST'
  • cfop_id Many2one → l10n_br_account_product.cfop
    comodel_name='l10n_br_account_product.cfop' domain="[('internal_type', '=', 'normal')]" string='CFOP'
  • code Char
    size=60 string='Código do Produto'
  • cofins_base Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Base COFINS'
  • cofins_base_other Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Base COFINS Outras'
  • cofins_cst_id Many2one → l10n_br_account_product.cst
    comodel_name='l10n_br_account_product.cst' domain=[('tax_group_id.domain', '=', 'cofins')] string='CST PIS'
  • cofins_manual Boolean
    default=False string='COFINS Manual?'
  • cofins_percent Float
    default=0.0 digits=dp.get_precision('Discount') required=True string='Perc COFINS'
  • cofins_st_base Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Base COFINS ST'
  • cofins_st_percent Float
    default=0.0 digits=dp.get_precision('Discount') required=True string='Perc COFINS ST'
  • cofins_st_type Selection
    default='percent' required=True selection=[('percent', 'Percentual'), ('quantity', 'Em Valor')] string='Tipo do COFINS ST'
  • cofins_st_value Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Valor COFINS ST'
  • cofins_type Selection
    default='percent' required=True selection=[('percent', 'Percentual'), ('quantity', 'Em Valor')] string='Tipo do COFINS'
  • cofins_value Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Valor COFINS'
  • date_invoice Datetime
    help='Keep empty to use the current date' index=True readonly=True states={'draft': [('readonly', False)]} string='Invoice Date'
  • discount_value Float
    compute='_compute_price' digits=dp.get_precision('Account') store=True string='Vlr. desconto'
  • fci Char
    size=36 string='FCI do Produto'
  • fiscal_category_id Many2one → l10n_br_account.fiscal.category
    comodel_name='l10n_br_account.fiscal.category' string='Categoria Fiscal'
  • fiscal_classification_id Many2one → account.product.fiscal.classification
    comodel_name='account.product.fiscal.classification' string='Classificação Fiscal'
  • fiscal_comment Text
    string='Observação Fiscal'
  • fiscal_position_id Many2one → account.fiscal.position
    comodel_name='account.fiscal.position' string='Posição Fiscal'
  • freight_value Float
    default=0.0 digits=dp.get_precision('Account') string='Frete'
  • icms_base Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Base ICMS'
  • icms_base_other Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Base ICMS Outras'
  • icms_base_type Selection
    default='0' required=True selection=[('0', 'Margem Valor Agregado (%)'), ('1', 'Pauta (valor)'), ('2', 'Preço Tabelado Máximo (valor)'), ('3', 'Valor da Operação')] string='Tipo Base ICMS'
  • icms_cst_id Many2one → l10n_br_account_product.cst
    comodel_name='l10n_br_account_product.cst' domain=[('tax_group_id.domain', '=', 'icms')] string='CST ICMS'
  • icms_dest_base Float
    default=0.0 digits=dp.get_precision('Account') string='Valor da BC do ICMS na UF de destino'
  • icms_dest_percent Float
    default=0.0 digits=dp.get_precision('Account') string='Alíquota interestadual das UF envolvidas'
  • icms_dest_value Float
    default=0.0 digits=dp.get_precision('Account') string='Valor do ICMS Interestadual para a UF de destino'
  • icms_fcp_percent Float
    default=0.0 digits=dp.get_precision('Account') string='% Fundo de Combate à Pobreza (FCP)'
  • icms_fcp_value Float
    default=0.0 digits=dp.get_precision('Account') string='Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP) da UF de destino'
  • icms_manual Boolean
    default=False string='ICMS Manual?'
  • icms_origin Selection
    default='0' selection=PRODUCT_ORIGIN string='Origem'
  • icms_origin_percent Float
    default=0.0 digits=dp.get_precision('Account') string='Alíquota interna da UF de destino'
  • icms_origin_value Float
    default=0.0 digits=dp.get_precision('Account') string='Valor do ICMS Interno para a UF do remetente'
  • icms_part_percent Float
    default=0.0 digits=dp.get_precision('Account') string='Percentual provisório de partilha do ICMS Interestadual'
  • icms_percent Float
    default=0.0 digits=dp.get_precision('Discount') string='Perc ICMS'
  • icms_percent_reduction Float
    default=0.0 digits=dp.get_precision('Discount') string='Perc Redução de Base ICMS'
  • icms_relief_id Many2one → l10n_br_account_product.icms_relief
    comodel_name='l10n_br_account_product.icms_relief' string='Desoneração ICMS'
  • icms_st_base Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Base ICMS ST'
  • icms_st_base_other Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Base ICMS ST Outras'
  • icms_st_base_type Selection
    default='4' required=True selection=[('0', 'Preço tabelado ou máximo sugerido'), ('1', 'Lista Negativa (valor)'), ('2', 'Lista Positiva (valor)'), ('3', 'Lista Neutra (valor)'), ('4', 'Margem Valor Agregado (%)'), ('5', 'Pauta (valor)')] string='Tipo Base ICMS ST'
  • icms_st_mva Float
    default=0.0 digits=dp.get_precision('Discount') string='MVA Ajustado ICMS ST'
  • icms_st_percent Float
    default=0.0 digits=dp.get_precision('Discount') string='Percentual ICMS ST'
  • icms_st_percent_reduction Float
    default=0.0 digits=dp.get_precision('Discount') string='Perc Redução de Base ICMS ST'
  • icms_st_value Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Valor ICMS ST'
  • icms_value Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Valor ICMS'
  • ii_base Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Base II'
  • ii_customhouse_charges Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Despesas Aduaneiras'
  • ii_iof Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Valor IOF'
  • ii_value Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Valor II'
  • import_declaration_ids One2many → l10n_br_account_product.import.declaration
    comodel_name='l10n_br_account_product.import.declaration' inverse_name='invoice_line_id' string='Declaração de Importação'
  • insurance_value Float
    default=0.0 digits=dp.get_precision('Account') string='Valor do Seguro'
  • ipi_base Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Base IPI'
  • ipi_base_other Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Base IPI Outras'
  • ipi_cst_id Many2one → l10n_br_account_product.cst
    comodel_name='l10n_br_account_product.cst' domain=[('tax_group_id.domain', '=', 'ipi')] string='CST IPI'
  • ipi_guideline_id Many2one → l10n_br_account_product.ipi_guideline
    comodel_name='l10n_br_account_product.ipi_guideline' string='Enquadramento Legal IPI'
  • ipi_manual Boolean
    default=False string='IPI Manual?'
  • ipi_percent Float
    default=0.0 digits=dp.get_precision('Discount') required=True string='Perc IPI'
  • ipi_type Selection
    default='percent' required=True selection=[('percent', 'Percentual'), ('quantity', 'Em Valor')] string='Tipo do IPI'
  • ipi_value Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Valor IPI'
  • issqn_base Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Base ISSQN'
  • issqn_manual Boolean
    default=False string='ISSQN Manual?'
  • issqn_percent Float
    default=0.0 digits=dp.get_precision('Discount') required=True string='Perc ISSQN'
  • issqn_type Selection
    default='N' required=True selection=[('N', 'Normal'), ('R', 'Retida'), ('S', 'Substituta'), ('I', 'Isenta')] string='Tipo do ISSQN'
  • issqn_value Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Valor ISSQN'
  • other_costs_value Float
    default=0.0 digits=dp.get_precision('Account') string='Outros Custos'
  • partner_order Char
    size=15 string='Código do Pedido (xPed)'
  • partner_order_line Char
    size=6 string='Item do Pedido (nItemPed)'
  • pis_base Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Base PIS'
  • pis_base_other Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Base PIS Outras'
  • pis_cst_id Many2one → l10n_br_account_product.cst
    comodel_name='l10n_br_account_product.cst' domain=[('tax_group_id.domain', '=', 'pis')] string='CST PIS'
  • pis_manual Boolean
    default=False string='PIS Manual?'
  • pis_percent Float
    default=0.0 digits=dp.get_precision('Discount') required=True string='Perc PIS'
  • pis_st_base Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Base PIS ST'
  • pis_st_percent Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Perc PIS ST'
  • pis_st_type Selection
    default='percent' required=True selection=[('percent', 'Percentual'), ('quantity', 'Em Valor')] string='Tipo do PIS ST'
  • pis_st_value Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Valor PIS ST'
  • pis_type Selection
    default='percent' required=True selection=[('percent', 'Percentual'), ('quantity', 'Em Valor')] string='Tipo do PIS'
  • pis_value Float
    default=0.0 digits=dp.get_precision('Account') required=True string='Valor PIS'
  • price_gross Float
    compute='_compute_price' digits=dp.get_precision('Account') store=True string='Vlr. Bruto'
  • price_tax_discount Float
    compute='_compute_price' digits=dp.get_precision('Account') store=True string='Vlr. s/ Impostos'
  • product_type Selection
    default='product' required=True selection=[('product', 'Produto'), ('service', 'Serviço')] string='Tipo do Produto'
  • service_type_id Many2one → l10n_br_account.service.type
    comodel_name='l10n_br_account.service.type' string='Tipo de Serviço'
  • total_taxes Float
    default=0.0 digits=dp.get_precision('Account') requeried=True string='Total de Tributos'
Public methods (1)
  • tax_exists(self, domain=None)
    @api.model

New fields (1)
  • force_fiscal_category_id Many2one → l10n_br_account.fiscal.category
    domain="[('journal_type', '=', 'sale_refund'), ('fiscal_type', '=', 'product')]" args: 'l10n_br_account.fiscal.category', 'Forçar Categoria Fiscal'
Public methods (2)
  • compute_refund(self, mode='refund')
    @api.multi
  • fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False)
    @api.model

New fields (10)
  • cfop_id Many2one → l10n_br_account_product.cfop
    comodel_name='l10n_br_account_product.cfop' domain="[('internal_type', '=', 'normal')]" readonly=True string='CFOP'
  • cofins_value Float
    digits=dp.get_precision('Account') required=True string='Valor COFINS'
  • fiscal_type Selection
    selection=PRODUCT_FISCAL_TYPE string='Tipo Fiscal'
  • icms_st_value Float
    digits=dp.get_precision('Account') required=True string='Valor ICMS ST'
  • icms_value Float
    digits=dp.get_precision('Account') required=True string='Valor ICMS'
  • ii_value Float
    digits=dp.get_precision('Account') required=True string='Valor II'
  • ipi_value Float
    digits=dp.get_precision('Account') required=True string='Valor IPI'
  • issuer Selection
    readonly=True selection=[('0', 'Emissão própria'), ('1', 'Terceiros')] string='Emitente'
  • pis_value Float
    digits=dp.get_precision('Account') required=True string='Valor PIS'
  • total_with_taxes Float
    digits=dp.get_precision('Account') required=True string='Total com Impostos'
Public methods (0)

No public methods.

New fields (1)
  • type_nf_payment Selection
    default='99' help='Obrigatório o preenchimento do Grupo Informações de Pagamento para NF-e e NFC-e. Para as notas com finalidade de Ajuste ou Devolução o campo Forma de Pagamento deve ser preenchido com 90 - Sem Pagamento.' required=True selection=[('01', '01 - Dinheiro'), ('02', '02 - Cheque'), ('03', '03 - Cartão de Crédito'), ('04', '04 - Cartão de Débito'), ('06', '05 - Crédito Loja'), ('10', '10 - Vale Alimentação'), ('11', '11 - Vale Refeição'), ('12', '12 - Vale Presente'), ('13', '13 - Vale Combustível'), ('14', '14 - Duplicata Mercantil'), ('15', '15 - Boleto Bancário'), ('90', '90 - Sem pagamento'), ('99', '99 - Outros')] string='Tipo de Pagamento da NF'
Public methods (0)

No public methods.

New fields (1)
  • indPag Selection
    default='1' selection=[('0', 'Pagamento à Vista'), ('1', 'Pagamento à Prazo'), ('2', 'Outros')] string='Indicador de Pagamento'
Public methods (0)

No public methods.

New fields (12)
  • child_ids One2many → account.product.fiscal.classification
    comodel_name='account.product.fiscal.classification' inverse_name='parent_id' string='Child Fiscal Classifications'
  • estd_import_taxes_perct Float
    compute='_compute_product_estimated_taxes_percent' store=True string='Impostos de Importação Estimados(%)'
  • estd_national_taxes_perct Float
    compute='_compute_product_estimated_taxes_percent' store=True string='Impostos Nacionais Estimados(%)'
  • inv_copy_note Boolean
    help='Copia a observação no documento fiscal' string='Copiar Observação'
  • note Text
    string='Observações'
  • parent_id Many2one → account.product.fiscal.classification
    comodel_name='account.product.fiscal.classification' domain="[('type', 'in', ('view', 'normal'))]" index=True string='Parent Fiscal Classification'
  • purchase_tax_definition_line One2many → l10n_br_tax.definition.purchase
    comodel_name='l10n_br_tax.definition.purchase' inverse_name='fiscal_classification_id' string='Taxes Definitions'
  • purchase_tax_ids Many2many → account.tax
    comodel_name='account.tax' compute='_compute_taxes' store=True string='Purchase Taxes'
  • sale_tax_definition_line One2many → l10n_br_tax.definition.sale
    comodel_name='l10n_br_tax.definition.sale' inverse_name='fiscal_classification_id' string='Taxes Definitions'
  • sale_tax_ids Many2many → account.tax
    comodel_name='account.tax' compute='_compute_taxes' store=True string='Sale Taxes'
  • tax_estimate_ids One2many → l10n_br_tax.estimate
    comodel_name='l10n_br_tax.estimate' inverse_name='fiscal_classification_id' readonly=True string='Impostos Estimados'
  • type Selection
    default='normal' selection=[('view', 'Visão'), ('normal', 'Normal'), ('extension', 'Extensão')] string='Tipo'
Public methods (2)
  • get_ibpt(self)
    @api.multi
  • update_due_ncm(self)
    @api.model

New fields (10)
  • child_ids One2many → account.product.fiscal.classification.template
    comodel_name='account.product.fiscal.classification.template' inverse_name='parent_id' string='Child Fiscal Classifications'
  • inv_copy_note Boolean
    help='Copia a observação no documento fiscal' string='Copiar Observação'
  • note Text
    string='Observações'
  • parent_id Many2one → account.product.fiscal.classification.template
    comodel_name='account.product.fiscal.classification.template' domain="[('type', 'in', ('view', 'normal'))]" ondelete='cascade' string='Parent Fiscal Classification'
  • purchase_tax_definition_line One2many → l10n_br_tax.definition.purchase.template
    comodel_name='l10n_br_tax.definition.purchase.template' inverse_name='fiscal_classification_id' string='Taxes Definitions'
  • purchase_tax_ids Many2many → account.tax.template
    comodel_name='account.tax.template' compute='_compute_taxes' string='Purchase Taxes'
  • sale_tax_definition_line One2many → l10n_br_tax.definition.sale.template
    comodel_name='l10n_br_tax.definition.sale.template' inverse_name='fiscal_classification_id' string='Taxes Definitions'
  • sale_tax_ids Many2many → account.tax.template
    comodel_name='account.tax.template' compute='_compute_taxes' string='Sale Taxes'
  • tax_estimate_ids One2many → l10n_br_tax.estimate.template
    comodel_name='l10n_br_tax.estimate.template' inverse_name='fiscal_classification_id' string='Impostos Estimados'
  • type Selection
    default='normal' selection=[('view', 'Visão'), ('normal', 'Normal'), ('extension', 'Extensão')] string='Tipo'
Public methods (0)

No public methods.

New fields (2)
  • icms_base_type Selection
    default='0' required=True selection=[('0', 'Margem Valor Agregado (%)'), ('1', 'Pauta (valor)'), ('2', 'Preço Tabelado Máximo (valor)'), ('3', 'Valor da Operação')] string='Tipo Base ICMS'
  • icms_st_base_type Selection
    default='4' required=True selection=[('0', 'Preço tabelado ou máximo sugerido'), ('1', 'Lista Negativa (valor)'), ('2', 'Lista Positiva (valor)'), ('3', 'Lista Neutra (valor)'), ('4', 'Margem Valor Agregado (%)'), ('5', 'Pauta (valor)')] string='Tipo Base ICMS ST'
Public methods (1)
  • compute_all(self, price_unit, currency=None, quantity=1.0, product=None, partner=None, fiscal_position=False, insurance_value=0.0, freight_value=0.0, other_costs_value=0.0, base_tax=0.0)
    @api.multi
    Returns all information required to apply taxes (in self + their children in case of a tax goup). We consider the sequence of the parent for group of taxes. Eg. considering letters as taxes and alphabetic order as sequence : [G, B([A, D, F]), E, C] will be computed as [A, D, F, C, E, G] RETURN: { 'total_excluded': 0.0, # Total without taxes 'total_included': 0.0, # Total with taxes 'total_tax_discount': 0.0 # Total tax out of price 'taxes': [{ # One dict for each tax in self # and their children 'id': int, 'name': str, 'amount': float, 'sequence': int, 'account_id': int, 'refund_account_id': int, 'analytic': boolean, }] }

New fields (2)
  • icms_base_type Selection
    default='0' required=True selection=[('0', 'Margem Valor Agregado (%)'), ('1', 'Pauta (valor)'), ('2', 'Preço Tabelado Máximo (valor)'), ('3', 'Valor da Operação')] string='Tipo Base ICMS'
  • icms_st_base_type Selection
    default='4' required=True selection=[('0', 'Preço tabelado ou máximo sugerido'), ('1', 'Lista Negativa (valor)'), ('2', 'Lista Positiva (valor)'), ('3', 'Lista Neutra (valor)'), ('4', 'Margem Valor Agregado (%)'), ('5', 'Pauta (valor)')] string='Tipo Base ICMS ST'
Public methods (0)

No public methods.

New fields (1)
  • fiscal_type Selection
    default=PRODUCT_FISCAL_TYPE_DEFAULT required=True selection=PRODUCT_FISCAL_TYPE string='Tipo Fiscal'
Public methods (0)

No public methods.

New fields (1)
  • fiscal_type Selection
    default=PRODUCT_FISCAL_TYPE_DEFAULT required=True selection=PRODUCT_FISCAL_TYPE string='Tipo Fiscal'
Public methods (0)

No public methods.

New fields (1)
  • ind_ie_dest Selection
    default=NFE_IND_IE_DEST_DEFAULT required=True selection=NFE_IND_IE_DEST string='Contribuinte do ICMS'
Public methods (0)

No public methods.

New fields (4)
  • code Char
    size=9 string='Código'
  • item Char
    size=4 string='Item'
  • name Char
    string='Nome'
  • segment Char
    size=32 string='Segmento'
Public methods (2)
  • name_get(self)
    @api.multi
  • name_search(self, name, args=None, operator='ilike', limit=100)
    @api.model

New fields (9)
  • child_ids One2many → l10n_br_account_product.cfop
    comodel_name='l10n_br_account_product.cfop' inverse_name='parent_id' string='CFOP Filhos'
  • code Char
    required=True size=4 string='Código'
  • description Text
    string='Descrição'
  • id_dest Selection
    help='Identificador de local de destino da operação.' selection=[('1', 'Operação interna'), ('2', 'Operação interestadual'), ('3', 'Operação com exterior')] string='Local de destino da operação'
  • internal_type Selection
    default='normal' required=True selection=[('view', 'Visualização'), ('normal', 'Normal')] string='Tipo Interno'
  • name Char
    required=True size=256 string='Nome'
  • parent_id Many2one → l10n_br_account_product.cfop
    comodel_name='l10n_br_account_product.cfop' string='CFOP Pai'
  • small_name Char
    required=True size=32 string='Nome Reduzido'
  • type Selection
    required=True selection=TYPE string='Tipo'
Public methods (2)
  • name_get(self)
    @api.multi
  • name_search(self, name, args=None, operator='ilike', limit=100)
    @api.model

New fields (3)
  • code Char
    required=True string='Código'
  • name Char
    required=True string='Nome'
  • tax_group_id Many2one → account.tax.group
    comodel_name='account.tax.group' required=True string='Grupo de Impostos'
Public methods (2)
  • name_get(self)
    @api.multi
  • name_search(self, name, args=None, operator='ilike', limit=100)
    @api.model

New fields (12)
  • access_key Char
    size=44 string='Chave de Acesso'
  • cnpj_cpf Char
    size=18 string='CNPJ/CPF'
  • cpfcnpj_type Selection
    default='cnpj' selection=[('cpf', 'CPF'), ('cnpj', 'CNPJ')] string='Tipo Doc.'
  • date Date
    string='Data'
  • document_type Selection
    required=True selection=[('nf', 'NF'), ('nfe', 'NF-e'), ('cte', 'CT-e'), ('nfrural', 'NF Produtor'), ('cf', 'Cupom Fiscal')] string='Tipo Documento'
  • fiscal_document_id Many2one → l10n_br_account.fiscal.document
    comodel_name='l10n_br_account.fiscal.document' string='Documento'
  • inscr_est Char
    size=16 string='Inscr. Estadual/RG'
  • invoice_id Many2one → account.invoice
    comodel_name='account.invoice' index=True ondelete='cascade' string='Documento Fiscal'
  • invoice_related_id Many2one → account.invoice
    comodel_name='account.invoice' index=True ondelete='cascade' string='Documento Fiscal'
  • number Char
    size=32 string='Número'
  • serie Char
    size=12 string='Série'
  • state_id Many2one → res.country.state
    comodel_name='res.country.state' domain="[('country_id.code', '=', 'BR')]" string='Estado'
Public methods (0)

No public methods.

New fields (9)
  • cUF Integer
    readonly=True string='Codigo Estado'
  • chNFe Char
    size=44 string='Chave de Acesso NFE'
  • nfe_environment Selection
    selection=[('1', 'Produção'), ('2', 'Homologação')] string='Ambiente'
  • procEventoNFe Text
    readonly=True sting='Processamento Evento NFE'
  • protNFe Text
    readonly=True string='Protocolo NFE'
  • retCancNFe Text
    readonly=True string='Cancelamento NFE'
  • state Selection
    default='init' index=True readonly=True selection=[('init', 'Init'), ('error', 'Error'), ('done', 'Done')] string='State'
  • version Text
    readonly=True string='Versão'
  • xMotivo Text
    readonly=True string='Motivo'
Public methods (1)
  • get_document_status(self)
    @api.multi

New fields (3)
  • active Boolean
    default=True string='Ativo'
  • code Char
    required=True size=2 string='Código'
  • name Char
    required=True size=256 string='Nome'
Public methods (0)

No public methods.

New fields (13)
  • afrmm_value Float
    default=0.0 digits=dp.get_precision('Account') string='Valor da AFRMM'
  • date_registration Date
    required=True string='Data de Registro'
  • date_release Date
    required=True string='Data de Liberação'
  • exporting_code Char
    required=True size=60 string='Código do Exportador'
  • invoice_line_id Many2one → account.invoice.line
    comodel_name='account.invoice.line' index=True ondelete='cascade' string='Linha de Documento Fiscal'
  • line_ids One2many → l10n_br_account_product.import.declaration.line
    comodel_name='l10n_br_account_product.import.declaration.line' inverse_name='import_declaration_id' string='Linhas da DI'
  • location Char
    required=True size=60 string='Local'
  • name Char
    required=True size=10 string='Número da DI'
  • state_id Many2one → res.country.state
    comodel_name='res.country.state' domain="[('country_id.code', '=', 'BR')]" string='Estado'
  • thirdparty_cnpj Char
    size=18 string='CNPJ'
  • thirdparty_state_id Many2one → res.country.state
    comodel_name='res.country.state' domain="[('country_id.code', '=', 'BR')]" string='Estado'
  • type_import Selection
    default='1' selection=[('1', '1 - Importação por conta própria'), ('2', '2 - Importação por conta e ordem'), ('3', '3 - Importação por encomenda')] string='Tipo de Importação'
  • type_transportation Selection
    selection=[('1', '1 - Marítima'), ('2', '2 - Fluvial'), ('3', '3 - Lacustre'), ('4', '4 - Aérea'), ('5', '5 - Postal'), ('6', '6 - Ferroviária'), ('7', '7 - Rodoviária'), ('8', '8 - Conduto / Rede Transmissão'), ('9', '9 - Meios Próprios'), ('10', '10 - Entrada / Saída ficta')] string='Transporte Internacional'
Public methods (0)

No public methods.

New fields (5)
  • amount_discount Float
    default=0.0 digits=dp.get_precision('Account') string='Valor'
  • import_declaration_id Many2one → l10n_br_account_product.import.declaration
    comodel_name='l10n_br_account_product.import.declaration' index=True ondelete='cascade' string='DI'
  • manufacturer_code Char
    required=True size=60 string='Código do Fabricante'
  • name Char
    required=True size=3 string='Adição'
  • sequence Integer
    default=1 required=True string='Sequência'
Public methods (0)

No public methods.

New fields (3)
  • amount_costs_value Float
    args: 'Outros Custos'
  • amount_freight_value Float
    args: 'Frete'
  • amount_insurance_value Float
    args: 'Seguro'
Public methods (1)
  • set_invoice_costs_ratio(self)
    @api.multi

New fields (5)
  • code Char
    required=True size=3 string='Código'
  • cst_group Selection
    required=True selection=[('imunidade', 'Imunidade'), ('suspensao', 'Suspensão'), ('isencao', 'Isenção'), ('reducao', 'Redução'), ('outros', 'Outros')] string='Grupo CST'
  • cst_in_id Many2one → l10n_br_account_product.cst
    comodel_name='l10n_br_account_product.cst' string='CST Entrada'
  • cst_out_id Many2one → l10n_br_account_product.cst
    comodel_name='l10n_br_account_product.cst' string='CST Saída'
  • name Text
    required=True string='Descrição Enquadramento Legal do IPI'
Public methods (0)

No public methods.

New fields (3)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> string='Company'
  • import_status_draft Boolean
    string='Importar NFs com status em rascunho'
  • nfe_export_result One2many → l10n_br_account_product.nfe_export_result
    comodel_name='l10n_br_account_product.nfe_export_result' inverse_name='wizard_id' string='NFe Export Result'
Public methods (0)

No public methods.

New fields (8)
  • export_folder Boolean
    default=_default_export_folder string='Salvar na Pasta de Exportação'
  • file Binary
    readonly=True args: 'Arquivo'
  • file_type Selection
    default=_default_file_type selection=[('xml', 'XML')] string='Tipo do Arquivo'
  • name Char
    size=255 string='Nome'
  • nfe_environment Selection
    default=_default_nfe_environment selection=[('1', 'Produção'), ('2', 'Homologação')] string='Ambiente'
  • nfe_export_result One2many → l10n_br_account_product.nfe_export_invoice_result
    comodel_name='l10n_br_account_product.nfe_export_invoice_result' inverse_name='wizard_id' string='NFe Export Result'
  • sign_xml Boolean
    default=_default_sign_xml string='Assinar XML'
  • state Selection
    default='init' readonly=True selection=[('init', 'init'), ('done', 'done')] string='state'
Public methods (1)
  • nfe_export(self)
    @api.multi

New fields (4)
  • document Char
    size=255 string='Documento'
  • message Char
    size=255 string='Mensagem'
  • status Selection
    selection=[('success', 'Sucesso'), ('error', 'Erro')] string='Status'
  • wizard_id Many2one → l10n_br_account_product.nfe_export_invoice
    comodel_name='l10n_br_account_product.nfe_export_invoice' ondelete='cascade' string='Wizard ID'
Public methods (0)

No public methods.

New fields (1)
  • wizard_id Many2one → l10n_br_account_product.nfe_export
    comodel_name='l10n_br_account_product.nfe_export' ondelete='cascade' string='Wizard ID'
Public methods (0)

No public methods.

New fields (1)
  • company_id Many2one → res.company
    comodel_name='res.company' string='Empresa'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • fiscal_classification_id Many2one → account.product.fiscal.classification
    comodel_name='account.product.fiscal.classification' string='Classificação Fiscal'
  • state_id Many2one → res.country.state
    comodel_name='res.country.state' string='Estado'
Public methods (0)

No public methods.

New fields (1)
  • fiscal_classification_id Many2one → account.product.fiscal.classification
    comodel_name='account.product.fiscal.classification' index=True string='Fiscal Classification'
Public methods (0)

No public methods.

New fields (11)
  • active Boolean
    default=True string='Ativo'
  • company_id Many2one → res.company
    comodel_name='res.company'
  • create_date Datetime
    readonly=True string='Data de Criação'
  • federal_taxes_import Float
    default=0.0 digits=dp.get_precision('Account') string='Impostos Federais Importado'
  • federal_taxes_national Float
    default=0.0 digits=dp.get_precision('Account') string='Impostos Federais Nacional'
  • key Char
    size=32 string='Chave'
  • municipal_taxes Float
    default=0.0 digits=dp.get_precision('Account') string='Impostos Municipais Nacional'
  • origin Char
    size=32 string='Fonte'
  • state_id Many2one → res.country.state
    comodel_name='res.country.state' required=True string='Estado'
  • state_taxes Float
    default=0.0 digits=dp.get_precision('Account') string='Impostos Estaduais Nacional'
  • version Char
    size=32 string='Versão'
Public methods (0)

No public methods.

New fields (1)
  • fiscal_classification_id Many2one → account.product.fiscal.classification.template
    comodel_name='account.product.fiscal.classification.template' index=True string='Fiscal Classification'
Public methods (0)

No public methods.

New fields (3)
  • date_end Date
    required=True string='Data Final'
  • date_start Date
    required=True string='Data Inicial'
  • rate Float
    required=True string='Percentual Interestadual de Rateio'
Public methods (0)

No public methods.

New fields (7)
  • cest_id Many2one → l10n_br_account_product.cest
    comodel_name='l10n_br_account_product.cest' string='CEST'
  • estd_import_taxes_perct Float
    related='fiscal_classification_id.estd_import_taxes_perct'
  • estd_national_taxes_perct Float
    related='fiscal_classification_id.estd_national_taxes_perct'
  • fci Char
    size=36 string='FCI do Produto'
  • fiscal_type Selection
    default=PRODUCT_FISCAL_TYPE_DEFAULT selection_add=PRODUCT_FISCAL_TYPE
  • origin Selection
    default='0' selection=PRODUCT_ORIGIN string='Origem'
  • service_type_id Many2one → l10n_br_account.service.type
    comodel_name='l10n_br_account.service.type' string='Tipo de Serviço'
Public methods (0)

No public methods.

New fields (22)
  • accountant_cnpj_cpf Char
    size=18 string='CNPJ/CPF Contador'
  • document_serie_product_ids Many2many → l10n_br_account.document.serie
    column1='company_id' column2='document_serie_product_id' comodel_name='l10n_br_account.document.serie' domain="[('company_id', '=', active_id),('active','=',True),('fiscal_type','=','product')]" relation='res_company_l10n_br_account_document_serie' string='Série de Documentos Fiscais'
  • export_folder Boolean
    string='Salvar na Pasta de Exportação'
  • file_type Selection
    default='xml' selection=[('xml', 'XML')] string='Tipo do Arquivo Padrão'
  • freight_tax_id Many2one → account.tax
    comodel_name='account.tax' domain=[('domain', '=', 'freight')] string='Freight Sale Tax'
  • in_invoice_fiscal_category_id Many2one → l10n_br_account.fiscal.category
    comodel_name='l10n_br_account.fiscal.category' domain="[('journal_type','=','purchase'), ('state', '=', 'approved'), ('fiscal_type','=','product'), ('type','=','input')]" string='Categoria Fiscal de Produto Padrão de Entrada'
  • in_refund_fiscal_category_id Many2one → l10n_br_account.fiscal.category
    comodel_name='l10n_br_account.fiscal.category' domain="[('journal_type','=','purchase_refund'),('state', '=', 'approved'), ('fiscal_type','=','product'),('type','=','output')]" string='Devolução Entrada'
  • insurance_tax_id Many2one → account.tax
    comodel_name='account.tax' domain=[('domain', '=', 'insurance')] string='Insurance Sale Tax'
  • nfe_a1_file Binary
    string='Arquivo NFe A1'
  • nfe_a1_password Char
    size=64 string='Senha NFe A1'
  • nfe_backup_folder Char
    size=254 string='Pasta de Backup'
  • nfe_environment Selection
    default='2' selection=[('1', 'Produção'), ('2', 'Homologação')] string='Ambiente Padrão'
  • nfe_export_folder Char
    size=254 string='Pasta de Exportação'
  • nfe_import_folder Char
    size=254 string='Pasta de Importação'
  • nfe_version Selection
    default='4.00' required=True selection=[('1.10', '1.10'), ('2.00', '2.00'), ('3.10', '3.10'), ('4.00', '4.00')] string='Versão NFe'
  • other_costs_tax_id Many2one → account.tax
    comodel_name='account.tax' domain=[('domain', '=', 'other_costs')] string='Other Costs Sale Tax'
  • out_invoice_fiscal_category_id Many2one → l10n_br_account.fiscal.category
    comodel_name='l10n_br_account.fiscal.category' domain="[('journal_type','=','sale'), ('state', '=', 'approved'), ('fiscal_type','=','product'), ('type','=','output')]" string='Categoria Fiscal de Produto Padrão de Saida'
  • out_refund_fiscal_category_id Many2one → l10n_br_account.fiscal.category
    comodel_name='l10n_br_account.fiscal.category' domain="[('journal_type','=','sale_refund'),('state', '=', 'approved'), ('fiscal_type','=','product'), ('type','=','input')]" string='Devolução Saida'
  • product_invoice_id Many2one → l10n_br_account.fiscal.document
    comodel_name='l10n_br_account.fiscal.document' string='Documento Fiscal'
  • product_tax_definition_line One2many → l10n_br_tax.definition.company.product
    comodel_name='l10n_br_tax.definition.company.product' inverse_name='company_id' string='Taxes Definitions'
  • product_tax_ids Many2many → account.tax
    comodel_name='account.tax' compute='_compute_taxes' store=True string='Product Taxes'
  • sign_xml Boolean
    string='Assinar XML'
Public methods (0)

No public methods.

New fields (2)
  • product_tax_definition_line One2many → l10n_br_tax.definition.state.product
    comodel_name='l10n_br_tax.definition.state.product' inverse_name='state_id' string='Taxes Definitions'
  • product_tax_ids Many2many → account.tax
    comodel_name='account.tax' compute='_compute_taxes' store=True string='Product Taxes'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • action_create(self)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • execute(self)
    This function is called at the confirmation of the wizard to generate the COA from the templates. It will read all the provided information to create the accounts, the banks, the journals, the taxes, the tax codes, the accounting properties... accordingly for the chosen company. This is override in Brazilian Localization to copy CFOP from fiscal positions template to fiscal positions. :Parameters: - 'cr': Database cursor. - 'uid': Current user. - 'ids': orm_memory id used to read all data. - 'context': Context.
REPOSITORY
REPOSITORYOCA/l10n-brazil
GIT
GIThttps://github.com/OCA/l10n-brazil.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-brazil/tree/9.0/l10n_br_account_product
VERSION
VERSION 3.0.0
CATEGORY
CATEGORYLocalisation
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSrenato
WEBSITE
WEBSITEhttp://odoo-brasil.org
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:19
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-fiscal-rule:
    - account_fiscal_position_rule
    - account_product_fiscal_classification
OCA/l10n-brazil:
    - l10n_br_data_account
    - l10n_br_account
    - l10n_br_base
OCA/server-tools:
    - web_context_tunnel
odoo/odoo:
    - l10n_br
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - report
    - analytic
    - web_tip
    - web_planner
    - account_cancel
    - l10n_generic_coa
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES num2words
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (49)
XML IDNameModelTypeStatus
l10n_br_account_product_cfop_form l10n_br_account_product.cfop.name l10n_br_account_product.cfop form New
l10n_br_account_product_cfop_search l10n_br_account_product.cfop.search l10n_br_account_product.cfop search New
l10n_br_account_product_cfop_structure l10n_br_account_product.cfop.structure l10n_br_account_product.cfop tree New
l10n_br_account_product_cfop_tree l10n_br_account_product.cfop.tree l10n_br_account_product.cfop tree New
l10n_br_account_product_document_status_sefaz_form Consultar Documento l10n_br_account_product.document_status_sefaz form New
l10n_br_account_product_fiscal_category_form l10n_br_account_product.fiscal.category l10n_br_account.fiscal.category field Inherits l10n_br_account.view_l10n_br_account_fiscal_category_form
l10n_br_account_product_fiscal_classification_form l10n_br_account_product.fiscal_classification_form account.product.fiscal.classification field Inherits account_product_fiscal_classification.view_account_product_fiscal_classification_form
l10n_br_account_product_import_declaration_form l10n_br_account_product.import.declaration.form l10n_br_account_product.import.declaration form New
l10n_br_account_product_invoice_form l10n_br_account_product.invoice.form account.invoice xpath Inherits account.invoice_form
l10n_br_account_product_invoice_supplier_form l10n_br_account.invoice.supplier.form account.invoice xpath Inherits account.invoice_supplier_form
l10n_br_account_product_ipi_guideline_form_view l10n_br_account_product.ipi_guideline.form.view l10n_br_account_product.ipi_guideline form New
l10n_br_account_product_ipi_guideline_tree_view l10n_br_account_product.ipi_guideline.tree.view l10n_br_account_product.ipi_guideline tree New
l10n_br_account_product_nfe_export_form l10n_br_account_product.nfe_export.form l10n_br_account_product.nfe_export field Inherits l10n_br_account_product_nfe_export_invoice_form
l10n_br_account_product_nfe_export_invoice_form Exportar Nota Fiscal l10n_br_account_product.nfe_export_invoice form New
l10n_br_account_product_nfe_form l10n_br_account_product.nfe.form account.invoice form New
l10n_br_account_product_nfe_line_form l10n_br_account_product.nfe.line.form account.invoice.line form New
l10n_br_account_product_nfe_search l10n_br_account_product.nfe.search account.invoice search New
l10n_br_account_product_nfe_tree l10n_br_account_product.nfe.tree account.invoice tree New
l10n_br_account_product_partner_fiscal_type_form l10n_br_account_product.partner.fiscal.type l10n_br_account.partner.fiscal.type field Inherits l10n_br_account.view_l10n_br_account_partner_fiscal_type_form
l10n_br_account_product_payment_term_form l10n_br_account_product.payment.term.form account.payment.term field Inherits account.view_payment_term_form
l10n_br_account_product_position_form l10n_br_account_product.fiscal.position.form account.fiscal.position field Inherits l10n_br_account.l10n_br_account_position_form
l10n_br_account_product_position_template_form l10n_br_account_product.fiscal.position.template.form account.fiscal.position.template field Inherits l10n_br_account.l10n_br_account_position_template_form
l10n_br_account_product_tax_form l10n_br_account_product.tax.form account.tax notebook Inherits account.view_tax_form
l10n_br_account_product_tax_template_form l10n_br_account_product.tax.template.form account.tax.template notebook Inherits account.view_account_tax_template_form
l10n_br_account_product_template_form l10n_br_account_product.product.template.form product.template field Inherits l10n_br_account.l10n_br_account_product_template_form_view
l10n_br_account_product_view_account_invoice_report_search l10n_br_account.invoice.report.search account.invoice.report filter Inherits account.view_account_invoice_report_search
l10n_br_fiscal_classification_template_normal_form_view_form fiscal_classification_template_normal_form_view_form account.product.fiscal.classification.template field Inherits account_product_fiscal_classification.view_account_product_fiscal_classification_template_form
l10n_br_fiscal_classification_template_normal_form_view_tree fiscal_classification_normal_form_view_tree account.product.fiscal.classification.template tree New
l10n_br_tax_definition_company_product_form l10n_br_tax.definition.company.product.form l10n_br_tax.definition.company.product form New
l10n_br_tax_definition_company_product_tree l10n_br_tax.definition.company.product.tree l10n_br_tax.definition.company.product tree New
l10n_br_tax_definition_purchase_form l10n_br_tax.definition.purchase.form l10n_br_tax.definition.purchase form New
l10n_br_tax_definition_purchase_template_form l10n_br_tax.definition.purchase.template.form l10n_br_tax.definition.purchase.template form New
l10n_br_tax_definition_purchase_template_tree l10n_br_tax.definition.purchase.template.tree l10n_br_tax.definition.purchase.template tree New
l10n_br_tax_definition_sale_template_tree l10n_br_tax.definition.sale.template.tree l10n_br_tax.definition.sale.template tree New
l10n_br_tax_definition_sale_tree l10n_br_tax.definition.sale.tree l10n_br_tax.definition.sale tree New
l10n_br_tax_definition_state_product_form l10n_br_tax.definition.state.product.form l10n_br_tax.definition.state.product form New
l10n_br_tax_definition_state_product_tree l10n_br_tax.definition.state.product.tree l10n_br_tax.definition.state.product tree New
l10n_br_tax_definition_template_sale_form l10n_br_tax.definition.sale.template.form l10n_br_tax.definition.sale.template form New
l10n_br_tax_icms_partition_form_view l10n_br_tax.icms_partition.form.view l10n_br_tax.icms_partition form New
l10n_br_tax_icms_partition_tree_view l10n_br_tax.icms_partition.tree.view l10n_br_tax.icms_partition tree New
view_account_invoice_refund_br view_account_invoice_refund_br account.invoice.refund field Inherits account.view_account_invoice_refund
view_l10n_br_account_company_form l10n_br_account_product.res.company.form res.company page Inherits l10n_br_account.view_l10n_br_account_company_form
view_l10n_br_account_product_costs_ratio_form Rateio de custos l10n_br_account_product.invoice.costs_ratio form New
view_l10n_br_account_service_type_form l10n_br_account.service.type.form l10n_br_account.service.type form New
view_l10n_br_account_service_type_structure l10n_br_account.service.type.structure l10n_br_account.service.type tree New
view_l10n_br_account_service_type_tree l10n_br_account.service.type.tree l10n_br_account.service.type tree New
view_l10n_br_country_state_icms_table_form res.country.state res.country.state field Inherits l10n_br_base.view_l10n_br_country_state_form
view_l10n_br_taxdefinition_classification_sale_form l10n_br_tax.definition.sale.form l10n_br_tax.definition.sale form New
view_l10n_br_taxdefinition_purchase_tree l10n_br_tax.definition.purchase.tree l10n_br_tax.definition.purchase tree New
Models touched (45)

New fields (2)
  • cfop_id Many2one → l10n_br_account_product.cfop
    args: 'l10n_br_account_product.cfop', 'CFOP'
  • ind_final Selection
    default='0' help='Indica operação com Consumidor final.' readonly=True required=False states={'draft': [('readonly', False)]} args: [('0', 'Não'), ('1', 'Sim')], 'Operação com Consumidor final'
Public methods (3)
  • map_tax(self, cr, uid, fposition_id, taxes, context=None)
    @api.v7
  • map_tax(self, taxes)
    @api.v8
  • map_tax_code(self, product_id, taxes=None)
    @api.v8

New fields (5)
  • cest_id Many2one → l10n_br_account_product.cest
    args: 'l10n_br_account_product.cest', 'CEST'
  • fiscal_classification_id Many2one → account.product.fiscal.classification
    args: 'account.product.fiscal.classification', 'NCM'
  • origin Selection
    args: PRODUCT_ORIGIN, 'Origem'
  • tax_icms_relief_id Many2one → l10n_br_account_product.icms_relief
    string='Desoneração ICMS' args: 'l10n_br_account_product.icms_relief'
  • tax_ipi_guideline_id Many2one → l10n_br_account_product.ipi_guideline
    string='Enquadramento IPI' args: 'l10n_br_account_product.ipi_guideline'
Public methods (0)

No public methods.

New fields (5)
  • cest_id Many2one → l10n_br_account_product.cest
    args: 'l10n_br_account_product.cest', 'CEST'
  • fiscal_classification_id Many2one → account.product.fiscal.classification.template
    args: 'account.product.fiscal.classification.template', 'NCM'
  • origin Selection
    args: PRODUCT_ORIGIN, 'Origem'
  • tax_icms_relief_id Many2one → l10n_br_account_product.icms_relief
    string='Desoneração ICMS' args: 'l10n_br_account_product.icms_relief'
  • tax_ipi_guideline_id Many2one → l10n_br_account_product.ipi_guideline
    string='Enquadramento IPI' args: 'l10n_br_account_product.ipi_guideline'
Public methods (0)

No public methods.

New fields (2)
  • cfop_id Many2one → l10n_br_account_product.cfop
    args: 'l10n_br_account_product.cfop', 'CFOP'
  • ind_final Selection
    default='0' help='Indica operação com Consumidor final.' readonly=True required=False states={'draft': [('readonly', False)]} args: [('0', 'Não'), ('1', 'Sim')], 'Operação com Consumidor final'
Public methods (0)

No public methods.

New fields (62)
  • amount_costs Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Outros Custos'
  • amount_discount Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Desconto'
  • amount_freight Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Valor do Frete'
  • amount_gross Float
    compute='_compute_amount' digits=dp.get_precision('Account') readonly=True store=True string='Vlr. Bruto'
  • amount_insurance Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Valor do Seguro'
  • amount_tax Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Tax'
  • amount_total Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Total'
  • amount_total_taxes Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Total de Tributos'
  • amount_untaxed Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Untaxed'
  • brand_of_packages Char
    readonly=True size=60 states={'draft': [('readonly', False)]} args: 'Brand'
  • carrier_name Char
    size=32 args: 'Nome Transportadora'
  • cfop_ids Many2many → l10n_br_account_product.cfop
    compute='_compute_cfops' copy=False string='CFOP' args: 'l10n_br_account_product.cfop'
  • cofins_base Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Base COFINS'
  • cofins_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') readonly=True store=True string='Valor COFINS'
  • date_hour_invoice Datetime
    help='Deixe em branco para usar a data atual' readonly=True select=True states={'draft': [('readonly', False)]} args: 'Data e hora de emissão'
  • date_in_out Datetime
    copy=False help='Deixe em branco para usar a data atual' readonly=True select=True states={'draft': [('readonly', False)]} args: 'Data de Entrada/Saida'
  • document_serie_id Many2one → l10n_br_account.document.serie
    default=_default_fiscal_document_serie domain="[('fiscal_document_id', '=', fiscal_document_id), ('company_id','=',company_id)]" readonly=True states={'draft': [('readonly', False)]} args: 'l10n_br_account.document.serie', 'Série'
  • expedition_location Char
    size=32 args: 'Local de Despacho'
  • fiscal_category_id Many2one → l10n_br_account.fiscal.category
    default=_default_fiscal_category readonly=True states={'draft': [('readonly', False)]} args: 'l10n_br_account.fiscal.category', 'Categoria Fiscal'
  • fiscal_document_electronic Boolean
    related='fiscal_document_id.electronic'
  • fiscal_document_id Many2one → l10n_br_account.fiscal.document
    default=_default_fiscal_document readonly=True states={'draft': [('readonly', False)]} args: 'l10n_br_account.fiscal.document', 'Documento'
  • fiscal_document_related_ids One2many → l10n_br_account_product.document.related
    readonly=True states={'draft': [('readonly', False)]} args: 'l10n_br_account_product.document.related', 'invoice_id', 'Fiscal Document Related'
  • fiscal_type Selection
    default=PRODUCT_FISCAL_TYPE_DEFAULT args: PRODUCT_FISCAL_TYPE, 'Tipo Fiscal'
  • icms_base Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Base ICMS'
  • icms_base_other Float
    compute='_compute_amount' digits=dp.get_precision('Account') readonly=True store=True string='Base ICMS Outras'
  • icms_dest_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') readonly=True store=True string='Valor total do ICMS Interestadual para a UF de destino'
  • icms_fcp_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') readonly=True store=True string='Valor total do Fundo de Combate à Pobreza (FCP)'
  • icms_origin_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') readonly=True store=True string='Valor total do ICMS Interestadual para a UF do remetente'
  • icms_st_base Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Base ICMS ST'
  • icms_st_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Valor ICMS ST'
  • icms_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Valor ICMS'
  • ii_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') readonly=True store=True string='Valor II'
  • ind_final Selection
    help='Indica operação com Consumidor final.' readonly=True related='fiscal_position.ind_final' required=False states={'draft': [('readonly', False)]} args: [('0', 'Não'), ('1', 'Sim')], 'Consumidor final'
  • ind_pres Selection
    default='0' help='Indicador de presença do comprador no\nestabelecimento comercial no momento\nda operação.' readonly=True required=False states={'draft': [('readonly', False)]} args: [('0', 'Não se aplica'), ('1', 'Operação presencial'), ('2', 'Operação não presencial, pela Internet'), ('3', 'Operação não presencial, Teleatendimento'), ('4', 'NFC-e em operação com entrega em domicílio'), ('9', 'Operação não presencial, outros')], 'Tipo de operação'
  • internal_number Char
    help='Unique number of the invoice, computed\n automatically when the invoice is created.' readonly=True size=32 states={'draft': [('readonly', False)]} args: 'Invoice Number'
  • ipi_base Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Base IPI'
  • ipi_base_other Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Base IPI Outras'
  • ipi_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Valor IPI'
  • issuer Selection
    default='0' readonly=True states={'draft': [('readonly', False)]} args: [('0', 'Emissão própria'), ('1', 'Terceiros')], 'Emitente'
  • kind_of_packages Char
    readonly=True size=60 states={'draft': [('readonly', False)]} args: 'Espécie'
  • nfe_access_key Char
    copy=False readonly=True size=44 states={'draft': [('readonly', False)]} args: 'Chave de Acesso NFE'
  • nfe_date Datetime
    copy=False readonly=True args: 'Data do Status NFE'
  • nfe_export_date Datetime
    readonly=True args: 'Exportação NFE'
  • nfe_protocol_number Char
    copy=False readonly=True size=15 states={'draft': [('readonly', False)]} args: 'Protocolo'
  • nfe_purpose Selection
    default=_default_nfe_purpose readonly=True states={'draft': [('readonly', False)]} args: [('1', 'Normal'), ('2', 'Complementar'), ('3', 'Ajuste'), ('4', 'Devolução de Mercadoria')], 'Finalidade da Emissão'
  • nfe_status Char
    copy=False readonly=True size=44 args: 'Status na Sefaz'
  • nfe_version Selection
    default=_default_nfe_version readonly=True states={'draft': [('readonly', False)]} args: [('1.10', '1.10'), ('2.00', '2.00'), ('3.10', '3.10')], 'Versão NFe'
  • notation_of_packages Char
    readonly=True size=60 states={'draft': [('readonly', False)]} args: 'Numeração'
  • number_of_packages Integer
    readonly=True states={'draft': [('readonly', False)]} args: 'Volume'
  • partner_shipping_id Many2one → res.partner
    help='Delivery address for current sales order.' readonly=True required=True states={'draft': [('readonly', False)]} args: 'res.partner', 'Delivery Address'
  • partner_shipping_id Many2one → res.partner
    help='Shipping address for current sales order.' readonly=True states={'draft': [('readonly', False)]} args: 'res.partner', 'Endereço de Entrega'
  • pis_base Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Base PIS'
  • pis_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Valor PIS'
  • shipping_location Char
    size=32 args: 'Local de Embarque'
  • shipping_state_id Many2one → res.country.state
    args: 'res.country.state', 'Estado de Embarque'
  • type Selection
    states={'draft': [('readonly', False)]}
  • vehicle_l10n_br_city_id Many2one → l10n_br_base.city
    domain="[('state_id', '=', vehicle_state_id)]" args: 'l10n_br_base.city', 'Município'
  • vehicle_plate Char
    size=7 args: 'Placa do Veículo'
  • vehicle_state_id Many2one → res.country.state
    args: 'res.country.state', 'UF da Placa'
  • vendor_serie Char
    help='Série do número da Nota Fiscal do Fornecedor' readonly=True size=12 states={'draft': [('readonly', False)]} args: 'Série NF Entrada'
  • weight Float
    help='The gross weight in Kg.' readonly=True states={'draft': [('readonly', False)]} string='Gross weight'
  • weight_net Float
    help='The net weight in Kg.' readonly=True states={'draft': [('readonly', False)]} args: 'Net weight'
Public methods (10)
  • action_cancel_draft(self)
    @api.multi
  • action_date_assign(self)
    @api.multi
  • action_number(self)
    @api.multi
  • button_reset_taxes(self)
    @api.multi
  • fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False)
    @api.model
  • nfe_check(self, cr, uid, ids, context=None)
  • onchange_fiscal(self)
    @api.onchange('fiscal_category_id', 'fiscal_position')
  • onchange_fiscal_document_id(self)
    @api.onchange('fiscal_document_id')
  • onchange_type(self)
    @api.onchange('type')
  • open_fiscal_document(self)
    @api.multi
    return action to open NFe form

New fields (85)
  • cest_id Many2one → l10n_br_account_product.cest
    comodel_name='l10n_br_account_product.cest' string='CEST'
  • cfop_id Many2one → l10n_br_account_product.cfop
    args: 'l10n_br_account_product.cfop', 'CFOP'
  • code Char
    size=60 args: 'Código do Produto'
  • cofins_base Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base COFINS'
  • cofins_base_other Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base COFINS Outras'
  • cofins_cst_id Many2one → account.tax.code
    domain=[('domain', '=', 'cofins')] args: 'account.tax.code', 'CST PIS'
  • cofins_manual Boolean
    default=False args: 'COFINS Manual?'
  • cofins_percent Float
    default=0.0 digits=dp.get_precision('Discount') required=True args: 'Perc COFINS'
  • cofins_st_base Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base COFINS ST'
  • cofins_st_percent Float
    default=0.0 digits=dp.get_precision('Discount') required=True args: 'Perc COFINS ST'
  • cofins_st_type Selection
    default='percent' required=True args: [('percent', 'Percentual'), ('quantity', 'Em Valor')], 'Tipo do COFINS ST'
  • cofins_st_value Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Valor COFINS ST'
  • cofins_type Selection
    default='percent' required=True args: [('percent', 'Percentual'), ('quantity', 'Em Valor')], 'Tipo do COFINS'
  • cofins_value Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Valor COFINS'
  • date_invoice Datetime
    help='Keep empty to use the current date' readonly=True select=True states={'draft': [('readonly', False)]} args: 'Invoice Date'
  • discount_value Float
    compute='_compute_price' digits=dp.get_precision('Account') store=True string='Vlr. desconto'
  • fci Char
    size=36 args: 'FCI do Produto'
  • fiscal_category_id Many2one → l10n_br_account.fiscal.category
    args: 'l10n_br_account.fiscal.category', 'Categoria Fiscal'
  • fiscal_classification_id Many2one → account.product.fiscal.classification
    args: 'account.product.fiscal.classification', 'Classificação Fiscal'
  • fiscal_comment Text
    args: 'Observação Fiscal'
  • fiscal_position Many2one → account.fiscal.position
    args: 'account.fiscal.position', 'Posição Fiscal'
  • freight_value Float
    default=0.0 digits=dp.get_precision('Account') args: 'Frete'
  • icms_base Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base ICMS'
  • icms_base_other Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base ICMS Outras'
  • icms_base_type Selection
    default='0' required=True args: [('0', 'Margem Valor Agregado (%)'), ('1', 'Pauta (valor)'), ('2', 'Preço Tabelado Máximo (valor)'), ('3', 'Valor da Operação')], 'Tipo Base ICMS'
  • icms_cst_id Many2one → account.tax.code
    domain=[('domain', '=', 'icms')] args: 'account.tax.code', 'CST ICMS'
  • icms_dest_base Float
    default=0.0 digits=dp.get_precision('Account') string='Valor da BC do ICMS na UF de destino'
  • icms_dest_percent Float
    default=0.0 digits=dp.get_precision('Account') string='Alíquota interestadual das UF envolvidas'
  • icms_dest_value Float
    default=0.0 digits=dp.get_precision('Account') string='Valor do ICMS Interestadual para a UF de destino'
  • icms_fcp_percent Float
    default=0.0 digits=dp.get_precision('Account') string='% Fundo de Combate à Pobreza (FCP)'
  • icms_fcp_value Float
    default=0.0 digits=dp.get_precision('Account') string='Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP) da UF de destino'
  • icms_manual Boolean
    default=False args: 'ICMS Manual?'
  • icms_origin Selection
    default='0' args: PRODUCT_ORIGIN, 'Origem'
  • icms_origin_percent Float
    default=0.0 digits=dp.get_precision('Account') string='Alíquota interna da UF de destino'
  • icms_origin_value Float
    default=0.0 digits=dp.get_precision('Account') string='Valor do ICMS Interno para a UF do remetente'
  • icms_part_percent Float
    default=0.0 digits=dp.get_precision('Account') string='Percentual provisório de partilha do ICMS Interestadual'
  • icms_percent Float
    default=0.0 digits=dp.get_precision('Discount') args: 'Perc ICMS'
  • icms_percent_reduction Float
    default=0.0 digits=dp.get_precision('Discount') args: 'Perc Redução de Base ICMS'
  • icms_relief_id Many2one → l10n_br_account_product.icms_relief
    string='Desoneração ICMS' args: 'l10n_br_account_product.icms_relief'
  • icms_st_base Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base ICMS ST'
  • icms_st_base_other Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base ICMS ST Outras'
  • icms_st_base_type Selection
    default='4' required=True args: [('0', 'Preço tabelado ou máximo sugerido'), ('1', 'Lista Negativa (valor)'), ('2', 'Lista Positiva (valor)'), ('3', 'Lista Neutra (valor)'), ('4', 'Margem Valor Agregado (%)'), ('5', 'Pauta (valor)')], 'Tipo Base ICMS ST'
  • icms_st_mva Float
    default=0.0 digits=dp.get_precision('Discount') args: 'MVA Ajustado ICMS ST'
  • icms_st_percent Float
    default=0.0 digits=dp.get_precision('Discount') args: 'Percentual ICMS ST'
  • icms_st_percent_reduction Float
    default=0.0 digits=dp.get_precision('Discount') args: 'Perc Redução de Base ICMS ST'
  • icms_st_value Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Valor ICMS ST'
  • icms_value Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Valor ICMS'
  • ii_base Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base II'
  • ii_customhouse_charges Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Despesas Aduaneiras'
  • ii_iof Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Valor IOF'
  • ii_value Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Valor II'
  • import_declaration_ids One2many → l10n_br_account_product.import.declaration
    args: 'l10n_br_account_product.import.declaration', 'invoice_line_id', 'Declaração de Importação'
  • insurance_value Float
    default=0.0 digits=dp.get_precision('Account') args: 'Valor do Seguro'
  • ipi_base Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base IPI'
  • ipi_base_other Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base IPI Outras'
  • ipi_cst_id Many2one → account.tax.code
    domain=[('domain', '=', 'ipi')] args: 'account.tax.code', 'CST IPI'
  • ipi_guideline_id Many2one → l10n_br_account_product.ipi_guideline
    string='Enquadramento Legal IPI' args: 'l10n_br_account_product.ipi_guideline'
  • ipi_manual Boolean
    default=False args: 'IPI Manual?'
  • ipi_percent Float
    default=0.0 digits=dp.get_precision('Discount') required=True args: 'Perc IPI'
  • ipi_type Selection
    default='percent' required=True args: [('percent', 'Percentual'), ('quantity', 'Em Valor')], 'Tipo do IPI'
  • ipi_value Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Valor IPI'
  • issqn_base Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base ISSQN'
  • issqn_manual Boolean
    default=False args: 'ISSQN Manual?'
  • issqn_percent Float
    default=0.0 digits=dp.get_precision('Discount') required=True args: 'Perc ISSQN'
  • issqn_type Selection
    default='N' required=True args: [('N', 'Normal'), ('R', 'Retida'), ('S', 'Substituta'), ('I', 'Isenta')], 'Tipo do ISSQN'
  • issqn_value Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Valor ISSQN'
  • other_costs_value Float
    default=0.0 digits=dp.get_precision('Account') args: 'Outros Custos'
  • partner_order Char
    size=15 string='Código do Pedido (xPed)'
  • partner_order_line Char
    size=6 string='Item do Pedido (nItemPed)'
  • pis_base Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base PIS'
  • pis_base_other Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base PIS Outras'
  • pis_cst_id Many2one → account.tax.code
    domain=[('domain', '=', 'pis')] args: 'account.tax.code', 'CST PIS'
  • pis_manual Boolean
    default=False args: 'PIS Manual?'
  • pis_percent Float
    default=0.0 digits=dp.get_precision('Discount') required=True args: 'Perc PIS'
  • pis_st_base Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base PIS ST'
  • pis_st_percent Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Perc PIS ST'
  • pis_st_type Selection
    default='percent' required=True args: [('percent', 'Percentual'), ('quantity', 'Em Valor')], 'Tipo do PIS ST'
  • pis_st_value Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Valor PIS ST'
  • pis_type Selection
    default='percent' required=True args: [('percent', 'Percentual'), ('quantity', 'Em Valor')], 'Tipo do PIS'
  • pis_value Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Valor PIS'
  • price_gross Float
    compute='_compute_price' digits=dp.get_precision('Account') store=True string='Vlr. Bruto'
  • price_tax_discount Float
    compute='_compute_price' digits=dp.get_precision('Account') store=True string='Vlr. s/ Impostos'
  • product_type Selection
    default='product' required=True args: [('product', 'Produto'), ('service', 'Serviço')], 'Tipo do Produto'
  • service_type_id Many2one → l10n_br_account.service.type
    args: 'l10n_br_account.service.type', 'Tipo de Serviço'
  • total_taxes Float
    default=0.0 digits=dp.get_precision('Account') requeried=True string='Total de Tributos'
Public methods (13)
  • create(self, vals)
    @api.model
  • fields_view_get(self, cr, uid, view_id=None, view_type=False, context=None, toolbar=False, submenu=False)
  • onchange_fiscal(self)
    @api.onchange('fiscal_category_id', 'fiscal_position', 'invoice_line_tax_id', 'quantity', 'price_unit', 'discount', 'insurance_value', 'freight_value', 'other_costs_value')
  • onchange_tax_cofins(self, cofins_st_type, cofins_st_base, cofins_st_percent, cofins_st_value, price_unit, discount, insurance_value, freight_value, other_costs_value)
    @api.multi
  • onchange_tax_cofins_st(self, cofins_st_type, cofins_st_base, cofins_st_percent, cofins_st_value, price_unit, discount, insurance_value, freight_value, other_costs_value)
    @api.multi
  • onchange_tax_icms(self, icms_base_type, icms_base, icms_base_other, icms_value, icms_percent, icms_percent_reduction, icms_cst_id, price_unit, discount, quantity, partner_id, product_id, fiscal_position_id, insurance_value, freight_value, other_costs_value, invoice_line_tax_id)
    @api.multi
  • onchange_tax_icms_st(self, icms_st_base_type, icms_st_base, icms_st_percent, icms_st_percent_reduction, icms_st_mva, icms_st_base_other, price_unit, discount, insurance_value, freight_value, other_costs_value)
    @api.multi
  • onchange_tax_ipi(self, ipi_type, ipi_base, ipi_base_other, ipi_value, ipi_percent, ipi_cst_id, price_unit, discount, insurance_value, freight_value, other_costs_value)
    @api.multi
  • onchange_tax_pis(self, pis_type, pis_base, pis_base_other, pis_value, pis_percent, pis_cst_id, price_unit, discount, insurance_value, freight_value, other_costs_value)
    @api.multi
  • onchange_tax_pis_st(self, pis_st_type, pis_st_base, pis_st_percent, pis_st_value, price_unit, discount, insurance_value, freight_value, other_costs_value)
    @api.multi
  • product_id_change(self, product, uom_id, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, company_id=None)
    @api.multi
  • tax_exists(self, domain=None)
    @api.model
  • update_invoice_line_tax_id(self, tax_id, taxes, domain)
    @api.multi

New fields (1)
  • force_fiscal_category_id Many2one → l10n_br_account.fiscal.category
    domain="[('journal_type', '=', 'sale_refund'), ('fiscal_type', '=', 'product')]" args: 'l10n_br_account.fiscal.category', 'Forçar Categoria Fiscal'
Public methods (2)
  • compute_refund(self, mode='refund')
    @api.multi
  • fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False)

New fields (10)
  • cfop_id Many2one → l10n_br_account_product.cfop
    readonly=True args: 'l10n_br_account_product.cfop', 'CFOP'
  • cofins_value Float
    digits=dp.get_precision('Account') required=True args: 'Valor COFINS'
  • fiscal_type Selection
    args: PRODUCT_FISCAL_TYPE, 'Tipo Fiscal'
  • icms_st_value Float
    digits=dp.get_precision('Account') required=True args: 'Valor ICMS ST'
  • icms_value Float
    digits=dp.get_precision('Account') required=True args: 'Valor ICMS'
  • ii_value Float
    digits=dp.get_precision('Account') required=True args: 'Valor II'
  • ipi_value Float
    digits=dp.get_precision('Account') required=True args: 'Valor IPI'
  • issuer Selection
    readonly=True string='Emitente' args: [('0', 'Emissão própria'), ('1', 'Terceiros')]
  • pis_value Float
    digits=dp.get_precision('Account') required=True args: 'Valor PIS'
  • total_with_taxes Float
    digits=dp.get_precision('Account') required=True args: 'Total com Impostos'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • compute(self, invoice)
    @api.v8

New fields (1)
  • indPag Selection
    default='1' args: [('0', 'Pagamento à Vista'), ('1', 'Pagamento à Prazo'), ('2', 'Outros')], 'Indicador de Pagamento'
Public methods (0)

No public methods.

New fields (12)
  • child_ids One2many → account.product.fiscal.classification
    args: 'account.product.fiscal.classification', 'parent_id', 'Child Fiscal Classifications'
  • estd_import_taxes_perct Float
    compute='_compute_product_estimated_taxes_percent' store=True string='Impostos de Importação Estimados(%)'
  • estd_national_taxes_perct Float
    compute='_compute_product_estimated_taxes_percent' store=True string='Impostos Nacionais Estimados(%)'
  • inv_copy_note Boolean
    help='Copia a observação no documento fiscal' args: 'Copiar Observação'
  • note Text
    args: 'Observações'
  • parent_id Many2one → account.product.fiscal.classification
    domain="[('type', 'in', ('view', 'normal'))]" select=True args: 'account.product.fiscal.classification', 'Parent Fiscal Classification'
  • purchase_tax_definition_line One2many → l10n_br_tax.definition.purchase
    args: 'l10n_br_tax.definition.purchase', 'fiscal_classification_id', 'Taxes Definitions'
  • purchase_tax_ids Many2many → account.tax
    compute='_compute_taxes' store=True string='Purchase Taxes' args: 'account.tax'
  • sale_tax_definition_line One2many → l10n_br_tax.definition.sale
    args: 'l10n_br_tax.definition.sale', 'fiscal_classification_id', 'Taxes Definitions'
  • sale_tax_ids Many2many → account.tax
    compute='_compute_taxes' store=True string='Sale Taxes' args: 'account.tax'
  • tax_estimate_ids One2many → l10n_br_tax.estimate
    comodel_name='l10n_br_tax.estimate' inverse_name='fiscal_classification_id' readonly=True string='Impostos Estimados'
  • type Selection
    default='normal' args: [('view', 'Visão'), ('normal', 'Normal'), ('extension', 'Extensão')], 'Tipo'
Public methods (2)
  • get_ibpt(self)
    @api.multi
  • update_due_ncm(self)
    @api.model

New fields (10)
  • child_ids One2many → account.product.fiscal.classification.template
    string='Child Fiscal Classifications' args: 'account.product.fiscal.classification.template', 'parent_id'
  • inv_copy_note Boolean
    help='Copia a observação no documento fiscal' args: 'Copiar Observação'
  • note Text
    args: 'Observações'
  • parent_id Many2one → account.product.fiscal.classification.template
    domain="[('type', 'in', ('view', 'normal'))]" ondelete='cascade' string='Parent Fiscal Classification' args: 'account.product.fiscal.classification.template'
  • purchase_tax_definition_line One2many → l10n_br_tax.definition.purchase.template
    args: 'l10n_br_tax.definition.purchase.template', 'fiscal_classification_id', 'Taxes Definitions'
  • purchase_tax_ids Many2many → account.tax.template
    compute='_compute_taxes' string='Purchase Taxes' args: 'account.tax.template'
  • sale_tax_definition_line One2many → l10n_br_tax.definition.sale.template
    args: 'l10n_br_tax.definition.sale.template', 'fiscal_classification_id', 'Taxes Definitions'
  • sale_tax_ids Many2many → account.tax.template
    compute='_compute_taxes' string='Sale Taxes' args: 'account.tax.template'
  • tax_estimate_ids One2many → l10n_br_tax.estimate.template
    comodel_name='l10n_br_tax.estimate.template' inverse_name='fiscal_classification_id' string='Impostos Estimados'
  • type Selection
    default='normal' string='Tipo' args: [('view', 'Visão'), ('normal', 'Normal'), ('extension', 'Extensão')]
Public methods (0)

No public methods.

New fields (2)
  • icms_base_type Selection
    default='0' required=True args: [('0', 'Margem Valor Agregado (%)'), ('1', 'Pauta (valor)'), ('2', 'Preço Tabelado Máximo (valor)'), ('3', 'Valor da Operação')], 'Tipo Base ICMS'
  • icms_st_base_type Selection
    default='4' required=True args: [('0', 'Preço tabelado ou máximo sugerido'), ('1', 'Lista Negativa (valor)'), ('2', 'Lista Positiva (valor)'), ('3', 'Lista Neutra (valor)'), ('4', 'Margem Valor Agregado (%)'), ('5', 'Pauta (valor)')], 'Tipo Base ICMS ST'
Public methods (2)
  • compute_all(self, cr, uid, taxes, price_unit, quantity, product=None, partner=None, force_excluded=False, fiscal_position=False, insurance_value=0.0, freight_value=0.0, other_costs_value=0.0, base_tax=0.0)
    @api.v7
    Compute taxes Returns a dict of the form:: { 'total': Total without taxes, 'total_included': Total with taxes, 'total_tax_discount': Total Tax Discounts, 'taxes': <list of taxes, objects>, 'total_base': Total Base by tax, } :Parameters: - 'cr': Database cursor. - 'uid': Current user. - 'taxes': List with all taxes id. - 'price_unit': Product price unit. - 'quantity': Product quantity. - 'force_excluded': Used to say that we don't want to consider the value of field price_include of tax. It's used in encoding by line where you don't matter if you encoded a tax with that boolean to True or False.
  • compute_all(self, price_unit, quantity, product=None, partner=None, force_excluded=False, fiscal_position=False, insurance_value=0.0, freight_value=0.0, other_costs_value=0.0, base_tax=0.0)
    @api.v8

New fields (2)
  • icms_base_type Selection
    default='0' required=True args: [('0', 'Margem Valor Agregado (%)'), ('1', 'Pauta (valor)'), ('2', 'Preço Tabelado Máximo (valor)'), ('3', 'Valor da Operação')], 'Tipo Base ICMS'
  • icms_st_base_type Selection
    default='4' required=True args: [('0', 'Preço tabelado ou máximo sugerido'), ('1', 'Lista Negativa (valor)'), ('2', 'Lista Positiva (valor)'), ('3', 'Lista Neutra (valor)'), ('4', 'Margem Valor Agregado (%)'), ('5', 'Pauta (valor)')], 'Tipo Base ICMS ST'
Public methods (0)

No public methods.

New fields (1)
  • fiscal_type Selection
    default=PRODUCT_FISCAL_TYPE_DEFAULT required=True args: PRODUCT_FISCAL_TYPE, 'Tipo Fiscal'
Public methods (0)

No public methods.

New fields (1)
  • fiscal_type Selection
    default=PRODUCT_FISCAL_TYPE_DEFAULT required=True args: PRODUCT_FISCAL_TYPE, 'Tipo Fiscal'
Public methods (0)

No public methods.

New fields (1)
  • ind_ie_dest Selection
    default=NFE_IND_IE_DEST_DEFAULT required=True args: NFE_IND_IE_DEST, 'Contribuinte do ICMS'
Public methods (0)

No public methods.

New fields (5)
  • child_ids One2many → l10n_br_account.service.type
    args: 'l10n_br_account.service.type', 'parent_id', 'Tipo de Serviço Filhos'
  • code Char
    required=True size=16 args: 'Código'
  • internal_type Selection
    default='normal' required=True args: [('view', 'Visualização'), ('normal', 'Normal')], 'Tipo Interno'
  • name Char
    required=True size=256 args: 'Descrição'
  • parent_id Many2one → l10n_br_account.service.type
    args: 'l10n_br_account.service.type', 'Tipo de Serviço Pai'
Public methods (1)
  • name_get(self)
    @api.multi

New fields (4)
  • code Char
    size=9 args: 'Código'
  • item Char
    size=4 args: 'Item'
  • name Char
    args: 'Nome'
  • segment Char
    size=32 args: 'Segmento'
Public methods (2)
  • name_get(self)
    @api.multi
  • name_search(self, name, args=None, operator='ilike', limit=100)
    @api.model

New fields (9)
  • child_ids One2many → l10n_br_account_product.cfop
    args: 'l10n_br_account_product.cfop', 'parent_id', 'CFOP Filhos'
  • code Char
    required=True size=4 args: 'Código'
  • description Text
    args: 'Descrição'
  • id_dest Selection
    help='Identificador de local de destino da operação.' args: [('1', 'Operação interna'), ('2', 'Operação interestadual'), ('3', 'Operação com exterior')], 'Local de destino da operação'
  • internal_type Selection
    default='normal' required=True args: [('view', 'Visualização'), ('normal', 'Normal')], 'Tipo Interno'
  • name Char
    required=True size=256 args: 'Nome'
  • parent_id Many2one → l10n_br_account_product.cfop
    args: 'l10n_br_account_product.cfop', 'CFOP Pai'
  • small_name Char
    required=True size=32 args: 'Nome Reduzido'
  • type Selection
    required=True args: TYPE, 'Tipo'
Public methods (2)
  • name_get(self, cr, uid, ids, context=None)
  • name_search(self, name, args=None, operator='ilike', limit=100)
    @api.model

New fields (12)
  • access_key Char
    size=44 args: 'Chave de Acesso'
  • cnpj_cpf Char
    size=18 args: 'CNPJ/CPF'
  • cpfcnpj_type Selection
    default='cnpj' args: [('cpf', 'CPF'), ('cnpj', 'CNPJ')], 'Tipo Doc.'
  • date Date
    args: 'Data'
  • document_type Selection
    required=True args: [('nf', 'NF'), ('nfe', 'NF-e'), ('cte', 'CT-e'), ('nfrural', 'NF Produtor'), ('cf', 'Cupom Fiscal')], 'Tipo Documento'
  • fiscal_document_id Many2one → l10n_br_account.fiscal.document
    args: 'l10n_br_account.fiscal.document', 'Documento'
  • inscr_est Char
    size=16 args: 'Inscr. Estadual/RG'
  • internal_number Char
    size=32 args: 'Número'
  • invoice_id Many2one → account.invoice
    ondelete='cascade' select=True args: 'account.invoice', 'Documento Fiscal'
  • invoice_related_id Many2one → account.invoice
    ondelete='cascade' select=True args: 'account.invoice', 'Documento Fiscal'
  • serie Char
    size=12 args: 'Série'
  • state_id Many2one → res.country.state
    domain="[('country_id.code', '=', 'BR')]" args: 'res.country.state', 'Estado'
Public methods (2)
  • onchange_invoice_related_id(self, invoice_related_id)
    @api.multi
  • onchange_mask_cnpj_cpf(self, cpfcnpj_type, cnpj_cpf)
    @api.multi

New fields (9)
  • cUF Integer
    readonly=True string='Codigo Estado'
  • chNFe Char
    size=44 string='Chave de Acesso NFE'
  • nfe_environment Selection
    selection=[('1', 'Produção'), ('2', 'Homologação')] string='Ambiente'
  • procEventoNFe Text
    readonly=True sting='Processamento Evento NFE'
  • protNFe Text
    readonly=True string='Protocolo NFE'
  • retCancNFe Text
    readonly=True string='Cancelamento NFE'
  • state Selection
    default='init' readonly=True select=True selection=[('init', 'Init'), ('error', 'Error'), ('done', 'Done')] string='State'
  • version Text
    readonly=True string='Versão'
  • xMotivo Text
    readonly=True string='Motivo'
Public methods (1)
  • get_document_status(self)
    @api.multi

New fields (3)
  • active Boolean
    default=True args: 'Ativo'
  • code Char
    required=True size=2 args: 'Código'
  • name Char
    required=True size=256 args: 'Nome'
Public methods (0)

No public methods.

New fields (13)
  • afrmm_value Float
    default=0.0 digits=dp.get_precision('Account') args: 'Valor da AFRMM'
  • date_registration Date
    required=True args: 'Data de Registro'
  • date_release Date
    required=True args: 'Data de Liberação'
  • exporting_code Char
    required=True size=60 args: 'Código do Exportador'
  • invoice_line_id Many2one → account.invoice.line
    ondelete='cascade' select=True args: 'account.invoice.line', 'Linha de Documento Fiscal'
  • line_ids One2many → l10n_br_account_product.import.declaration.line
    args: 'l10n_br_account_product.import.declaration.line', 'import_declaration_id', 'Linhas da DI'
  • location Char
    required=True size=60 args: 'Local'
  • name Char
    required=True size=10 args: 'Número da DI'
  • state_id Many2one → res.country.state
    domain="[('country_id.code', '=', 'BR')]" args: 'res.country.state', 'Estado'
  • thirdparty_cnpj Char
    size=18 args: 'CNPJ'
  • thirdparty_state_id Many2one → res.country.state
    domain="[('country_id.code', '=', 'BR')]" args: 'res.country.state', 'Estado'
  • type_import Selection
    default='1' args: [('1', '1 - Importação por conta própria'), ('2', '2 - Importação por conta e ordem'), ('3', '3 - Importação por encomenda')], 'Tipo de Importação'
  • type_transportation Selection
    args: [('1', '1 - Marítima'), ('2', '2 - Fluvial'), ('3', '3 - Lacustre'), ('4', '4 - Aérea'), ('5', '5 - Postal'), ('6', '6 - Ferroviária'), ('7', '7 - Rodoviária'), ('8', '8 - Conduto / Rede Transmissão'), ('9', '9 - Meios Próprios'), ('10', '10 - Entrada / Saída ficta')], 'Transporte Internacional'
Public methods (1)
  • onchange_mask_cnpj_cpf(self, thirdparty_cnpj)
    @api.multi

New fields (5)
  • amount_discount Float
    default=0.0 digits=dp.get_precision('Account') args: 'Valor'
  • import_declaration_id Many2one → l10n_br_account_product.import.declaration
    ondelete='cascade' select=True args: 'l10n_br_account_product.import.declaration', 'DI'
  • manufacturer_code Char
    required=True size=60 args: 'Código do Fabricante'
  • name Char
    required=True size=3 args: 'Adição'
  • sequence Integer
    default=1 required=True args: 'Sequência'
Public methods (0)

No public methods.

New fields (3)
  • amount_costs_value Float
    args: 'Outros Custos'
  • amount_freight_value Float
    args: 'Frete'
  • amount_insurance_value Float
    args: 'Seguro'
Public methods (1)
  • set_invoice_costs_ratio(self)
    @api.multi

New fields (5)
  • code Char
    required=True size=3 args: 'Código'
  • cst_group Selection
    required=True string='Grupo CST' args: [('imunidade', 'Imunidade'), ('suspensao', 'Suspensão'), ('isencao', 'Isenção'), ('reducao', 'Redução'), ('outros', 'Outros')]
  • name Text
    required=True args: 'Descrição Enquadramento Legal do IPI'
  • tax_code_in_id Many2one → account.tax.code.template
    string='CST Entrada' args: 'account.tax.code.template'
  • tax_code_out_id Many2one → account.tax.code.template
    string='CST Saída' args: 'account.tax.code.template'
Public methods (0)

No public methods.

New fields (3)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> string='Company'
  • import_status_draft Boolean
    string='Importar NFs com status em rascunho'
  • nfe_export_result One2many → l10n_br_account_product.nfe_export_result
    comodel_name='l10n_br_account_product.nfe_export_result' inverse_name='wizard_id' string='NFe Export Result'
Public methods (0)

No public methods.

New fields (8)
  • export_folder Boolean
    default=_default_export_folder string='Salvar na Pasta de Exportação'
  • file Binary
    readonly=True args: 'Arquivo'
  • file_type Selection
    default=_default_file_type selection=[('xml', 'XML'), ('txt', ' TXT')] string='Tipo do Arquivo'
  • name Char
    size=255 args: 'Nome'
  • nfe_environment Selection
    default=_default_nfe_environment selection=[('1', 'Produção'), ('2', 'Homologação')] string='Ambiente'
  • nfe_export_result One2many → l10n_br_account_product.nfe_export_invoice_result
    comodel_name='l10n_br_account_product.nfe_export_invoice_result' inverse_name='wizard_id' string='NFe Export Result'
  • sign_xml Boolean
    default=_default_sign_xml string='Assinar XML'
  • state Selection
    default='init' readonly=True selection=[('init', 'init'), ('done', 'done')] string='state'
Public methods (1)
  • nfe_export(self)
    @api.multi

New fields (4)
  • document Char
    size=255 string='Documento'
  • message Char
    size=255 string='Mensagem'
  • status Selection
    selection=[('success', 'Sucesso'), ('error', 'Erro')] string='Status'
  • wizard_id Many2one → l10n_br_account_product.nfe_export_invoice
    comodel_name='l10n_br_account_product.nfe_export_invoice' ondelete='cascade' select=True string='Wizard ID'
Public methods (0)

No public methods.

New fields (1)
  • wizard_id Many2one → l10n_br_account_product.nfe_export
    comodel_name='l10n_br_account_product.nfe_export' ondelete='cascade' select=True string='Wizard ID'
Public methods (0)

No public methods.

New fields (3)
  • company_id Many2one → res.company
    args: 'res.company', 'Empresa'
  • tax_icms_relief_id Many2one → l10n_br_account_product.icms_relief
    string='Desoneração ICMS' args: 'l10n_br_account_product.icms_relief'
  • tax_ipi_guideline_id Many2one → l10n_br_account_product.ipi_guideline
    string='Enquadramento IPI' args: 'l10n_br_account_product.ipi_guideline'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (3)
  • cest_id Many2one → l10n_br_account_product.cest
    args: 'l10n_br_account_product.cest', 'CEST'
  • fiscal_classification_id Many2one → account.product.fiscal.classification
    args: 'account.product.fiscal.classification', 'Classificação Fiscal'
  • state_id Many2one → res.country.state
    args: 'res.country.state', 'Estado'
Public methods (0)

No public methods.

New fields (1)
  • fiscal_classification_id Many2one → account.product.fiscal.classification
    select=True args: 'account.product.fiscal.classification', 'Fiscal Classification'
Public methods (0)

No public methods.

New fields (11)
  • active Boolean
    default=True args: 'Ativo'
  • company_id Many2one → res.company
    comodel_name='res.company'
  • create_date Datetime
    readonly=True args: 'Data de Criação'
  • federal_taxes_import Float
    default=0.0 digits_compute=dp.get_precision('Account') args: 'Impostos Federais Importado'
  • federal_taxes_national Float
    default=0.0 digits_compute=dp.get_precision('Account') args: 'Impostos Federais Nacional'
  • key Char
    size=32 args: 'Chave'
  • municipal_taxes Float
    default=0.0 digits_compute=dp.get_precision('Account') args: 'Impostos Municipais Nacional'
  • origin Char
    size=32 args: 'Fonte'
  • state_id Many2one → res.country.state
    required=True args: 'res.country.state', 'Estado'
  • state_taxes Float
    default=0.0 digits_compute=dp.get_precision('Account') args: 'Impostos Estaduais Nacional'
  • version Char
    size=32 args: 'Versão'
Public methods (0)

No public methods.

New fields (1)
  • fiscal_classification_id Many2one → account.product.fiscal.classification.template
    select=True args: 'account.product.fiscal.classification.template', 'Fiscal Classification'
Public methods (0)

No public methods.

New fields (3)
  • date_end Date
    required=True args: 'Data Final'
  • date_start Date
    required=True args: 'Data Inicial'
  • rate Float
    required=True args: 'Percentual Interestadual de Rateio'
Public methods (0)

No public methods.

New fields (7)
  • cest_id Many2one → l10n_br_account_product.cest
    comodel_name='l10n_br_account_product.cest' string='CEST'
  • estd_import_taxes_perct Float
    related='fiscal_classification_id.estd_import_taxes_perct'
  • estd_national_taxes_perct Float
    related='fiscal_classification_id.estd_national_taxes_perct'
  • fci Char
    size=36 args: 'FCI do Produto'
  • fiscal_type Selection
    default=PRODUCT_FISCAL_TYPE_DEFAULT selection_add=PRODUCT_FISCAL_TYPE
  • origin Selection
    default='0' args: PRODUCT_ORIGIN, 'Origem'
  • service_type_id Many2one → l10n_br_account.service.type
    args: 'l10n_br_account.service.type', 'Tipo de Serviço'
Public methods (0)

No public methods.

New fields (22)
  • accountant_cnpj_cpf Char
    size=18 string='CNPJ/CPF Contador'
  • document_serie_product_ids Many2many → l10n_br_account.document.serie
    domain="[('company_id', '=', active_id),('active','=',True),('fiscal_type','=','product')]" args: 'l10n_br_account.document.serie', 'res_company_l10n_br_account_document_serie', 'company_id', 'document_serie_product_id', 'Série de Documentos Fiscais'
  • export_folder Boolean
    args: 'Salvar na Pasta de Exportação'
  • file_type Selection
    args: [('xml', 'XML'), ('txt', ' TXT')], 'Tipo do Arquivo Padrão'
  • freight_tax_id Many2one → account.tax
    domain=[('domain', '=', 'freight')] string='Freight Sale Tax' args: 'account.tax'
  • in_invoice_fiscal_category_id Many2one → l10n_br_account.fiscal.category
    domain="[('journal_type','=','purchase'), ('state', '=', 'approved'), ('fiscal_type','=','product'), ('type','=','input')]" args: 'l10n_br_account.fiscal.category', 'Categoria Fiscal de Produto Padrão de Entrada'
  • in_refund_fiscal_category_id Many2one → l10n_br_account.fiscal.category
    domain="[('journal_type','=','purchase_refund'),('state', '=', 'approved'), ('fiscal_type','=','product'),('type','=','output')]" args: 'l10n_br_account.fiscal.category', 'Devolução Entrada'
  • insurance_tax_id Many2one → account.tax
    domain=[('domain', '=', 'insurance')] string='Insurance Sale Tax' args: 'account.tax'
  • nfe_a1_file Binary
    args: 'Arquivo NFe A1'
  • nfe_a1_password Char
    size=64 args: 'Senha NFe A1'
  • nfe_backup_folder Char
    size=254 args: 'Pasta de Backup'
  • nfe_environment Selection
    args: [('1', 'Produção'), ('2', 'Homologação')], 'Ambiente Padrão'
  • nfe_export_folder Char
    size=254 args: 'Pasta de Exportação'
  • nfe_import_folder Char
    size=254 args: 'Pasta de Importação'
  • nfe_version Selection
    default='3.10' required=True args: [('1.10', '1.10'), ('2.00', '2.00'), ('3.10', '3.10')], 'Versão NFe'
  • other_costs_tax_id Many2one → account.tax
    domain=[('domain', '=', 'other_costs')] string='Other Costs Sale Tax' args: 'account.tax'
  • out_invoice_fiscal_category_id Many2one → l10n_br_account.fiscal.category
    domain="[('journal_type','=','sale'), ('state', '=', 'approved'), ('fiscal_type','=','product'), ('type','=','output')]" args: 'l10n_br_account.fiscal.category', 'Categoria Fiscal de Produto Padrão de Saida'
  • out_refund_fiscal_category_id Many2one → l10n_br_account.fiscal.category
    domain="[('journal_type','=','sale_refund'),('state', '=', 'approved'), ('fiscal_type','=','product'), ('type','=','input')]" args: 'l10n_br_account.fiscal.category', 'Devolução Saida'
  • product_invoice_id Many2one → l10n_br_account.fiscal.document
    args: 'l10n_br_account.fiscal.document', 'Documento Fiscal'
  • product_tax_definition_line One2many → l10n_br_tax.definition.company.product
    args: 'l10n_br_tax.definition.company.product', 'company_id', 'Taxes Definitions'
  • product_tax_ids Many2many → account.tax
    compute='_compute_taxes' store=True string='Product Taxes' args: 'account.tax'
  • sign_xml Boolean
    args: 'Assinar XML'
Public methods (0)

No public methods.

New fields (2)
  • product_tax_definition_line One2many → l10n_br_tax.definition.state.product
    args: 'l10n_br_tax.definition.state.product', 'state_id', 'Taxes Definitions'
  • product_tax_ids Many2many → account.tax
    compute='_compute_taxes' store=True string='Product Taxes' args: 'account.tax'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • action_create(self)
    @api.multi
REPOSITORY
REPOSITORYOCA/l10n-brazil
GIT
GIThttps://github.com/OCA/l10n-brazil.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-brazil/tree/8.0/l10n_br_account_product
VERSION
VERSION 3.0.0
CATEGORY
CATEGORYLocalisation
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSStéphane Bidoul, Raphaël Valyi, Renato Lima, GitHub, Luis Felipe Mileo, Magno, Luis Felipe Miléo, OCA-git-bot, sadamo, mstuttgart, Magno Costa - Akretion, renato, Leonardo Rochael Almeida, Michell Stuttgart, Hendrix Costa, Developer, Daniel Sadamo Hirayama, Luiz Felipe do Divino, Raphael Valyi
WEBSITE
WEBSITEhttp://odoo-brasil.org
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:20
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-fiscal-rule:
    - account_fiscal_position_rule
    - account_product_fiscal_classification
OCA/l10n-brazil:
    - l10n_br_data_account
    - l10n_br_account
    - l10n_br_base
OCA/server-tools:
    - web_context_tunnel
odoo/odoo:
    - l10n_br
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - report
    - analytic
    - board
    - edi
    - email_template
    - account_chart
    - account_cancel
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES num2words
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (50)
XML IDNameModelTypeStatus
l10n_br_account_product_cfop_form l10n_br_account_product.cfop.name l10n_br_account_product.cfop form New
l10n_br_account_product_cfop_search l10n_br_account_product.cfop.search l10n_br_account_product.cfop search New
l10n_br_account_product_cfop_structure l10n_br_account_product.cfop.structure l10n_br_account_product.cfop tree New
l10n_br_account_product_cfop_tree l10n_br_account_product.cfop.tree l10n_br_account_product.cfop tree New
l10n_br_account_product_document_status_sefaz_form Consultar Documento l10n_br_account_product.document_status_sefaz form New
l10n_br_account_product_fiscal_category_form l10n_br_account_product.fiscal.category l10n_br_account.fiscal.category field Inherits l10n_br_account.view_l10n_br_account_fiscal_category_form
l10n_br_account_product_fiscal_classification_form l10n_br_account_product.fiscal_classification_form account.product.fiscal.classification field Inherits account_product_fiscal_classification.view_account_product_fiscal_classification_form
l10n_br_account_product_import_declaration_form l10n_br_account_product.import.declaration.form l10n_br_account_product.import.declaration form New
l10n_br_account_product_invoice_form l10n_br_account_product.invoice.form account.invoice xpath Inherits account.invoice_form
l10n_br_account_product_invoice_supplier_form l10n_br_account.invoice.supplier.form account.invoice xpath Inherits account.invoice_supplier_form
l10n_br_account_product_ipi_guideline_form_view l10n_br_account_product.ipi_guideline.form.view l10n_br_account_product.ipi_guideline form New
l10n_br_account_product_ipi_guideline_tree_view l10n_br_account_product.ipi_guideline.tree.view l10n_br_account_product.ipi_guideline tree New
l10n_br_account_product_nfe_export_form l10n_br_account_product.nfe_export.form l10n_br_account_product.nfe_export field Inherits l10n_br_account_product_nfe_export_invoice_form
l10n_br_account_product_nfe_export_invoice_form Exportar Nota Fiscal l10n_br_account_product.nfe_export_invoice form New
l10n_br_account_product_nfe_form l10n_br_account_product.nfe.form account.invoice form New
l10n_br_account_product_nfe_line_form l10n_br_account_product.nfe.line.form account.invoice.line form New
l10n_br_account_product_nfe_search l10n_br_account_product.nfe.search account.invoice search New
l10n_br_account_product_nfe_tree l10n_br_account_product.nfe.tree account.invoice tree New
l10n_br_account_product_partner_fiscal_type_form l10n_br_account_product.partner.fiscal.type l10n_br_account.partner.fiscal.type field Inherits l10n_br_account.view_l10n_br_account_partner_fiscal_type_form
l10n_br_account_product_payment_term_form l10n_br_account_product.payment.term.form account.payment.term field Inherits account.view_payment_term_form
l10n_br_account_product_position_form l10n_br_account_product.fiscal.position.form account.fiscal.position field Inherits l10n_br_account.l10n_br_account_position_form
l10n_br_account_product_position_template_form l10n_br_account_product.fiscal.position.template.form account.fiscal.position.template field Inherits l10n_br_account.l10n_br_account_position_template_form
l10n_br_account_product_tax_form l10n_br_account_product.tax.form account.tax notebook Inherits account.view_tax_form
l10n_br_account_product_tax_template_form l10n_br_account_product.tax.template.form account.tax.template notebook Inherits account.view_account_tax_template_form
l10n_br_account_product_template_form l10n_br_account_product.product.template.form product.template field Inherits l10n_br_account.l10n_br_account_product_template_form_view
l10n_br_account_product_view_account_invoice_report_search l10n_br_account.invoice.report.search account.invoice.report filter Inherits account.view_account_invoice_report_search
l10n_br_fiscal_classification_template_normal_form_view_form fiscal_classification_template_normal_form_view_form account.product.fiscal.classification.template field Inherits account_product_fiscal_classification.view_account_product_fiscal_classification_template_form
l10n_br_fiscal_classification_template_normal_form_view_tree fiscal_classification_normal_form_view_tree account.product.fiscal.classification.template tree New
l10n_br_tax_definition_company_product_form l10n_br_tax.definition.company.product.form l10n_br_tax.definition.company.product form New
l10n_br_tax_definition_company_product_tree l10n_br_tax.definition.company.product.tree l10n_br_tax.definition.company.product tree New
l10n_br_tax_definition_purchase_form l10n_br_tax.definition.purchase.form l10n_br_tax.definition.purchase form New
l10n_br_tax_definition_purchase_template_form l10n_br_tax.definition.purchase.template.form l10n_br_tax.definition.purchase.template form New
l10n_br_tax_definition_purchase_template_tree l10n_br_tax.definition.purchase.template.tree l10n_br_tax.definition.purchase.template tree New
l10n_br_tax_definition_sale_template_tree l10n_br_tax.definition.sale.template.tree l10n_br_tax.definition.sale.template tree New
l10n_br_tax_definition_sale_tree l10n_br_tax.definition.sale.tree l10n_br_tax.definition.sale tree New
l10n_br_tax_definition_state_product_form l10n_br_tax.definition.state.product.form l10n_br_tax.definition.state.product form New
l10n_br_tax_definition_state_product_tree l10n_br_tax.definition.state.product.tree l10n_br_tax.definition.state.product tree New
l10n_br_tax_definition_template_sale_form l10n_br_tax.definition.sale.template.form l10n_br_tax.definition.sale.template form New
l10n_br_tax_icms_partition_form_view l10n_br_tax.icms_partition.form.view l10n_br_tax.icms_partition form New
l10n_br_tax_icms_partition_tree_view l10n_br_tax.icms_partition.tree.view l10n_br_tax.icms_partition tree New
view_account_config_settings_l10n_br_account_product account.config.settings.l10n_br_account_product account.config.settings data Inherits account.view_account_config_settings
view_account_invoice_refund_br view_account_invoice_refund_br account.invoice.refund field Inherits account.view_account_invoice_refund
view_l10n_br_account_company_form l10n_br_account_product.res.company.form res.company page Inherits l10n_br_account.view_l10n_br_account_company_form
view_l10n_br_account_product_costs_ratio_form Rateio de custos l10n_br_account_product.invoice.costs_ratio form New
view_l10n_br_account_service_type_form l10n_br_account.service.type.form l10n_br_account.service.type form New
view_l10n_br_account_service_type_structure l10n_br_account.service.type.structure l10n_br_account.service.type tree New
view_l10n_br_account_service_type_tree l10n_br_account.service.type.tree l10n_br_account.service.type tree New
view_l10n_br_country_state_icms_table_form res.country.state res.country.state field Inherits l10n_br_base.view_l10n_br_country_state_form
view_l10n_br_taxdefinition_classification_sale_form l10n_br_tax.definition.sale.form l10n_br_tax.definition.sale form New
view_l10n_br_taxdefinition_purchase_tree l10n_br_tax.definition.purchase.tree l10n_br_tax.definition.purchase tree New
Models touched (46)

New fields (1)
  • date_used_maturity Selection
    related='company_id.date_used_maturity'
Public methods (0)

No public methods.

New fields (2)
  • cfop_id Many2one → l10n_br_account_product.cfop
    args: 'l10n_br_account_product.cfop', 'CFOP'
  • ind_final Selection
    default='0' help='Indica operação com Consumidor final.' readonly=True required=False states={'draft': [('readonly', False)]} args: [('0', 'Não'), ('1', 'Sim')], 'Operação com Consumidor final'
Public methods (3)
  • map_tax(self, cr, uid, fposition_id, taxes, context=None)
    @api.v7
  • map_tax(self, taxes)
    @api.v8
  • map_tax_code(self, product_id, taxes=None)
    @api.v8

New fields (5)
  • cest_id Many2one → l10n_br_account_product.cest
    args: 'l10n_br_account_product.cest', 'CEST'
  • fiscal_classification_id Many2one → account.product.fiscal.classification
    args: 'account.product.fiscal.classification', 'NCM'
  • origin Selection
    args: PRODUCT_ORIGIN, 'Origem'
  • tax_icms_relief_id Many2one → l10n_br_account_product.icms_relief
    string='Desoneração ICMS' args: 'l10n_br_account_product.icms_relief'
  • tax_ipi_guideline_id Many2one → l10n_br_account_product.ipi_guideline
    string='Enquadramento IPI' args: 'l10n_br_account_product.ipi_guideline'
Public methods (0)

No public methods.

New fields (5)
  • cest_id Many2one → l10n_br_account_product.cest
    args: 'l10n_br_account_product.cest', 'CEST'
  • fiscal_classification_id Many2one → account.product.fiscal.classification.template
    args: 'account.product.fiscal.classification.template', 'NCM'
  • origin Selection
    args: PRODUCT_ORIGIN, 'Origem'
  • tax_icms_relief_id Many2one → l10n_br_account_product.icms_relief
    string='Desoneração ICMS' args: 'l10n_br_account_product.icms_relief'
  • tax_ipi_guideline_id Many2one → l10n_br_account_product.ipi_guideline
    string='Enquadramento IPI' args: 'l10n_br_account_product.ipi_guideline'
Public methods (0)

No public methods.

New fields (2)
  • cfop_id Many2one → l10n_br_account_product.cfop
    args: 'l10n_br_account_product.cfop', 'CFOP'
  • ind_final Selection
    default='0' help='Indica operação com Consumidor final.' readonly=True required=False states={'draft': [('readonly', False)]} args: [('0', 'Não'), ('1', 'Sim')], 'Operação com Consumidor final'
Public methods (0)

No public methods.

New fields (62)
  • amount_costs Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Outros Custos'
  • amount_discount Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Desconto'
  • amount_freight Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Valor do Frete'
  • amount_gross Float
    compute='_compute_amount' digits=dp.get_precision('Account') readonly=True store=True string='Vlr. Bruto'
  • amount_insurance Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Valor do Seguro'
  • amount_tax Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Tax'
  • amount_total Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Total'
  • amount_total_taxes Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Total de Tributos'
  • amount_untaxed Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Untaxed'
  • brand_of_packages Char
    readonly=True size=60 states={'draft': [('readonly', False)]} args: 'Brand'
  • carrier_name Char
    size=32 args: 'Nome Transportadora'
  • cfop_ids Many2many → l10n_br_account_product.cfop
    compute='_compute_cfops' copy=False string='CFOP' args: 'l10n_br_account_product.cfop'
  • cofins_base Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Base COFINS'
  • cofins_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') readonly=True store=True string='Valor COFINS'
  • date_hour_invoice Datetime
    help='Deixe em branco para usar a data atual' readonly=True select=True states={'draft': [('readonly', False)]} args: 'Data e hora de emissão'
  • date_in_out Datetime
    copy=False help='Deixe em branco para usar a data atual' readonly=True select=True states={'draft': [('readonly', False)]} args: 'Data de Entrada/Saida'
  • document_serie_id Many2one → l10n_br_account.document.serie
    default=_default_fiscal_document_serie domain="[('fiscal_document_id', '=', fiscal_document_id), ('company_id','=',company_id)]" readonly=True states={'draft': [('readonly', False)]} args: 'l10n_br_account.document.serie', 'Série'
  • expedition_location Char
    size=32 args: 'Local de Despacho'
  • fiscal_category_id Many2one → l10n_br_account.fiscal.category
    default=_default_fiscal_category readonly=True states={'draft': [('readonly', False)]} args: 'l10n_br_account.fiscal.category', 'Categoria Fiscal'
  • fiscal_document_electronic Boolean
    related='fiscal_document_id.electronic'
  • fiscal_document_id Many2one → l10n_br_account.fiscal.document
    default=_default_fiscal_document readonly=True states={'draft': [('readonly', False)]} args: 'l10n_br_account.fiscal.document', 'Documento'
  • fiscal_document_related_ids One2many → l10n_br_account_product.document.related
    readonly=True states={'draft': [('readonly', False)]} args: 'l10n_br_account_product.document.related', 'invoice_id', 'Fiscal Document Related'
  • fiscal_type Selection
    default=PRODUCT_FISCAL_TYPE_DEFAULT args: PRODUCT_FISCAL_TYPE, 'Tipo Fiscal'
  • icms_base Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Base ICMS'
  • icms_base_other Float
    compute='_compute_amount' digits=dp.get_precision('Account') readonly=True store=True string='Base ICMS Outras'
  • icms_dest_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') readonly=True store=True string='Valor total do ICMS Interestadual para a UF de destino'
  • icms_fcp_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') readonly=True store=True string='Valor total do Fundo de Combate à Pobreza (FCP)'
  • icms_origin_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') readonly=True store=True string='Valor total do ICMS Interestadual para a UF do remetente'
  • icms_st_base Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Base ICMS ST'
  • icms_st_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Valor ICMS ST'
  • icms_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Valor ICMS'
  • ii_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') readonly=True store=True string='Valor II'
  • ind_final Selection
    help='Indica operação com Consumidor final.' readonly=True related='fiscal_position.ind_final' required=False states={'draft': [('readonly', False)]} args: [('0', 'Não'), ('1', 'Sim')], 'Consumidor final'
  • ind_pres Selection
    default='0' help='Indicador de presença do comprador no\nestabelecimento comercial no momento\nda operação.' readonly=True required=False states={'draft': [('readonly', False)]} args: [('0', 'Não se aplica'), ('1', 'Operação presencial'), ('2', 'Operação não presencial, pela Internet'), ('3', 'Operação não presencial, Teleatendimento'), ('4', 'NFC-e em operação com entrega em domicílio'), ('9', 'Operação não presencial, outros')], 'Tipo de operação'
  • internal_number Char
    help='Unique number of the invoice, computed\n automatically when the invoice is created.' readonly=True size=32 states={'draft': [('readonly', False)]} args: 'Invoice Number'
  • ipi_base Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Base IPI'
  • ipi_base_other Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Base IPI Outras'
  • ipi_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Valor IPI'
  • issuer Selection
    default='0' readonly=True states={'draft': [('readonly', False)]} args: [('0', 'Emissão própria'), ('1', 'Terceiros')], 'Emitente'
  • kind_of_packages Char
    readonly=True size=60 states={'draft': [('readonly', False)]} args: 'Espécie'
  • nfe_access_key Char
    copy=False readonly=True size=44 states={'draft': [('readonly', False)]} args: 'Chave de Acesso NFE'
  • nfe_date Datetime
    copy=False readonly=True args: 'Data do Status NFE'
  • nfe_export_date Datetime
    readonly=True args: 'Exportação NFE'
  • nfe_protocol_number Char
    copy=False readonly=True size=15 states={'draft': [('readonly', False)]} args: 'Protocolo'
  • nfe_purpose Selection
    default=_default_nfe_purpose readonly=True states={'draft': [('readonly', False)]} args: [('1', 'Normal'), ('2', 'Complementar'), ('3', 'Ajuste'), ('4', 'Devolução de Mercadoria')], 'Finalidade da Emissão'
  • nfe_status Char
    copy=False readonly=True size=44 args: 'Status na Sefaz'
  • nfe_version Selection
    default=_default_nfe_version readonly=True states={'draft': [('readonly', False)]} args: [('1.10', '1.10'), ('2.00', '2.00'), ('3.10', '3.10')], 'Versão NFe'
  • notation_of_packages Char
    readonly=True size=60 states={'draft': [('readonly', False)]} args: 'Numeração'
  • number_of_packages Integer
    readonly=True states={'draft': [('readonly', False)]} args: 'Volume'
  • partner_shipping_id Many2one → res.partner
    help='Delivery address for current sales order.' readonly=True required=True states={'draft': [('readonly', False)]} args: 'res.partner', 'Delivery Address'
  • partner_shipping_id Many2one → res.partner
    help='Shipping address for current sales order.' readonly=True states={'draft': [('readonly', False)]} args: 'res.partner', 'Endereço de Entrega'
  • pis_base Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Base PIS'
  • pis_value Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Valor PIS'
  • shipping_location Char
    size=32 args: 'Local de Embarque'
  • shipping_state_id Many2one → res.country.state
    args: 'res.country.state', 'Estado de Embarque'
  • type Selection
    states={'draft': [('readonly', False)]}
  • vehicle_l10n_br_city_id Many2one → l10n_br_base.city
    domain="[('state_id', '=', vehicle_state_id)]" args: 'l10n_br_base.city', 'Município'
  • vehicle_plate Char
    size=7 args: 'Placa do Veículo'
  • vehicle_state_id Many2one → res.country.state
    args: 'res.country.state', 'UF da Placa'
  • vendor_serie Char
    help='Série do número da Nota Fiscal do Fornecedor' readonly=True size=12 states={'draft': [('readonly', False)]} args: 'Série NF Entrada'
  • weight Float
    help='The gross weight in Kg.' readonly=True states={'draft': [('readonly', False)]} string='Gross weight'
  • weight_net Float
    help='The net weight in Kg.' readonly=True states={'draft': [('readonly', False)]} args: 'Net weight'
Public methods (10)
  • action_cancel_draft(self)
    @api.multi
  • action_date_assign(self)
    @api.multi
  • action_number(self)
    @api.multi
  • button_reset_taxes(self)
    @api.multi
  • fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False)
    @api.model
  • nfe_check(self, cr, uid, ids, context=None)
  • onchange_fiscal(self)
    @api.onchange('fiscal_category_id', 'fiscal_position')
  • onchange_fiscal_document_id(self)
    @api.onchange('fiscal_document_id')
  • onchange_type(self)
    @api.onchange('type')
  • open_fiscal_document(self)
    @api.multi
    return action to open NFe form

New fields (85)
  • cest_id Many2one → l10n_br_account_product.cest
    comodel_name='l10n_br_account_product.cest' string='CEST'
  • cfop_id Many2one → l10n_br_account_product.cfop
    args: 'l10n_br_account_product.cfop', 'CFOP'
  • code Char
    size=60 args: 'Código do Produto'
  • cofins_base Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base COFINS'
  • cofins_base_other Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base COFINS Outras'
  • cofins_cst_id Many2one → account.tax.code
    domain=[('domain', '=', 'cofins')] args: 'account.tax.code', 'CST PIS'
  • cofins_manual Boolean
    default=False args: 'COFINS Manual?'
  • cofins_percent Float
    default=0.0 digits=dp.get_precision('Discount') required=True args: 'Perc COFINS'
  • cofins_st_base Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base COFINS ST'
  • cofins_st_percent Float
    default=0.0 digits=dp.get_precision('Discount') required=True args: 'Perc COFINS ST'
  • cofins_st_type Selection
    default='percent' required=True args: [('percent', 'Percentual'), ('quantity', 'Em Valor')], 'Tipo do COFINS ST'
  • cofins_st_value Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Valor COFINS ST'
  • cofins_type Selection
    default='percent' required=True args: [('percent', 'Percentual'), ('quantity', 'Em Valor')], 'Tipo do COFINS'
  • cofins_value Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Valor COFINS'
  • date_invoice Datetime
    help='Keep empty to use the current date' readonly=True select=True states={'draft': [('readonly', False)]} args: 'Invoice Date'
  • discount_value Float
    compute='_compute_price' digits=dp.get_precision('Account') store=True string='Vlr. desconto'
  • fci Char
    size=36 args: 'FCI do Produto'
  • fiscal_category_id Many2one → l10n_br_account.fiscal.category
    args: 'l10n_br_account.fiscal.category', 'Categoria Fiscal'
  • fiscal_classification_id Many2one → account.product.fiscal.classification
    args: 'account.product.fiscal.classification', 'Classificação Fiscal'
  • fiscal_comment Text
    args: 'Observação Fiscal'
  • fiscal_position Many2one → account.fiscal.position
    args: 'account.fiscal.position', 'Posição Fiscal'
  • freight_value Float
    default=0.0 digits=dp.get_precision('Account') args: 'Frete'
  • icms_base Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base ICMS'
  • icms_base_other Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base ICMS Outras'
  • icms_base_type Selection
    default='0' required=True args: [('0', 'Margem Valor Agregado (%)'), ('1', 'Pauta (valor)'), ('2', 'Preço Tabelado Máximo (valor)'), ('3', 'Valor da Operação')], 'Tipo Base ICMS'
  • icms_cst_id Many2one → account.tax.code
    domain=[('domain', '=', 'icms')] args: 'account.tax.code', 'CST ICMS'
  • icms_dest_base Float
    default=0.0 digits=dp.get_precision('Account') string='Valor da BC do ICMS na UF de destino'
  • icms_dest_percent Float
    default=0.0 digits=dp.get_precision('Account') string='Alíquota interestadual das UF envolvidas'
  • icms_dest_value Float
    default=0.0 digits=dp.get_precision('Account') string='Valor do ICMS Interestadual para a UF de destino'
  • icms_fcp_percent Float
    default=0.0 digits=dp.get_precision('Account') string='% Fundo de Combate à Pobreza (FCP)'
  • icms_fcp_value Float
    default=0.0 digits=dp.get_precision('Account') string='Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP) da UF de destino'
  • icms_manual Boolean
    default=False args: 'ICMS Manual?'
  • icms_origin Selection
    default='0' args: PRODUCT_ORIGIN, 'Origem'
  • icms_origin_percent Float
    default=0.0 digits=dp.get_precision('Account') string='Alíquota interna da UF de destino'
  • icms_origin_value Float
    default=0.0 digits=dp.get_precision('Account') string='Valor do ICMS Interno para a UF do remetente'
  • icms_part_percent Float
    default=0.0 digits=dp.get_precision('Account') string='Percentual provisório de partilha do ICMS Interestadual'
  • icms_percent Float
    default=0.0 digits=dp.get_precision('Discount') args: 'Perc ICMS'
  • icms_percent_reduction Float
    default=0.0 digits=dp.get_precision('Discount') args: 'Perc Redução de Base ICMS'
  • icms_relief_id Many2one → l10n_br_account_product.icms_relief
    string='Desoneração ICMS' args: 'l10n_br_account_product.icms_relief'
  • icms_st_base Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base ICMS ST'
  • icms_st_base_other Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base ICMS ST Outras'
  • icms_st_base_type Selection
    default='4' required=True args: [('0', 'Preço tabelado ou máximo sugerido'), ('1', 'Lista Negativa (valor)'), ('2', 'Lista Positiva (valor)'), ('3', 'Lista Neutra (valor)'), ('4', 'Margem Valor Agregado (%)'), ('5', 'Pauta (valor)')], 'Tipo Base ICMS ST'
  • icms_st_mva Float
    default=0.0 digits=dp.get_precision('Discount') args: 'MVA Ajustado ICMS ST'
  • icms_st_percent Float
    default=0.0 digits=dp.get_precision('Discount') args: 'Percentual ICMS ST'
  • icms_st_percent_reduction Float
    default=0.0 digits=dp.get_precision('Discount') args: 'Perc Redução de Base ICMS ST'
  • icms_st_value Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Valor ICMS ST'
  • icms_value Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Valor ICMS'
  • ii_base Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base II'
  • ii_customhouse_charges Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Despesas Aduaneiras'
  • ii_iof Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Valor IOF'
  • ii_value Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Valor II'
  • import_declaration_ids One2many → l10n_br_account_product.import.declaration
    args: 'l10n_br_account_product.import.declaration', 'invoice_line_id', 'Declaração de Importação'
  • insurance_value Float
    default=0.0 digits=dp.get_precision('Account') args: 'Valor do Seguro'
  • ipi_base Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base IPI'
  • ipi_base_other Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base IPI Outras'
  • ipi_cst_id Many2one → account.tax.code
    domain=[('domain', '=', 'ipi')] args: 'account.tax.code', 'CST IPI'
  • ipi_guideline_id Many2one → l10n_br_account_product.ipi_guideline
    string='Enquadramento Legal IPI' args: 'l10n_br_account_product.ipi_guideline'
  • ipi_manual Boolean
    default=False args: 'IPI Manual?'
  • ipi_percent Float
    default=0.0 digits=dp.get_precision('Discount') required=True args: 'Perc IPI'
  • ipi_type Selection
    default='percent' required=True args: [('percent', 'Percentual'), ('quantity', 'Em Valor')], 'Tipo do IPI'
  • ipi_value Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Valor IPI'
  • issqn_base Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base ISSQN'
  • issqn_manual Boolean
    default=False args: 'ISSQN Manual?'
  • issqn_percent Float
    default=0.0 digits=dp.get_precision('Discount') required=True args: 'Perc ISSQN'
  • issqn_type Selection
    default='N' required=True args: [('N', 'Normal'), ('R', 'Retida'), ('S', 'Substituta'), ('I', 'Isenta')], 'Tipo do ISSQN'
  • issqn_value Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Valor ISSQN'
  • other_costs_value Float
    default=0.0 digits=dp.get_precision('Account') args: 'Outros Custos'
  • partner_order Char
    size=15 string='Código do Pedido (xPed)'
  • partner_order_line Char
    size=6 string='Item do Pedido (nItemPed)'
  • pis_base Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base PIS'
  • pis_base_other Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base PIS Outras'
  • pis_cst_id Many2one → account.tax.code
    domain=[('domain', '=', 'pis')] args: 'account.tax.code', 'CST PIS'
  • pis_manual Boolean
    default=False args: 'PIS Manual?'
  • pis_percent Float
    default=0.0 digits=dp.get_precision('Discount') required=True args: 'Perc PIS'
  • pis_st_base Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Base PIS ST'
  • pis_st_percent Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Perc PIS ST'
  • pis_st_type Selection
    default='percent' required=True args: [('percent', 'Percentual'), ('quantity', 'Em Valor')], 'Tipo do PIS ST'
  • pis_st_value Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Valor PIS ST'
  • pis_type Selection
    default='percent' required=True args: [('percent', 'Percentual'), ('quantity', 'Em Valor')], 'Tipo do PIS'
  • pis_value Float
    default=0.0 digits=dp.get_precision('Account') required=True args: 'Valor PIS'
  • price_gross Float
    compute='_compute_price' digits=dp.get_precision('Account') store=True string='Vlr. Bruto'
  • price_tax_discount Float
    compute='_compute_price' digits=dp.get_precision('Account') store=True string='Vlr. s/ Impostos'
  • product_type Selection
    default='product' required=True args: [('product', 'Produto'), ('service', 'Serviço')], 'Tipo do Produto'
  • service_type_id Many2one → l10n_br_account.service.type
    args: 'l10n_br_account.service.type', 'Tipo de Serviço'
  • total_taxes Float
    default=0.0 digits=dp.get_precision('Account') requeried=True string='Total de Tributos'
Public methods (13)
  • create(self, vals)
    @api.model
  • fields_view_get(self, cr, uid, view_id=None, view_type=False, context=None, toolbar=False, submenu=False)
  • onchange_fiscal(self)
    @api.onchange('fiscal_category_id', 'fiscal_position', 'invoice_line_tax_id', 'quantity', 'price_unit', 'discount', 'insurance_value', 'freight_value', 'other_costs_value')
  • onchange_tax_cofins(self, cofins_st_type, cofins_st_base, cofins_st_percent, cofins_st_value, price_unit, discount, insurance_value, freight_value, other_costs_value)
    @api.multi
  • onchange_tax_cofins_st(self, cofins_st_type, cofins_st_base, cofins_st_percent, cofins_st_value, price_unit, discount, insurance_value, freight_value, other_costs_value)
    @api.multi
  • onchange_tax_icms(self, icms_base_type, icms_base, icms_base_other, icms_value, icms_percent, icms_percent_reduction, icms_cst_id, price_unit, discount, quantity, partner_id, product_id, fiscal_position_id, insurance_value, freight_value, other_costs_value, invoice_line_tax_id)
    @api.multi
  • onchange_tax_icms_st(self, icms_st_base_type, icms_st_base, icms_st_percent, icms_st_percent_reduction, icms_st_mva, icms_st_base_other, price_unit, discount, insurance_value, freight_value, other_costs_value)
    @api.multi
  • onchange_tax_ipi(self, ipi_type, ipi_base, ipi_base_other, ipi_value, ipi_percent, ipi_cst_id, price_unit, discount, insurance_value, freight_value, other_costs_value)
    @api.multi
  • onchange_tax_pis(self, pis_type, pis_base, pis_base_other, pis_value, pis_percent, pis_cst_id, price_unit, discount, insurance_value, freight_value, other_costs_value)
    @api.multi
  • onchange_tax_pis_st(self, pis_st_type, pis_st_base, pis_st_percent, pis_st_value, price_unit, discount, insurance_value, freight_value, other_costs_value)
    @api.multi
  • product_id_change(self, product, uom_id, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, company_id=None)
    @api.multi
  • tax_exists(self, domain=None)
    @api.model
  • update_invoice_line_tax_id(self, tax_id, taxes, domain)
    @api.multi

New fields (1)
  • force_fiscal_category_id Many2one → l10n_br_account.fiscal.category
    domain="[('journal_type', '=', 'sale_refund'), ('fiscal_type', '=', 'product')]" args: 'l10n_br_account.fiscal.category', 'Forçar Categoria Fiscal'
Public methods (2)
  • compute_refund(self, mode='refund')
    @api.multi
  • fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False)

New fields (10)
  • cfop_id Many2one → l10n_br_account_product.cfop
    readonly=True args: 'l10n_br_account_product.cfop', 'CFOP'
  • cofins_value Float
    digits=dp.get_precision('Account') required=True args: 'Valor COFINS'
  • fiscal_type Selection
    args: PRODUCT_FISCAL_TYPE, 'Tipo Fiscal'
  • icms_st_value Float
    digits=dp.get_precision('Account') required=True args: 'Valor ICMS ST'
  • icms_value Float
    digits=dp.get_precision('Account') required=True args: 'Valor ICMS'
  • ii_value Float
    digits=dp.get_precision('Account') required=True args: 'Valor II'
  • ipi_value Float
    digits=dp.get_precision('Account') required=True args: 'Valor IPI'
  • issuer Selection
    readonly=True string='Emitente' args: [('0', 'Emissão própria'), ('1', 'Terceiros')]
  • pis_value Float
    digits=dp.get_precision('Account') required=True args: 'Valor PIS'
  • total_with_taxes Float
    digits=dp.get_precision('Account') required=True args: 'Total com Impostos'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • compute(self, invoice)
    @api.v8

New fields (1)
  • indPag Selection
    default='1' args: [('0', 'Pagamento à Vista'), ('1', 'Pagamento à Prazo'), ('2', 'Outros')], 'Indicador de Pagamento'
Public methods (0)

No public methods.

New fields (12)
  • child_ids One2many → account.product.fiscal.classification
    args: 'account.product.fiscal.classification', 'parent_id', 'Child Fiscal Classifications'
  • estd_import_taxes_perct Float
    compute='_compute_product_estimated_taxes_percent' store=True string='Impostos de Importação Estimados(%)'
  • estd_national_taxes_perct Float
    compute='_compute_product_estimated_taxes_percent' store=True string='Impostos Nacionais Estimados(%)'
  • inv_copy_note Boolean
    help='Copia a observação no documento fiscal' args: 'Copiar Observação'
  • note Text
    args: 'Observações'
  • parent_id Many2one → account.product.fiscal.classification
    domain="[('type', 'in', ('view', 'normal'))]" select=True args: 'account.product.fiscal.classification', 'Parent Fiscal Classification'
  • purchase_tax_definition_line One2many → l10n_br_tax.definition.purchase
    args: 'l10n_br_tax.definition.purchase', 'fiscal_classification_id', 'Taxes Definitions'
  • purchase_tax_ids Many2many → account.tax
    compute='_compute_taxes' store=True string='Purchase Taxes' args: 'account.tax'
  • sale_tax_definition_line One2many → l10n_br_tax.definition.sale
    args: 'l10n_br_tax.definition.sale', 'fiscal_classification_id', 'Taxes Definitions'
  • sale_tax_ids Many2many → account.tax
    compute='_compute_taxes' store=True string='Sale Taxes' args: 'account.tax'
  • tax_estimate_ids One2many → l10n_br_tax.estimate
    comodel_name='l10n_br_tax.estimate' inverse_name='fiscal_classification_id' readonly=True string='Impostos Estimados'
  • type Selection
    default='normal' args: [('view', 'Visão'), ('normal', 'Normal'), ('extension', 'Extensão')], 'Tipo'
Public methods (2)
  • get_ibpt(self)
    @api.multi
  • update_due_ncm(self)
    @api.model

New fields (10)
  • child_ids One2many → account.product.fiscal.classification.template
    string='Child Fiscal Classifications' args: 'account.product.fiscal.classification.template', 'parent_id'
  • inv_copy_note Boolean
    help='Copia a observação no documento fiscal' args: 'Copiar Observação'
  • note Text
    args: 'Observações'
  • parent_id Many2one → account.product.fiscal.classification.template
    domain="[('type', 'in', ('view', 'normal'))]" ondelete='cascade' string='Parent Fiscal Classification' args: 'account.product.fiscal.classification.template'
  • purchase_tax_definition_line One2many → l10n_br_tax.definition.purchase.template
    args: 'l10n_br_tax.definition.purchase.template', 'fiscal_classification_id', 'Taxes Definitions'
  • purchase_tax_ids Many2many → account.tax.template
    compute='_compute_taxes' string='Purchase Taxes' args: 'account.tax.template'
  • sale_tax_definition_line One2many → l10n_br_tax.definition.sale.template
    args: 'l10n_br_tax.definition.sale.template', 'fiscal_classification_id', 'Taxes Definitions'
  • sale_tax_ids Many2many → account.tax.template
    compute='_compute_taxes' string='Sale Taxes' args: 'account.tax.template'
  • tax_estimate_ids One2many → l10n_br_tax.estimate.template
    comodel_name='l10n_br_tax.estimate.template' inverse_name='fiscal_classification_id' string='Impostos Estimados'
  • type Selection
    default='normal' string='Tipo' args: [('view', 'Visão'), ('normal', 'Normal'), ('extension', 'Extensão')]
Public methods (0)

No public methods.

New fields (2)
  • icms_base_type Selection
    default='0' required=True args: [('0', 'Margem Valor Agregado (%)'), ('1', 'Pauta (valor)'), ('2', 'Preço Tabelado Máximo (valor)'), ('3', 'Valor da Operação')], 'Tipo Base ICMS'
  • icms_st_base_type Selection
    default='4' required=True args: [('0', 'Preço tabelado ou máximo sugerido'), ('1', 'Lista Negativa (valor)'), ('2', 'Lista Positiva (valor)'), ('3', 'Lista Neutra (valor)'), ('4', 'Margem Valor Agregado (%)'), ('5', 'Pauta (valor)')], 'Tipo Base ICMS ST'
Public methods (2)
  • compute_all(self, cr, uid, taxes, price_unit, quantity, product=None, partner=None, force_excluded=False, fiscal_position=False, insurance_value=0.0, freight_value=0.0, other_costs_value=0.0, base_tax=0.0)
    @api.v7
    Compute taxes Returns a dict of the form:: { 'total': Total without taxes, 'total_included': Total with taxes, 'total_tax_discount': Total Tax Discounts, 'taxes': <list of taxes, objects>, 'total_base': Total Base by tax, } :Parameters: - 'cr': Database cursor. - 'uid': Current user. - 'taxes': List with all taxes id. - 'price_unit': Product price unit. - 'quantity': Product quantity. - 'force_excluded': Used to say that we don't want to consider the value of field price_include of tax. It's used in encoding by line where you don't matter if you encoded a tax with that boolean to True or False.
  • compute_all(self, price_unit, quantity, product=None, partner=None, force_excluded=False, fiscal_position=False, insurance_value=0.0, freight_value=0.0, other_costs_value=0.0, base_tax=0.0)
    @api.v8

New fields (2)
  • icms_base_type Selection
    default='0' required=True args: [('0', 'Margem Valor Agregado (%)'), ('1', 'Pauta (valor)'), ('2', 'Preço Tabelado Máximo (valor)'), ('3', 'Valor da Operação')], 'Tipo Base ICMS'
  • icms_st_base_type Selection
    default='4' required=True args: [('0', 'Preço tabelado ou máximo sugerido'), ('1', 'Lista Negativa (valor)'), ('2', 'Lista Positiva (valor)'), ('3', 'Lista Neutra (valor)'), ('4', 'Margem Valor Agregado (%)'), ('5', 'Pauta (valor)')], 'Tipo Base ICMS ST'
Public methods (0)

No public methods.

New fields (1)
  • fiscal_type Selection
    default=PRODUCT_FISCAL_TYPE_DEFAULT required=True args: PRODUCT_FISCAL_TYPE, 'Tipo Fiscal'
Public methods (0)

No public methods.

New fields (1)
  • fiscal_type Selection
    default=PRODUCT_FISCAL_TYPE_DEFAULT required=True args: PRODUCT_FISCAL_TYPE, 'Tipo Fiscal'
Public methods (0)

No public methods.

New fields (1)
  • ind_ie_dest Selection
    default=NFE_IND_IE_DEST_DEFAULT required=True args: NFE_IND_IE_DEST, 'Contribuinte do ICMS'
Public methods (0)

No public methods.

New fields (5)
  • child_ids One2many → l10n_br_account.service.type
    args: 'l10n_br_account.service.type', 'parent_id', 'Tipo de Serviço Filhos'
  • code Char
    required=True size=16 args: 'Código'
  • internal_type Selection
    default='normal' required=True args: [('view', 'Visualização'), ('normal', 'Normal')], 'Tipo Interno'
  • name Char
    required=True size=256 args: 'Descrição'
  • parent_id Many2one → l10n_br_account.service.type
    args: 'l10n_br_account.service.type', 'Tipo de Serviço Pai'
Public methods (1)
  • name_get(self)
    @api.multi

New fields (4)
  • code Char
    size=9 args: 'Código'
  • item Char
    size=4 args: 'Item'
  • name Char
    args: 'Nome'
  • segment Char
    size=32 args: 'Segmento'
Public methods (2)
  • name_get(self)
    @api.multi
  • name_search(self, name, args=None, operator='ilike', limit=100)
    @api.model

New fields (9)
  • child_ids One2many → l10n_br_account_product.cfop
    args: 'l10n_br_account_product.cfop', 'parent_id', 'CFOP Filhos'
  • code Char
    required=True size=4 args: 'Código'
  • description Text
    args: 'Descrição'
  • id_dest Selection
    help='Identificador de local de destino da operação.' args: [('1', 'Operação interna'), ('2', 'Operação interestadual'), ('3', 'Operação com exterior')], 'Local de destino da operação'
  • internal_type Selection
    default='normal' required=True args: [('view', 'Visualização'), ('normal', 'Normal')], 'Tipo Interno'
  • name Char
    required=True size=256 args: 'Nome'
  • parent_id Many2one → l10n_br_account_product.cfop
    args: 'l10n_br_account_product.cfop', 'CFOP Pai'
  • small_name Char
    required=True size=32 args: 'Nome Reduzido'
  • type Selection
    required=True args: TYPE, 'Tipo'
Public methods (2)
  • name_get(self, cr, uid, ids, context=None)
  • name_search(self, name, args=None, operator='ilike', limit=100)
    @api.model

New fields (12)
  • access_key Char
    size=44 args: 'Chave de Acesso'
  • cnpj_cpf Char
    size=18 args: 'CNPJ/CPF'
  • cpfcnpj_type Selection
    default='cnpj' args: [('cpf', 'CPF'), ('cnpj', 'CNPJ')], 'Tipo Doc.'
  • date Date
    args: 'Data'
  • document_type Selection
    required=True args: [('nf', 'NF'), ('nfe', 'NF-e'), ('cte', 'CT-e'), ('nfrural', 'NF Produtor'), ('cf', 'Cupom Fiscal')], 'Tipo Documento'
  • fiscal_document_id Many2one → l10n_br_account.fiscal.document
    args: 'l10n_br_account.fiscal.document', 'Documento'
  • inscr_est Char
    size=16 args: 'Inscr. Estadual/RG'
  • internal_number Char
    size=32 args: 'Número'
  • invoice_id Many2one → account.invoice
    ondelete='cascade' select=True args: 'account.invoice', 'Documento Fiscal'
  • invoice_related_id Many2one → account.invoice
    ondelete='cascade' select=True args: 'account.invoice', 'Documento Fiscal'
  • serie Char
    size=12 args: 'Série'
  • state_id Many2one → res.country.state
    domain="[('country_id.code', '=', 'BR')]" args: 'res.country.state', 'Estado'
Public methods (2)
  • onchange_invoice_related_id(self, invoice_related_id)
    @api.multi
  • onchange_mask_cnpj_cpf(self, cpfcnpj_type, cnpj_cpf)
    @api.multi

New fields (9)
  • cUF Integer
    readonly=True string='Codigo Estado'
  • chNFe Char
    size=44 string='Chave de Acesso NFE'
  • nfe_environment Selection
    selection=[('1', 'Produção'), ('2', 'Homologação')] string='Ambiente'
  • procEventoNFe Text
    readonly=True sting='Processamento Evento NFE'
  • protNFe Text
    readonly=True string='Protocolo NFE'
  • retCancNFe Text
    readonly=True string='Cancelamento NFE'
  • state Selection
    default='init' readonly=True select=True selection=[('init', 'Init'), ('error', 'Error'), ('done', 'Done')] string='State'
  • version Text
    readonly=True string='Versão'
  • xMotivo Text
    readonly=True string='Motivo'
Public methods (1)
  • get_document_status(self)
    @api.multi

New fields (3)
  • active Boolean
    default=True args: 'Ativo'
  • code Char
    required=True size=2 args: 'Código'
  • name Char
    required=True size=256 args: 'Nome'
Public methods (0)

No public methods.

New fields (13)
  • afrmm_value Float
    default=0.0 digits=dp.get_precision('Account') args: 'Valor da AFRMM'
  • date_registration Date
    required=True args: 'Data de Registro'
  • date_release Date
    required=True args: 'Data de Liberação'
  • exporting_code Char
    required=True size=60 args: 'Código do Exportador'
  • invoice_line_id Many2one → account.invoice.line
    ondelete='cascade' select=True args: 'account.invoice.line', 'Linha de Documento Fiscal'
  • line_ids One2many → l10n_br_account_product.import.declaration.line
    args: 'l10n_br_account_product.import.declaration.line', 'import_declaration_id', 'Linhas da DI'
  • location Char
    required=True size=60 args: 'Local'
  • name Char
    required=True size=10 args: 'Número da DI'
  • state_id Many2one → res.country.state
    domain="[('country_id.code', '=', 'BR')]" args: 'res.country.state', 'Estado'
  • thirdparty_cnpj Char
    size=18 args: 'CNPJ'
  • thirdparty_state_id Many2one → res.country.state
    domain="[('country_id.code', '=', 'BR')]" args: 'res.country.state', 'Estado'
  • type_import Selection
    default='1' args: [('1', '1 - Importação por conta própria'), ('2', '2 - Importação por conta e ordem'), ('3', '3 - Importação por encomenda')], 'Tipo de Importação'
  • type_transportation Selection
    args: [('1', '1 - Marítima'), ('2', '2 - Fluvial'), ('3', '3 - Lacustre'), ('4', '4 - Aérea'), ('5', '5 - Postal'), ('6', '6 - Ferroviária'), ('7', '7 - Rodoviária'), ('8', '8 - Conduto / Rede Transmissão'), ('9', '9 - Meios Próprios'), ('10', '10 - Entrada / Saída ficta')], 'Transporte Internacional'
Public methods (1)
  • onchange_mask_cnpj_cpf(self, thirdparty_cnpj)
    @api.multi

New fields (5)
  • amount_discount Float
    default=0.0 digits=dp.get_precision('Account') args: 'Valor'
  • import_declaration_id Many2one → l10n_br_account_product.import.declaration
    ondelete='cascade' select=True args: 'l10n_br_account_product.import.declaration', 'DI'
  • manufacturer_code Char
    required=True size=60 args: 'Código do Fabricante'
  • name Char
    required=True size=3 args: 'Adição'
  • sequence Integer
    default=1 required=True args: 'Sequência'
Public methods (0)

No public methods.

New fields (3)
  • amount_costs_value Float
    args: 'Outros Custos'
  • amount_freight_value Float
    args: 'Frete'
  • amount_insurance_value Float
    args: 'Seguro'
Public methods (1)
  • set_invoice_costs_ratio(self)
    @api.multi

New fields (5)
  • code Char
    required=True size=3 args: 'Código'
  • cst_group Selection
    required=True string='Grupo CST' args: [('imunidade', 'Imunidade'), ('suspensao', 'Suspensão'), ('isencao', 'Isenção'), ('reducao', 'Redução'), ('outros', 'Outros')]
  • name Text
    required=True args: 'Descrição Enquadramento Legal do IPI'
  • tax_code_in_id Many2one → account.tax.code.template
    string='CST Entrada' args: 'account.tax.code.template'
  • tax_code_out_id Many2one → account.tax.code.template
    string='CST Saída' args: 'account.tax.code.template'
Public methods (0)

No public methods.

New fields (3)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> string='Company'
  • import_status_draft Boolean
    string='Importar NFs com status em rascunho'
  • nfe_export_result One2many → l10n_br_account_product.nfe_export_result
    comodel_name='l10n_br_account_product.nfe_export_result' inverse_name='wizard_id' string='NFe Export Result'
Public methods (0)

No public methods.

New fields (8)
  • export_folder Boolean
    default=_default_export_folder string='Salvar na Pasta de Exportação'
  • file Binary
    readonly=True args: 'Arquivo'
  • file_type Selection
    default=_default_file_type selection=[('xml', 'XML'), ('txt', ' TXT')] string='Tipo do Arquivo'
  • name Char
    size=255 args: 'Nome'
  • nfe_environment Selection
    default=_default_nfe_environment selection=[('1', 'Produção'), ('2', 'Homologação')] string='Ambiente'
  • nfe_export_result One2many → l10n_br_account_product.nfe_export_invoice_result
    comodel_name='l10n_br_account_product.nfe_export_invoice_result' inverse_name='wizard_id' string='NFe Export Result'
  • sign_xml Boolean
    default=_default_sign_xml string='Assinar XML'
  • state Selection
    default='init' readonly=True selection=[('init', 'init'), ('done', 'done')] string='state'
Public methods (1)
  • nfe_export(self)
    @api.multi

New fields (4)
  • document Char
    size=255 string='Documento'
  • message Char
    size=255 string='Mensagem'
  • status Selection
    selection=[('success', 'Sucesso'), ('error', 'Erro')] string='Status'
  • wizard_id Many2one → l10n_br_account_product.nfe_export_invoice
    comodel_name='l10n_br_account_product.nfe_export_invoice' ondelete='cascade' select=True string='Wizard ID'
Public methods (0)

No public methods.

New fields (1)
  • wizard_id Many2one → l10n_br_account_product.nfe_export
    comodel_name='l10n_br_account_product.nfe_export' ondelete='cascade' select=True string='Wizard ID'
Public methods (0)

No public methods.

New fields (3)
  • company_id Many2one → res.company
    args: 'res.company', 'Empresa'
  • tax_icms_relief_id Many2one → l10n_br_account_product.icms_relief
    string='Desoneração ICMS' args: 'l10n_br_account_product.icms_relief'
  • tax_ipi_guideline_id Many2one → l10n_br_account_product.ipi_guideline
    string='Enquadramento IPI' args: 'l10n_br_account_product.ipi_guideline'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (3)
  • cest_id Many2one → l10n_br_account_product.cest
    args: 'l10n_br_account_product.cest', 'CEST'
  • fiscal_classification_id Many2one → account.product.fiscal.classification
    args: 'account.product.fiscal.classification', 'Classificação Fiscal'
  • state_id Many2one → res.country.state
    args: 'res.country.state', 'Estado'
Public methods (0)

No public methods.

New fields (1)
  • fiscal_classification_id Many2one → account.product.fiscal.classification
    select=True args: 'account.product.fiscal.classification', 'Fiscal Classification'
Public methods (0)

No public methods.

New fields (11)
  • active Boolean
    default=True args: 'Ativo'
  • company_id Many2one → res.company
    comodel_name='res.company'
  • create_date Datetime
    readonly=True args: 'Data de Criação'
  • federal_taxes_import Float
    default=0.0 digits_compute=dp.get_precision('Account') args: 'Impostos Federais Importado'
  • federal_taxes_national Float
    default=0.0 digits_compute=dp.get_precision('Account') args: 'Impostos Federais Nacional'
  • key Char
    size=32 args: 'Chave'
  • municipal_taxes Float
    default=0.0 digits_compute=dp.get_precision('Account') args: 'Impostos Municipais Nacional'
  • origin Char
    size=32 args: 'Fonte'
  • state_id Many2one → res.country.state
    required=True args: 'res.country.state', 'Estado'
  • state_taxes Float
    default=0.0 digits_compute=dp.get_precision('Account') args: 'Impostos Estaduais Nacional'
  • version Char
    size=32 args: 'Versão'
Public methods (0)

No public methods.

New fields (1)
  • fiscal_classification_id Many2one → account.product.fiscal.classification.template
    select=True args: 'account.product.fiscal.classification.template', 'Fiscal Classification'
Public methods (0)

No public methods.

New fields (3)
  • date_end Date
    required=True args: 'Data Final'
  • date_start Date
    required=True args: 'Data Inicial'
  • rate Float
    required=True args: 'Percentual Interestadual de Rateio'
Public methods (0)

No public methods.

New fields (7)
  • cest_id Many2one → l10n_br_account_product.cest
    comodel_name='l10n_br_account_product.cest' string='CEST'
  • estd_import_taxes_perct Float
    related='fiscal_classification_id.estd_import_taxes_perct'
  • estd_national_taxes_perct Float
    related='fiscal_classification_id.estd_national_taxes_perct'
  • fci Char
    size=36 args: 'FCI do Produto'
  • fiscal_type Selection
    default=PRODUCT_FISCAL_TYPE_DEFAULT selection_add=PRODUCT_FISCAL_TYPE
  • origin Selection
    default='0' args: PRODUCT_ORIGIN, 'Origem'
  • service_type_id Many2one → l10n_br_account.service.type
    args: 'l10n_br_account.service.type', 'Tipo de Serviço'
Public methods (0)

No public methods.

New fields (23)
  • accountant_cnpj_cpf Char
    size=18 string='CNPJ/CPF Contador'
  • date_used_maturity Selection
    default='invoice_creation_date' string='Data usada na criação de Vencimentos na NFe de Saída.' args: [('invoice_creation_date', 'Data de Criação da NFe'), ('invoice_out_date', 'Data de Saída da NFe')]
  • document_serie_product_ids Many2many → l10n_br_account.document.serie
    domain="[('company_id', '=', active_id),('active','=',True),('fiscal_type','=','product')]" args: 'l10n_br_account.document.serie', 'res_company_l10n_br_account_document_serie', 'company_id', 'document_serie_product_id', 'Série de Documentos Fiscais'
  • export_folder Boolean
    args: 'Salvar na Pasta de Exportação'
  • file_type Selection
    args: [('xml', 'XML'), ('txt', ' TXT')], 'Tipo do Arquivo Padrão'
  • freight_tax_id Many2one → account.tax
    domain=[('domain', '=', 'freight')] string='Freight Sale Tax' args: 'account.tax'
  • in_invoice_fiscal_category_id Many2one → l10n_br_account.fiscal.category
    domain="[('journal_type','=','purchase'), ('state', '=', 'approved'), ('fiscal_type','=','product'), ('type','=','input')]" args: 'l10n_br_account.fiscal.category', 'Categoria Fiscal de Produto Padrão de Entrada'
  • in_refund_fiscal_category_id Many2one → l10n_br_account.fiscal.category
    domain="[('journal_type','=','purchase_refund'),('state', '=', 'approved'), ('fiscal_type','=','product'),('type','=','output')]" args: 'l10n_br_account.fiscal.category', 'Devolução Entrada'
  • insurance_tax_id Many2one → account.tax
    domain=[('domain', '=', 'insurance')] string='Insurance Sale Tax' args: 'account.tax'
  • nfe_a1_file Binary
    args: 'Arquivo NFe A1'
  • nfe_a1_password Char
    size=64 args: 'Senha NFe A1'
  • nfe_backup_folder Char
    size=254 args: 'Pasta de Backup'
  • nfe_environment Selection
    args: [('1', 'Produção'), ('2', 'Homologação')], 'Ambiente Padrão'
  • nfe_export_folder Char
    size=254 args: 'Pasta de Exportação'
  • nfe_import_folder Char
    size=254 args: 'Pasta de Importação'
  • nfe_version Selection
    default='3.10' required=True args: [('1.10', '1.10'), ('2.00', '2.00'), ('3.10', '3.10')], 'Versão NFe'
  • other_costs_tax_id Many2one → account.tax
    domain=[('domain', '=', 'other_costs')] string='Other Costs Sale Tax' args: 'account.tax'
  • out_invoice_fiscal_category_id Many2one → l10n_br_account.fiscal.category
    domain="[('journal_type','=','sale'), ('state', '=', 'approved'), ('fiscal_type','=','product'), ('type','=','output')]" args: 'l10n_br_account.fiscal.category', 'Categoria Fiscal de Produto Padrão de Saida'
  • out_refund_fiscal_category_id Many2one → l10n_br_account.fiscal.category
    domain="[('journal_type','=','sale_refund'),('state', '=', 'approved'), ('fiscal_type','=','product'), ('type','=','input')]" args: 'l10n_br_account.fiscal.category', 'Devolução Saida'
  • product_invoice_id Many2one → l10n_br_account.fiscal.document
    args: 'l10n_br_account.fiscal.document', 'Documento Fiscal'
  • product_tax_definition_line One2many → l10n_br_tax.definition.company.product
    args: 'l10n_br_tax.definition.company.product', 'company_id', 'Taxes Definitions'
  • product_tax_ids Many2many → account.tax
    compute='_compute_taxes' store=True string='Product Taxes' args: 'account.tax'
  • sign_xml Boolean
    args: 'Assinar XML'
Public methods (0)

No public methods.

New fields (2)
  • product_tax_definition_line One2many → l10n_br_tax.definition.state.product
    args: 'l10n_br_tax.definition.state.product', 'state_id', 'Taxes Definitions'
  • product_tax_ids Many2many → account.tax
    compute='_compute_taxes' store=True string='Product Taxes' args: 'account.tax'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • action_create(self)
    @api.multi
REPOSITORY
REPOSITORYOCA/l10n-brazil
GIT
GIThttps://github.com/OCA/l10n-brazil.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-brazil/tree/7.0/l10n_br_account_product
VERSION
VERSION 7.0
CATEGORY
CATEGORYLocalisation
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSAkretion, OpenERP Brasil
MAINTAINERS
MAINTAINERSAkretion, OpenERP Brasil
COMMITTERS
COMMITTERSRaphaël Valyi, Renato Lima, Luis Felipe Mileo, Danimar Ribeiro, mileo, Luis Felipe Miléo, bertozo
WEBSITE
WEBSITEhttp://openerpbrasil.org
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:07:13
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-fiscal-rule:
    - account_fiscal_position_rule
    - account_product_fiscal_classification
OCA/l10n-brazil:
    - l10n_br_account
    - l10n_br_base
    - l10n_br_product
OCA/server-tools:
    - web_context_tunnel
odoo/odoo:
    - l10n_br
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - process
    - decimal_precision
    - mail
    - analytic
    - board
    - edi
    - email_template
    - account_chart
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Brazilian Localization Account Product

Code Analysis

Views touched (33)
XML IDNameModelTypeStatus
l10n_br_account_product_cfop_form l10n_br_account_product.cfop.name l10n_br_account_product.cfop form New
l10n_br_account_product_cfop_search l10n_br_account_product.cfop.search l10n_br_account_product.cfop search New
l10n_br_account_product_cfop_structure l10n_br_account_product.cfop.structure l10n_br_account_product.cfop tree New
l10n_br_account_product_cfop_tree l10n_br_account_product.cfop.tree l10n_br_account_product.cfop tree New
l10n_br_account_product_document_status_sefaz_form Consultar Documento l10n_br_account_product.document_status_sefaz form New
l10n_br_account_product_fiscal_category_form l10n_br_account_product.fiscal.category l10n_br_account.fiscal.category field Inherits l10n_br_account.view_l10n_br_account_fiscal_category_form
l10n_br_account_product_fiscal_classification_form l10n_br_account_product.fiscal_classification_form account.product.fiscal.classification field Inherits account_product_fiscal_classification.fiscal_classification_normal_form_view_form
l10n_br_account_product_fiscal_classification_template_form l10n_br_account_product.fiscal.classification.template.form account.product.fiscal.classification.template field Inherits account_product_fiscal_classification.fiscal_classification_template_normal_form_view_form
l10n_br_account_product_invoice_filter l10n_br_account_product.invoice.select account.invoice filter Inherits account.view_account_invoice_filter
l10n_br_account_product_invoice_form l10n_br_account_product.invoice.form account.invoice label Inherits account.invoice_form
l10n_br_account_product_invoice_line_tree l10n_br_account_product.invoice.line.tree account.invoice.line field Inherits account.view_invoice_line_tree
l10n_br_account_product_invoice_supplier_form l10n_br_account.invoice.supplier.form account.invoice label Inherits account.invoice_supplier_form
l10n_br_account_product_nfe_export_form l10n_br_account_product.nfe_export.form l10n_br_account_product.nfe_export field Inherits l10n_br_account_product_nfe_export_invoice_form
l10n_br_account_product_nfe_export_invoice_form Exportar Nota Fiscal l10n_br_account_product.nfe_export_invoice form New
l10n_br_account_product_normal_form l10n_br_account_product.normal.form product.product field Inherits l10n_br_account.l10n_br_account_product_normal_form_view
l10n_br_account_product_payment_term_form l10n_br_account_product.payment.term.form account.payment.term field Inherits account.view_payment_term_form
l10n_br_account_product_position_form l10n_br_account_product.fiscal.position.form account.fiscal.position field Inherits l10n_br_account.l10n_br_account_position_form
l10n_br_account_product_position_template_form l10n_br_account_product.fiscal.position.template.form account.fiscal.position.template field Inherits l10n_br_account.l10n_br_account_position_template_form
l10n_br_account_product_position_template_form l10n_br_account_product.fiscal.position.template.form account.fiscal.position.template field Inherits account.view_account_position_template_form
l10n_br_account_product_template_form l10n_br_account_product.product.template.form product.template field Inherits product.product_template_form_view
l10n_br_tax_definition_company_product_form l10n_br_tax.definition.company.product.form l10n_br_tax.definition.company.product form New
l10n_br_tax_definition_company_product_tree l10n_br_tax.definition.company.product.tree l10n_br_tax.definition.company.product tree New
l10n_br_tax_definition_purchase_form l10n_br_tax.definition.purchase.form l10n_br_tax.definition.purchase form New
l10n_br_tax_definition_purchase_template_form l10n_br_tax.definition.purchase.template.form l10n_br_tax.definition.purchase.template form New
l10n_br_tax_definition_purchase_template_tree l10n_br_tax.definition.purchase.template.tree l10n_br_tax.definition.purchase.template tree New
l10n_br_tax_definition_sale_template_tree l10n_br_tax.definition.sale.template.tree l10n_br_tax.definition.sale.template tree New
l10n_br_tax_definition_sale_tree l10n_br_tax.definition.sale.tree l10n_br_tax.definition.sale tree New
l10n_br_tax_definition_template_sale_form l10n_br_tax.definition.sale.template.form l10n_br_tax.definition.sale.template form New
view_account_invoice_refund_br view_account_invoice_refund_br account.invoice.refund field Inherits account.view_account_invoice_refund
view_l10n_br_account_company_form l10n_br_account_product.res.company.form res.company page Inherits l10n_br_account.view_l10n_br_account_company_form
view_l10n_br_account_invoice_line_form l10n_br_account.invoice.line.form account.invoice.line form Inherits account.view_invoice_line_form
view_l10n_br_taxdefinition_classification_sale_form l10n_br_tax.definition.sale.form l10n_br_tax.definition.sale form New
view_l10n_br_taxdefinition_purchase_tree l10n_br_tax.definition.purchase.tree l10n_br_tax.definition.purchase tree New
Models touched (31)

New fields (0)

No new fields.

Public methods (2)
  • map_tax(self, cr, uid, fposition_id, taxes, context=None)
  • map_tax_code(self, cr, uid, product_id, fiscal_position, company_id=False, tax_ids=False, context=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (3)
  • action_date_assign(self, cr, uid, ids, *args)
  • action_move_create(self, cr, uid, ids, *args)
  • nfe_check(self, cr, uid, ids, context=None)

New fields (0)

No new fields.

Public methods (2)
  • create(self, cr, uid, vals, context=None)
  • write(self, cr, uid, ids, vals, context=None)

New fields (0)

No new fields.

Public methods (2)
  • compute_refund(self, cr, uid, ids, mode='refund', context=None)
  • fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False)

New fields (0)

No new fields.

Public methods (1)
  • compute(self, cr, uid, invoice_id, context=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • button_update_products(self, cr, uid, ids, context=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • compute_all(self, cr, uid, taxes, price_unit, quantity, product=None, partner=None, force_excluded=False, fiscal_position=False, insurance_value=0.0, freight_value=0.0, other_costs_value=0.0)
    Compute taxes Returns a dict of the form:: { 'total': Total without taxes, 'total_included': Total with taxes, 'total_tax_discount': Total Tax Discounts, 'taxes': <list of taxes, objects>, 'total_base': Total Base by tax, } :Parameters: - 'cr': Database cursor. - 'uid': Current user. - 'taxes': List with all taxes id. - 'price_unit': Product price unit. - 'quantity': Product quantity. - 'force_excluded': Used to say that we don't want to consider the value of field price_include of tax. It's used in encoding by line where you don't matter if you encoded a tax with that boolean to True or False.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (2)
  • name_get(self, cr, uid, ids, context=None)
  • name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80)

New fields (0)

No new fields.

Public methods (2)
  • onchange_invoice_related_id(self, cr, uid, ids, invoice_related_id=False, context=None)
  • onchange_mask_cnpj_cpf(self, cr, uid, ids, cpfcnpj_type, cnpj_cpf, context=None)

New fields (0)

No new fields.

Public methods (1)
  • get_document_status(self, cr, uid, ids, context=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • nfe_export(self, cr, uid, ids, context=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • ncm_id_change(self, cr, uid, ids, ncm_id=False, sale_tax_ids=None, purchase_tax_ids=None, context=None)
    We eventually keep the sale and purchase taxes because those are not company wise in OpenERP. So if we choose a different fiscal position for a different company, we don't want to override other's companies setting

New fields (0)

No new fields.

Public methods (1)
  • ncm_id_change(self, cr, uid, ids, ncm_id=False, sale_tax_ids=None, purchase_tax_ids=None, context=None)
    We eventually keep the sale and purchase taxes because those are not company wise in OpenERP. So if we choose a different fiscal position for a different company, we don't want to override other's companies setting

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • action_create(self, cr, uid, ids, context=None)