Peru

# Peru

## Modules

Install the following modules to utilize all the current features of the
Peruvian localization.
`l10n_pe`
Adds accounting features for the Peruvian localization, which represent the minimal
configuration required for a company to operate in Peru and under the SUNAT regulations and
guidelines. The main elements included in this module are the chart of accounts, taxes,
document types.
`l10n_pe_edi`
Includes all technical and functional requirements to generate and receive electronic
invoices online based on the SUNAT regulations.
Peru - Accounting Reports
`l10n_pe_reports`
Includes the following financial reports:
- 1st set of main financial reports: Registro de Ventas e Ingresos (RVIE) - 14.4 Registro de Compras ElectrÃ³nico (RCE) - 8.4 Registro de Compras ElectrÃ³nico - InformaciÃ³n de Operaciones con Sujetos no Domiciliados
(RCE) - 8.5
1st set of main financial reports:
- Registro de Ventas e Ingresos (RVIE) - 14.4
Registro de Ventas e Ingresos (RVIE) - 14.4
- Registro de Compras ElectrÃ³nico (RCE) - 8.4
Registro de Compras ElectrÃ³nico (RCE) - 8.4
- Registro de Compras ElectrÃ³nico - InformaciÃ³n de Operaciones con Sujetos no Domiciliados
(RCE) - 8.5
Registro de Compras ElectrÃ³nico - InformaciÃ³n de Operaciones con Sujetos no Domiciliados
(RCE) - 8.5
- 2nd set of financial reports: PLE 5.1 General Journal PLE 5.3 Chart of Accounts PLE 6.1 General Ledger
2nd set of financial reports:
- PLE 5.1 General Journal
PLE 5.1 General Journal
- PLE 5.3 Chart of Accounts
PLE 5.3 Chart of Accounts
- PLE 6.1 General Ledger
PLE 6.1 General Ledger
- 3rd set of financial reports: PLE 1.1 Libro de Caja PLE 1.2 Libro de Bancos
3rd set of financial reports:
- PLE 1.1 Libro de Caja
PLE 1.1 Libro de Caja
- PLE 1.2 Libro de Bancos
PLE 1.2 Libro de Bancos
Peruvian - Electronic Delivery Note
`l10n_pe_edi_stock`
Adds the delivery guide (GuÃa de RemisiÃ³n), which is needed as proof that you are sending
goods between A and B. It is only when a delivery order is validated that the delivery guide
can be created.
l10n_pe_reports_stock
`l10n_pe_reports_stock`
Enables the PLE reports for permanent inventory record in physical
units and permanent valued inventory records.
`l10n_pe_website_sale`
Enables the identification type in eCommerce checkout forms and the ability to generate
electronic invoices.
Peruvian - Point of Sale with PE Doc
`l10n_pe_pos`
Enables contact fiscal information to be editable from a PoS Session to generate electronic
invoices and refunds.
- Odoo automatically installs the appropriate package for the company according to the country
selected at the creation of the database.
Odoo automatically installs the appropriate package for the company according to the country
selected at the creation of the database.
- The Peruvian - Electronic Delivery Guide module depends on the Inventory application to be
installed.
The Peruvian - Electronic Delivery Guide module depends on the Inventory application to be
installed.
- App Tour - LocalizaciÃ³n de Peru
App Tour - LocalizaciÃ³n de Peru
- Smart Tutorial - LocalizaciÃ³n de Peru (videos for workflows and configurations)
Smart Tutorial - LocalizaciÃ³n de Peru (videos for workflows and configurations)
- Documentation on e-invoicingâs legality and compliance in Peru
Documentation on e-invoicingâs legality and compliance in Peru

## Configuration

### Install the Peruvian localization modules

Go to Apps and search for Peru, then click Install in the module Peru EDI. This module has a
dependency with Peru - Accounting . In case this last one is not installed, Odoo installs it
automatically within EDI.
When you install a database from scratch selecting Peru as country, Odoo automatically
installs the base module: Peru - Accounting.

#### Configure your company

In addition to the basic information in the Company, we need to set Peru as the Country, this is
essential for the Electronic Invoice to work properly. The field Address Type Code represents
the establishment code assigned by the SUNAT when companies register their RUC (Unique Contributor
Registration):
In case the Address type code is unknown,  you can set it as the default value: 0000. Be aware
that if an incorrect value is entered, the Electronic invoice validation might have errors.
The NIF should be set following the RUC format.

#### Chart of Account

The chart of accounts is installed by default as part of the set of data included in the
localization module, the accounts are mapped automatically in:
- Default Account Payable.
Default Account Payable.
- Default Account Receivable
Default Account Receivable
The chart of accounts for Peru is based on the most updated version of the PCGE , which is grouped in several categories and is compatible with NIIF
accounting.

### Accounting Settings

Once the modules are installed and the basic information of your company is set, you need to
configure the elements required for Electronic Invoice. For this, go to Accounting
â£ Settings â£ Peruvian Localization .

#### Basic Concepts

Here are some terms that are essential on the Peruvian localization:
- EDI : Electronic Data Interchange, which in this refers to the Electronic Invoice.
EDI : Electronic Data Interchange, which in this refers to the Electronic Invoice.
- SUNAT : is the organization that enforces customs and taxation in Peru.
SUNAT : is the organization that enforces customs and taxation in Peru.
- OSE : Electronic Service Operator, OSE SUNATâs definition .
OSE : Electronic Service Operator, OSE SUNATâs definition .
- CDR : Receipt certificate (Constancia de RecepciÃ³n).
CDR : Receipt certificate (Constancia de RecepciÃ³n).
- SOL Credentials : Sunat Operaciones en LÃnea. User and password are provided by the SUNAT and
grant access to Online Operations systems.
SOL Credentials : Sunat Operaciones en LÃnea. User and password are provided by the SUNAT and
grant access to Online Operations systems.

#### Signature Provider

As part of  the requirements for Electronic Invoice in Peru, your company needs to select a
Signature Provider that will take care of the document signing process and manage the SUNAT
validation response. Odoo offers three options:
- IAP (Odoo In-App Purchase)
IAP (Odoo In-App Purchase)
- Digiflow
Please refer to the sections below to check the details and considerations for each option.
This is the default and the suggested option, considering the digital ceritificate is included as
part of the service.
This is a signature service offered directly by Odoo, the service takes care of the next process:
- Provides the Electronic invoice Certificate, so you do not need to acquire one by yourself.
Provides the Electronic invoice Certificate, so you do not need to acquire one by yourself.
- Send the document to the OSE, in this case, Digiflow.
Send the document to the OSE, in this case, Digiflow.
- Receive the OSE validation and CDR.
Receive the OSE validation and CDR.
The service requires Credits in order to process your electronic documents. Odoo provides 1000
credits for free in new databases. After these credits are consumed, you need to buy a Credit
Package.
The credits are consumed per each document that is sent to the OSE.
If you have a validation error and the document needs to be sent one more time, one additional
credit will be charged. Therefore, it is paramount that you verify all information is correct
before sending your document to the OSE.
- In Odoo, once your enterprise contract is activated and you start working in Production, you
need to buy credits once the first 1000 are consumed.
In Odoo, once your enterprise contract is activated and you start working in Production, you
need to buy credits once the first 1000 are consumed.
- As Digiflow is the OSE used in the IAP, you need to affiliate it as the official OSE for your
company on the SUNAT website. This is a simple process. For more information, please check OSE Affiliation guide .
As Digiflow is the OSE used in the IAP, you need to affiliate it as the official OSE for your
company on the SUNAT website. This is a simple process. For more information, please check OSE Affiliation guide .
- Register Digiflow as the authorized PSE, please check PSE Affiliation guide .
Register Digiflow as the authorized PSE, please check PSE Affiliation guide .
This option can be used as an alternative, instead of using the IAP services you can send your
document validation directly to Digiflow. In this case you need to consider:
- Buy your own digital Certificate: For more detail regarding the official vendor list, and the
process to acquire it, please refer to SUNAT Digital Ceritifcates .
Buy your own digital Certificate: For more detail regarding the official vendor list, and the
process to acquire it, please refer to SUNAT Digital Ceritifcates .
- Sign a service agreement directly with Digiflow .
Sign a service agreement directly with Digiflow .
- Provide your SOL credentials.
Provide your SOL credentials.
In case your company wants to sign directly with the SUNAT, it is possible to select this option
in your configuration. In this case you need to consider:
- Get the SUNAT Certification process accepted.
- Buy your own digital Certificate: For more detail regarding the official vendor list, and the
process to acquire it, please refer to SUNAT Digital Ceritifcates .
Buy your own digital Certificate: For more detail regarding the official vendor list, and the
process to acquire it, please refer to SUNAT Digital Ceritifcates .
- Provide you SOL credentials.
Provide you SOL credentials.
When using direct connection with the SUNAT, the SOL User must be set with the Company RUT + User
Id. Example: 20121888549JOHNSMITH
`20121888549JOHNSMITH`

#### Testing environment

Odoo provides a testing environment that can be activated before your company goes into production.
When using the testing environment and the IAP signature, you donât need to buy testing credits
for your transactions as all of them are validated by default.
By default the databases are set to work on production, make sure to enable the testing mode
if needed.

#### Certificate

In case you donât use Odoo IAP, in order to generate the electronic invoice signature, a digital
certificate with the extension .pfx is required. Proceed to this section and load your file and
password.
`.pfx`

#### Multicurrency

The official currency exchange rate in Peru is provided by the SUNAT. Odoo can connect directly to
its services and get the currency rate either automatically or manually.
Please refer to the next section in our documentation for more information about multicurrencies .

### Configure Master data

#### Taxes

As part of the localization module the taxes are created automatically with their related
financial account and electronic invoice configuration.
As part of the taxes configuration, there are three new fields required for electronic invoice,
the taxes created by default have this data included, but in case you create new taxes make
sure you fill in the fields:

#### Fiscal Positions

There are two main fiscal positions included by default when you install the Peruvian localization.
Extranjero - ExportaciÃ³n : Set this fiscal position on customers for Exportation transactions.
Local Peru : Set this fiscal position on local customers.

#### Document Types

In some Latin American countries, including Peru, some accounting transactions like invoices and
vendor bills are classified by document types, defined by the government fiscal authorities, in
this case by the SUNAT.
Each document type can have a unique sequence per journal where it is assigned. As part of the
localization, the Document Type includes the country on which the document is applicable;the data
is created automatically when the localization module is installed.
The information required for the document types is included by default so the user does not need
to fill anything on this view:
Currently the documents supported on customer invoices are: Invoice, Boleta, Debit Note and
Credit Note.

#### Journals

When creating Sales Journals, the following information must be filled, in addition to the standard
fields on the Journals:
This field is used to define if the journal uses Document Types. It is only applicable to
Purchase and Sales journals, which are the ones that can be related to the different set of
document types available in Peru. By default, all the sales journals created use documents.
This section indicates which EDI workflow is used in the invoice, for Peru we must select
âPeru UBL 2.1â.
By default, the value Factur-X (FR) is always displayed, make sure you can uncheck it manually.

#### Partner

As part of the Peruvian localization, the identification types defined by the SUNAT are now
available on the Partner form, this information is essential for most transactions either on
the sender company and in the customer, make sure you fill in this information in your records.

#### Product

Additional to the basic information in your products, for the Peruvian localization, the UNSPC
Code on the product is a required value to be configured.

## Usage and testing

### Customer invoice

#### EDI Elements

Once you have configured your master data, the invoices can be created from your sales order or
manually. Additional to the basic invoice information described on our page about the
invoicing process , there are a couple of
fields required as part of the Peru EDI:
- Document type : The default value is âFactura Electronicaâ but  you can manually change the
document type if needed and select Boleta for example.
Document type : The default value is âFactura Electronicaâ but  you can manually change the
document type if needed and select Boleta for example.
- Operation type : This value is required for Electronic Invoice and indicates the transaction
type, the default value is âInternal Saleâ but another value can be selected manually when needed,
for example Export of Goods.
Operation type : This value is required for Electronic Invoice and indicates the transaction
type, the default value is âInternal Saleâ but another value can be selected manually when needed,
for example Export of Goods.
- EDI Affectation Reason : In the invoice lines, additional to the Tax there is a field âEDI
Affectation Reasonâ that determines the tax scope based on the SUNAT list that is displayed.
All the taxes loaded by default are associated with a default EDI affection reason, if needed
you can manually select another one when creating the invoice.
EDI Affectation Reason : In the invoice lines, additional to the Tax there is a field âEDI
Affectation Reasonâ that determines the tax scope based on the SUNAT list that is displayed.
All the taxes loaded by default are associated with a default EDI affection reason, if needed
you can manually select another one when creating the invoice.

#### Invoice validation

Once you check all the information in your invoice is correct, you can proceed to validate it. This
action registers the account move and triggers the Electronic invoice workflow to send it to the
OSE and the SUNAT. The following message is displayed at the top of the invoice:
Asynchronous means that the document is not sent automatically after the invoice has been posted.
To be Sent : Indicates the document is ready to be sent to the OSE, this can be
done either automatically by Odoo with a cron that runs every hour, or the user can send it
immediately by clicking on the button âSent nowâ.
Sent : Indicates the document was sent to the OSE and was successfully validated. As part of
the validation a ZIP file is downloaded and a message is logged in the chatter indicating the
correct Government validation.
In case there is a validation error the Electronic Invoice status remains in âTo be sentâ so the
corrections can be made and the invoice can be sent again.
One credit is consumed each time that you send a document for validation, in this sense if an
error is detected on an invoice and you send it one more time, two credits are consumed in
total.

#### Common Errors

There are multiple reasons behind a rejection from the OSE or the SUNAT, when this happens Odoo
sends a message at the top of the invoice indicating the error details and in the most common
cases a hint to fix the issue.
If a validation error is received, you have two options:
- In case the error is related to master data on the partner, customer or taxes, you can simply
apply the change on the record (example customer identification type) and once it is done click
on the Retry button.
In case the error is related to master data on the partner, customer or taxes, you can simply
apply the change on the record (example customer identification type) and once it is done click
on the Retry button.
- If the error is related to some data recorded on the invoice directly (Operation type, missing
data on the invoice lines), the correct solution is to reset the invoice to Draft, apply the
changes, and then send the invoice again to the SUNAT for another validation.
If the error is related to some data recorded on the invoice directly (Operation type, missing
data on the invoice lines), the correct solution is to reset the invoice to Draft, apply the
changes, and then send the invoice again to the SUNAT for another validation.
For more detail please refert to Common errors in SUNAT .

#### Invoice PDF Report

After the invoice is accepted and validated by the SUNAT, the invoice PDF report can be printed.
The report includes a QR code, indicating the invoice is a valid fiscal document.

#### IAP Credits

Odooâs Electronic IAP offers 1000 credits for free, after these credits are consumed in your
production database, your company must buy new credits in order to process your transactions.
Once you run out of credits a red label is displayed at the top of the invoice indicating that
additional credits are required, you can easily buy them by accessing the link provided in
the message.
In the IAP service includes packages with different pricing based on the number of credits.
The price list in the IAP is always displayed in EUR.

#### Special Use cases

Some scenarios require an invoice cancellation, for example, when an invoice was created by mistake.
If the invoice was already sent and validated by the SUNAT, the correct way to proceed is by
clicking on the button Request Cancellation:
In order to cancel an invoice, please provide a cancellation Reason.
To Cancel :  Indicates the cancellation request is ready to be sent to the OSE, this can be done
either automatically by Odoo with a cron that runs every hour, or the user can send it
immediately by clicking on the button âSend nowâ. Once it is sent, a cancellation ticket is
created, as a result the next message and CDR File are logged in the chatter:
Cancelled : Indicates the cancellation request was sent to the OSE and was successfully
validated. As part of the validation a ZIP file is downloaded and a message is logged in the
chatter indicating the correct Government validation.
One credit is consumed on each cancellation request.
When creating exportation invoices, take into account the next considerations:
- The Identification type on your customer must be Foreign ID.
The Identification type on your customer must be Foreign ID.
- Operation type in your invoice must be an Exportation one.
Operation type in your invoice must be an Exportation one.
- The taxes included in the invoice lines should be EXP taxes.
The taxes included in the invoice lines should be EXP taxes.
Because the SUNAT does not allow negative in filings, a workaround is required when reporting
down payments.
- Open the sales order requiring a down payment.
Open the sales order requiring a down payment.
- Click Create Invoice and select Down payment (percentage) or Down payment (fixed amount) . Enter the amount, then click Create Draft .
Click Create Invoice and select Down payment (percentage) or Down payment (fixed amount) . Enter the amount, then click Create Draft .
- Check that all information is correct. If yes, click Confirm . If not, make the
necessary changes before confirming.
Check that all information is correct. If yes, click Confirm . If not, make the
necessary changes before confirming.
- Navigate back to the sales order and click Create Invoice â£ Regular Invoice â£
Create Draft to proceed with invoice creation.
Navigate back to the sales order and click Create Invoice â£ Regular Invoice â£
Create Draft to proceed with invoice creation.
- From the invoice, remove the section separation and the down payment invoice line by clicking
the (trash bin) icon, and Confirm .
From the invoice, remove the section separation and the down payment invoice line by clicking
the (trash bin) icon, and Confirm .
- Once confirmed, click Credit Note , then Reverse , and finally remove all
invoice lines by clicking the (trash bin) icon. The invoice should
be clear of any product.
Once confirmed, click Credit Note , then Reverse , and finally remove all
invoice lines by clicking the (trash bin) icon. The invoice should
be clear of any product.
- Next, click Add a line . Click the (bars) icon, enter a
description (e.g., Down Payment ), and input the Price . Click Confirm .
Next, click Add a line . Click the (bars) icon, enter a
description (e.g., Down Payment ), and input the Price . Click Confirm .
`DownPayment`
- After issuing the credit note and if not done automatically, reconcile it with the final invoice.
After issuing the credit note and if not done automatically, reconcile it with the final invoice.
- The final invoiceâs remaining balance must be paid with a regular payment transaction.
The final invoiceâs remaining balance must be paid with a regular payment transaction.
When creating invoices that is subject to Detractions, take into account the next considerations:
- All the products included in the invoice must have these fields configured:
All the products included in the invoice must have these fields configured:
- Operation type in your invoice must be 1001
Operation type in your invoice must be 1001
`1001`

### Credit Notes

When a correction or refund is needed over a validated invoice, a credit note must be generated,
for this just click on the button âAdd Credit Noteâ, a part of the Peruvian localization you need
to prove a Credit Reason selecting one of the options in the list.
When creating your first credit Note, select the Credit Method: Partial Refund, this allows you
to define the credit note sequence.
By default the Credit Note is set in the document type:
To finish the workflow please follow the instructions on our page about Credit Notes .
The EDI workflow for the Credit notes works in the same way as the invoices.

### Debit Notes

As part of the Peruvian localization, besides creating credit notes from an existing document
you can also create debit Notes. For this just use the button âAdd Debit Noteâ.
By default the Debit Note is set in the document type.

### Electronic delivery guide 2.0

The GuÃa de RemisiÃ³n ElectrÃ³nica (GRE) is an electronic document generated by the shipper to
support the transportation or transfer of goods from one place to another, such as a warehouse or
establishment. In Odoo, there are several configuration steps needed before you can successfully use
this feature.
The use of the guÃa de remisiÃ³n electrÃ³nica electronic document is mandatory and required by SUNAT for taxpayers who need to transfer their products, except those under the Single Simplified
Regime (rÃ©gimen Ãºnico simplificado or RUS).

#### Delivery guide types

The Sender delivery guide type is issued when a sale is made, a service is rendered (including
processing), goods are assigned for use, or goods are transferred between premises of the same
company and others.
This delivery guide is issued by the owner of the goods (i.e., the sender) at the beginning of the
shipment. The sender delivery guide is supported in Odoo.
SUNAT guÃa de remisiÃ³n
The Carrier delivery guide type justifies the transportation service the driver (or carrier)
performs.
This delivery guide is issued by the carrier and must be issued to each shipper when the shipment
goes through public transport.
The carrier delivery guide is not supported in Odoo.
SUNAT guÃa de remisiÃ³n transportista

#### Transportation types

The Private transportation type option is used when the owner transfers goods using their own
vehicles. In this case, a senderâs delivery guide must be issued.
The Public transportation type option is used when an external carrier moves the goods. In
this case, two delivery guides must be issued: the senderâs delivery guide and the carrierâs
delivery guide.

#### Direct submission to SUNAT

The creation of the GRE delivery guide in Odoo must be sent directly to the SUNAT ,
regardless of the electronic document provider: IAP, Digiflow, or SUNAT .

#### Required information

Version 2.0 of the electronic delivery guide requires additional information on the general
configuration, vehicles, contacts, and products. In the general configuration, it is necessary to
add new credentials that you can retrieve from the SUNAT portal.

#### Cancellations

Both the sender and the carrier can cancel the electronic waybill as long as the following
conditions are met:
- The shipment has not been initiated.
The shipment has not been initiated.
- If the shipment has been initiated, the receiver must be changed before reaching the final
destination.
If the shipment has been initiated, the receiver must be changed before reaching the final
destination.
The SUNAT no longer uses the term âAnulaâ, but now uses the term âDar de bajaâ for
cancellations.

#### Testing

The SUNAT does not support a test environment. This means that any delivery guides that were
generated by mistake will be sent to the SUNAT .
If, by mistake, the waybill was created in this environment, it is necessary to delete it from the SUNAT portal.

#### Configuration

- Electronic senderâs GRE is currently the only supported type of waybill in Odoo.
Electronic senderâs GRE is currently the only supported type of waybill in Odoo.
- The delivery guide is dependent on the Odoo Inventory app, the l10n_pe_edi and l10n_pe modules.
The delivery guide is dependent on the Odoo Inventory app, the l10n_pe_edi and l10n_pe modules.
- A second user must be added for the creation of electronic documents.
A second user must be added for the creation of electronic documents.
After following the steps to configure the electronic invoicing and the master data , install the Peruvian - Electronic Delivery Note 2.0 module ( l10n_pe_edi_stock_20 ).
`l10n_pe_edi_stock_20`
Next, you need to retrieve the client ID and client secret from SUNAT . To do so, follow the manual de servicios web plataforma nueva GRE .
In the SUNAT portal, it is important to have the correct access rights enabled, as they may
differ from the user set for electronic invoicing.
These credentials should be used to configure the delivery guide general settings from Inventory â£ Configuration â£ Settings , and scroll down to the Peru
Delivery Guide section.
Configure the following Sunat Delivery Guide API fields:
- Guide Client ID : the unique API client ID generated in the SUNAT portal
Guide Client ID : the unique API client ID generated in the SUNAT portal
- Guide Client Secret : the unique API client secret generated in the SUNAT portal
Guide Client Secret : the unique API client secret generated in the SUNAT portal
- Guide SOL User : the RUC Number + SOL username
Guide SOL User : the RUC Number + SOL username
- Guide SOL Password : the SOL user password
Guide SOL Password : the SOL user password
It is required to follow the format RUC + UsuarioSol (e.g., 20557912879SOLUSER ) for the Guide SOL User field, depending on the user selected when generating the GRE API
credentials in the SUNAT portal.
`RUC+UsuarioSol`
`20557912879SOLUSER`
The operator is the vehicleâs driver in cases where the delivery guide is through private transport.
To create a new operator, navigate to Contacts â£ Create and fill out the contact
information.
First, select Individual as the Company Type . Then, add the Operator License in the Accounting tab of the contact form.
For the customer address, make sure the following fields are complete:
- District
- Tax ID ( DNI / RUC )
- Tax ID Number
The carrier is used when the delivery guide is through public transport.
To create a new carrier, navigate to Contacts â£ Create and fill out the contact
information.
First, select Company as the Company Type . Then, add the MTC
Registration Number , Authorization Issuing Entity , and the Authorization
Number .
For the company address, make sure the following fields are complete:
- District
- Tax ID ( DNI / RUC )
- Tax ID Number
To configure the available vehicles, navigate to Inventory â£ Configuration â£
Vehicles and fill in the vehicle form with the information needed for the vehicle:
- Vehicle Name
- License Plate
- Is M1 or L?
- Special Authorization Issuing Entity
Special Authorization Issuing Entity
- Authorization Number
- Default Operator
- Company
It is important to check the Is M1 or L? checkbox if the vehicle has fewer than four
wheels or fewer than eight seats.
To configure the available products, navigate to Inventory â£ Products and open
the product to be configured.
Make sure that the applicable information in the product form is fully configured. The Partida Arancelaria (Tariff Item) field needs to be completed.

#### Generating a GRE

Once the delivery from inventory is created during the sales workflow, make sure you complete the GRE fields on the top-right section of the transfer form for the fields:
- Transport Type
- Reason for Transfer
- Departure start date
It is also required to complete the Vehicle and Operator fields under the Guia de Remision PE tab.
The delivery transfer has to be marked as Done for the Generar Guia de Remision button
to appear on the left menu of the transfer form.
Once the transfer form is correctly validated by SUNAT , the generated XML file becomes available
in the chatter. You can now print the delivery slip that shows the transfer details and the QR
code validated by SUNAT .

#### Common errors

- Diferente prefijo para productos (T001 en algunos, T002 en otros) At the moment, Odoo does not support the automation of prefixes for products. This can be done
manually for each product output. This can also be done for non-storable products. However, keep
in mind that there will be no traceability.
Diferente prefijo para productos (T001 en algunos, T002 en otros)
`Diferenteprefijoparaproductos(T001enalgunos,T002enotros)`
At the moment, Odoo does not support the automation of prefixes for products. This can be done
manually for each product output. This can also be done for non-storable products. However, keep
in mind that there will be no traceability.
- 2325 - GrossWeightMeasure - El dato no cumple con el formato establecido "Hace falta el campo" "Peso"" en el producto This error occurs when the weight on the product is set as 0.00 . To fix this, you need to cancel
the waybill and recreate it. Make sure that you fix the weight on the product before creating the
new waybill, or it will result in the same error.
2325 - GrossWeightMeasure - El dato no cumple con el formato establecido "Hace falta el campo" "Peso"" en el producto
`2325-GrossWeightMeasure-Eldatonocumpleconelformatoestablecido"Hacefaltaelcampo""Peso""enelproducto`
This error occurs when the weight on the product is set as 0.00 . To fix this, you need to cancel
the waybill and recreate it. Make sure that you fix the weight on the product before creating the
new waybill, or it will result in the same error.
`0.00`
- JSONDecodeError: Expecting value: line 1 column 1 (char 0) when creating a Delivery Guide This error is typically generated due to SOL user issues. Verify the userâs connection with the SUNAT ; the SOL user must be established with the company RUT + user ID. For example 2012188549JOHNSMITH .
JSONDecodeError: Expecting value: line 1 column 1 (char 0) when creating a Delivery Guide
`JSONDecodeError:Expectingvalue:line1column1(char0)whencreatingaDeliveryGuide`
This error is typically generated due to SOL user issues. Verify the userâs connection with the SUNAT ; the SOL user must be established with the company RUT + user ID. For example 2012188549JOHNSMITH .
`2012188549JOHNSMITH`
- El nÃºmero de documento relacionado al traslado de mercancÃa no cumple con el formato establecido: error: documento relacionado The Related Document Type and Related Document Number fields only apply to invoices and
receipts.
El nÃºmero de documento relacionado al traslado de mercancÃa no cumple con el formato establecido: error: documento relacionado
`ElnÃºmerodedocumentorelacionadoaltrasladodemercancÃanocumpleconelformatoestablecido:error:documentorelacionado`
The Related Document Type and Related Document Number fields only apply to invoices and
receipts.
- 400 Client error: Bad Request for URL This error is not solvable from Odoo; it is advised you reach out to the SUNAT and verify the
user. It may be necessary to create a new user.
400 Client error: Bad Request for URL
`400Clienterror:BadRequestforURL`
This error is not solvable from Odoo; it is advised you reach out to the SUNAT and verify the
user. It may be necessary to create a new user.
- Invalid content was found starting with element 'cac:BuyerCustomerParty' This error occurs when the transfer reason is set as other . Please select another option.
Following to the official documentation of the SUNAT âs waybill guide, the transfer reasons 03
(sale with shipment to third party) or 12 (others) does not work in Odoo, since you should not
have an empty or blank customer.
Invalid content was found starting with element 'cac:BuyerCustomerParty'
`Invalidcontentwasfoundstartingwithelement'cac:BuyerCustomerParty'`
This error occurs when the transfer reason is set as other . Please select another option.
Following to the official documentation of the SUNAT âs waybill guide, the transfer reasons 03
(sale with shipment to third party) or 12 (others) does not work in Odoo, since you should not
have an empty or blank customer.
- Duda cliente: consumo de crÃ©ditos IAP al usar GRE 2.0 For live clients using IAP, no credit is consumed (in theory) because it does not go through the
OSE, i.e., these documents are directly sent to the SUNAT .
Duda cliente: consumo de crÃ©ditos IAP al usar GRE 2.0
`Dudacliente:consumodecrÃ©ditosIAPalusarGRE2.0`
For live clients using IAP, no credit is consumed (in theory) because it does not go through the
OSE, i.e., these documents are directly sent to the SUNAT .
- Errores con formato credenciales GRE 2.0 (traceback error) Odoo currently throws an error with a traceback instead of a message that the credentials are not
correctly configured in the database. If this occurs on your database, please verify your
credentials.
Errores con formato credenciales GRE 2.0 (traceback error)
`ErroresconformatocredencialesGRE2.0(tracebackerror)`
Odoo currently throws an error with a traceback instead of a message that the credentials are not
correctly configured in the database. If this occurs on your database, please verify your
credentials.

### eCommerce electronic invoicing

First, install the Peruvian eCommerce ( l10n_pe_website_sale ) module.
`l10n_pe_website_sale`
The Peruvian eCommerce module enables the features and configurations to:
- allow clients to create online accounts for eCommerce purposes;
allow clients to create online accounts for eCommerce purposes;
- support required fiscal fields in the eCommerce application;
support required fiscal fields in the eCommerce application;
- receive payments for sales orders online;
receive payments for sales orders online;
- generate electronic documents from the eCommerce application.
generate electronic documents from the eCommerce application.
The Peruvian eCommerce module is dependent on the previous installation of the Invoicing or Accounting app, as well as the Website app.

#### Configuration

After configuring the Peruvian electronic invoicing flow, complete
the following configurations for the eCommerce flow:
- Client account registration ;
Client account registration ;
- Automatic invoice ;
- Products : Set the Invoicing Policy to Ordered quantities and define the desired Customer taxes .
Products : Set the Invoicing Policy to Ordered quantities and define the desired Customer taxes .
- Online payments ;
- Delivery : For each shipping method, set
the Provider field to Fixed Price . Then, set a Fixed Price amount greater than 0.00 (not zero), as the shipping method price is added to the invoice line.
Delivery : For each shipping method, set
the Provider field to Fixed Price . Then, set a Fixed Price amount greater than 0.00 (not zero), as the shipping method price is added to the invoice line.
`0.00`
- Mercado Pago is an online payment provider supported in Odoo
that covers several countries, currencies, and payment methods in Latin America.
Mercado Pago is an online payment provider supported in Odoo
that covers several countries, currencies, and payment methods in Latin America.
- Make sure to define a Sales Price on the Delivery Product of the
shipping method to prevent errors when validating the invoice with SUNAT .
Make sure to define a Sales Price on the Delivery Product of the
shipping method to prevent errors when validating the invoice with SUNAT .
- To offer free delivery, manually remove the Delivery Product , or at least use $0.01 (one cent) for the invoice to be validated with SUNAT.
To offer free delivery, manually remove the Delivery Product , or at least use $0.01 (one cent) for the invoice to be validated with SUNAT.
`$0.01`
Set up the Mercado Pago payment provider.

#### Invoicing flow for eCommerce

Once the configurations are all set, fiscal input fields will
be available during the checkout process for signed-in customers.
When customers enter their fiscal data at checkout and complete a successful purchase, the invoice
is generated with the corresponding EDI elements. The document type (Boleta/Factura) is selected
based on their tax ID (RUC/DNI). The invoice must then be sent to the OSE and the SUNAT . By default, all published invoices are sent once a day through
a scheduled action, but you can also send each invoice manually if needed.
Once the invoice is validated with SUNAT , customers can download the .zip file with the CDR, XML,
and PDF files directly from the customer portal by clicking the Download button.

## Reports

### Permanent inventory reports:PLE12.1 andPLE13.1

Odoo can produce two permanent inventory reports as .txt files for Peruvian accounting: PLE 12.1
and PLE 13.1. All inventory transactions made need to be reported.
`.txt`
- PLE 12.1 only tracks inventory in physical units , focusing on the inflow and outflow of
goods for effective management and planning.
PLE 12.1 only tracks inventory in physical units , focusing on the inflow and outflow of
goods for effective management and planning.
- PLE 13.1 tracks both physical quantities and monetary values of inventory , providing a
comprehensive view for tax and management purposes.
PLE 13.1 tracks both physical quantities and monetary values of inventory , providing a
comprehensive view for tax and management purposes.
Both reports must be maintained semi-annually (January-June and July-December), with monthly
transaction details reported within these periods. The submission deadlines are October 1st for the
first semester and April 1st for the second semester, in accordance with the ResoluciÃ³n de
Superintendencia NÂ° 169-2015 .

#### Configuration

Before generating the PLE 12.1 or PLE 13.1 reports, make sure the Peru - Stock
Reports ( l10n_pe_reports_stock ) module is installed, then update the fields for:
`l10n_pe_reports_stock`
- Products
- Warehouses
- Inventory transfers
Several configurations related to the product or product category are necessary for PLE reporting:
- Type of existence : For all products needing PLE reporting, go to the product recordâs Accounting tab and select the Type of Existence according to SUNAT âs
table 5 for inventory reporting.
Type of existence : For all products needing PLE reporting, go to the product recordâs Accounting tab and select the Type of Existence according to SUNAT âs
table 5 for inventory reporting.
- Automatic inventory valuation : For storable goods ( products with tracked inventory ),
use automatic inventory valuation .
Once automatic inventory valuation is enabled, this valuation method can be enabled for
a productâs product category .
Automatic inventory valuation : For storable goods ( products with tracked inventory ),
use automatic inventory valuation .
Once automatic inventory valuation is enabled, this valuation method can be enabled for
a productâs product category .
- Costing method: Storable goods must use a costing method other than Standard Price , as the journal entries generated from stock moves are
used to populate the PLE reports.
Costing method: Storable goods must use a costing method other than Standard Price , as the journal entries generated from stock moves are
used to populate the PLE reports.
When setting up a warehouse , the Annex Establishment Code field must be filled. This code acts as a unique ID for each
warehouse and should only be a numeric combination, containing between 4 to 7 digits.
Transferring inventory is a key process captured in the PLE 12.1 and PLE 13.1 reports. Inventory transfers include both incoming and outgoing shipments.
When validating an inventory transfer (either on a warehouse receipt or delivery order), select the Type of Operation (PE) performed according to SUNAT âs table 12 for permanent inventory
reporting.

#### Generate a .txt file for permanent inventory Kardex reports

PLE 12.1 and 13.1 come as two separate books. The books need to be downloaded in .txt file
format from Odoo, and then they should be submitted to the SUNAT PLE software.
`.txt`
On the Inventory Valuation Report , click
the PLE Reports button. Then, select the Period and choose a report to
export: either the PLE 12.1 or PLE 13.1 . Odoo generates a .txt file
for the chosen report.
`.txt`
Only a download of the report in .txt format is available. There is no preview or visualization
available within Odoo.
`.txt`


Philippines

# Philippines

## Configuration

Install the ðµð Philippines fiscal localization package to get all the default accounting features of the Philippine
localization, such as a chart of accounts, taxes, and reports. These provide a base template to get
started with using Philippine accounting.
- When creating a new database and selecting the Philippines as a country, the fiscal
localization module Philippines - Accounting is automatically installed.
When creating a new database and selecting the Philippines as a country, the fiscal
localization module Philippines - Accounting is automatically installed.
`Philippines`
- If the module is installed in an existing company, the chart of accounts and taxes will not be replaced if there are already posted journal entries.
If the module is installed in an existing company, the chart of accounts and taxes will not be replaced if there are already posted journal entries.

### Chart of accounts and taxes

A minimum configuration default chart of accounts is installed, and the following types of taxes are
installed and linked to the relevant account:
- Sales and Purchase VAT 12%
Sales and Purchase VAT 12%
- Sales and Purchase VAT Exempt
Sales and Purchase VAT Exempt
- Sales and Purchase VAT Zero-Rated
Sales and Purchase VAT Zero-Rated
- Sales and Purchase Withholding
Sales and Purchase Withholding
For the withholding taxes ( Accounting â£ Configuration â£ Taxes ), there is an
additional Philippines ATC field under the Philippines tab.
Taxesâ ATC codes are used for the BIR 2307 , SAWT and QAP reports . If a tax is created
manually, its ATC code must be added.

### Contacts

When a company or an individual (not belonging to a company) contact is located in the Philippines,
fill in the Tax ID field with their Taxpayer Identification Number (TIN) .
`TaxpayerIdentificationNumber(TIN)`
For individuals not belonging to a company, identify them by using the following additional fields:
- First Name
- Middle Name
- Last Name
For both Company and Individual , the TIN should follow the NNN-NNN-NNN-NNNNN format. The branch code should follow the last digits of the TIN, or else it
can be left as 00000 .
`NNN-NNN-NNN-NNNNN`
`00000`

## Reports

### BIR 2307 report

BIR 2307 reports, also known as Certificate of Creditable Tax Withheld at Source ,
can be generated for purchase orders and vendor payments with the applicable withholding taxes.
To generate a BIR 2307 report, select one or multiple vendor bills from the list view, and click Action â£ Download BIR 2307 XLS .
The same action can be performed on a vendor bill from the form view.
In the pop-up that opens, review the selection and click Generate .
This generates the Form_2307.xls file that lists all the vendor bill lines with the applicable
withholding tax.
`Form_2307.xls`
The process above can also be used for a single vendor payment if
it is linked to one or more vendor bills with applied withholding
taxes.
- If no withholding tax is applied, then the XLS file will not generate records for those vendor
bill lines.
If no withholding tax is applied, then the XLS file will not generate records for those vendor
bill lines.
- When grouping payments for multiple bills, Odoo splits the payments based on the contact. From
a payment, clicking Action â£ Download BIR 2307 XLS generates a report that
only includes vendor bills related to that contact.
When grouping payments for multiple bills, Odoo splits the payments based on the contact. From
a payment, clicking Action â£ Download BIR 2307 XLS generates a report that
only includes vendor bills related to that contact.
Odoo cannot generate the BIR 2307 PDF report or DAT files directly. The generated Form_2307.xls file can be exported to an external tool to convert it to BIR DAT or PDF
format.
`Form_2307.xls`

### SLSP report

To access the SLSP report, go to Accounting â£ Reporting â£ Summary List of Sales and Purchases .
Click the buttons at the top to display the desired report:
- Sales for the SLS report. All customer invoices with the associated sales taxes applied are shown in this report.
- Purchases for the SLP report. All vendor bills with the associated purchase taxes applied are shown in this report.
By default, both reports exclude journal entries containing partners without a TIN number set and
those with importation taxes set. To view or hide them, click Options: and select the
required filter:
- Including Partners Without TIN
Including Partners Without TIN
- Including Importations
Including Importations
To export the SLSP report, click Export
SLSP .
Odoo cannot generate the DAT files directly. The Export SLSP and XLSX buttons are used to export an XLSX file, which can be processed using an external tool to
convert it to the DAT format.

### 2550Q tax report

The tax report report is accessible by navigating to Accounting â£ Reporting â£
Statement Reports â£ Tax Report â£ 2550Q(PH) . The form is based on the latest 2550Q
(Quarterly Value-Added Tax Return) Jan. 2023 version.
Most lines in the tax report are automatically computed based on the taxes. For more accurate
reporting and filing of the tax report, manual journal entries can also be mapped to the tax
report through preconfigured Tax Grids for each tax report line.
Odoo cannot generate the 2550Q BIR formatted PDF report directly. It should be used as a
reference when externally filing the form manually or online.

### QAP & SAWT reports

To access the QAP and SAWT reports, go to Accounting â£ Reporting â£ Tax Return , click
the Report: button, and select SAWT & QAP (PH) .
Click the buttons at the top to display the desired report:
- SAWT for the SAWT report. All customer invoices with the associated sales witholding taxes applied are shown in this
report.
- QAP for the QAP report. All vendor bills with the associated purchase witholding taxes applied are shown in this report.
To export the SAWT and QAP reports in XLSX format, click Export SAWT & QAP .
Odoo cannot generate the DAT files directly. The Export SAWT & QAP and XLSX buttons are used to export an XLSX file, which can be processed using an external tool to convert it to the DAT format.

## Check printing

The Philippine check print layout follows the latest PCHC standardized format. To enable check printing, go to Accounting â£
Configuration â£ Settings , enable Checks and set the Check Layout to Print Check - PH .
`PrintCheck-PH`
Checks are printed using the standard workflow .

Configuration
Chart of accounts and taxes
Contacts
Reports
BIR 2307 report
SLSP report
2550Q tax report
QAP & SAWT reports
Check printing


Romania

# Romania

## Configuration

Install the following modules to get all the features of the Romanian
localization.
`l10n_ro`
Default fiscal localization package .
Romanian SAF-T Export
`l10n_ro_saft`
Module to generate the D.406 declaration in the SAF-T format.
Documentation on e-invoicingâs legality and compliance in Romania

## D.406 declaration

Starting January 1, 2023, companies registered for tax purposes in Romania must report their
accounting data to the Romanian Tax Agency monthly or quarterly in the D.406 declaration.
Odoo provides all you need to export the data of this declaration in the SAF-T XML format, which you
can validate and sign using the software provided by the Romanian Tax Agency.
Currently, Odoo only supports the generation of the monthly/quarterly D.406 declaration
(containing journal entries, invoices, vendor bills, and payments). The yearly declaration
(including assets) and the on-demand declaration (including inventory) are not yet supported.

### Configuration

#### Company

- Under Settings â> General Settings , in the Companies section, click Update Info and fill in the companyâs Country , City , and Telephone Number .
Under Settings â> General Settings , in the Companies section, click Update Info and fill in the companyâs Country , City , and Telephone Number .
- Provide your companyâs CUI number or CIF number (for foreign companies) in the Company ID field,
without the RO prefix (e.g., 18547290 ).
Provide your companyâs CUI number or CIF number (for foreign companies) in the Company ID field,
without the RO prefix (e.g., 18547290 ).
`RO`
`18547290`
- If your company is registered for VAT in Romania, fill in the Tax ID field number,
including the RO prefix (e.g., RO18547290 ). If the company is not registered for
VAT in Romania, you must not fill in the Tax ID field.
If your company is registered for VAT in Romania, fill in the Tax ID field number,
including the RO prefix (e.g., RO18547290 ). If the company is not registered for
VAT in Romania, you must not fill in the Tax ID field.
`RO`
`RO18547290`
- Open the Contacts app and search for your company. Open your companyâs profile, and in the Accounting tab, click Add a line and add your bank account number if
not informed already. Make sure the profile is set as Company above the name . You must have at least one contact person linked to your company in the Contacts app.
If no contact person is linked, create a new one by clicking New , set it
as Individual , and select your company in the Company name field.
Open the Contacts app and search for your company. Open your companyâs profile, and in the Accounting tab, click Add a line and add your bank account number if
not informed already. Make sure the profile is set as Company above the name .
- You must have at least one contact person linked to your company in the Contacts app.
If no contact person is linked, create a new one by clicking New , set it
as Individual , and select your company in the Company name field.
You must have at least one contact person linked to your company in the Contacts app.
If no contact person is linked, create a new one by clicking New , set it
as Individual , and select your company in the Company name field.

#### Chart of accounts

To generate a file receivable by the Romanian Tax Agency, the chart of accounts must not deviate
from an official chart of accounts, such as:
- the chart of accounts for commercial companies ( PlanConturiBalSocCom ), which is installed
by default when creating a company with the Romanian localization or;
the chart of accounts for commercial companies ( PlanConturiBalSocCom ), which is installed
by default when creating a company with the Romanian localization or;
- the chart of accounts for companies following IFRS ( PlanConturiIFRS ).
the chart of accounts for companies following IFRS ( PlanConturiIFRS ).
Under Settings â> Accounting , in the Romanian localization section, set the Tax Accounting Basis to reflect the accounting regulations and Chart of Accounts used
by the company.

#### Customer and supplier

Fill in the Country , City , and Zip Code of each partner that
appears in your invoices, vendor bills, or payments through the Contacts app.
For partners that are companies, you must fill in the VAT number (including the country  prefix) in
the Tax ID field. If the partner is a company based in Romania, you may instead fill in
the CUI number (without the âROâ prefix) in the Company ID field.

#### Tax

You must indicate the Romanian SAF-T Tax Type (3-digit number) and Romanian
SAF-T Tax Code (6-digit number) on each of the taxes you use. This is already done for the taxes
that exist by default in Odoo. To do so, go to Accounting â£ Configuration â£
Taxes , select the tax you wish to modify, click the Advanced Options tab, and fill in
the tax type and tax code fields.
The tax type and tax code are codes defined by the Romanian Tax Agency for the D.406
declaration . These can be found in the Excel spreadsheet published as guidance for completing
the declaration, which you can find on the website of the Romanian Tax Agency .

#### Product

For some types of goods transactions, the Intrastat Code (Cod NC) must be configured
on the product, as it is required by Romanian law:
- import / export transactions;
import / export transactions;
- acquisitions / supplies of food products subjected to reduced VAT rate;
acquisitions / supplies of food products subjected to reduced VAT rate;
- intra-community movements subjected to intrastat reporting;
intra-community movements subjected to intrastat reporting;
- acquisitions / supplies subjected to local reversed VAT charge (depending on Cod NC); and
acquisitions / supplies subjected to local reversed VAT charge (depending on Cod NC); and
- transactions with excisable products for which excise duties are determined based on the Cod NC.
transactions with excisable products for which excise duties are determined based on the Cod NC.
If the Intrastat Code is not specified on a non-service product, the default code â0â will be used.
To configure the Intrastat Codes , go to Accounting â£ Customers â£ Products , select a product, and in the Accounting tab, set a Commodity Code .

#### Vendor bill

You must check the Is self-invoice (RO)? checkbox in the Other Info tab for
any vendor bill that is a self-invoice (i.e. a vendor bill that you issued yourself in the absence
of an invoice document received from a supplier).

### Generating the declaration

#### Exporting your data

To export the XML for the D.406 declaration, go to Accounting â£ Reports â£
General Ledger and click on SAF-T .
You can then validate and sign the XML file using the Romanian Tax Agencyâs validation software, DUKIntegrator .

#### Signing the report

Download and install the DUKIntegrator validation software found on the website of the Romanian
Tax Agency .
Once you have generated the XML, open âDUKIntegratorâ and select the file you have just generated.
Click on Validare + creare PDF to create an unsigned PDF containing your report, or Validare + creare PDF semnat to create a signed PDF containing your report.
If the DUKIntegrator validator detects errors or inconsistencies in your data, it generates a file
that explains the errors. In this case, you need to correct those inconsistencies in your data
before you can submit the report to the Romanian Tax Agency.

Configuration
D.406 declaration
Configuration
Generating the declaration


Saudi Arabia

# Saudi Arabia

## Configuration

Install the following modules to get all the features of the Saudi Arabian
localization:
Saudi Arabia - Accounting
`l10n_sa`
Default fiscal localization package
Saudi Arabia - E-invoicing
`l10n_sa_edi`
ZATCA e-invoices implementation
Saudi Arabia - Point of Sale
`l10n_sa_pos`
Point of Sale compliance

## ZATCA e-invoices

The ZATCA e-invoicing system is designed to streamline and digitize the invoicing process for
businesses operating in Saudi Arabia.
ZATCA e-invoicing page

### Company information

Go to Settings â£ General Settings â£ Companies , click Update info ,
and ensure the following company information is complete and up-to-date.
- The Company Name , limited to a maximum of 63 characters to comply with ZATCA
requirements.
The Company Name , limited to a maximum of 63 characters to comply with ZATCA
requirements.
- All relevant Address fields, including the Building Number and Plot Identification (four digits each).
All relevant Address fields, including the Building Number and Plot Identification (four digits each).
- Select an enterprise Identification Scheme . It is recommended to use the Commercial Registration Number .
Select an enterprise Identification Scheme . It is recommended to use the Commercial Registration Number .
- Enter the Identification Number for the selected Identification Scheme .
Enter the Identification Number for the selected Identification Scheme .
- The VAT number.
- Ensure the Currency is set to SAR .
Ensure the Currency is set to SAR .
It is also necessary to fill out similar information for partner companies.

### Simulation mode

It is strongly recommended to thoroughly test all invoicing workflows using the Fatoora simulation portal first, as any invoice submitted to the regular Fatoora portal will be
accounted for, which could lead to fines and penalties.

#### Fatoora simulation portal

Log in on the Fatoora portal using the companyâs ZATCA
credentials. Then, click the Fatoora Simulation Portal button to switch to the
simulation portal.
ZACTA Fatoora portal user manual version 3 (May 2023)

#### ZATCA API integration

On Odoo, go to Accounting â£ Configuration â£ Settings . Under ZATCA
API Integration , select the Simulation (Pre-Production) API mode and click Save .

#### Sales journals

Each sales journal on Odoo needs to be configured. To do so, go to Accounting â£
Configuration â£ Journals , open any sales journal (e.g., Customer Invoices), and go to the ZATCA tab. Once there, enter any Serial Number to identify the journal.
The same serial number can be used for all of the companyâs sales journals.
Next, click Onboard Journal . In the dialog box, providing an OTP code is required. To retrieve it, open the Fatoora simulation portal , click Onboard New Solution Unit/Device , choose the
number of OTP codes to generate (one per journal to configure), and click Generate OTP
Code . Copy an OTP code, it into the dialog box on Odoo, and click Request .
OTP codes expire after one hour.
If any issue occurs during onboarding, click Regenerate CSR to start again.

#### Testing

When confirming an invoice, there is now an option to process the invoice, sending it directly the
Fatoora simulation portal. Odoo displays the portalâs response after each submission. Only rejected
invoices can be reset to draft and edited on Odoo. Furthermore, at the end of each day, Odoo sends
all unprocessed invoices to the portal.
- Testing all invoicing workflows, preferably with real invoices and for a reasonable amount of
time, is recommended.
Testing all invoicing workflows, preferably with real invoices and for a reasonable amount of
time, is recommended.
- Compare the invoices received statistics page on the Fatoora simulation portal with the list of
invoices on Odoo to ensure both align.
Compare the invoices received statistics page on the Fatoora simulation portal with the list of
invoices on Odoo to ensure both align.

#### Taxes

When using a 0% tax in a customer invoice, it is necessary to specify the reason behind such a
rate. To configure taxes, go to Accounting â£ Configuration â£ Settings â£
Taxes , and open the tax to edit. Under the Advanced Options , select an Exemption Reason Code and click Save .
When using retention or withholding an amount in a customer invoice, the tax used to retain
the amount needs to be specified.

### Production mode

When ready for production, change the API mode to Production and click Save .
Setting the API mode to Production is irreversible .
The sales journals initially linked to the simulation portal now needs to be linked to the regular
portal. To do so, onboard the journals again, ensuring to use the
regular Fatoora portal this time.

Configuration
ZATCA e-invoices
Company information
Simulation mode
Production mode


Singapore

# Singapore

## Add PayNow QR codes to invoices

PayNow is a payment service platform that allows customers to make instant domestic payments to
individuals and merchants in Singapore dollars via online and mobile banking.

### Activate QR codes

Go to Accounting â£ Configuration â£ Settings . Under the Customer
Payments section, activate the QR Codes feature.

### PayNow bank account configuration

Go to Contacts â£ Configuration â£ Bank Accounts and select the bank account to
activate PayNow. Set the Proxy Type and fill in the Proxy Value field
depending on the chosen type.
- The account holderâs country must be set to Singapore on its contact form.
The account holderâs country must be set to Singapore on its contact form.
`Singapore`
- The account holderâs city is mandatory.
The account holderâs city is mandatory.
- You could also include the invoice number in the QR code by checking the Include
Reference checkbox.
You could also include the invoice number in the QR code by checking the Include
Reference checkbox.
Bank and cash accounts

### Bank journal configuration

Go to Accounting â£ Configuration â£ Journals , open the bank journal, then fill
out the Account Number and Bank under the Journal Entries tab.

### Issue invoices with PayNow QR codes

When creating a new invoice, open the Other Info tab and set the Payment
QR-code option to EMV Merchant-Presented QR-code .
Ensure that the Recipient Bank is the one you configured, as Odoo uses this field to
generate the PayNow QR code.

## Employment Hero payroll

If your business is already up and running with Employment Hero , you can use our connector as an
alternative payroll solution.
To configure the Employment Hero API for Singapore ,
use the following value as Payroll URL : HTTPS://apisg.yourpayroll.io/ .
`HTTPS://apisg.yourpayroll.io/`

Add PayNow QR codes to invoices
Activate QR codes
PayNow bank account configuration
Bank journal configuration
Issue invoices with PayNow QR codes
Employment Hero payroll


Spain

# Spain

## Configuration

Install the ðªð¸ Spanish fiscal localization package to get all
the default accounting features of the Spanish localization.
Three Spanish localizations exist, each with its own pre-configured PGCE charts of accounts:
- Spain - SMEs (2008);
- Spain - Complete (2008);
Spain - Complete (2008);
- Spain - Non-profit entities (2008).
Spain - Non-profit entities (2008).
To select the one to use, go to Accounting â£ Configuration â£ Settings and
select a package in the Fiscal Localization section.
You can only change the accounting package as long as you have not created any accounting entry.
- Documentation on e-invoicingâs legality and compliance in Spain
Documentation on e-invoicingâs legality and compliance in Spain
- Documentation on e-invoicingâs legality and compliance in the Basque Country
Documentation on e-invoicingâs legality and compliance in the Basque Country

## Chart of accounts

You can reach the Chart of Accounts by going to Accounting â£ Configuration â£
Accounting: Chart of Accounts .
When you create a new Odoo Online database, Spain - SMEs (2008) is installed by default.

## Taxes

Default Spain-specific taxes are created automatically when the Spanish - Accounting (PGCE 2008) (l10n_es) module is installed, and tax reports are
available when installing the module Spain - Accounting (PGCE 2008) (l10n_es_reports) .
Each tax impacts the Spain-specific tax reports (Modelo) , available by going to Accounting â£ Reporting â£ Statements Reports: Tax Report .

## Reports

Here is the list of Spanish-specific statement reports available:
- Balance Sheet;
- Profit & Loss;
- EC Sales List;
- Tax Report (Modelo 111);
Tax Report (Modelo 111);
- Tax Report (Modelo 115);
Tax Report (Modelo 115);
- Tax Report (Modelo 130);
Tax Report (Modelo 130);
- Tax Report (Modelo 303);
Tax Report (Modelo 303);
- Tax Report (Modelo 347);
Tax Report (Modelo 347);
- Tax Report (Modelo 349);
Tax Report (Modelo 349);
- Tax Report (Modelo 390).
Tax Report (Modelo 390).
You can access Spain-specific tax reports by clicking on the book icon when on a report and
selecting its Spain-specific version: (ES) .

### Modelo 130

#### Change the percentage

If you wish to change the percentage computation of the box [04] under the I section and/or of the box [09] under the II section:
- Activate the developer mode , go to Accounting â£
Reporting â£ Tax Report , and select the report Tax report (Modelo 130) .
Activate the developer mode , go to Accounting â£
Reporting â£ Tax Report , and select the report Tax report (Modelo 130) .
- Click the ( cogs ) icon to the right of Report: Tax Report
(Mod 130) (ES) .
Click the ( cogs ) icon to the right of Report: Tax Report
(Mod 130) (ES) .
- Click the box you wish to change, and in the pop-up window, click on the percentage line. In the new pop-up window, change the value in the Formula field to the
percentage you wish to apply.
Repeat this action if you wish to modify the other box as well.
Click the box you wish to change, and in the pop-up window, click on the percentage line. In the new pop-up window, change the value in the Formula field to the
percentage you wish to apply.
Repeat this action if you wish to modify the other box as well.

#### Report agriculture activity

If you wish to have any amount input in the II section (from boxes [08] to [11] ), you must change the industry of the corresponding contact to Agriculture :
- Go to the contact form ( Accounting â£ Customers â£ Customers or Accounting â£ Vendors â£ Vendors , for example), and select a contact.
Go to the contact form ( Accounting â£ Customers â£ Customers or Accounting â£ Vendors â£ Vendors , for example), and select a contact.
- In the Sales & Purchase tab, set the Industry field to Agriculture .
In the Sales & Purchase tab, set the Industry field to Agriculture .
Repeat this operation for all contacts related to the agriculture industry.

## Veri*Factu

Producers of Veri*Factu billing systems must self-certify their compliance with the regulations. Download Odoo's "declaraciÃ³n responsable"
`DownloadOdoo's"declaraciÃ³nresponsable"`
Veri*Factu is an e-Invoicing system used by the Spanish Tax Agency. It is mandatory for most
taxpayers in Spain, except for those who use the SII system or are under a regional tax regime
(i.e., TicketBai).
Odoo allows invoices and Point of Sale orders to be automatically sent to the tax authorities.

### Configuration

To enable Veri*Factu , follow these steps:
- Open the Settings app to make sure your companyâs Country and Tax ID are
correctly set in the Companies section.
Open the Settings app to make sure your companyâs Country and Tax ID are
correctly set in the Companies section.
- Install the Spain - Veri*Factu (l10n_es_edi_verifactu) module.
Install the Spain - Veri*Factu (l10n_es_edi_verifactu) module.
- Go to Accounting â£ Configuration â£ Settings , scroll to the Veri*Factu section, check the Enable Veri*Factu option, and click Manage certificates to add a certificate.
Go to Accounting â£ Configuration â£ Settings , scroll to the Veri*Factu section, check the Enable Veri*Factu option, and click Manage certificates to add a certificate.
- In the Certificates for Veri*Factu list view, click New .
In the Certificates for Veri*Factu list view, click New .
- Click Upload your file , then select a certificate file and enter the Password needed to open the certificate (if there is one).
Click Upload your file , then select a certificate file and enter the Password needed to open the certificate (if there is one).
- At least one certificate has to be uploaded.
At least one certificate has to be uploaded.
- By default Veri*Factu is in testing mode. The data is sent to test servers
and is not considered official. When official data can be sent to the production servers, go to
the Veri*Factu section in the Settings and disable Test
Environment .
By default Veri*Factu is in testing mode. The data is sent to test servers
and is not considered official. When official data can be sent to the production servers, go to
the Veri*Factu section in the Settings and disable Test
Environment .

### Invoices

Once an invoice is confirmed, it can be sent . In the Send window, the Veri*Factu option is
available if Veri*Factu has been enabled.
Click Send to generate a JSON file containing the invoice details. This file is stored
as a Veri*Factu document. In the Veri*Factu tab, all corresponding documents are
listed by their creation date and current status.
To download a JSON file, click on its document in the Veri*Factu tab. Then, in
the Open: Veri*Factu Documents window, click the link in the JSON field.
- The document should be sent to the AEAT immediately. However, it may be delayed due to mandatory waiting periods between submissions
required by the AEAT . In such cases,
the document is automatically sent the next time a scheduled action runs.
The document should be sent to the AEAT immediately. However, it may be delayed due to mandatory waiting periods between submissions
required by the AEAT . In such cases,
the document is automatically sent the next time a scheduled action runs.
- A Veri*Factu QR code appears on the invoice PDF. Scan this code to verify that the invoice
has been received and recognized by the AEAT .
A Veri*Factu QR code appears on the invoice PDF. Scan this code to verify that the invoice
has been received and recognized by the AEAT .

### Point of sale orders

Once an order has been paid , a JSON file containing the order details is
generated. This file is stored as a Veri*Factu document.
Go to Point of Sale â£ Orders â£ Orders . In the Orders list view,
select the relevant order. In the Veri*Factu tab, all the corresponding documents are
listed by their creation date and current status.
To download a JSON file, click on its document in the Veri*Factu tab. Then, in
the Open: Veri*Factu Documents window, click the link in the JSON field.
- The document should be sent to the AEAT immediately. However, it may be delayed due to mandatory waiting periods between submissions
required by the AEAT . In such cases,
the document is automatically sent the next time a scheduled action runs.
The document should be sent to the AEAT immediately. However, it may be delayed due to mandatory waiting periods between submissions
required by the AEAT . In such cases,
the document is automatically sent the next time a scheduled action runs.
If an invoice is generated for an order during the payment process, the Veri*Factu document is created and sent for the invoice instead.
A Veri*Factu QR code appears on the order receipt, even if an invoice is created for the
order. Scan this code to verify that the invoice has been received and recognized by the AEAT

## TicketBAI

Ticket BAI or TBAI is an e-Invoicing
system used by the Basque government and its three provincial councils (Ãlava, Biscay, and
Gipuzkoa).
Odoo supports the TicketBAI (TBAI) electronic invoicing format for all three regions of the Basque Country . To enable TicketBAI , set your companyâs Country and Tax ID under Settings â£ General Settings in the Companies section.
Then, install the module Spain -TicketBAI (l10n_es_edi_TBAI) ,
go to Accounting â£ Configuration â£ Settings , and select a region in the Spain Localization sectionâs Tax Agency for TBAI field.
Once a region is selected, click Manage certificates (SII/TicketBAI) , then click New , upload the certificate, and enter the password provided by the tax agency.
If you are testing certificates, enable Test Mode in the Spain Localization section, which can be found under Accounting in
the Settings app.

### Use case

Once an invoice has been created and confirmed,
a TicketBAI banner appears at the top.
Odoo sends invoices through TicketBAI automatically every 24 hours . However, you can click Process now to send the invoice immediately.
When the invoice is sent , the status of the field Electronic Invoice changes to Sent , and the XML file can be found in the chatter . Under the EDI Documents tab, you can see the traceability of other generated documents related to
the invoice (e.g., if the invoice should also be sent through the SII , it will appear here).
The TBAI QR code is displayed on the invoice PDF.

## FACe

FACe is the e-Invoicing platform used by the public administrations in
Spain to send electronic invoices.
Before configuring the FACe system, install the Spain - Facturae EDI (l10n_es_edi_facturae) module
and other Facturae EDI -related modules.
To configure FACe, follow these steps:
- Go to Accounting â£ Configuration â£ Certificates .
Go to Accounting â£ Configuration â£ Certificates .
- Click New to create a new certificate.
Click New to create a new certificate.
- Complete the fields, including uploading the file of the Certificate provided by the
tax agency and the provided Certificate Password .
Complete the fields, including uploading the file of the Certificate provided by the
tax agency and the provided Certificate Password .
If using the Invoicing app instead of Accounting, go to Invoicing â£
Configuration â£ Certificates .

### Use case

Once you have created an invoice and confirmed
it, click Send . Make sure Generate Facturae edi file is enabled, and
click Send again. Once the invoice is sent, the generated XML file is available
in the chatter .
The file is NOT automatically sent. You have to send it yourself manually.
You can send FACe XML files in batch through the governmental portal .

### Administrative centers

In order for FACe to work with administrative centers , the invoice must include specific
data about the centers.
To add administrative centers , create a new contact to add to the partner company.
Select FACe Center as the type , assign one or more role(s) to that contact, and Save . The three roles usually required are:
- Ãrgano gestor: Receptor (Receiver);
Ãrgano gestor: Receptor (Receiver);
- Unidad tramitadora: Pagador (Payer);
Unidad tramitadora: Pagador (Payer);
- Oficina contable: Fiscal (Fiscal).
Oficina contable: Fiscal (Fiscal).
- If administrative centers need different Codes per role, you must create
different centers for each role.
If administrative centers need different Codes per role, you must create
different centers for each role.
- When an electronic invoice is created using a partner with administrative centers , all administrative centers are included in the invoice.
When an electronic invoice is created using a partner with administrative centers , all administrative centers are included in the invoice.
- You can add one contact with multiple roles or multiple contacts with a different role each.
You can add one contact with multiple roles or multiple contacts with a different role each.

Configuration
Chart of accounts
Taxes
Reports
Modelo 130
Veri*Factu
Configuration
Invoices
Point of sale orders
TicketBAI
Use case
FACe
Use case
Administrative centers


Switzerland

# Switzerland

## ISR (In-payment Slip with Reference number)

The ISRs are payment slips used in Switzerland. You can print them
directly from Odoo. On the customer invoices, there is a new button
called Print ISR .
The button Print ISR only appears there is well a bank account
defined on the invoice. You can use CH6309000000250097798 as bank
account number and 010391391 as CHF ISR reference.
Then you open a pdf with the ISR.
There exists two layouts for ISR: one with, and one without the bank
coordinates. To choose which one to use, there is an option to print the
bank information on the ISR. To activate it, go in Accounting â£ Configuration â£ Settings â£ Customer Invoices and enable Print bank on ISR :

### ISR reference on invoices

To ease the reconciliation process, you can add your ISR reference as Payment Reference on your
invoices.
To do so, you need to configure the Journal you usually use to issue invoices. Go to Accounting â£ Configuration â£ Journals , open the Journal you want to modify (By
default, the Journal is named Customer Invoices ), click en Edit , and open the Advanced
Settings tab. In the Communication Standard field, select Switzerland , and click on Save .

## Currency Rate Live Update

You can update automatically your currencies rates based on the Federal
Tax Administration from Switzerland. For this, go in Accounting â£ Settings , activate the multi-currencies setting and choose the service
you want.

## Updated VAT for January 2018

Starting from the 1st January 2018, new reduced VAT rates will be
applied in Switzerland. The normal 8.0% rate will switch to 7.7% and the
specific rate for the hotel sector will switch from 3.8% to 3.7%.

### How to update your taxes in Odoo Enterprise (Odoo Online or On-premise)?

If you have the V11.1 version, all the work is already been done, you
donât have to do anything.
If you have started on an earlier version, you first have to update the
module âSwitzerland - Accounting Reportsâ. For this, you go in Apps â£ remove the filter âAppsâ â£ search for âSwitzerland - Accounting Reportsâ â£ open the module â£ click on âupgradeâ .
Once it has been done, you can work on creating new taxes for the
updated rates.
Do not suppress or modify the existing taxes (8.0% and 3.8%).
You want to keep them since you may have to use both rates for a short
period of time. Instead, remember to archive them once you have encoded
all your 2017 transactions.
The creation of such taxes should be done in the following manner:
- Purchase taxes : copy the origin tax, change its name, label on
invoice, rate and tax group (effective from v10 only)
Purchase taxes : copy the origin tax, change its name, label on
invoice, rate and tax group (effective from v10 only)
- Sale taxes : copy the origin tax, change its name, label on
invoice, rate and tax group (effective from v10 only). Since the
vat report now shows the details for old and new rates, you
should also set the tags accordingly to For 7.7% taxes: Switzerland VAT Form: grid 302 base, Switzerland
VAT Form: grid 302 tax For 3.7% taxes: Switzerland VAT Form: grid 342 base, Switzerland
VAT Form: grid 342 tax
Sale taxes : copy the origin tax, change its name, label on
invoice, rate and tax group (effective from v10 only). Since the
vat report now shows the details for old and new rates, you
should also set the tags accordingly to
- For 7.7% taxes: Switzerland VAT Form: grid 302 base, Switzerland
VAT Form: grid 302 tax
For 7.7% taxes: Switzerland VAT Form: grid 302 base, Switzerland
VAT Form: grid 302 tax
- For 3.7% taxes: Switzerland VAT Form: grid 342 base, Switzerland
VAT Form: grid 342 tax
For 3.7% taxes: Switzerland VAT Form: grid 342 base, Switzerland
VAT Form: grid 342 tax
Youâll find below, as examples, the correct configuration for all taxes
included in Odoo by default
Tax Group (effective from V10)
TVA 7.7% sur achat B&S (TN)
Switzerland VAT Form: grid 400
TVA 7.7% sur achat B&S (Incl. TN)
Switzerland VAT Form: grid 400
TVA 7.7% sur invest. et autres ch. (TN)
Switzerland VAT Form: grid 405
TVA 7.7% sur invest. et autres ch. (Incl. TN)
Switzerland VAT Form: grid 405
TVA 3.7% sur achat B&S (TS)
Switzerland VAT Form: grid 400
TVA 3.7% sur achat B&S (Incl. TS)
Switzerland VAT Form: grid 400
TVA 3.7% sur invest. et autres ch. (TS)
Switzerland VAT Form: grid 405
TVA 3.7% sur invest. et autres ch. (Incl. TS)
Switzerland VAT Form: grid 405
Switzerland VAT Form: grid 302 base, Switzerland VAT Form: grid 302 tax
TVA due Ã  7.7% (Incl. TN)
Switzerland VAT Form: grid 302 base, Switzerland VAT Form: grid 302 tax
Switzerland VAT Form: grid 342 base, Switzerland VAT Form: grid 342 tax
TVA due a 3.7% (Incl. TS)
Switzerland VAT Form: grid 342 base, Switzerland VAT Form: grid 342 tax
If you have questions or remarks, please contact our support using
odoo.com/help.
Donât forget to update your fiscal positions. If you have a version
11.1 (or higher), there is nothing to do. Otherwise, you will also
have to update your fiscal positions accordingly.


Taiwan

# Taiwan

## Modules

The following modules related to Taiwan localization are available:
`l10n_tw`
This is the base module to manage the accounting chart for Taiwan.
`l10n_tw_edi_ecpay`
This module allows the user to send their invoices to the Ecpay system.
Taiwan - E-invoicing Ecommerce
l10n_tw_edi_ecpay_website_sale
`l10n_tw_edi_ecpay_website_sale`
This module allows the user to input Ecpay information in ecommerce for sending their invoices to the Ecpay system.
Taiwan - Accounting Reports
`l10n_tw_reports`
This module includes the accounting reports for Taiwan.
In some cases, such as when upgrading to a version with additional modules, modules may not be
installed automatically. Any missing modules can be manually installed .

## Localization overview

The Taiwanese localization package ensures compliance with Taiwanese fiscal and accounting
regulations. It includes tools for managing taxes, fiscal positions, reporting, and a predefined
chart of accounts tailored to Taiwanâs standards.
The Taiwanese localization package provides the following key features to ensure compliance with
local fiscal and accounting regulations:
- Chart of accounts : a predefined structure tailored to Taiwanese
accounting standards.
Chart of accounts : a predefined structure tailored to Taiwanese
accounting standards.
- Taxes : pre-configured tax rates.
Taxes : pre-configured tax rates.
- Reporting
- E-invoicing (ECPay) : integration for electronic
invoicing in line with Taiwanese government requirements.
E-invoicing (ECPay) : integration for electronic
invoicing in line with Taiwanese government requirements.

### Taxes

The standard tax rate in Taiwan is 5%, though special tax rates apply to specific industries. To
configure special taxes for the GBRT , go to Accounting â£ Configuration â£ Taxes , click New , and configure the
following:
- Fill in the standard fields and tax computation .
Fill in the standard fields and tax computation .
- In the Ecpay Tax Type field, select Taxable (special tax rate) .
In the Ecpay Tax Type field, select Taxable (special tax rate) .
- In the new Ecpay Special Tax Type field that appears, select the applicable
industry.
In the new Ecpay Special Tax Type field that appears, select the applicable
industry.
If Saloons and tea rooms, coffee shops and bars offering companionship services: Tax rate is 25% is selected, enter 25 in the Amount field.
`25`

## Contacts

To manage the distinction between B2C and B2B invoices, configure the following fields in their contact form:
- Individual (B2C): Select the contact type and
provide the Email or Phone number.
Individual (B2C): Select the contact type and
provide the Email or Phone number.
- Company (B2B): Select the contact type, enter the Tax ID , and provide the Email or Phone number.
Company (B2B): Select the contact type, enter the Tax ID , and provide the Email or Phone number.
- Invoices sent to individuals not linked to a Company contact are treated as a B2C invoice .
Invoices sent to individuals not linked to a Company contact are treated as a B2C invoice .
- Invoices sent to individuals belonging to a Company contact are treated as a B2B
invoice (to the parent Company).
Invoices sent to individuals belonging to a Company contact are treated as a B2B
invoice (to the parent Company).

## Accounting

### ECPay integration

Make sure to install the Taiwan - E-invoicing ( l10n_tw_edi_ecpay ) module.
`l10n_tw_edi_ecpay`
Odoo supports integration with ECPay to submit generated invoices directly to their system.

#### Set-up

To configure the integration, valid credentials must be retrieved from the ECPay vendor backend . Go to System Settings â£ System Integration Settings â£ Integration Information to get
the required information:
- MerchantID
- Hashkey
- HashIV
Go to Accounting â£ Configuration â£ Settings , scroll down to the Taiwan Electronic Invoicing section, and fill in the MerchantID , HashKey , and HashIV fields, retrieved from the ECPay vendor backend .
For testing purposes, do not use real credentials. Instead, enable the Staging mode option and use the Staging information provided by
ECPay.

#### Workflow

To send a B2C invoice, follow these steps:
- Navigate to Accounting â£ Customers â£ Invoices and create a new
invoice .
Navigate to Accounting â£ Customers â£ Invoices and create a new
invoice .
- Select a customer of the type Individual .
Select a customer of the type Individual .
- In the Ecpay tab, configure delivery options: Get Printed Version : Check this to allow the customer to receive a printable ECPay
invoice. Love Code : Enter the Love Code if the customer wishes to donate the invoice to a
charity. Carrier Type : Select the carrier type if the customer uses a cloud-based carrier,
and enter the Carrier Number (and Carrier Number 2 ) if required.
In the Ecpay tab, configure delivery options:
- Get Printed Version : Check this to allow the customer to receive a printable ECPay
invoice.
Get Printed Version : Check this to allow the customer to receive a printable ECPay
invoice.
- Love Code : Enter the Love Code if the customer wishes to donate the invoice to a
charity.
Love Code : Enter the Love Code if the customer wishes to donate the invoice to a
charity.
- Carrier Type : Select the carrier type if the customer uses a cloud-based carrier,
and enter the Carrier Number (and Carrier Number 2 ) if required.
Carrier Type : Select the carrier type if the customer uses a cloud-based carrier,
and enter the Carrier Number (and Carrier Number 2 ) if required.
- Confirm the invoice, and click Send . Then, ensure the Send to Ecpay checkbox is selected, and click Send .
Confirm the invoice, and click Send . Then, ensure the Send to Ecpay checkbox is selected, and click Send .
- The Invoice Status , Ecpay Invoice Number , and Creation Date in the Ecpay tab will update automatically upon successful submission.
The Invoice Status , Ecpay Invoice Number , and Creation Date in the Ecpay tab will update automatically upon successful submission.
To print or download the ECpay invoice, follow these steps:
- Make sure the Get Printed Version option is checked in the Ecpay tab.
Make sure the Get Printed Version option is checked in the Ecpay tab.
- Click the (gear) icon and select Print Ecpay invoice .
Click the (gear) icon and select Print Ecpay invoice .
- In the Print Ecpay Invoice window, select a Print Format (B2C) and
click Print Invoice .
In the Print Ecpay Invoice window, select a Print Format (B2C) and
click Print Invoice .
To send a B2B invoice, follow these steps:
- Navigate to Accounting â£ Customers â£ Invoices and create a new
invoice .
Navigate to Accounting â£ Customers â£ Invoices and create a new
invoice .
- Select a customer who is either a Company or
an Individual belonging to a Company .
Select a customer who is either a Company or
an Individual belonging to a Company .
- Confirm the invoice, and click Send . Then, ensure the Send to Ecpay checkbox is selected, and click Send .
Confirm the invoice, and click Send . Then, ensure the Send to Ecpay checkbox is selected, and click Send .
- The Invoice Status , Ecpay Invoice Number , and Creation Date in the Ecpay tab will update automatically upon successful submission.
The Invoice Status , Ecpay Invoice Number , and Creation Date in the Ecpay tab will update automatically upon successful submission.
Ensure the Tax ID field  of the customer is
filled in with the Tax Identification Number.
By default, B2B ECpay invoices are available to print or download. Please follow these steps:
- Click the (gear) icon and select Print Ecpay invoice .
Click the (gear) icon and select Print Ecpay invoice .
- In the Print Ecpay Invoice window, select a Print Format (B2B) and
click Print Invoice .
In the Print Ecpay Invoice window, select a Print Format (B2B) and
click Print Invoice .
Check the invoiceâs Log Note for ECPay submission details. Failed attempts display
error messages, while successful submissions record the Ecpay invoice number and Invoice status .
To cancel a submitted invoice:
- Open the relevant invoice and click Request Cancel .
Open the relevant invoice and click Request Cancel .
- In the pop-up window, provide a cancellation Reason , then click Cancel Invoice .
In the pop-up window, provide a cancellation Reason , then click Cancel Invoice .
- The Invoice Status changes to Invalid , and the Invalidate Reason is filled in with the cancellation Reason .
The Invoice Status changes to Invalid , and the Invalidate Reason is filled in with the cancellation Reason .
Before sending a credit note, the original invoice must be successfully submitted to ECPay.
The credit note amount cannot exceed the original invoice amount.
To send a B2C credit note to ECPay, follow these steps:
- Click Credit Note on the relevant invoice and enter the Reason displayed on Credit Note .
Click Credit Note on the relevant invoice and enter the Reason displayed on Credit Note .
- Select the Agreement Type and the Allowance Notify Way , and click Reverse .
Select the Agreement Type and the Allowance Notify Way , and click Reverse .
- Click Confirm , then Send , ensuring Send to Ecpay (Issue Allowance) is selected.
Click Confirm , then Send , ensuring Send to Ecpay (Issue Allowance) is selected.
Then, The Refund State updates to Agreed (for Offline agreements ) or To be agreed (for Online agreements ). Additionally, the Refund Invoice Number , Refund invoice Agreement Type and Allowance Notify Way updates accordingly
in the Ecpay tab.
To send a B2B credit note to ECPay, follow these steps:
- Click Credit Note on the relevant invoice, enter the Reason displayed on Credit Note , then click Reverse .
Click Credit Note on the relevant invoice, enter the Reason displayed on Credit Note , then click Reverse .
- Click Confirm , then Send , ensuring Send to Ecpay (Issue Allowance) is selected.
Click Confirm , then Send , ensuring Send to Ecpay (Issue Allowance) is selected.
Then the Refund Invoice Number is updated automatically in the Ecpay tab.

## eCommerce

### Set-up

To enable direct invoice submission via eCommerce:
- Go to Website â£ Configuration â£ Settings .
Go to Website â£ Configuration â£ Settings .
- In the Invoicing section, enable Automatic Invoice .
In the Invoicing section, enable Automatic Invoice .
This ensures invoices are generated and sent to ECPay automatically once the online payment is
confirmed.

### Checkout Process

- B2C Customers : During checkout, customers must indicate whether they want to receive a
physical invoice using the Request a paper copy field No : No copy is provided. Yes : The invoice can be downloaded from the invoice view.
B2C Customers : During checkout, customers must indicate whether they want to receive a
physical invoice using the Request a paper copy field
- No : No copy is provided.
No : No copy is provided.
- Yes : The invoice can be downloaded from the invoice view.
Yes : The invoice can be downloaded from the invoice view.
- B2B Customers : An Invoicing Info page appears after delivery confirmation.
Customers can either select the Donate checkbox to donate the invoice, or choose an Ecpay e-invoice carrier from the following options, and provide the Carrier Number and Carrier Number 2 where applicable. Member Account Citizen Digital Certificate Mobile Barcode EasyCard iPass Note If no option has been selected, a Print Ecpay invoice can still be downloaded from
the invoice view.
B2B Customers : An Invoicing Info page appears after delivery confirmation.
Customers can either select the Donate checkbox to donate the invoice, or choose an Ecpay e-invoice carrier from the following options, and provide the Carrier Number and Carrier Number 2 where applicable.
- Member Account
- Citizen Digital Certificate
Citizen Digital Certificate
- Mobile Barcode
- EasyCard
If no option has been selected, a Print Ecpay invoice can still be downloaded from
the invoice view.

Modules
Localization overview
Taxes
Contacts
Accounting
ECPay integration
eCommerce
Set-up
Checkout Process


Thailand

# Thailand

## Configuration

Install the ð¹ð Thailand localization package to get all the
features of the Thai localization:
Thailand - Accounting
`l10n_th`
Default fiscal localization package
Thailand - Accounting Reports
`l10n_th_reports`
Country-specific accounting reports

## Chart of accounts and taxes

Odooâs fiscal localization package for Thailand includes the following taxes:
- VAT 7%
- VAT-exempted
- Withholding tax
- Withholding income tax
Withholding income tax

## Tax report

Odoo allows users to generate Excel files to submit their VAT to the Revenue Department of
Thailand.

### Sales and purchase tax report

To generate a sales and purchase tax report, go to Accounting â£ Reporting â£ Tax
Report . Select a specific time or time range on the tax report, and click VAT-202-01 (xlsx) for purchase tax and VAT-202-02 (xlsx) for sales tax.

### Withholding PND tax report

PND report data displays the summarized amounts of the applicable withholding corporate income
tax returns (domestic) from vendor bills under the PND53 (TH) and PND3 (TH) tax reports. It is installed by default with the Thai localization.
Withholding corporate income tax returns (domestic) is the tax used in case the company has
withheld the tax from â Personal (PND3) â or â Corporate (PND53) â services provided such as
rental, hiring, transportation, insurance, management fee, consulting, etc.
The PND tax report allows users to generate a CSV file for bills to upload on the RDprep for Thailand e-Filling application .
To generate a PND CSV file, go to Accounting â£ Reporting â£ Tax Report , select a
specific time or time range on the tax report, and click PND3 or PND53 .
This generates the Tax Report PND3.csv and Tax Report PND53.csv files that lists all
the vendor bill lines with the applicable withholding tax.
`TaxReportPND3.csv`
`TaxReportPND53.csv`
Odoo cannot generate the PND or PDF report or withholding tax certificate directly. The
generated Tax Report PND3.csv and Tax Report PND53.csv files must be exported
to an external tool to convert them into a withholding PND report or a PDF file.
`TaxReportPND3.csv`
`TaxReportPND53.csv`

## Tax invoice

The tax invoice PDF report can be generated from Odoo through the Invoicing module. Users
have the  option to print PDF reports for normal invoices and tax invoices. To print out tax invoices , users can click on Print Invoices in Odoo. Regular invoices can be
printed as commercial invoices by clicking on Cog button (âï¸) â£ Print â£
Commercial Invoice .

### Headquarter/Branch number settings

You can inform a companyâs Headquarters and Branch number in the Contacts app. Once
in the app, open the contact form of the company and under the Sales & Purchase tab:
- If the contact is identified as a branch, input the Branch number in the Company ID field.
If the contact is identified as a branch, input the Branch number in the Company ID field.
- If the contact is a Headquarters , leave the Company ID field blank .
If the contact is a Headquarters , leave the Company ID field blank .
This information is used in the tax invoice PDF report and PND tax report export.

## PromptPay QR code on invoices

The PromptPay QR code is a QR code that can be added to invoices to allow customers to pay their
bills using the PromptPay-supported bank mobile application. The QR code is generated based on the invoice amount and one of the following merchant information :
- Ewallet ID
- Merchant Tax ID
- Mobile Number

### Activate QR codes

Go to Accounting â£ Configuration â£ Settings . Under the Customer
Payments section, activate the QR Codes feature.

### PromptPay QR bank account configuration

Go to Contacts â£ Configuration â£ Bank Accounts and select the bank account for
which you want to activate PromptPay QR. Set the Proxy Type and fill in the Proxy Value field depending on the chosen type.
- The account holderâs city is mandatory.
The account holderâs city is mandatory.
- The Include Reference checkbox doesnât work for PromptPay QR codes.
The Include Reference checkbox doesnât work for PromptPay QR codes.
Bank and cash accounts

### Bank journal configuration

Go to Accounting â£ Configuration â£ Journals , open the bank journal, then fill
in the Account Number and Bank under the Journal Entries tab.

### Issue invoices with PromptPay QR code

When creating a new invoice, open the Other Info tab and set the Payment
QR-code option to EMV Merchant-Presented QR-code .
Ensure that the Recipient Bank is the one you configured, as Odoo uses this field to
generate the PromptPay QR code.

Configuration
Chart of accounts and taxes
Tax report
Sales and purchase tax report
Withholding PND tax report
Tax invoice
Headquarter/Branch number settings
PromptPay QR code on invoices
Activate QR codes
PromptPay QR bank account configuration
Bank journal configuration
Issue invoices with PromptPay QR code