Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
205 changes: 112 additions & 93 deletions content/applications/finance/fiscal_localizations/indonesia.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,131 +2,142 @@
Indonesia
=========

.. _localization_indonesia/e-faktur:
.. _localizations/indonesia/modules:

E-Faktur Module
===============
Modules
=======

The **E-Faktur Module** is installed by default with the Indonesian localization module. It allows
one to generate a CSV file for one tax invoice or for a batch of tax invoices to upload to the
**Tax Office e-Faktur** application.
The following modules related to the Indonesian localization are available:

.. _localization_indonesia/npwp_nik:
.. list-table::
:widths: 25 25 50
:header-rows: 1

NPWP/NIK settings
-----------------
* - Name
- Technical name
- Description
* - :guilabel:`Indonesian - Accounting`
- `l10n_id`
- This module includes the default fiscal localization package.
* - :guilabel:`Indonesia E-faktur`
- `l10n_id_efaktur`
- This module includes the features required to export invoices as e-Faktur.
* - :guilabel:`Indonesia E-faktur (Coretax)`
- `l10n_id_efaktur_coretax`
- This module facilitates the generation of XML files for the Coretax system.

.. _localizations/indonesia/configuration:

Configuration
=============

.. _localizations/indonesia/configuration-company:

Company
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Custom anchors should be added for all headings so they can be referenced from any documentation file or within Odoo using documentation links.

Suggested change
Company
.. _localizations/indonesia/configuration-company:
Company

-------

Open the :guilabel:`Settings` app, go to the :doc:`Companies <../../general/companies>` section,
and click :ref:`Update Info <general/companies/company>`.
Ensure the :guilabel:`NPWP` field contains the **Tax Identification Number**, as an e-Faktur cannot
be generated from an invoice otherwise.

.. _localizations/indonesia/configuration-contacts:

- | **Your Company**
| This information is used in the FAPR line in the effect file format. You need to set a VAT
number on the related partner of your Odoo company. If you don't, it won't be possible to create
an e-Faktur from an invoice.
- | **Your Clients**
| You need to set the checkbox *ID PKP* to generate e-fakturs for a customer. You can use the VAT
field on the customer's contact to set the NPWP needed to generate the e-Faktur file. If your
customer does not have an NPWP, just enter the NIK in the same VAT field.
Contacts
--------

.. image:: indonesia/indonesia-partner-nik.png
:align: center
To configure a partner for e-Faktur, go to their :doc:`contact <../../essentials/contacts>` form
and fill in the following Indonesian-specific fields:

.. _localization_indonesia/e-faktur_usage:
* :guilabel:`Is PKP`: Check this box to allow e-Faktur generation for the partner.
* :guilabel:`NPWP`: Enter the partner's Tax Identification Number.
* :guilabel:`NIK`: If the partner does not have an :guilabel:`NPWP`, enter the :guilabel:`NIK` in
the :guilabel:`Accounting` tab under :guilabel:`Indonesian taxes`.

Usage
-----
.. _localizations/indonesia/configuration-products:

.. _localization_indonesia/tax_invoice_sn:
Products
--------

Generate Tax Invoice Serial Number
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To set a product's E-Faktur product code, go to :menuselection:`Accounting --> Customers -->
Products` and access the desired product form. In the :guilabel:`Indonesian Localization` section,
select a code in the :guilabel:`E-Faktur Product code` field. By default, the code is set to
:guilabel:`000000 - Barang`.

#. Go to :menuselection:`Accounting --> Customers --> e-Faktur`. In order to be able to export
customer invoices as e-Faktur for the Indonesian government, you need to put here the ranges of
numbers you were assigned by the government. When you validate an invoice, a number will be
assigned based on these ranges. Afterwards, you can filter the invoices still to export in the
invoices list and click on *Action*, then on *Download e-Faktur*.
#. After receiving new serial numbers from the Indonesian Revenue Department, you can create a set
of tax invoice serial numbers group through this list view. You only have to specify the Min and
Max of each serial numbers' group and Odoo will format the number automatically to a 13-digits
number, as requested by the Indonesia Tax Revenue Department.
#. There is a counter to inform you how many unused numbers are left in that group.
.. image:: indonesia/efaktur_product.png
:alt: Product with the E-Faktur Product Code.

.. image:: indonesia/indonesia-sn-count.png
:align: center
.. note::
:guilabel:`E-Faktur product codes` are pre-generated by Odoo and cannot be edited. Select a code
from the available options.

.. _localization_indonesia/csv:
.. _localizations/indonesia/configuration-uom-code:

Generate e-faktur csv for a single invoice or a batch invoices
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
E-Faktur UoM Code
~~~~~~~~~~~~~~~~~

#. Create an invoice from :menuselection:`Accounting --> Customers --> Invoices`. If the invoice
customer's country is Indonesia and the customer is set as *ID PKP*, Odoo will allow you to
create an e-Faktur.
#. Set a Kode Transaksi for the e-Faktur. There are constraints related to the Kode transaksi and
the type of VAT applied to invoice lines.
.. tip::
Go to :menuselection:`Inventory --> Configuration --> Settings` to make sure the
:guilabel:`Units of Measure` option has been enabled.

.. image:: indonesia/indonesia-kode-transaksi.png
:align: center
To configure the :guilabel:`E-Faktur UoM code`, go to :menuselection:`Inventory --> Configuration
--> UoM Categories`. Open a category and select the appropriate :guilabel:`E-Faktur UoM Code` from
the options.

#. Odoo will automatically pick the next available serial number from the e-Faktur number table (see
the :ref:`section above <localization_indonesia/tax_invoice_sn>`) and generate the e-faktur
number as a concatenation of Kode Transaksi and serial number. You can see this from the invoice
form view under the page *Extra Info* in the box *Electronic Tax*.
.. image:: indonesia/efaktur_uom.png
:alt: E-Faktur UoM.

.. image:: indonesia/indonesia-e-faktur-sn.png
:align: center

#. Once the invoice is posted, you can generate and download the e-Faktur from the *Action* menu
item *Download e-faktur*. The checkbox *CSV created* will be set.
.. _localizations/indonesia/accounting:

.. image:: indonesia/indonesia-csv-created.png
:align: center
Accounting
==========

#. You can select multiple invoices in list view and generate a batch e-Faktur .csv.
.. _localizations/indonesia/e-invoicing:

.. _localization_indonesia/kode_transaksi_fp:
E-invoicing
-----------

Kode Transaksi FP (Transaction Code)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. _localizations/indonesia/e-faktur-xml:

The following codes are available when generating an e-Faktur.
- 01 Kepada Pihak yang Bukan Pemungut PPN (Customer Biasa)
- 02 Kepada Pemungut Bendaharawan (Dinas Kepemerintahan)
- 03 Kepada Pemungut Selain Bendaharawan (BUMN)
- 04 DPP Nilai Lain (PPN 1%)
- 06 Penyerahan Lainnya (Turis Asing)
- 07 Penyerahan yang PPN-nya Tidak Dipungut (Kawasan Ekonomi Khusus/ Batam)
- 08 Penyerahan yang PPN-nya Dibebaskan (Impor Barang Tertentu)
- 09 Penyerahan Aktiva (Pasal 16D UU PPN)
Generate an E-Faktur XML
~~~~~~~~~~~~~~~~~~~~~~~~

.. _localization_indonesia/replace_invoice:
An e-Faktur can be created for an invoice if the customer's country is Indonesia and the
:guilabel:`Is PKP` checkbox is enabled on their :ref:`contact
<localizations/indonesia/configuration-contacts>` form.

Correct an invoice that has been posted and downloaded: Replace Invoice feature
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To generate an e-Faktur XML:

#. Cancel the original wrong invoice in Odoo. For instance, we will change the Kode Transakski from
01 to 03 for the INV/2020/0001.
#. Create a new invoice and set the cancelled invoice in the *Replace Invoice* field. In this field,
we can only select invoices in *Cancel* state from the same customer.
#. As you validate, Odoo will automatically use the same e-Faktur serial number as the cancelled and
replaced invoice replacing the third digit of the original serial number with *1* (as requested
to upload a replacement invoice in the e-Faktur app).
#. Go to :menuselection:`Accounting --> Customers --> Invoices` and :ref:`create an invoice
<accounting/invoice/creation>`.

.. image:: indonesia/indonesia-replace-invoice.png
:align: center
#. In the :guilabel:`Other Info` tab, under the :guilabel:`Electronic Tax` section, select a
:guilabel:`Kode Transaksi` code.

.. _localization_indonesia/reset_e-faktur:
.. note::
The :guilabel:`Kode Transaksi` codes are pre-generated by Odoo and cannot be edited.

Correct an invoice that has been posted but not downloaded yet: Reset e-Faktur
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#. After confirming the invoice, click the :icon:`fa-cog` :guilabel:`(Actions)` icon and select
:guilabel:`Download e-faktur`.

#. Reset the invoice to draft and cancel it.
#. Click on the button *Reset e-Faktur* on the invoice form view.
#. The serial number will be unassigned, and we will be able to reset the invoice to draft, edit it
and re-assign a new serial number.
The downloaded XML file can then be uploaded to the Coretax system. After the file is generated,
the :guilabel:`e-Faktur Document (Coretax)` field in the invoice's :guilabel:`Electronic Tax`
section is populated automatically.

.. image:: indonesia/indonesia-e-faktur-reset.png
:align: center
.. image:: indonesia/faktur_invoice_confirmed.png
:alt: Invoice with E-Faktur Document.

.. _localization_indonesia/qris-qr:
.. note::
To create a batch XML file for several invoices, select them in the invoice list view and
choose :guilabel:`Download e-faktur` from the :guilabel:`Actions` menu.

.. important::
- The tax invoice number is generated by the Coretax system, not by Odoo.
- Once an e-Faktur XML file has been downloaded, it cannot be changed. Any subsequent download
will retrieve the original file.

.. _localizations/indonesia/qris:

QRIS QR code on invoices
========================
Expand All @@ -139,12 +150,16 @@ payments by scanning the QR code from their preferred e-wallet.
QRIS expires after 30 minutes. Due to this restriction, the QR code is not included in reports
sent to customers and is only available on the customer portal.

.. _localizations/indonesia/qris-activate-qr-code:

Activate QR codes
-----------------

Go to :menuselection:`Accounting --> Configuration --> Settings`. Under the :guilabel:`Customer
Payments` section, activate the :guilabel:`QR Codes` feature.

.. _localizations/indonesia/qris-bank-account-config:

QRIS bank account configuration
-------------------------------

Expand All @@ -161,6 +176,8 @@ based on the information provided by QRIS.
.. seealso::
:doc:`../accounting/bank`

.. _localizations/indonesia/qris-bank-journal-configuration:

Bank journal configuration
--------------------------

Expand All @@ -170,11 +187,13 @@ out the :guilabel:`Account Number` and :guilabel:`Bank` under the :guilabel:`Jou
.. image:: indonesia/journal-bank-config.png
:alt: Bank journal configuration

.. _localizations/indonesia/qris-invoices:

Issue invoices with QRIS QR codes
---------------------------------

When creating a new invoice, open the :guilabel:`Other Info` tab and set the :guilabel:`Payment
QR-code` option to `QRIS`.
QR-code` option to :guilabel:`QRIS`.

.. image:: indonesia/invoice-qris.png
:alt: Select QRIS QR-code option
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.