This module adds brazilian fields, validations and tax calc to point of sale.
auto_awesome What this module does
AI-generated from the code · Odoo 16.0Adapts the Point of Sale to Brazilian fiscal rules: each POS order becomes a fiscal document (NFC-e, SAT or PAF-ECF) with CNPJ/CPF, tax operation, CFOP, series, key and cancellation data, and products get a per-POS fiscal map.
This module makes the Point of Sale work under Brazilian tax rules. On each point-of-sale configuration you get new tabs: "Geral" (simplified vs. detailed document types and the amount limits above which a simplified invoice or an anonymous fiscal coupon is no longer allowed), "Taxation" (default sales and return fiscal operations, the partner used for the fiscal map, the allowed CFOPs and operation lines, plus buttons "Update Pos TAX" and "Tax x Products"), "NFC-E" (issue via IoT and digital certificate), "SAT" (environment, homologation CNPJ/IE, software house data, cashier number, activation code, printer model and connection type, session counter) and an empty "ECF" tab.
Products available in the POS get a fiscal map per POS configuration, created automatically when a product is created or marked as available in the POS, and refreshed by the update button. A dedicated screen lists these maps (POS, product, operation line, CFOP, fiscal taxes).
POS orders now carry fiscal fields: CNPJ/CPF, legal name, state tax number, fiscal operation, document type, series, number, access key, QR code, authorization and cancellation protocols and files, e-document status, comments and additional data. A "Cancellation" tab shows cancellation data, and the order form gains a chatter. Cancelling an order marks it cancelled, stores the cancellation data and creates a refund with reversed payments. The standard invoice print action is removed.
CFOPs get an "Allowed at the POS" flag used to filter what the POS may use. New customers created from the POS have their CPF/CNPJ validated and formatted, and the name is copied to the legal name.
Depends on
Required by other modules
Models and fields (13)
- pos.order · new modelie (State Tax Number/RG), cnpj_cpf (CNPJ/CPF), ind_pres, legal_name (Legal Name), state_edoc (e-doc Status), cancel_date, cancel_file, comment_ids (Comments), date_in_out (Date Move), document_id (Fiscal Document), status_code, status_name, document_key (Key), edoc_purpose (Goal), document_date (Date), document_type, document_serie (Serie Number), operation_name, additional_data, cancel_protocol, document_number, document_file_id (XML), document_type_id, document_serie_id, authorization_date, authorization_file, fiscal_coupon_date (Coupon Fiscal Date), status_description (Status Name), cancel_document_key (Cancel Key), document_electronic (Electronic?)
- pos.config · extends an existing modelprinter, cfop_ids (Allowed CFOPs), sat_path, partner_id, session_sat (Last Session Value), ask_identity (Ask Identity on Payment), signature_sat (Signature in CFe), cashier_number, printer_params (Printer parameters), activation_code, additional_data (Aditional Information), ie_homologation, sat_environment, cnpj_homologation, certificate_nfe_id (Digital certificate), pos_fiscal_map_ids, cnpj_software_house, fiscal_printer_type, iface_nfce_via_proxy (NFC-e via IOT), detailed_document_type (Detailed document type), iface_fiscal_via_proxy (Fiscal via IOT), save_identity_automatic (Save new client), simplified_document_type (Simplified document type), simplified_invoice_limit, detailed_document_type_id, anonymous_simplified_limit, out_pos_fiscal_operation_id (Default Sales Operation), simplified_document_type_id, refund_pos_fiscal_operation_id (Default Return Operation), out_pos_fiscal_operation_line_ids (Sales Operation Lines)
- mail.thread · extends an existing model
- res.company · extends an existing modelenvironment_sat (SAT environment), cnpj_software_house (CNPJ software house), sign_software_house (Software House Signature), out_pos_fiscal_operation_id (Pos Out Fiscal Operation), refund_pos_fiscal_operation_id (Pos Refund Fiscal Operation)
- res.partner · extends an existing model
- stock.picking · extends an existing model
- pos.order.line · new modeluom_id, quantity (Product Uom Quantity), comment_ids (Comments), document_id, fiscal_tax_ids (Fiscal Taxes)
- product.product · extends an existing model
- product.template · extends an existing modelpos_fiscal_map_ids
- l10n_br_fiscal.cfop · extends an existing modelis_pos (Allowed at the POS)
- stock.return.picking · extends an existing model
- l10n_br_pos.product_fiscal_map · new modelname, ncm_code, quantity, cfop_code, ind_final, company_id, partner_id, price_unit, product_id, comment_ids (Comments), pos_config_id, tax_framework (Tax Framework), fiscal_tax_ids (Fiscal Taxes), product_tmpl_id, ncm_code_exception, fiscal_operation_id, company_tax_framework
- l10n_br_fiscal.document.related · extends an existing modelpos_related_id (POS Fiscal Document)
Text generated by AI (DeepSeek) from reading the Odoo 16.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 2 confirmed, 7 with no information of 9 versions.
Sources · Odoo 16.0
Confirmed on 2026-11-03 in branch 16.0 of OCA/l10n-brazil.
terminal Installation and usage
OCA documentation · Odoo 16.0Installation
Source · Odoo 16.0This module depends on:
- l10n_br_account
Configuration
Source · Odoo 16.0Configurar aba POS do cadastro da empresa.
Configurar o Ponto de venda, prestando atenção nos seguintes campos:
> - A aba Geral, com os detalhes do documento fiscal simplificado e não > simplificado; > - A aba tributos, com os dados da tributação a ser utilizada, o o > cliente anónimo para servir como referência, assim como seus campos > de endereço. > - Clicar no botão Update Tax no pos config ou no produto; > - Validar que a tributação esta correta;
Configurar e instalar um dos módulos responsáveis pela transmissão do documento fiscal:
> - l10n_br_pos_cfe > - l10n_br_pos_nfce > - l10n_br_account_nfe (Somente para emissão de NF-e);
No verified information in OCA: Usage.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.