Skip to content

Commit a510db2

Browse files
sclo-odoosamueljlieber
authored andcommitted
[IMP] accouting/l10n_br: Adding NFC-e feature
Adding the NFC-e configurations and workflows to the user guide.
1 parent 9b02217 commit a510db2

File tree

5 files changed

+172
-0
lines changed

5 files changed

+172
-0
lines changed

content/applications/finance/fiscal_localizations/brazil.rst

+172
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,9 @@ localization:
6767
* - :guilabel:`Brazilian Accounting EDI` & :guilabel:`Brazilian Accounting EDI for services`
6868
- `l10n_br_edi` & `l10n_br_edi_services`
6969
- Provides electronic invoicing for goods and services for Brazil through AvaTax.
70+
* - :guilabel:`Brazilian Accounting EDI for POS`
71+
- `l10n_br_edi_pos`
72+
- Provides electronic invoicing for Brazil through Avatax in the POS.
7073
* - :guilabel:`Brazil Pix QR codes`
7174
- `l10n_br_pix`
7275
- Implements Pix QR codes for Brazil.
@@ -518,6 +521,8 @@ It is possible to cancel an electronic invoice that was validated by the governm
518521
Check whether the electronic invoice is still within the cancellation deadline, which may vary
519522
according to the legislation of each state.
520523

524+
.. _brazil/e-invoice-nf-e:
525+
521526
E-invoices for goods (NF-e)
522527
***************************
523528

@@ -580,6 +585,173 @@ journal, and click the :menuselection:`⚙️ (gear) icon --> Invalidate Number
580585
The log of the cancelled numbers along with the XML file are recorded in the chatter of the
581586
journal.
582587

588+
PoS NFC-e
589+
---------
590+
591+
The NFC-e in Brazil is a legal document that supports the selling of goods or merchandise for final
592+
consumer. Just like the :ref:`NF-e <brazil/e-invoice-nf-e>`, the electronic consumer invoice is also
593+
issued in XML file format and has an auxiliary document (DANFC-e) also known as the *NFC-e Summary*.
594+
This electronic document can be issued through **Odoo Point of Sale app**.
595+
596+
Its legal validity is guaranteed by the digital signature and by SEFAZ (Secretaria da Fazenda) of
597+
each Brazilian state.
598+
599+
.. seealso::
600+
:doc:`../../sales/point_of_sale`
601+
602+
Configuration
603+
~~~~~~~~~~~~~
604+
605+
:ref:`Install <general/install>` the :guilabel:`Brazilian Accounting EDI for POS` (`l10nbr_edi_pos`)
606+
module.
607+
608+
CSC details
609+
~~~~~~~~~~~
610+
611+
Go to :menuselection:`Accounting --> Configuration --> Settings`, scroll to the :guilabel:`Taxes`
612+
section and find the :guilabel:`Avatax Brazil` section. Complete the following CSC (Taxpayer
613+
Security Code) fields:
614+
615+
- :guilabel:`CSC ID`: The *CSC ID* or *CSC Token* is an identification of the taxpayer security
616+
code, which can have 1 to 6 digits and is available on the website of the State Department of
617+
Finance (SEFAZ) of your state.
618+
- :guilabel:`CSC Number`: The *CSC Number* is a code of up to 36 characters that only you and the
619+
Department of Finance know. It is used to generate the QR Code of the NFC-e and ensure the
620+
authenticity of the DANFE.
621+
622+
.. note::
623+
The information required for these fields can be generated through the SEFAZ website of each
624+
Brazilian state by the company's accountant.
625+
626+
Product configuration
627+
~~~~~~~~~~~~~~~~~~~~~
628+
629+
First :doc:`create a new product in POS <../../sales/point_of_sale/configuration>`, then in the
630+
:guilabel:`Sales` tab, configure the following :guilabel:`Brazil Accounting` fields:
631+
632+
- :guilabel:`CEST Code`: A tax classification code used to identify goods and products subject to
633+
tax substitution under ICMS regulations. It helps determine the applicable tax treatment and
634+
procedures for specific items. Check if your product is subject or not to this in
635+
https://www.codigocest.com.br/.
636+
- :guilabel:`Mercosul NCM Code`: NCM (Nomenclatura Comun do Mercosul) code from the Mercosur list.
637+
- :guilabel:`Source of Origin`: Indicates if the product has a foreign or national origin with
638+
different variations and characteristics depending on the product use case.
639+
- :guilabel:`SPED Fiscal Product Type`: Fiscal product type according to SPED list table.
640+
- :guilabel:`Purpose of Use`: Indicates what this product is used for.
641+
642+
Shop configuration
643+
~~~~~~~~~~~~~~~~~~
644+
645+
Go to :menuselection:`Point of Sale --> Configuration --> Point of Sales` and create a
646+
:guilabel:`New` shop. Choose an internal name for the new POS and save.
647+
648+
Then, go to :menuselection:`Point of Sale --> Configuration --> Settings` and scroll to the
649+
:guilabel:`Accounting` section, configure the :guilabel:`Brazilian EDI` fields. Make sure that the
650+
correct Point of Sale is :doc:`selected at the top of the screen
651+
<../../sales/point_of_sale/configuration>`.
652+
653+
- :guilabel:`Series`
654+
- :guilabel:`Next number`: the next NFC-e number in the sequence to be issued, for instance, if the
655+
last number issued in SEFAZ is `100`, the *Next number* will be `101`.
656+
657+
.. note::
658+
For the production environment, make sure that this information is updated.
659+
660+
.. _brazil/generate-nfc-e:
661+
662+
Generating an NFC-e
663+
~~~~~~~~~~~~~~~~~~~
664+
665+
First, :ref:`open the Shop and make a sale <pos/session-start>`.
666+
667+
After validating the payment, Odoo calculates taxes and issues an NFC-e. The valid NFC-e appears on
668+
the right side of the screen.
669+
670+
.. image:: brazil/l10n-br-nfce-succesfully-issued.png
671+
:alt: NFC-e Success in a POS session.
672+
673+
.. note::
674+
It is also possible to issue an NFC-e that identifies the customer by their CPF/CNPJ. To do so,
675+
click on the :icon:`fa-user` :guilabel:`Customer` button, then search for the customer if they
676+
are already registered or click on :guilabel:`Create`.
677+
678+
The following are mandatory fields to issue an CPF/CNPJ identified NFC-e:
679+
680+
- :guilabel:`Name`
681+
- :guilabel:`City` and :guilabel:`State` of where the invoice is being issued
682+
- :guilabel:`CPF/CNPJ`
683+
684+
After saving the register, click on :guilabel:`Validate`, and the NFC-e appears highlighting the
685+
customer's CPF on the print.
686+
687+
Finally, there are two options to deliver the invoice to the customer:
688+
689+
- :guilabel:`Print`
690+
- :guilabel:`Send via e-mail`
691+
692+
NFC-e ticket print
693+
~~~~~~~~~~~~~~~~~~
694+
695+
After :ref:`generating and validating the NFC-e <brazil/generate-nfc-e>`, deliver the invoice by
696+
clicking :guilabel:`Print`.
697+
698+
.. example::
699+
.. figure:: brazil/l10n-br-nfc-e-print.png
700+
:alt: Printed NFC-e ticket example.
701+
702+
This is the DANFC-e, the print of NFC-e when it is successfully issued and showing all the
703+
important information that is legally required.
704+
705+
.. tip::
706+
#. There's no need to use an :doc:`Odoo IoT Box <../../general/iot>` to integrate the print NFC-e
707+
through the **Point of Sale** app.
708+
#. The Odoo NFC-e feature works with any thermal printer.
709+
710+
Re-issue PoS Order with NFC-e error
711+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
712+
713+
If the NFC-e return an error, first correct the error, then issue the NFC-e again by going to
714+
:icon:`fa-bars` :menuselection:`(menu) --> Orders`.
715+
716+
Filter for :guilabel:`Paid` orders and click on the :guilabel:`Details` button. From here, the error
717+
is presented and the :guilabel:`Send NFC-e` button can be clicked.
718+
719+
.. note::
720+
If the error was fixed and the PoS Session was closed, Odoo indicates the tax adjustment on that
721+
journal entry in the chatter. The journal entry of the order indicates that the taxes were not
722+
calculated correctly and after reprocessing the NFC-e is necessary.
723+
724+
.. image:: brazil/l10n-br-order-error-screen.png
725+
:alt: Point of sale order view form.
726+
727+
NFC-e refunds & cancellations
728+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
729+
730+
Odoo allow *refunds* to be created from Odoo, but *cancellations* must be done from the government
731+
portal.
732+
733+
.. important::
734+
SEFAZ only allows users to cancel an NFC-e **within 30 minutes** after it has been issued
735+
directly on the SEFAZ website. After this time, a manual refund would need to be made along with
736+
issuing a *Return of Goods NF-e*.
737+
738+
To issue a refund, go to :icon:`fa-bars` :menuselection:`(menu) --> Orders`, filter for
739+
:guilabel:`Paid` orders, open the order and click the :guilabel:`Refund` button.
740+
741+
Choose the :guilabel:`Payment method` and :guilabel:`Amount`, then click :guilabel:`Refund payment`.
742+
743+
.. note::
744+
Alternatively, reimburse and cancel the NFC-e through the backend by going to
745+
:menuselection:`Point of Sale --> Orders --> Orders`. Open the order and select the customer,
746+
then click the :guilabel:`Payment` button to reimburse. Then click the :guilabel:`Invoice` button
747+
at the top of the screen to create the invoice and issue the *Return of Goods NF-e*.
748+
749+
When the process is finalized, the approved return NF-e is created, meaning the
750+
**previous NFC-e is canceled**.
751+
752+
.. image:: brazil/l10n-br-return-succeed.png
753+
:alt: Return of Goods NF-e Approved.
754+
583755
Vendor bills
584756
------------
585757

Loading
Loading
Loading
Loading

0 commit comments

Comments
 (0)