documentation/content/applications/finance/fiscal_localizations/india.rst
Jonathan Castillo (jcs) ebeebbcd45 [MOV] accounting: restructuration of the accounting documentation
This commit improves the structure of the accounting documentation by
- reducing the levels necessary to reach the information
- grouping some docs
- moving content to their parent category page (content in all levels)
- renaming some sections to reflect the structure of the app better

task-3330093

closes odoo/documentation#4470

Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-05-20 08:26:00 +02:00

501 lines
17 KiB
ReStructuredText

=====
India
=====
.. _india/installation:
Installation
============
:ref:`Install <general/install>` the following modules to get all the features of the Indian
localization:
.. list-table::
:header-rows: 1
* - Name
- Technical name
- Description
* - :guilabel:`Indian - Accounting`
- `l10n_in`
- Default :ref:`fiscal localization package <fiscal_localizations/packages>`
* - :guilabel:`Indian E-invoicing`
- `l10n_in_edi`
- :ref:`Indian e-invoicing integration <india/e-invoicing>`
* - :guilabel:`Indian E-waybill`
- `l10n_in_edi_ewaybill`
- :ref:`Indian E-way bill integration <india/e-waybill>`
* - :guilabel:`Indian - GSTR India eFiling`
- `l10n_in_reports_gstr`
- :ref:`Indian GST Return filing <india/gstr>`
* - :guilabel:`Indian - Accounting Reports`
- `l10n_in_reports`
- :ref:`Indian tax reports <india/gstr_reports>`
* - :guilabel:`Indian - Purchase Report(GST)`
- `l10n_in_purchase`
- Indian GST Purchase report
* - :guilabel:`Indian - Sale Report(GST)`
- `l10n_in_sale`
- Indian GST Sale report
* - :guilabel:`Indian - Stock Report(GST)`
- `l10n_in_stock`
- Indian GST Stock report
.. image:: india/india-modules.png
:alt: Indian localization modules
.. _india/e-invoicing:
e-Invoice system
================
Odoo is compliant with the **Indian Goods and Services Tax (GST) e-Invoice system** requirements.
Setup
-----
.. _india/e-invoicing-api:
NIC e-Invoice registration
~~~~~~~~~~~~~~~~~~~~~~~~~~
You must register on the :abbr:`NIC (National Informatics Centre)` e-Invoice portal to get your
**API credentials**. You need these credentials to :ref:`configure your Odoo Accounting app
<india/e-invoicing-configuration>`.
#. Log in to the `NIC e-Invoice portal <https://einvoice1.gst.gov.in/>`_ by clicking
:guilabel:`Login` and entering your :guilabel:`Username` and :guilabel:`Password`;
.. note::
If you are already registered on the NIC portal, you can use the same login credentials.
.. image:: india/e-invoice-system-login.png
:alt: Register Odoo ERP system on e-invoice web portal
#. From the dashboard, go to :menuselection:`API Registration --> User Credentials --> Create API
User`;
#. After that, you should receive an :abbr:`OTP (one-time password)` code on your registered mobile
number. Enter the OTP code and click :guilabel:`Verify OTP`;
#. Select :guilabel:`Through GSP` for the API interface, set :guilabel:`Tera Software Limited` as
GSP, and type in a :guilabel:`Username` and :guilabel:`Password` for your API. Once it is done,
click :guilabel:`Submit`.
.. image:: india/submit-api-registration-details.png
:alt: Submit API specific Username and Password
.. _india/e-invoicing-configuration:
Configuration in Odoo
~~~~~~~~~~~~~~~~~~~~~
To enable the e-Invoice service in Odoo, go to :menuselection:`Accounting --> Configuration -->
Settings --> Indian Electronic Invoicing`, and enter the :guilabel:`Username` and
:guilabel:`Password` previously set for the API.
.. image:: india/e-invoice-setup.png
:alt: Setup e-invoice service
.. _india/e-invoicing-journals:
Journals
********
To automatically send e-Invoices to the NIC e-Invoice portal, you must first configure your *sales*
journal by going to :menuselection:`Accounting --> Configuration --> Journals`, opening your *sales*
journal, and in the :guilabel:`Advanced Settings` tab, under :guilabel:`Electronic Data
Interchange`, enable :guilabel:`E-Invoice (IN)` and save.
.. _india/e-invoicing-workflow:
Workflow
--------
.. _india/invoice-validation:
Invoice validation
~~~~~~~~~~~~~~~~~~
Once an invoice is validated, a confirmation message is displayed at the top. Odoo automatically
uploads the JSON-signed file of validated invoices to the NIC e-Invoice portal after some time. If
you want to process the invoice immediately, click :guilabel:`Process now`.
.. image:: india/e-invoice-process.png
:alt: Indian e-invoicing confirmation message
.. note::
- You can find the JSON-signed file in the attached files in the chatter.
- You can check the document's :abbr:`EDI (electronic data interchange)` status under the
:guilabel:`EDI Document` tab or the :guilabel:`Electronic invoicing` field of the invoice.
.. _india/invoice-pdf-report:
Invoice PDF report
~~~~~~~~~~~~~~~~~~
Once an invoice is validated and submitted, the invoice PDF report can be printed. The report
includes the :abbr:`IRN (Invoice Reference Number)`, :guilabel:`Ack. No` (acknowledgment number) and
:guilabel:`Ack. Date` (acknowledgment date), and QR code. These certify that the invoice is a valid
fiscal document.
.. image:: india/invoice-report.png
:alt: IRN and QR code
.. _india/edi-cancellation:
e-Invoice cancellation
~~~~~~~~~~~~~~~~~~~~~~
If you want to cancel an e-Invoice, go to the :guilabel:`Other info` tab of the invoice and fill out
the :guilabel:`Cancel reason` and :guilabel:`Cancel remarks` fields. Then, click :guilabel:`Request
EDI cancellation`. The status of the :guilabel:`Electronic invoicing` field changes to :guilabel:`To
Cancel`.
.. important::
Doing so cancels both the :ref:`e-Invoice <india/e-invoicing>` and the :ref:`E-Way bill
<india/e-waybill>`.
.. image:: india/e-invoice-cancellation.png
:alt: cancel reason and remarks
.. note::
- If you want to abort the cancellation before processing the invoice, then click :guilabel:`Call
Off EDI Cancellation`.
- Once you request to cancel the e-Invoice, Odoo automatically submits the JSON-signed file to
the NIC e-Invoice portal. You can click :guilabel:`Process now` if you want to process the
invoice immediately.
.. _india/verify-e-invoice:
GST e-Invoice verification
~~~~~~~~~~~~~~~~~~~~~~~~~~
After submitting an e-Invoice, you can verify if the invoice is signed from the GST e-Invoice system
website itself.
#. Download the JSON file from the attached files. It can be found in the chatter of the related
invoice;
#. Open the `NIC e-Invoice portal <https://einvoice1.gst.gov.in/>`_ and go to
:menuselection:`Search --> Verify Signed Invoice`;
#. Select the JSON file and submit it;
.. image:: india/verify-invoice.png
:alt: select the JSON file for verify invoice
If the file is signed, a confirmation message is displayed.
.. image:: india/signed-invoice.png
:alt: verified e-invoice
.. _india/e-waybill:
E-Way bill
==========
Setup
-----
Odoo is compliant with the **Indian Goods and Services Tax (GST) E-waybill system** requirements.
.. _india/e-waybill-api:
API registration on NIC E-Way bill
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You must register on the :abbr:`NIC (National Informatics Centre)` E-Way bill portal to create your
**API credentials**. You need these credentials to :ref:`configure your Odoo Accounting app
<india/e-waybill-configuration>`.
#. Log in to the `NIC E-Way bill portal <https://ewaybillgst.gov.in/>`_ by clicking
:guilabel:`Login` and entering your :guilabel:`Username` and :guilabel:`Password`;
#. From your dashboard, go to :menuselection:`Registration --> For GSP`;
#. Click :guilabel:`Send OTP`. Once you have received the code on your registered mobile number,
enter it and click :guilabel:`Verify OTP`;
#. Check if :guilabel:`Tera Software Limited` is already on the registered GSP/ERP list. If so, use
the username and password used to log in to the NIC portal. Otherwise, follow the next steps;
.. image:: india/e-waybill-gsp-list.png
:alt: E-Way bill list of registered GSP/ERP
#. Select :guilabel:`Add/New`, select :guilabel:`Tera Software Limited` as your GSP Name, create a
:guilabel:`Username` and a :guilabel:`Password` for your API, and click :guilabel:`Add`.
.. image:: india/e-waybill-registration-details.png
:alt: Submit GSP API registration details
.. _india/e-waybill-configuration:
Configuration in Odoo
~~~~~~~~~~~~~~~~~~~~~
To set up the E-Way bill service, go to :menuselection:`Accounting --> Configuration --> Settings
--> Indian Electronic WayBill --> Setup E-Way bill`, and enter your :guilabel:`Username` and
:guilabel:`Password`.
.. image:: india/e-waybill-configuration.png
:alt: E-way bill setup odoo
.. _india/e-waybill-workflow:
Workflow
--------
.. _india/e-waybill-send:
Send an E-Way bill
~~~~~~~~~~~~~~~~~~
You can manually send an E-Way bill by clicking :guilabel:`Send E-Way bill`. To send the E-Way bill
automatically when an invoice or a bill is confirmed, enable :guilabel:`E-Way bill (IN)` in your
:ref:`Sales or Purchase journal <india/e-invoicing-journals>`.
.. image:: india/e-waybill-send-button.png
:alt: Send E-waybill button on invoices
.. _india/invoice-validation-e-way:
Invoice validation
~~~~~~~~~~~~~~~~~~
Once an invoice has been issued and sent via :guilabel:`Send E-Way bill`, a confirmation message is
displayed.
.. image:: india/e-waybill-process.png
:alt: Indian e-Way bill confirmation message
.. note::
- You can find the JSON-signed file in the attached files in the chatter.
- Odoo automatically uploads the JSON-signed file to the government portal after some time. Click
:guilabel:`Process now` if you want to process the invoice immediately.
Invoice PDF report
~~~~~~~~~~~~~~~~~~
You can print the invoice PDF report once you have submitted the E-Way bill. The report includes the
**E-Way bill number** and the **E-Way bill validity date**.
.. image:: india/e-waybill-invoice-report.png
:alt: E-way bill acknowledgment number and date
.. _india/e-waybill-cancellation:
E-Way bill cancellation
~~~~~~~~~~~~~~~~~~~~~~~
If you want to cancel an E-Way bill, go to the :guilabel:`E-Way bill` tab of the related invoice and
fill out the :guilabel:`Cancel reason` and :guilabel:`Cancel remarks` fields. Then, click
:guilabel:`Request EDI Cancellation`.
.. important::
Doing so cancels both the :ref:`e-Invoice <india/e-invoicing>` (if applicable) and the
:ref:`E-Way bill <india/e-waybill>`.
.. image:: india/e-waybill-cancellation.png
:alt: Cancel reason and remarks
.. note::
- If you want to abort the cancellation before processing the invoice, click :guilabel:`Call Off
EDI Cancellation`.
- Once you request to cancel the E-Way bill, Odoo automatically submits the JSON-signed file to
the government portal. You can click :guilabel:`Process Now` if you want to process the invoice
immediately.
.. _india/gstr:
Indian GST Return filing
========================
.. _india/gstr_api:
Enable API access
-----------------
To file GST Returns in Odoo, you must first enable API access on the GST portal.
#. Log into the `GST portal <https://services.gst.gov.in/services/login>`_ by entering your
:guilabel:`Username` and :guilabel:`Password`, and go to :guilabel:`My Profile` on your **profile
menu**;
.. image:: india/gst-portal-my-profile.png
:alt: Click On the My Profile from profile
#. Select :guilabel:`Manage API Access`, and click :guilabel:`Yes` to enable API access;
.. image:: india/gst-portal-api-yes.png
:alt: Click Yes
#. Doing so enables a :guilabel:`Duration` drop-down menu. Select the :guilabel:`Duration` of your
preference, and click :guilabel:`Confirm`.
.. _india/gstr_configuration:
Indian GST Service In Odoo
--------------------------
Once you have enabled the :ref:`API access <india/gstr_api>` on the GST portal, you can set up the
:guilabel:`Indian GST Service` in Odoo.
Go to :menuselection:`Accounting --> Configuration --> Settings --> Indian GST Service` and enter
the :guilabel:`GST Username`. Click :guilabel:`Send OTP`, enter the code, and finally,
:guilabel:`Validate`.
.. image:: india/gst-setup.png
:alt: Please enter your GST portal Username as Username
.. _india/gstr_workflow:
File-in GST Return
------------------
When the :guilabel:`Indian GST Service` is configured, you can file your GST return. Go to
:menuselection:`Accounting --> Reporting --> India --> GST Return periods` and create a new **GST
Return Period** if it does not exist. GST Return file-in is done in **three steps** in Odoo:
.. note::
**Tax Return Periodicity** can be
:doc:`configured <../accounting/reporting/tax_returns>` according to the user's
needs.
.. _india/gstr-1:
Send GSTR-1
~~~~~~~~~~~
#. The user can verify the :ref:`GSTR-1 <india/gstr-1_report>` report before uploading it to the
**GST portal** by clicking :guilabel:`GSTR-1 Report`;
#. If the **GSTR-1** report is correct, then click :guilabel:`Push to GSTN` to send it to the **GST
portal**. The status of the :guilabel:`GSTR-1` report changes to :guilabel:`Sending`;
.. image:: india/gst-gstr-1-sending.png
:alt: GSTR-1 in the Sending Status
#. After a few seconds, the status of the **GSTR-1** report changes to :guilabel:`Waiting for
Status`. It means that the **GSTR-1** report has been sent to the :guilabel:`GST Portal` and is
being verified on the :guilabel:`GST Portal`;
.. image:: india/gst-gstr-1-waiting.png
:alt: GSTR-1 in the Waiting for Status
#. Once more, after a few seconds, the status either changes to :guilabel:`Sent` or :guilabel:`Error
in Invoice`. The status :guilabel:`Error in Invoice` indicates that some of the invoices are not
correctly filled out to be validated by the **GST portal**;
- If the state of the **GSTR-1** is :guilabel:`Sent`, it means your **GSTR-1** report is ready to
be filed on the **GST portal**.
.. image:: india/gst-gstr-1-sent.png
:alt: GSTR-1 Sent
- If the state of the **GSTR-1** is :guilabel:`Error in Invoice`, invoices can be checked for
errors in the :guilabel:`Log Note`. Once issues have been resolved, the user can click
:guilabel:`Push to GSTN` to submit the file again on the **GST portal**.
.. image:: india/gst-gstr-1-error.png
:alt: GSTR-1 Error in Invoice
.. image:: india/gst-gstr-1-error-log.png
:alt: GSTR-1 Error in Invoice Log
#. Click :guilabel:`Mark as Filed` after filing the **GSTR-1** report on the **GST portal**. The
status of the report changes to :guilabel:`Filed` in **Odoo**.
.. image:: india/gst-gstr-1-filed.png
:alt: GSTR-1 in the Filed Status
.. _india/gstr-2B:
Receive GSTR-2B
~~~~~~~~~~~~~~~
Users can retrieve the **GSTR-2B Report** from the **GST portal**. This automatically reconciles
the **GSTR-2B** report with your Odoo bills;
#. Click :guilabel:`Fetch GSTR-2B Summary` to retrieve the **GSTR-2B** summary. After a few seconds,
the status of the report changes to :guilabel:`Waiting for Reception`. This means Odoo is trying
to receive the **GSTR-2B** report from the **GST portal**;
.. image:: india/gst-gstr-2b-waiting.png
:alt: GSTR-2B in Waiting for Reception
#. Once more, after a few seconds, the status of the **GSTR-2B** changes to the :guilabel:`Being
Processed`. It means Odoo is reconciling the **GSTR-2B** report with your Odoo bills;
.. image:: india/gst-gstr-2b-processed.png
:alt: GSTR-2B in Waiting for Reception
#. Once it is done, the status of the **GSTR-2B** report changes to either :guilabel:`Matched` or
:guilabel:`Partially Matched`;
- If the status is :guilabel:`Matched`:
.. image:: india/gst-gstr-2b-matched.png
:alt: GSTR-2B Matched
- If the status is :guilabel:`Partially Matched`, you can make changes in bills by clicking
:guilabel:`View Reconciled Bills`. Once it is done, click :guilabel:`re-match`.
.. image:: india/gst-gstr-2b-partially.png
:alt: GSTR-2B Partially Matched
.. image:: india/gst-gstr-2b-reconcile.png
:alt: GSTR-2B Reconciled Bills
.. _india/gstr-3:
GSTR-3 report
~~~~~~~~~~~~~
The :ref:`GSTR-3 <india/gstr-3_report>` report is a monthly summary of **sales** and **purchases**.
This return is auto-generated by extracting information from **GSTR-1** and **GSTR-2**.
#. Users can compare the **GSTR-3** report with the **GSTR-3** report available on the
**GST portal** to verify if they match by clicking :guilabel:`GSTR-3 Report`;
#. Once the **GSTR-3** report has been verified by the user and the tax amount on the **GST portal**
has been paid. Once paid, the report can be **closed** by clicking :guilabel:`Closing Entry`;
.. image:: india/gst-gstr-3.png
:alt: GSTR-3
#. In :guilabel:`Closing Entry`, add the tax amount paid on the **GST portal** using challan, and
click :guilabel:`POST` to post the :guilabel:`Closing Entry`;
.. image:: india/gst-gstr-3-post.png
:alt: GSTR-3 Post Entry
#. Once posted, the **GSTR-3** report status changes to :guilabel:`Filed`.
.. image:: india/gst-gstr-3-filed.png
:alt: GSTR-3 Filed
.. _india/gstr_reports:
Tax reports
===========
.. _india/gstr-1_report:
GSTR-1 report
-------------
The :guilabel:`GSTR-1` report is divided into sections. It displays the :guilabel:`Base` amount,
:abbr:`CGST (Central Goods and Services Tax)`, :abbr:`SGST (State Goods and Service Tax)`,
:abbr:`IGST (Integrated Goods and Services Tax)`, and :guilabel:`CESS` for each section.
.. image:: india/gst-gstr-1-sale-report.png
:alt: GSTR-1 Report
.. _india/gstr-3_report:
GSTR-3 report
-------------
The :guilabel:`GSTR-3` report contains different sections:
- Details of inward and outward supply subject to a **reverse charge**;
- Eligible :abbr:`ITC (Income Tax Credit)`;
- Values of **exempt**, **Nil-rated**, and **non-GST** inward supply;
- Details of inter-state supplies made to **unregistered** persons.
.. image:: india/gst-gstr-3-report.png
:alt: GSTR-3 Report