Brasil

Módulos

The following modules related to the Brazilian localization are available:

Nombre

Nombre técnico

Descripción

Brasil - Contabilidad

l10n_br

Brazilian fiscal localization package, complete with the Brazilian chart of accounts, taxes, tax report, fiscal positions, and document and identification types.

Brasil - Informes contables

l10n_br_reports

Informes contables para Brasil.

AvaTax Brazil, Avatax Brazil Sale & Test SOs for the Brazilian Avatax

l10n_br_avatax, l10n_br_avatax_sale & l10n_br_test_avatax_sale

Cálculo de impuestos para bienes y servicios a través de Avalara.

Brazilian Accounting EDI

l10n_br_edi

Provides electronic invoicing through Avatax.

Brazilian Accounting EDI For Sale

l10n_br_edi_sale

Adds some fields to sale orders that are carried over the invoice.

Brazilian Accounting EDI for POS

l10n_br_edi_pos

Provides electronic invoicing through Avatax in the POS.

Brazilian Accounting EDI for eCommerce

l10n_br_edi_website_sale

Allows tax calculation and EDI for eCommerce users.

Brazilian Accounting EDI for stock

l10n_br_edi_stock

Adds delivery-related information to the NF-e.

Brazil - Website Sale

l10n_br_website_sale

Allows tax calculation and EDI for eCommerce users.

Brazil - Sale

l10n_br_sales

Modificaciones de venta para Brasil

Brazil - Sale Subscription

l10n_br_sale_subscription

Modificaciones para venta de suscripciones en Brasil

Nota

The localization’s core modules are installed automatically with the localization. The rest can be manually installed.

Localization overview

The Brazilian localization package ensures compliance with Brazilian fiscal and accounting regulations. It includes tools for managing taxes, fiscal positions, reporting, and a predefined chart of accounts tailored to Brazil’s standards.

The Brazilian localization package provides the following key features to ensure compliance with local fiscal and accounting regulations:

  • Chart of accounts: a predefined structure tailored to Brazilian accounting standards

  • Taxes: pre-configured tax rates, including standard VAT, zero-rated, and exempt options.

  • Payroll

  • Reporting

Plan contable

In the chart of accounts, the accounts are mapped automatically to their corresponding taxes, and the default account payable and account receivable fields.

Nota

The Brazil chart of accounts is based on the SPED CoA, which provides a baseline of the necessary accounts.

Impuestos

Taxes are automatically created and configured when installing the Brazilian localization. Avalara uses some to compute taxes on sales orders or invoices.

Taxes used for services must be manually added and configured, as the rate may differ depending on the city where the service is offered.

Importante

NFS-e can’t be issued for service taxes created manually. To electronically send an NFS-e, compute taxes using Avalara.

Advertencia

Do not delete taxes, as they are used for the AvaTax tax computation. If deleted, Odoo creates them again when used in an SO or invoice, computing taxes with AvaTax. However, the account used to register the tax must be reconfigured in the tax’s Definition tab, under the Distribution for invoices and Distribution for refunds sections.

Company and contacts

To use all the features of this fiscal localization, the following fields are required on the company record:

  • Nombre

  • Dirección: proporcione la ciudad, estado, código postal y país

    • En el campo calle, ingrese el nombre de la calle, el número y cualquier información adicional de dirección.

    • En el campo calle 2, ingrese la zona.

  • Número de identificación: CNPJ o CPF.

  • Número de identificación fiscal: asociado al tipo de identificación.

  • IE: inscrição estadual, registro estatal.

  • IM: inscrição municipal, registro municipal.

  • Código SUFRAMA: Superintendencia de la Zona Franca de Manaos, agréguelo si es necesario.

  • Teléfono

  • Correo electrónico

Configure la información fiscal en la pestaña Ventas y compras:

  • Add the Fiscal Position for AvaTax Brazil.

  • Régimen fiscal: régimen fiscal federal.

  • Tipo de contribuyente ICMS: indica el régimen de ICMS, el estado de exención o si no es contribuyente.

  • Sector de actividad principal

Configure the following extra Fiscal Information to issue NFS-e:

  • Add the Fiscal Position for AvaTax Brazil.

  • Detalles de COFINS: imponible, no imponible, imponible con tasa del 0%, exento o suspendido.

  • Detalles de PIS: imponible, no imponible, imponible con tasa del 0%, exento o suspendido.

  • CSLL Taxable if the company is subject to CSLL or not

Truco

If it is a simplified regime, the ICMS rate must be configured. To do so, go to Accounting ‣ Configuration ‣ Settings, scroll down to the Taxes section, and set the Sales Tax and Purchase Tax fields in the Default Taxes section.

The same configuration applies to the relevant contact form when using the AvaTax integration.

Nota

Seleccione la opción empresa si es un contacto con un número de identificación fiscal (CNPJ) o seleccione individuo si es un contacto con un registro de persona física (Cadastro de Pessoas Físicas).

Integración con AvaTax

Nota

To compute the goods and services tax and process electronic invoices, the following configurations are needed:

Configuración

Credenciales

Activate AvaTax in Odoo and, in the AvaTax Brazil section, add the administrator’s email address for the AvaTax portal in the AvaTax Portal Email field, then click Create account.

Advertencia

When testing or creating a production AvaTax Portal Email integration in a sandbox or production database, use a real email address, as it is needed to connect to Avalara and set up the certificates, whether to test or use it on production.

There are two different Brazilian Avalara Portals:

When the account is created from Odoo, select the right environment. Moreover, the email used to open the account cannot be used to open another account. Save the API ID and API Key when the account is created from Odoo.

Transferir credenciales API.

After the account is created from Odoo, go to the Avalara Portal to set up the password:

  1. Ingrese al portal de Avalara.

  2. Click Meu primeiro acesso.

  3. Add the email address used in Odoo to create the Avalara/AvaTax account, and click Solicitar Senha.

  4. An email will then be received with a token and a link to create a password. Click on this link and copy-paste the token to allocate the desired password.

Truco

If you use AvaTax in Odoo for tax computation only, setting a password or accessing the Avalara portal is unnecessary. However, to use the electronic invoice service, access to AvaTax is needed, and the certificate must be uploaded.

Nota

API credentials can be transferred. This option should be used only when an account has already been created in another Odoo instance and must be reused.

Subir certificado A1

To issue electronic invoices, a certificate must be uploaded to the AvaTax portal.

The certificate will be synchronized with Odoo as long as the external identifier number in the AvaTax portal matches, without special characters, with the CNPJ number, and the identification number (CNPJ) in Odoo matches the CNPJ in AvaTax.

Importante

Some cities require the certificate to be linked within the City Portal system before issuing NFS-e from Odoo.

If an error message from the city that says Your certificate is not linked to the user is received, this process needs to be done in the city portal.

Posiciones fiscales

To set up the Automatic Tax Mapping (Avalara Brazil) fiscal position, enable the Detect Automatically and Use AvaTax Brazil API options.

Ver también

Fiscal positions

Productos

To use the AvaTax integration on sales orders and invoices, enter the following information in the Sales tab of the product form under the Brazil Accounting section, based on how the product will be used.

Factura electrónica para bienes (NFS-e)

Importante

The Avalara integration works on a credit-based system, where each interaction with Avalara consumes one credit. Below are the main credit-consuming operations:

Sales application

  • Tax calculation on quotations and sales orders.

Accounting application

  • Tax calculation on invoices.

  • Electronic invoice submission (NF-e or NFS-e).

Occasional operations: (each step is billed separately)

Nota

If taxes are calculated in the Sales app, and the invoice is later issued in the Accounting app, the calculation happens twice, consuming two credits.

Example

Sales order confirmed
1 credit (tax calculation)
Invoice created
1 credit (tax calculation)
Invoice confirmed and submitted
1 credit (tax calculation) + 1 credit (submit invoice)
Total: 4 credits
  • CEST Code: tax classification code identifying goods and products subject to tax substitution under ICMS regulations, and helps determine the applicable tax treatment and procedures for specific items. The product’s applicability to this requirement can be verified at https://www.codigocest.com.br/.

  • Código NCM Mercosur: código de producto de la Nomenclatura común del Mercosur.

  • Source of Origin: origin of the product, which can be foreign or domestic, among other possible options, depending on the specific use case

  • SPED Fiscal Product Type: fiscal product type according to the SPED list table

  • Purpose of Use: intended purpose of use for this product

Nota

Odoo automatically creates three products to be used for transportation costs associated with sales. These are named Freight, Insurance, and Other Costs and are already configured. If more need to be created, duplicate and use the same configuration:

  • Product Type Service

  • Transportation Cost Type: Insurance, Freight, or Other Costs

Facturas electrónicas para servicios (NFS-e)

Importante

The Avalara integration works on a credit-based system, where each interaction with Avalara consumes one credit. Below are the main credit-consuming operations:

Sales application

  • Tax calculation on quotations and sales orders.

Accounting application

  • Tax calculation on invoices.

  • Electronic invoice submission (NF-e or NFS-e).

  • Invoice status check (1 credit is consumed each time the invoice status is checked).

Occasional operations: (each step is billed separately)

Nota

If taxes are calculated in the Sales app and the invoice is later issued in the Accounting app, the calculation happens twice, consuming two credits.

Example

Sales order confirmed
1 credit (tax calculation)
Invoice created
1 credit (tax calculation)
Invoice confirmed and submitted
1 credit (tax calculation) + 1 credit (submit invoice)
Total: 4 credits
  • Código NCM Mercosur: código de producto de la Nomenclatura común del Mercosur.

  • Purpose of Use: intended purpose of use for this product

  • Origen del código de servicio: código del servicio de la ciudad donde el proveedor está registrado.

  • Labor Assignment: checkbox to select if the service involves labor

  • Transport Cost Type: type of transport costs to select

  • Service Codes: City Service Code where the service will be provided; if no code is added, the Service Code Origin will be used.

Cálculo de impuestos

Ver también

Tax calculation

Cálculos de impuestos en cotizaciones y órdenes de venta

Activará una llamada a la API para calcular los impuestos de forma automática con AvaTax en una cotización u orden de ventas con cualquiera de las siguientes acciones:

  • Al confirmar una cotización

    Confirme la cotización de una orden de ventas.

  • Al activarla manualmente

    Click Compute Taxes Using AvaTax.

  • Al visualizar la vista previa

    Click Preview.

  • Email a quotation/sales order

    Envíe una cotización u orden de venta mediante correo electrónico a un cliente.

  • Al acceder a una cotización en línea

    Cuando un cliente acceda a la cotización en línea (mediante la vista del portal), se activará una llamada a la API.

Cálculo de impuestos en facturas

Activará una llamada a la API para calcular los impuestos de forma automática con AvaTax en una factura para el cliente con cualquiera de las siguientes acciones:

  • Al activarla manualmente

    Click Compute Taxes Using AvaTax.

  • Al visualizar la vista previa

    Click Preview.

  • Al acceder a una cotización en línea

    Cuando un cliente acceda a la factura en línea (mediante la vista del portal), se activará una llamada a la API.

Nota

Debe establecer la posición fiscal como Mapeo automático de impuestos (Avalara Brasil) en cualquiera de estas acciones para calcular los impuestos de forma automática.

Contabilidad

Documentos electrónicos

Configuración

A series number is linked to a sequence number range for electronic invoices. To configure the series number on a sales journal, go to Accounting ‣ Configuration ‣ Journals and set it in the Series field. If more than one series is needed, a new sales journal must be created, and a new series number must be assigned for each series.

Enable the Use Documents? option as the Series field will only be displayed if the Use Documents? option is selected on the journal.

When issuing electronic and non-electronic invoices, the Type field selects the document type used when creating the invoice.

Nota

When creating the journal, ensure the Dedicated Credit Note Sequence field in the Accounting Information section is unchecked, as in Brazil, sequences between invoices, credit notes, and debit notes are shared per series number, which means per journal.

Facturas de cliente

To process an electronic invoice for goods (NF-e) or services (NFS-e), the invoice must be confirmed and taxes must be computed by Avalara. The following fields must be filled out:

  • Customer, with all customer information

  • Payment Method: Brazil: Specify the expected payment method.

  • Document Type: Select (55) Electronic Invoice (NF-e) or (SE) Electronic Service Invoice (NFS-e).

Other Info tab:

  • Fiscal Position set as Automatic Tax Mapping (Avalara Brazil).

Some optional fields depend on the nature of the transaction. These fields in the Other Info tab are not required, so in most cases, leaving them blank will not result in errors from the government when the invoice is submitted:

  • Freight Model determines how the goods are planned to be transported - domestic.

  • Transporter Brazil determines who is doing the transportation.

Then, click Send. In the Print & Send window, click Process e-invoice and any other options, such as Download or Email. Finally, click Send to process the invoice with the government.

Nota

All fields available on the invoice used to issue an electronic invoice are also available on the sales order, if needed. When creating the first invoice, the Document Number field is displayed and allocated as the first number to be used sequentially for subsequent invoices.

Notas de crédito

If a sales return needs to be registered, a credit note can be created in Odoo and sent to the government for validation.

Nota

Las notas de crédito solo están disponibles para las facturas electrónicas de bienes (NF-e).

Notas de débito

If additional information needs to be included or values that were not accurately provided in the original invoice need to be corrected, a debit note can be issued.

Nota

  • Las notas de débito solo están disponibles para las facturas electrónicas de bienes (NF-e).

  • Only the products included in the original invoice can be included in the debit note. While changes can be made to the product’s unit price or quantity, products cannot be added to the debit note. The purpose of this document is only to declare the amount to be added to the original invoice for the same or fewer products.

Cancelar facturas

It is possible to cancel an electronic invoice that the government validated.

Nota

Check whether the electronic invoice is still within the cancellation deadline, which may vary according to each state’s legislation.

Factura electrónica para bienes (NFS-e)

To cancel an e-invoice for goods (NF-e) in Odoo, click Request Cancel and add a cancellation Reason on the pop-up that appears. To send this cancellation reason to the customer via email, enable the E-mail checkbox.

Nota

This is an electronic cancellation, which means that Odoo will send a request to the government to cancel the NF-e. It will then consume one IAP credit, as an API call occurs.

Facturas electrónicas para servicios (NFS-e)

To cancel an e-invoice for services (NFS-e) in Odoo, click Request Cancel. There is no electronic cancellation process in this case, as not every city has this service available. The user needs to cancel this NFS-e on the city portal manually. Once that step is completed, they can request the cancellation in Odoo, which will cancel the invoice.

Carta de corrección

A correction letter can be created and linked to an electronic invoice for goods (NF-e) that the government validated.

To do so in Odoo, click Correction Letter and add a correction Reason to the pop-up. To send the correction reason to a customer via email, enable the E-mail checkbox.

Nota

Las cartas de rectificación solo están disponibles para las facturas electrónicas de bienes (NF-e).

Invoice number range invalidation

A range of sequences that are assigned to sales journals can be invalidated by the government if they are not currently used and will not be used in the future. To do so, go to Accounting ‣ Configuration ‣ Journals, open the journal, click the (gear) icon, and select Invalidate Number Range (BR). On the Invalidate Number Range (BR) wizard, add the Initial Number and End Number of the range that should be cancelled, and enter an invalidation Reason.

Nota

  • Invoice number range invalidation is only available for electronic invoices for goods (NF-e).

  • The journal’s chatter records the log of the cancelled numbers, along with the XML file.

Facturas de proveedor

When receiving an invoice from a supplier, encode the bill in Odoo by adding all the commercial information and the same Brazilian-specific information recorded on the customer invoices.

These Brazilian-specific fields are:

  • Payment Method: Brazil: Specify the expected payment method.

  • Document Type: used by the vendor

  • Document Number: the invoice number from the supplier

  • Modelo de flete: específico para NF-e. Determina cómo planea transportar los bienes de forma local.

  • Transportista de Brasil: específico para NF-e. Quién se encarga de la transportación.

Point of sale NFC-e

The NFC-e is a legal document that supports selling goods or merchandise to the final customer. Like the NF-e, the electronic customer invoice is also issued in XML file format and has an auxiliary document (DANFC-e) known as the NFC-e Summary. This electronic document can be issued through Odoo Point of Sale.

Its legal validity is guaranteed by the digital signature and by each Brazilian state’s SEFAZ (Secretaria da Fazenda).

Importante

The Avalara integration operates on a credit-based system. Each operation that involves communication with Avalara consumes one credit. The following operations within the Point of Sale (POS) application are subject to credit consumption:

  • Tax calculation at the time of sale

  • Electronic invoice issuance (NFC-e)

Nota

Each step is billed separately. For example, calculating taxes and issuing an invoice for the same POS transaction consumes two credits.

Ver también

Point of Sale

Configuración

Install the Brazilian Accounting EDI for POS (l10nbr_edi_pos) module and make sure to activate AvaTax.

CSC details

Go to Accounting ‣ Configuration ‣ Settings and scroll to the Taxes section. In the NFC-e configuration section, complete the following CSC (Taxpayer Security Code) fields:

  • CSC ID: The CSC ID or CSC Token is an identification of the taxpayer security code, which can have 1 to 6 digits and is available on the official website of your state’s Department of Finance (SEFAZ).

  • CSC Number: The CSC Number is a code of up to 36 characters that only you and the Department of Finance know. It is used to generate the QR Code of the NFC-e and ensure the authenticity of the DANFE.

Nota

The information required for these fields can be generated through the SEFAZ website of each Brazilian State by the company’s accountant.

Configuración de productos

Access the relevant product form in POS, then configure the product’s Brazil Accounting fields.

Point of sale

Go to Point of Sale ‣ Configuration ‣ Settings and make sure that the relevant Point of Sale is selected at the top of the screen. Then, scroll to the Accounting section and configure the Brazilian EDI fields:

  • Series

  • Next number: the next NFC-e number in the sequence to be issued, for instance, if the last number issued in SEFAZ is 100, the Next number will be 101.

Flujo

Generating an NFC-e

To generate an NFC-e, follow these steps:

  1. Open the relevant point of sale shop and make a sale.

  2. Validate the payment to calculate taxes and issue an NFC-e. The valid NFC-e appears on the right side of the screen.

NFC-e Success in a POS session.

Nota

It is also possible to issue an NFC-e that identifies the customer by their CPF/CNPJ. To do so, click Customer, search for the customer, or create a new one.

The following are mandatory fields to issue a CPF/CNPJ identified NFC-e:

  • Nombre

  • City and State where the invoice is being issued

  • CPF/CNPJ

  1. Click Validate. The NFC-e appears, highlighting the customer’s CPF on the print.

  2. Click Print or Send via e-mail to deliver the invoice to the customer.

NFC-e ticket print

After generating and validating the NFC-e, click Print to deliver the invoice.

Nota

The Odoo NFC-e feature is compatible with any thermal printer and does not require an Odoo IoT Box.

Re-issuing a PoS order with an NFC-e error

If the NFC-e returns an error, follow these steps:

  1. Correct the error.

  2. Re-issue the NFC-e by clicking the (menu) icon and selecting Orders.

  3. Filter the list to show only Paid orders and click Details. The error is displayed.

  4. Click Send NFC-e.

Nota

If the error has been corrected and the PoS session is closed, Odoo logs the tax adjustment in the chatter of the related journal entry. The journal entry for the order indicates that the taxes were incorrectly calculated. In this case, reprocessing the NFC-e is required.

Point of sale order view form.

NFC-e refunds & cancellations

Refunds can be processed directly in Odoo, but cancellations must be performed through the official government portal.

When the process is finalized, the approved return NF-e is created, meaning the previous NFC-e is canceled.

Return of Goods NF-e Approved.

Importante

SEFAZ only allows cancellation of an NFC-e within 30 minutes of its issuance on the SEFAZ website. After this period, a manual refund must be processed, along with the issuance of a Return of Goods NF-e.